summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2019-08-24 14:10:25 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-08-24 15:02:50 -0700
commitd570cb789f4960b890b045a1512b0350dad5a795 (patch)
tree585074302f0019dc9556dc9f3a1b670e5ad31cd7
parent6cb0de406087ac5fc546ecc80d60add8fa6a480c (diff)
downloadsubsurface-d570cb789f4960b890b045a1512b0350dad5a795.tar.gz
Update libdivecomputer to support the Aqualung i200c
I got confirmation from Tiago Thedim Dias that my libdivecomputer patch makes BLE downloading work from the i200c, and already pushed out the libdivecomputer changes earlier. This updates the subproject in subsurface to have those changes. This also adds the bluetooth name patterns for the i300c and a few other Aqualung dive computers we hadn't added yet. That should make them show up in the bleutooth device list even without having to check the "Show all bluetooth devices" check-box. Tiago claims he didn't need that, and I wonder if we have some overly permissive match somewhere, but it's the right thing to do regardless. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--core/btdiscovery.cpp21
m---------libdivecomputer0
2 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
diff --git a/libdivecomputer b/libdivecomputer
-Subproject 32e6ae4efae4f4dba71c032c5e2ad0f128edc6c
+Subproject aab3d7a68e9a08b1f7d02803b3b1fc19e2ce9a9