From 625f56b49499f672dd620c391a3065649c4dbe99 Mon Sep 17 00:00:00 2001 From: Nick Shore Date: Tue, 13 Oct 2020 09:04:32 +0200 Subject: [PATCH] Add support for the Scubapro Aladin A2 --- src/descriptor.c | 2 ++ src/uwatec_smart_parser.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/descriptor.c b/src/descriptor.c index 6f740df..8b2593a 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -167,6 +167,7 @@ static const dc_descriptor_t g_descriptors[] = { {"Scubapro", "Chromis", DC_FAMILY_UWATEC_SMART, 0x24, DC_TRANSPORT_SERIAL, NULL}, {"Scubapro", "Aladin A1", DC_FAMILY_UWATEC_SMART, 0x25, DC_TRANSPORT_BLE, dc_filter_uwatec}, {"Scubapro", "Mantis 2", DC_FAMILY_UWATEC_SMART, 0x26, DC_TRANSPORT_SERIAL, NULL}, + {"Scubapro", "Aladin A2", DC_FAMILY_UWATEC_SMART, 0x28, DC_TRANSPORT_BLE, dc_filter_uwatec}, {"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}, @@ -521,6 +522,7 @@ static int dc_filter_uwatec (dc_transport_t transport, const void *userdata, voi "Aladin", "HUD", "A1", + "A2", }; if (transport == DC_TRANSPORT_IRDA) { diff --git a/src/uwatec_smart_parser.c b/src/uwatec_smart_parser.c index 5974dbe..be74b1c 100644 --- a/src/uwatec_smart_parser.c +++ b/src/uwatec_smart_parser.c @@ -50,6 +50,7 @@ #define CHROMIS 0x24 #define ALADINA1 0x25 #define MANTIS2 0x26 +#define ALADINA2 0x28 #define G2 0x32 #define G2HUD 0x42 @@ -532,7 +533,7 @@ uwatec_smart_parser_cache (uwatec_smart_parser_t *parser) parser->model == CHROMIS || parser->model == MANTIS2 || parser->model == G2 || parser->model == ALADINSPORTMATRIX || parser->model == ALADINSQUARE || parser->model == G2HUD || - parser->model == ALADINA1) { + parser->model == ALADINA1 || parser->model == ALADINA2 ) { unsigned int offset = header->tankpressure + 2 * i; endpressure = array_uint16_le(data + offset); beginpressure = array_uint16_le(data + offset + 2 * header->ngases); @@ -626,6 +627,7 @@ uwatec_smart_parser_create (dc_parser_t **out, dc_context_t *context, unsigned i case G2HUD: case ALADINSPORTMATRIX: case ALADINA1: + case ALADINA2: parser->headersize = 84; parser->header = &uwatec_smart_trimix_header; parser->samples = uwatec_smart_galileo_samples; @@ -969,7 +971,7 @@ uwatec_smart_parse (uwatec_smart_parser_t *parser, dc_sample_callback_t callback parser->model == CHROMIS || parser->model == MANTIS2 || parser->model == G2 || parser->model == ALADINSPORTMATRIX || parser->model == ALADINSQUARE || parser->model == G2HUD || - parser->model == ALADINA1) { + parser->model == ALADINA1 || parser->model == ALADINA2 ) { // Uwatec Galileo id = uwatec_galileo_identify (data[offset]); } else {