From e2ecd96daa874d98ed313743758b59d42c290cfa Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Sun, 26 Jul 2020 15:18:47 +0200 Subject: [PATCH] Add support for the Shearwater Peregrine --- src/descriptor.c | 2 ++ src/shearwater_common.h | 1 + src/shearwater_petrel.c | 3 +++ 3 files changed, 6 insertions(+) diff --git a/src/descriptor.c b/src/descriptor.c index cc8bb9a..6f740df 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -339,6 +339,7 @@ static const dc_descriptor_t g_descriptors[] = { {"Shearwater", "Perdix AI", DC_FAMILY_SHEARWATER_PETREL, 6, DC_TRANSPORT_BLE, dc_filter_shearwater}, {"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}, /* Dive Rite NiTek Q */ {"Dive Rite", "NiTek Q", DC_FAMILY_DIVERITE_NITEKQ, 0, DC_TRANSPORT_SERIAL, NULL}, /* Citizen Hyper Aqualand */ @@ -580,6 +581,7 @@ static int dc_filter_shearwater (dc_transport_t transport, const void *userdata, "NERD 2", "Perdix", "Teric", + "Peregrine", }; if (transport == DC_TRANSPORT_BLUETOOTH || transport == DC_TRANSPORT_BLE) { diff --git a/src/shearwater_common.h b/src/shearwater_common.h index 35a0d01..ab795d5 100644 --- a/src/shearwater_common.h +++ b/src/shearwater_common.h @@ -42,6 +42,7 @@ extern "C" { #define PERDIXAI 6 #define NERD2 7 #define TERIC 8 +#define PEREGRINE 9 #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 a8b1995..5ca52e3 100644 --- a/src/shearwater_petrel.c +++ b/src/shearwater_petrel.c @@ -232,6 +232,9 @@ shearwater_petrel_device_foreach (dc_device_t *abstract, dc_dive_callback_t call case 0x0F0F: model = TERIC; break; + case 0x1512: + model = PEREGRINE; + break; default: WARNING (abstract->context, "Unknown hardware type %04x.", hardware); }