diff --git a/src/descriptor.c b/src/descriptor.c index fe7f382..be649c9 100644 --- a/src/descriptor.c +++ b/src/descriptor.c @@ -210,6 +210,7 @@ static const dc_descriptor_t g_descriptors[] = { {"Aeris", "F11", DC_FAMILY_OCEANIC_ATOM2, 0x4549, DC_TRANSPORT_SERIAL, NULL}, {"Oceanic", "OCi", DC_FAMILY_OCEANIC_ATOM2, 0x454B, DC_TRANSPORT_SERIAL, NULL}, {"Aeris", "A300CS", DC_FAMILY_OCEANIC_ATOM2, 0x454C, DC_TRANSPORT_SERIAL, NULL}, + {"Tusa", "Talis", DC_FAMILY_OCEANIC_ATOM2, 0x454E, DC_TRANSPORT_SERIAL, NULL}, {"Beuchat", "Mundial 3", DC_FAMILY_OCEANIC_ATOM2, 0x4550, DC_TRANSPORT_SERIAL, NULL}, {"Oceanic", "Pro Plus X", DC_FAMILY_OCEANIC_ATOM2, 0x4552, DC_TRANSPORT_SERIAL, NULL}, {"Oceanic", "F10", DC_FAMILY_OCEANIC_ATOM2, 0x4553, DC_TRANSPORT_SERIAL, NULL}, diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index 950eb06..33947bd 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -151,6 +151,7 @@ static const oceanic_common_version_t tusa_zenair_version[] = { {"AMPHOSSW \0\0 512K"}, {"AMPHOAIR \0\0 512K"}, {"VOYAGE2G \0\0 512K"}, + {"TUSTALIS \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 002de21..ddedc40 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -74,6 +74,7 @@ #define F11A 0x4549 #define OCI 0x454B #define A300CS 0x454C +#define TALIS 0x454E #define MUNDIAL3 0x4550 #define PROPLUSX 0x4552 #define F10B 0x4553 @@ -288,6 +289,7 @@ oceanic_atom2_parser_get_datetime (dc_parser_t *abstract, dc_datetime_t *datetim case AMPHOS: case AMPHOSAIR: case VOYAGER2G: + case TALIS: datetime->year = (p[3] & 0x1F) + 2000; datetime->month = (p[7] & 0xF0) >> 4; datetime->day = ((p[3] & 0x80) >> 3) + ((p[5] & 0xF0) >> 4); @@ -712,7 +714,7 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ parser->model == GEO || parser->model == GEO20 || parser->model == MANTA || parser->model == I300 || parser->model == I200 || parser->model == I100 || - parser->model == I300C) { + parser->model == I300C || TALIS) { have_pressure = 0; } @@ -862,6 +864,8 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ parser->model == ELEMENT2 || parser->model == MANTA || parser->model == ZEN) { temperature = data[offset + 6]; + } else if (parser->model == TALIS) { + temperature = data[offset + 7]; } else if (parser->model == GEO20 || parser->model == VEO20 || parser->model == VEO30 || parser->model == OC1A || parser->model == OC1B || parser->model == OC1C ||