From b96780ce75b9166375f670f072476ae3cf8c837d Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Sat, 14 Sep 2013 00:16:30 +0200 Subject: [PATCH] Add support for the Sherwood Amphos. --- src/descriptor.c | 1 + src/oceanic_atom2.c | 1 + src/oceanic_atom2_parser.c | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/descriptor.c b/src/descriptor.c index 1ffc408..8c0f38f 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -160,6 +160,7 @@ static const dc_descriptor_t g_descriptors[] = { {"Oceanic", "Atom 3.1", DC_FAMILY_OCEANIC_ATOM2, 0x4456}, {"Aeris", "A300 AI", DC_FAMILY_OCEANIC_ATOM2, 0x4457}, {"Sherwood", "Wisdom 3", DC_FAMILY_OCEANIC_ATOM2, 0x4458}, + {"Sherwood", "Amphos", DC_FAMILY_OCEANIC_ATOM2, 0x4545}, {"Oceanic", "Pro Plus 3", DC_FAMILY_OCEANIC_ATOM2, 0x4548}, /* Mares Nemo */ {"Mares", "Nemo", DC_FAMILY_MARES_NEMO, 0}, diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index a2106b3..845c4d3 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -108,6 +108,7 @@ static const oceanic_common_version_t oceanic_default_version[] = { static const oceanic_common_version_t tusa_zenair_version[] = { {"TUZENAIR \0\0 512K"}, + {"AMPHOSSW \0\0 512K"}, }; static const oceanic_common_version_t oceanic_oc1_version[] = { diff --git a/src/oceanic_atom2_parser.c b/src/oceanic_atom2_parser.c index 1cc7d4a..ebd0a25 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -58,6 +58,7 @@ #define EPICB 0x4453 #define ATOM31 0x4456 #define A300AI 0x4457 +#define AMPHOS 0x4545 #define PROPLUS3 0x4548 typedef struct oceanic_atom2_parser_t oceanic_atom2_parser_t; @@ -184,6 +185,7 @@ oceanic_atom2_parser_get_datetime (dc_parser_t *abstract, dc_datetime_t *datetim datetime->minute = bcd2dec (p[0]); break; case ZENAIR: + case AMPHOS: datetime->year = (p[3] & 0x0F) + 2000; datetime->month = (p[7] & 0xF0) >> 4; datetime->day = ((p[3] & 0x80) >> 3) + ((p[5] & 0xF0) >> 4); @@ -516,7 +518,7 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ sign = (~data[offset + 5] & 0x04) >> 2; else if (parser->model == ATOM2 || parser->model == PROPLUS21 || parser->model == EPICA || parser->model == EPICB || - parser->model == ATMOSAI2) + parser->model == ATMOSAI2 || parser->model == AMPHOS) sign = (data[offset + 0] & 0x80) >> 7; else sign = (~data[offset + 0] & 0x80) >> 7;