From 4dfca21a2bd9f95ff417a58312c8f1e1ed88eb9a Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Thu, 19 Feb 2015 10:37:05 +0100 Subject: [PATCH] Pass the model number to the open function. This change will be necessary for the Oceanic VTX, because it uses a higher baudrate. To maintain backwards compatibility, the existing function remains unchanged and a new function is introduced instead. --- include/libdivecomputer/oceanic_atom2.h | 3 +++ src/device.c | 2 +- src/libdivecomputer.symbols | 1 + src/oceanic_atom2.c | 8 ++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/libdivecomputer/oceanic_atom2.h b/include/libdivecomputer/oceanic_atom2.h index 4c52420..4cae707 100644 --- a/include/libdivecomputer/oceanic_atom2.h +++ b/include/libdivecomputer/oceanic_atom2.h @@ -33,6 +33,9 @@ extern "C" { dc_status_t oceanic_atom2_device_open (dc_device_t **device, dc_context_t *context, const char *name); +dc_status_t +oceanic_atom2_device_open2 (dc_device_t **device, dc_context_t *context, const char *name, unsigned int model); + dc_status_t oceanic_atom2_device_version (dc_device_t *device, unsigned char data[], unsigned int size); diff --git a/src/device.c b/src/device.c index 1bac4f4..d95585d 100644 --- a/src/device.c +++ b/src/device.c @@ -115,7 +115,7 @@ dc_device_open (dc_device_t **out, dc_context_t *context, dc_descriptor_t *descr rc = oceanic_veo250_device_open (&device, context, name); break; case DC_FAMILY_OCEANIC_ATOM2: - rc = oceanic_atom2_device_open (&device, context, name); + rc = oceanic_atom2_device_open2 (&device, context, name, dc_descriptor_get_model (descriptor)); break; case DC_FAMILY_MARES_NEMO: rc = mares_nemo_device_open (&device, context, name); diff --git a/src/libdivecomputer.symbols b/src/libdivecomputer.symbols index 8109f96..f27f6fd 100644 --- a/src/libdivecomputer.symbols +++ b/src/libdivecomputer.symbols @@ -92,6 +92,7 @@ mares_darwin_extract_dives mares_iconhd_device_open mares_iconhd_extract_dives oceanic_atom2_device_open +oceanic_atom2_device_open2 oceanic_atom2_device_version oceanic_atom2_device_keepalive oceanic_veo250_device_open diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index ba4fe4f..656812c 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -492,6 +492,14 @@ oceanic_atom2_quit (oceanic_atom2_device_t *device) dc_status_t oceanic_atom2_device_open (dc_device_t **out, dc_context_t *context, const char *name) +{ + return oceanic_atom2_device_open2 (out, context, name, 0); +} + + +dc_status_t +oceanic_atom2_device_open2 (dc_device_t **out, dc_context_t *context, const char *name, unsigned int model) + { if (out == NULL) return DC_STATUS_INVALIDARGS;