aboutsummaryrefslogtreecommitdiffstats
path: root/core/btdiscovery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/btdiscovery.cpp')
-rw-r--r--core/btdiscovery.cpp21
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