diff --git a/src/descriptor.c b/src/descriptor.c index b0a3db6..4ea801a 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -352,6 +352,8 @@ static const dc_descriptor_t g_descriptors[] = { {"Shearwater", "Nerd 2", DC_FAMILY_SHEARWATER_PETREL, 7, DC_TRANSPORT_BLE, dc_filter_shearwater}, {"Shearwater", "Teric", DC_FAMILY_SHEARWATER_PETREL, 8, DC_TRANSPORT_BLE, dc_filter_shearwater}, {"Shearwater", "Peregrine", DC_FAMILY_SHEARWATER_PETREL, 9, DC_TRANSPORT_BLE, dc_filter_shearwater}, + {"Shearwater", "Petrel 3", DC_FAMILY_SHEARWATER_PETREL, 10, DC_TRANSPORT_BLE, dc_filter_shearwater}, + {"Shearwater", "Perdix 2", DC_FAMILY_SHEARWATER_PETREL, 11, DC_TRANSPORT_BLE, dc_filter_shearwater}, /* Dive Rite NiTek Q */ {"Dive Rite", "NiTek Q", DC_FAMILY_DIVERITE_NITEKQ, 0, DC_TRANSPORT_SERIAL, NULL}, /* Citizen Hyper Aqualand */ @@ -616,9 +618,11 @@ static int dc_filter_shearwater (dc_transport_t transport, const void *userdata, static const char * const bluetooth[] = { "Predator", "Petrel", + "Petrel 3", "NERD", "NERD 2", "Perdix", + "Perdix 2", "Teric", "Peregrine", }; diff --git a/src/shearwater_common.h b/src/shearwater_common.h index a728538..b1f8c3b 100644 --- a/src/shearwater_common.h +++ b/src/shearwater_common.h @@ -44,6 +44,8 @@ extern "C" { #define NERD2 7 #define TERIC 8 #define PEREGRINE 9 +#define PETREL3 10 +#define PERDIX2 11 #define NSTEPS 10000 #define STEP(i,n) ((NSTEPS * (i) + (n) / 2) / (n)) diff --git a/src/shearwater_petrel.c b/src/shearwater_petrel.c index 2fd48d8..08fa140 100644 --- a/src/shearwater_petrel.c +++ b/src/shearwater_petrel.c @@ -230,6 +230,9 @@ shearwater_petrel_device_foreach (dc_device_t *abstract, dc_dive_callback_t call case 0x8838: model = PETREL2; break; + case 0xB407: + model = PETREL3; + break; case 0x0606: case 0x0A0A: model = NERD; @@ -245,6 +248,9 @@ shearwater_petrel_device_foreach (dc_device_t *abstract, dc_dive_callback_t call case 0x7C2D: model = PERDIXAI; break; + case 0xC407: + model = PERDIX2; + break; case 0x0F0F: case 0x1F0A: case 0x1F0F: