Hi Charles,
this is a bit tricky as BT names may get changed and we are honestly not as consistent as we could be.
What we suggested as an option in the past is a RegEx like this:
//Trimble driver
.*Trimble.* //Something with Trimble in the BT name
.*GNSS.* //R1 special handling
//RegEx for Spectra driver, no FAZA2 support
SP_?[0-9]{1,3}.* //Read: 'SP' AND one or none underscore AND digits 0-9 with a 1, 2 or 3 occurrences AND whatever comes after
.*R4S.* //Check for R4S string specifically
So Trimble is rather easy - just check if the string 'Trimble' is somewhere in the BT name.
Exception is the R1 which has just 'GNSS' in the name - therefore the special handling here.
Spectra gets more fuzzy... So the Regex above SHOULD show strings with SP, one or none underscore and then 1, 2, or three numbers... So something like SP80 or SP_85 should be found.
R4S is also 'special'... And while copy/ pasting this regex I'm wondering if it ignores the case of the S or not... It should not be case-sensitive...
For all receivers you can use the RSeries driver (its not necessary to use the Spectra driver for Spectra unless you use rare features of Spectra family - like external radio etc). So we do the same in TMM v2.3.
Note that this only works with TPSDK 2020 and later (and an up-to-date firmware in the Spectra receiver).
Note also that e.g. Android (depends on the version) tends to broadcast a newly found device first with just the BT address - and later with the name and the services etc. At least thats what we noticed (might also be because of the amount of devices here).