Skip to content

Commit b2c1487

Browse files
committed
Merge branch 'update_libdivecomputer_0_9_0' into Subsurface-DS9
2 parents 87a78d9 + d851b28 commit b2c1487

File tree

5 files changed

+50
-4
lines changed

5 files changed

+50
-4
lines changed

NEWS

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
Version 0.9.0 (2025-06-30)
2+
==========================
3+
4+
The v0.9.0 release adds support for several new devices. It also introduces some
5+
important parser api changes to be able to add some new features and remove a
6+
few deprecated ones. Some BLE enabled dive computers also required some extra
7+
additions to the BLE I/O layer. Due to all these api changes, this release is
8+
not backwards compatible.
9+
10+
New features:
11+
12+
* Add support for new backends:
13+
- i330r: Aqualung i330R, Apeks DSX
14+
- symbios: Halcyon Symbios
15+
* Add support for some new devices:
16+
- Aqualung: i100
17+
- Cressi: Leonardo 2.0, Nepto, Archimede
18+
- Heinrichs Weikamp: OSTC 5
19+
- Mares: Puck Air 2, Sirius, Quad Ci, Puck 4, Puck Lite
20+
- Ratio: iDive 2, iX3M 2 GPS
21+
- Scubapro: G3, Luna 2.0, Luna 2.0 AI
22+
- Seac: Tablet
23+
- Shearwater: Tern, Tern TX, Peregrine TX
24+
- Uwatec: Aladin One
25+
* Add the sensor index to the ppO2 sample
26+
* Add a TTS field to the deco sample
27+
* Add a usage field to the tank and gas mix
28+
* Export the filter function in the public api
29+
* Add ioctl's for the bluetooth authentication
30+
* Add ioctl's for reading and writing BLE characteristics
31+
* Add helper functions to convert UUID to/from strings
32+
* Add a new field to report the GPS location
33+
34+
Removed/changed features:
35+
36+
* Change the units for the sample time to milliseconds
37+
* Pass the sample struct by reference
38+
* Remove the backend specific calibration functions
39+
* Remove the clock parameters from the constructor
40+
* Remove the dc_parser_set_data function
41+
* Use separate data structures for USB and USB HID
42+
* Replace the dc_descriptor_iterator function
43+
144
Version 0.8.0 (2023-05-11)
245
==========================
346

src/divesoft_freedom_parser.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ divesoft_freedom_cache (divesoft_freedom_parser_t *parser)
423423
seawater = misc & 0x02;
424424
vpm = misc & 0x20;
425425
} else if (id == CFG_ID_VERSION) {
426-
DEBUG (abstract->context, "Device: model=%u, hw=%u.%u, sw=%u.%u.%u.%u flags=%u",
426+
DEBUG (abstract->context, "Device: type=%u, hw=%u.%u, sw=%u.%u.%u.%u flags=%u",
427427
data[offset + 4],
428428
data[offset + 5], data[offset + 6],
429429
data[offset + 7], data[offset + 8], data[offset + 9],

src/halcyon_symbios_parser.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,9 @@ halcyon_symbios_parser_get_datetime (dc_parser_t *abstract, dc_datetime_t *datet
182182

183183
dc_ticks_t ticks = (dc_ticks_t) parser->datetime + EPOCH;
184184

185-
if (!dc_datetime_gmtime (datetime, ticks))
185+
if (!dc_datetime_localtime (datetime, ticks))
186186
return DC_STATUS_DATAFORMAT;
187187

188-
datetime->timezone = DC_TIMEZONE_NONE;
189-
190188
return DC_STATUS_SUCCESS;
191189
}
192190

src/shearwater_common.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,6 +748,7 @@ dc_status_t shearwater_common_get_model(shearwater_common_device_t *device, unsi
748748
case 0x8D6C:
749749
*model = PERDIXAI;
750750
break;
751+
case 0x704C:
751752
case 0xC407:
752753
case 0xC964:
753754
case 0x9C64:

src/shearwater_predator_parser.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,10 @@ shearwater_predator_parser_cache (shearwater_predator_parser_t *parser)
820820
// Get the correct model number from the final block.
821821
if (parser->final != UNDEFINED) {
822822
parser->model = data[parser->final + 13];
823+
DEBUG (abstract->context, "Device: model=%u, serial=%u, firmware=%u",
824+
data[parser->final + 13],
825+
array_uint32_be (data + parser->final + 2),
826+
bcd2dec (data[parser->final + 10]));
823827
}
824828

825829
// Fix the Teric tank serial number.

0 commit comments

Comments
 (0)