diff options
Diffstat (limited to 'core/btdiscovery.cpp')
-rw-r--r-- | core/btdiscovery.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/btdiscovery.cpp b/core/btdiscovery.cpp index 175ecf932..8db1e02cc 100644 --- a/core/btdiscovery.cpp +++ b/core/btdiscovery.cpp @@ -78,11 +78,30 @@ static dc_descriptor_t *getDeviceType(QString btName) product = "Quad"; } + // The Pelagic dive computers (generally branded as Oceanic or Aqualung) + // show up with a two-byte model code followed by six bytes of serial + // number. The model code matches the hex model (so "FQ" is 0x4651, + // where 'F' is 46h and 'Q' is 51h in ASCII). + if (btName.contains(QRegularExpression("^FI\\d{6}$"))) { + vendor = "Aqualung"; + product = "i200c"; + } + + if (btName.contains(QRegularExpression("^FH\\d{6}$"))) { + vendor = "Aqualung"; + product = "i300c"; + } + if (btName.contains(QRegularExpression("^FQ\\d{6}$"))) { vendor = "Aqualung"; product = "i770R"; } + if (btName.contains(QRegularExpression("^FR\\d{6}$"))) { + vendor = "Aqualung"; + product = "i550c"; + } + if (btName.contains(QRegularExpression("^ER\\d{6}$"))) { vendor = "Oceanic"; product = "Pro Plus X"; @@ -93,6 +112,8 @@ static dc_descriptor_t *getDeviceType(QString btName) product = "Geo 4.0"; } + // The Ratio bluetooth name looks like the Pelagic ones, + // but that seems to be just happenstance. if (btName.contains(QRegularExpression("^DS\\d{6}"))) { vendor = "Ratio"; product = "iX3M GPS Easy"; // we don't know which of the GPS models, so set one |