diff --git a/src/descriptor.c b/src/descriptor.c index 53e862c..70b51d4 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -290,8 +290,15 @@ static const dc_descriptor_t g_descriptors[] = { {"DiveSystem", "iDive Deep", DC_FAMILY_DIVESYSTEM_IDIVE, 0x0B}, {"DiveSystem", "iX3M Easy", DC_FAMILY_DIVESYSTEM_IDIVE, 0x22}, {"DiveSystem", "iX3M Deep", DC_FAMILY_DIVESYSTEM_IDIVE, 0x23}, - {"DiveSystem", "iX3M Tec", DC_FAMILY_DIVESYSTEM_IDIVE, 0x24}, + {"DiveSystem", "iX3M Tech+", DC_FAMILY_DIVESYSTEM_IDIVE, 0x24}, {"DiveSystem", "iX3M Reb", DC_FAMILY_DIVESYSTEM_IDIVE, 0x25}, + {"DiveSystem", "iX3M Pro Easy", DC_FAMILY_DIVESYSTEM_IDIVE, 0x32}, + {"DiveSystem", "iX3M Pro Deep", DC_FAMILY_DIVESYSTEM_IDIVE, 0x34}, + {"DiveSystem", "iX3M Pro Tech+", DC_FAMILY_DIVESYSTEM_IDIVE, 0x35}, + {"DiveSystem", "iDive2 Free", DC_FAMILY_DIVESYSTEM_IDIVE, 0x40}, + {"DiveSystem", "iDive2 Easy", DC_FAMILY_DIVESYSTEM_IDIVE, 0x42}, + {"DiveSystem", "iDive2 Deep", DC_FAMILY_DIVESYSTEM_IDIVE, 0x44}, + {"DiveSystem", "iDive2 Tech+", DC_FAMILY_DIVESYSTEM_IDIVE, 0x45}, {"Cochran", "Commander", DC_FAMILY_COCHRAN_COMMANDER, 0}, {"Cochran", "EMC-14", DC_FAMILY_COCHRAN_COMMANDER, 1}, {"Cochran", "EMC-16", DC_FAMILY_COCHRAN_COMMANDER, 2}, diff --git a/src/divesystem_idive.c b/src/divesystem_idive.c index d5bf2e5..e2a5cda 100644 --- a/src/divesystem_idive.c +++ b/src/divesystem_idive.c @@ -367,7 +367,7 @@ divesystem_idive_device_foreach (dc_device_t *abstract, dc_dive_callback_t callb unsigned char packet[MAXPACKET - 2]; const divesystem_idive_commands_t *commands = &idive; - if (device->model >= IX3M_EASY && device->model <= IX3M_REB) { + if (device->model >= IX3M_EASY) { commands = &ix3m; } @@ -393,7 +393,7 @@ divesystem_idive_device_foreach (dc_device_t *abstract, dc_dive_callback_t callb vendor.size = commands->id.size; device_event_emit (abstract, DC_EVENT_VENDOR, &vendor); - if (device->model >= IX3M_EASY && device->model <= IX3M_REB) { + if (device->model >= IX3M_EASY) { // Detect the APOS4 firmware. unsigned int apos4 = (devinfo.firmware / 10000000) >= 4; if (apos4) { diff --git a/src/divesystem_idive_parser.c b/src/divesystem_idive_parser.c index 3ff21b6..473dc57 100644 --- a/src/divesystem_idive_parser.c +++ b/src/divesystem_idive_parser.c @@ -99,7 +99,7 @@ divesystem_idive_parser_create (dc_parser_t **out, dc_context_t *context, unsign // Set the default values. parser->model = model; - if (model >= IX3M_EASY && model <= IX3M_REB) { + if (model >= IX3M_EASY) { parser->headersize = SZ_HEADER_IX3M; } else { parser->headersize = SZ_HEADER_IDIVE; @@ -243,7 +243,7 @@ divesystem_idive_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba unsigned int nsamples = array_uint16_le (data + 1); unsigned int samplesize = SZ_SAMPLE_IDIVE; - if (parser->model >= IX3M_EASY && parser->model <= IX3M_REB) { + if (parser->model >= IX3M_EASY) { // Detect the APOS4 firmware. unsigned int firmware = array_uint32_le(data + 0x2A); unsigned int apos4 = (firmware / 10000000) >= 4;