Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d5fc124
Wait longer before retrying and ignore invalid bytes
jefdriesen Mar 14, 2024
de76a44
Add support for the Halcyon Symbios
jefdriesen Apr 20, 2023
57cb60b
Remove some unused variables
jefdriesen Jan 12, 2025
1898ab8
Use the GCC unused attribute to silence warnings
jefdriesen Jan 12, 2025
92b1355
Remove the duplicated C_ARRAY_SIZE macros
jefdriesen Feb 23, 2025
9108abf
Replace the dc_descriptor_iterator function
jefdriesen Feb 23, 2025
951df7c
Mark the descriptor parameter as const
jefdriesen Feb 3, 2025
ce2c3c6
Check the descriptor transport in the filter
jefdriesen Feb 3, 2025
3ae8bf6
Remove the rfcomm filter function
jefdriesen Feb 3, 2025
f4e0f02
Select a bluetooth enabled model as the default
jefdriesen Feb 3, 2025
0af7a7e
Verify the checksum in the dive header
jefdriesen Nov 8, 2024
b489a18
Read the model number for diagnostics purposes
jefdriesen May 3, 2024
95a2e47
Add support for the Puck Lite
jefdriesen Mar 10, 2025
d8cbca9
Limit the size of the fingerprint to 4 bytes
jefdriesen Mar 24, 2025
326dea3
Include the fingerprint data in the logs
jefdriesen Mar 24, 2025
32709e6
Ignore zero pressure values
jefdriesen Mar 17, 2025
82712ce
Add support for a new Sirius profile version
rmultan Mar 24, 2025
bfce6e0
Add support for the OSTC 5
jefdriesen Apr 7, 2025
922990b
Add support for the average depth
jefdriesen Mar 24, 2025
63662d9
Fix the decoding of the temperature
jefdriesen Mar 24, 2025
c06073d
Fix the active gasmix detection
jefdriesen Mar 25, 2025
a7696b6
Use a layout descriptor with a generic decode function
jefdriesen Mar 25, 2025
c343432
Read the payload and trailer byte separately
jefdriesen Mar 18, 2025
52600e7
Add support for the Cressi Archimede
jefdriesen Mar 17, 2025
a40dd35
Merge branch 'archimede'
jefdriesen Apr 17, 2025
7b75b8f
Add support for time synchronization
jefdriesen Apr 16, 2025
893934e
Add extra debug information to the log
jefdriesen Mar 24, 2025
45fcb68
Add support for a new Sirius header version
jefdriesen May 2, 2025
dc9f087
Fix the name of the include guard
jefdriesen Apr 24, 2025
524d7f4
Fix the ppO2 scaling factor
jefdriesen Apr 28, 2025
4a77517
Link the tank to the corresponding gas mix
jefdriesen Apr 29, 2025
e7d6261
Add support for new record types
jefdriesen Apr 28, 2025
b3d20fd
Update the filter function
jefdriesen May 4, 2025
1502904
Merge branch 'halcyon'
jefdriesen May 8, 2025
edab044
Change the order of the functions
jefdriesen May 5, 2025
5ec19a4
Rename the prefix functions
jefdriesen May 5, 2025
60624b4
Use a case-insensitive comparision
jefdriesen May 5, 2025
2a647a7
Merge branch 'filter-cleanup'
jefdriesen May 8, 2025
28f6e3d
Add support for a new Cressi Nepto firmware
jefdriesen Apr 29, 2025
2247a3a
Fix the Cressi Nepto filter function
jefdriesen May 14, 2025
fe06b5d
Merge branch 'cressi-nepto'
jefdriesen May 14, 2025
fcea2d8
Fix the ppO2 sensor index
jefdriesen May 18, 2025
1870f5a
Always initialize all fields to zero
jefdriesen May 13, 2025
f35b26f
Fix the deco stop depth scaling factor
jefdriesen May 13, 2025
9065d6e
Report the device model number
jefdriesen May 13, 2025
69d9b50
Detect NAK response packets
jefdriesen May 21, 2025
426563e
Ignore invalid start bytes
jefdriesen May 26, 2025
8b62401
Add support for the Seac Tablet
jefdriesen May 7, 2025
85ceb07
Merge branch 'seac'
jefdriesen May 27, 2025
db25c15
Support RDBI responses with a variable size
jefdriesen Jun 18, 2025
50fe02f
Increase the size of the firmware version buffer
jefdriesen Jun 18, 2025
e77e207
Add a new Perdix 2 hardware model
jefdriesen Jun 19, 2025
05f5104
Merge branch 'shearwater'
jefdriesen Jun 19, 2025
cfea667
Fix a small mistake in the debug output
jefdriesen Apr 28, 2025
cc70d7a
Fix the date/time parsing
jefdriesen Jun 15, 2025
4d37693
Add a new Perdix 2 hardware model
jefdriesen Jun 23, 2025
75f2adc
Add some extra debug logging
jefdriesen Jun 23, 2025
2646085
Merge branch 'shearwater'
jefdriesen Jun 30, 2025
25b8fed
Release version 0.9.0
jefdriesen Jun 30, 2025
d851b28
Merge tag 'v0.9.0' into update_libdivecomputer_0_9_0
mikeller Jun 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
Version 0.9.0 (2025-06-30)
==========================

The v0.9.0 release adds support for several new devices. It also introduces some
important parser api changes to be able to add some new features and remove a
few deprecated ones. Some BLE enabled dive computers also required some extra
additions to the BLE I/O layer. Due to all these api changes, this release is
not backwards compatible.

New features:

* Add support for new backends:
- i330r: Aqualung i330R, Apeks DSX
- symbios: Halcyon Symbios
* Add support for some new devices:
- Aqualung: i100
- Cressi: Leonardo 2.0, Nepto, Archimede
- Heinrichs Weikamp: OSTC 5
- Mares: Puck Air 2, Sirius, Quad Ci, Puck 4, Puck Lite
- Ratio: iDive 2, iX3M 2 GPS
- Scubapro: G3, Luna 2.0, Luna 2.0 AI
- Seac: Tablet
- Shearwater: Tern, Tern TX, Peregrine TX
- Uwatec: Aladin One
* Add the sensor index to the ppO2 sample
* Add a TTS field to the deco sample
* Add a usage field to the tank and gas mix
* Export the filter function in the public api
* Add ioctl's for the bluetooth authentication
* Add ioctl's for reading and writing BLE characteristics
* Add helper functions to convert UUID to/from strings
* Add a new field to report the GPS location

Removed/changed features:

* Change the units for the sample time to milliseconds
* Pass the sample struct by reference
* Remove the backend specific calibration functions
* Remove the clock parameters from the constructor
* Remove the dc_parser_set_data function
* Use separate data structures for USB and USB HID
* Replace the dc_descriptor_iterator function

Version 0.8.0 (2023-05-11)
==========================

Expand Down
2 changes: 1 addition & 1 deletion src/divesoft_freedom_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ divesoft_freedom_cache (divesoft_freedom_parser_t *parser)
seawater = misc & 0x02;
vpm = misc & 0x20;
} else if (id == CFG_ID_VERSION) {
DEBUG (abstract->context, "Device: model=%u, hw=%u.%u, sw=%u.%u.%u.%u flags=%u",
DEBUG (abstract->context, "Device: type=%u, hw=%u.%u, sw=%u.%u.%u.%u flags=%u",
data[offset + 4],
data[offset + 5], data[offset + 6],
data[offset + 7], data[offset + 8], data[offset + 9],
Expand Down
4 changes: 1 addition & 3 deletions src/halcyon_symbios_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,9 @@ halcyon_symbios_parser_get_datetime (dc_parser_t *abstract, dc_datetime_t *datet

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

if (!dc_datetime_gmtime (datetime, ticks))
if (!dc_datetime_localtime (datetime, ticks))
return DC_STATUS_DATAFORMAT;

datetime->timezone = DC_TIMEZONE_NONE;

return DC_STATUS_SUCCESS;
}

Expand Down
1 change: 1 addition & 0 deletions src/shearwater_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,7 @@ dc_status_t shearwater_common_get_model(shearwater_common_device_t *device, unsi
case 0x8D6C:
*model = PERDIXAI;
break;
case 0x704C:
case 0xC407:
case 0xC964:
case 0x9C64:
Expand Down
4 changes: 4 additions & 0 deletions src/shearwater_predator_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,10 @@ shearwater_predator_parser_cache (shearwater_predator_parser_t *parser)
// Get the correct model number from the final block.
if (parser->final != UNDEFINED) {
parser->model = data[parser->final + 13];
DEBUG (abstract->context, "Device: model=%u, serial=%u, firmware=%u",
data[parser->final + 13],
array_uint32_be (data + parser->final + 2),
bcd2dec (data[parser->final + 10]));
}

// Fix the Teric tank serial number.
Expand Down
Loading