Merge git://github.com/libdivecomputer/libdivecomputer into Subsurface-NG
Pull upstream updates from Jef Driesen. This adds ID entries for the Scubapro G2 HUD (but no GPS parsing support yet) and the Aladin H Matric. Also fix ndl/deco parsing for for Aqualung i450T. * git://github.com/libdivecomputer/libdivecomputer: Fix the ndl/deco sample for the Aqualung i450T Add support for the Scubapro G2 HUD Add support for the Scubapro Aladin H Matrix
This commit is contained in:
commit
2971cc20ff
@ -129,6 +129,7 @@ static const dc_descriptor_t g_descriptors[] = {
|
||||
{"Uwatec", "Aladin Sport", DC_FAMILY_UWATEC_SMART, 0x15, DC_TRANSPORT_IRDA, dc_filter_uwatec},
|
||||
{"Subgear", "XP-3G", DC_FAMILY_UWATEC_SMART, 0x15, DC_TRANSPORT_IRDA, dc_filter_uwatec},
|
||||
{"Scubapro", "Aladin Sport Matrix", DC_FAMILY_UWATEC_SMART, 0x17, DC_TRANSPORT_BLE, dc_filter_uwatec},
|
||||
{"Scubapro", "Aladin H Matrix", DC_FAMILY_UWATEC_SMART, 0x17, DC_TRANSPORT_BLE, dc_filter_uwatec},
|
||||
{"Uwatec", "Smart Tec", DC_FAMILY_UWATEC_SMART, 0x18, DC_TRANSPORT_IRDA, dc_filter_uwatec},
|
||||
{"Uwatec", "Galileo Trimix", DC_FAMILY_UWATEC_SMART, 0x19, DC_TRANSPORT_IRDA, dc_filter_uwatec},
|
||||
{"Uwatec", "Smart Z", DC_FAMILY_UWATEC_SMART, 0x1C, DC_TRANSPORT_IRDA, dc_filter_uwatec},
|
||||
@ -140,6 +141,7 @@ static const dc_descriptor_t g_descriptors[] = {
|
||||
{"Scubapro", "Mantis 2", DC_FAMILY_UWATEC_SMART, 0x26, DC_TRANSPORT_SERIAL, NULL},
|
||||
{"Scubapro", "G2", DC_FAMILY_UWATEC_SMART, 0x32, DC_TRANSPORT_USBHID | DC_TRANSPORT_BLE, dc_filter_uwatec},
|
||||
{"Scubapro", "G2 Console", DC_FAMILY_UWATEC_SMART, 0x32, DC_TRANSPORT_USBHID | DC_TRANSPORT_BLE, dc_filter_uwatec},
|
||||
{"Scubapro", "G2 HUD", DC_FAMILY_UWATEC_SMART, 0x42, DC_TRANSPORT_USBHID | DC_TRANSPORT_BLE, dc_filter_uwatec},
|
||||
/* Reefnet */
|
||||
{"Reefnet", "Sensus", DC_FAMILY_REEFNET_SENSUS, 1, DC_TRANSPORT_SERIAL, NULL},
|
||||
{"Reefnet", "Sensus Pro", DC_FAMILY_REEFNET_SENSUSPRO, 2, DC_TRANSPORT_SERIAL, NULL},
|
||||
@ -422,6 +424,7 @@ static int dc_filter_uwatec (dc_transport_t transport, const void *userdata)
|
||||
static const dc_usb_desc_t usbhid[] = {
|
||||
{0x2e6c, 0x3201}, // G2
|
||||
{0x2e6c, 0x3211}, // G2 Console
|
||||
{0x2e6c, 0x4201}, // G2 HUD
|
||||
{0xc251, 0x2006}, // Aladin Square
|
||||
};
|
||||
static const char *bluetooth[] = {
|
||||
|
||||
@ -988,7 +988,7 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_
|
||||
unsigned int have_deco = 0;
|
||||
unsigned int decostop = 0, decotime = 0;
|
||||
if (parser->model == A300CS || parser->model == VTX ||
|
||||
parser->model == I450T || parser->model == I750TC ||
|
||||
parser->model == I750TC ||
|
||||
parser->model == PROPLUSX || parser->model == I770R) {
|
||||
decostop = (data[offset + 15] & 0x70) >> 4;
|
||||
decotime = array_uint16_le(data + offset + 6) & 0x03FF;
|
||||
@ -1009,7 +1009,8 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_
|
||||
} else if (parser->model == I200 || parser->model == I300 ||
|
||||
parser->model == OC1A || parser->model == OC1B ||
|
||||
parser->model == OC1C || parser->model == OCI ||
|
||||
parser->model == I100 || parser->model == I300C) {
|
||||
parser->model == I100 || parser->model == I300C ||
|
||||
parser->model == I450T) {
|
||||
decostop = (data[offset + 7] & 0xF0) >> 4;
|
||||
decotime = array_uint16_le(data + offset + 6) & 0x0FFF;
|
||||
have_deco = 1;
|
||||
|
||||
@ -50,6 +50,7 @@
|
||||
#define CHROMIS 0x24
|
||||
#define MANTIS2 0x26
|
||||
#define G2 0x32
|
||||
#define G2HUD 0x42
|
||||
|
||||
#define UNSUPPORTED 0xFFFFFFFF
|
||||
|
||||
@ -529,7 +530,7 @@ uwatec_smart_parser_cache (uwatec_smart_parser_t *parser)
|
||||
parser->model == ALADIN2G || parser->model == MERIDIAN ||
|
||||
parser->model == CHROMIS || parser->model == MANTIS2 ||
|
||||
parser->model == G2 || parser->model == ALADINSPORTMATRIX ||
|
||||
parser->model == ALADINSQUARE) {
|
||||
parser->model == ALADINSQUARE || parser->model == G2HUD) {
|
||||
unsigned int offset = header->tankpressure + 2 * i;
|
||||
endpressure = array_uint16_le(data + offset);
|
||||
beginpressure = array_uint16_le(data + offset + 2 * header->ngases);
|
||||
@ -620,6 +621,7 @@ uwatec_smart_parser_create (dc_parser_t **out, dc_context_t *context, unsigned i
|
||||
parser->nevents[2] = C_ARRAY_SIZE (uwatec_smart_galileo_events_2);
|
||||
break;
|
||||
case G2:
|
||||
case G2HUD:
|
||||
case ALADINSPORTMATRIX:
|
||||
parser->headersize = 84;
|
||||
parser->header = &uwatec_smart_trimix_header;
|
||||
@ -963,7 +965,7 @@ uwatec_smart_parse (uwatec_smart_parser_t *parser, dc_sample_callback_t callback
|
||||
parser->model == ALADIN2G || parser->model == MERIDIAN ||
|
||||
parser->model == CHROMIS || parser->model == MANTIS2 ||
|
||||
parser->model == G2 || parser->model == ALADINSPORTMATRIX ||
|
||||
parser->model == ALADINSQUARE) {
|
||||
parser->model == ALADINSQUARE || parser->model == G2HUD) {
|
||||
// Uwatec Galileo
|
||||
id = uwatec_galileo_identify (data[offset]);
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user