diff --git a/examples/suunto_d9_test.c b/examples/suunto_d9_test.c index 4c49743..d83d1b6 100644 --- a/examples/suunto_d9_test.c +++ b/examples/suunto_d9_test.c @@ -44,9 +44,9 @@ test_dump_sdm (const char* name) return rc; } - message ("dc_device_version\n"); + message ("suunto_d9_device_version\n"); unsigned char version[SUUNTO_D9_VERSION_SIZE] = {0}; - rc = dc_device_version (device, version, sizeof (version)); + rc = suunto_d9_device_version (device, version, sizeof (version)); if (rc != DC_STATUS_SUCCESS) { WARNING ("Cannot identify computer."); dc_device_close (device); @@ -95,9 +95,9 @@ test_dump_memory (const char* name, const char* filename) return rc; } - message ("dc_device_version\n"); + message ("suunto_d9_device_version\n"); unsigned char version[SUUNTO_D9_VERSION_SIZE] = {0}; - rc = dc_device_version (device, version, sizeof (version)); + rc = suunto_d9_device_version (device, version, sizeof (version)); if (rc != DC_STATUS_SUCCESS) { WARNING ("Cannot identify computer."); dc_device_close (device); diff --git a/examples/suunto_vyper2_test.c b/examples/suunto_vyper2_test.c index 8d7724c..d515b6d 100644 --- a/examples/suunto_vyper2_test.c +++ b/examples/suunto_vyper2_test.c @@ -44,9 +44,9 @@ test_dump_sdm (const char* name) return rc; } - message ("dc_device_version\n"); + message ("suunto_vyper2_device_version\n"); unsigned char version[SUUNTO_VYPER2_VERSION_SIZE] = {0}; - rc = dc_device_version (device, version, sizeof (version)); + rc = suunto_vyper2_device_version (device, version, sizeof (version)); if (rc != DC_STATUS_SUCCESS) { WARNING ("Cannot identify computer."); dc_device_close (device); @@ -95,9 +95,9 @@ test_dump_memory (const char* name, const char* filename) return rc; } - message ("dc_device_version\n"); + message ("suunto_vyper2_device_version\n"); unsigned char version[SUUNTO_VYPER2_VERSION_SIZE] = {0}; - rc = dc_device_version (device, version, sizeof (version)); + rc = suunto_vyper2_device_version (device, version, sizeof (version)); if (rc != DC_STATUS_SUCCESS) { WARNING ("Cannot identify computer."); dc_device_close (device); diff --git a/examples/uwatec_smart_test.c b/examples/uwatec_smart_test.c index c3b88dd..8b2ceb3 100644 --- a/examples/uwatec_smart_test.c +++ b/examples/uwatec_smart_test.c @@ -46,9 +46,9 @@ test_dump_memory (const char* filename) return rc; } - message ("dc_device_version\n"); + message ("uwatec_smart_device_version\n"); unsigned char version[UWATEC_SMART_VERSION_SIZE] = {0}; - rc = dc_device_version (device, version, sizeof (version)); + rc = uwatec_smart_device_version (device, version, sizeof (version)); if (rc != DC_STATUS_SUCCESS) { WARNING ("Cannot identify computer."); dc_device_close (device); diff --git a/include/libdivecomputer/atomics_cobalt.h b/include/libdivecomputer/atomics_cobalt.h index a78f04d..b8a36ca 100644 --- a/include/libdivecomputer/atomics_cobalt.h +++ b/include/libdivecomputer/atomics_cobalt.h @@ -33,6 +33,9 @@ extern "C" { dc_status_t atomics_cobalt_device_open (dc_device_t **device, dc_context_t *context); +dc_status_t +atomics_cobalt_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t atomics_cobalt_device_set_simulation (dc_device_t *device, unsigned int simulation); diff --git a/include/libdivecomputer/hw_frog.h b/include/libdivecomputer/hw_frog.h index 3d59445..a831ba4 100644 --- a/include/libdivecomputer/hw_frog.h +++ b/include/libdivecomputer/hw_frog.h @@ -37,6 +37,9 @@ extern "C" { dc_status_t hw_frog_device_open (dc_device_t **device, dc_context_t *context, const char *name); +dc_status_t +hw_frog_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t hw_frog_device_clock (dc_device_t *device, const dc_datetime_t *datetime); diff --git a/include/libdivecomputer/oceanic_atom2.h b/include/libdivecomputer/oceanic_atom2.h index f66954a..c8cce4f 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_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t oceanic_atom2_device_keepalive (dc_device_t *device); diff --git a/include/libdivecomputer/oceanic_veo250.h b/include/libdivecomputer/oceanic_veo250.h index bf7bbcb..53df7b2 100644 --- a/include/libdivecomputer/oceanic_veo250.h +++ b/include/libdivecomputer/oceanic_veo250.h @@ -33,6 +33,9 @@ extern "C" { dc_status_t oceanic_veo250_device_open (dc_device_t **device, dc_context_t *context, const char *name); +dc_status_t +oceanic_veo250_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t oceanic_veo250_device_keepalive (dc_device_t *device); diff --git a/include/libdivecomputer/oceanic_vtpro.h b/include/libdivecomputer/oceanic_vtpro.h index 4d9825b..e862694 100644 --- a/include/libdivecomputer/oceanic_vtpro.h +++ b/include/libdivecomputer/oceanic_vtpro.h @@ -33,6 +33,9 @@ extern "C" { dc_status_t oceanic_vtpro_device_open (dc_device_t **device, dc_context_t *context, const char *name); +dc_status_t +oceanic_vtpro_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t oceanic_vtpro_device_keepalive (dc_device_t *device); diff --git a/include/libdivecomputer/suunto_d9.h b/include/libdivecomputer/suunto_d9.h index f2f9977..734efd8 100644 --- a/include/libdivecomputer/suunto_d9.h +++ b/include/libdivecomputer/suunto_d9.h @@ -35,6 +35,9 @@ extern "C" { dc_status_t suunto_d9_device_open (dc_device_t **device, dc_context_t *context, const char *name, unsigned int model); +dc_status_t +suunto_d9_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t suunto_d9_device_reset_maxdepth (dc_device_t *device); diff --git a/include/libdivecomputer/suunto_vyper2.h b/include/libdivecomputer/suunto_vyper2.h index dbefdd1..dabde04 100644 --- a/include/libdivecomputer/suunto_vyper2.h +++ b/include/libdivecomputer/suunto_vyper2.h @@ -34,6 +34,9 @@ extern "C" { dc_status_t suunto_vyper2_device_open (dc_device_t **device, dc_context_t *context, const char *name); +dc_status_t +suunto_vyper2_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t suunto_vyper2_device_reset_maxdepth (dc_device_t *device); diff --git a/include/libdivecomputer/uwatec_smart.h b/include/libdivecomputer/uwatec_smart.h index a8add5b..191f389 100644 --- a/include/libdivecomputer/uwatec_smart.h +++ b/include/libdivecomputer/uwatec_smart.h @@ -35,6 +35,9 @@ extern "C" { dc_status_t uwatec_smart_device_open (dc_device_t **device, dc_context_t *context); +dc_status_t +uwatec_smart_device_version (dc_device_t *device, unsigned char data[], unsigned int size); + dc_status_t uwatec_smart_device_set_timestamp (dc_device_t *device, unsigned int timestamp); diff --git a/src/atomics_cobalt.c b/src/atomics_cobalt.c index aa597fd..44d2d79 100644 --- a/src/atomics_cobalt.c +++ b/src/atomics_cobalt.c @@ -60,14 +60,12 @@ typedef struct atomics_cobalt_device_t { } atomics_cobalt_device_t; static dc_status_t atomics_cobalt_device_set_fingerprint (dc_device_t *abstract, const unsigned char data[], unsigned int size); -static dc_status_t atomics_cobalt_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t atomics_cobalt_device_foreach (dc_device_t *abstract, dc_dive_callback_t callback, void *userdata); static dc_status_t atomics_cobalt_device_close (dc_device_t *abstract); static const device_backend_t atomics_cobalt_device_backend = { DC_FAMILY_ATOMICS_COBALT, atomics_cobalt_device_set_fingerprint, /* set_fingerprint */ - atomics_cobalt_device_version, /* version */ NULL, /* read */ NULL, /* write */ NULL, /* dump */ @@ -205,7 +203,7 @@ atomics_cobalt_device_set_simulation (dc_device_t *abstract, unsigned int simula } -static dc_status_t +dc_status_t atomics_cobalt_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { atomics_cobalt_device_t *device = (atomics_cobalt_device_t *) abstract; diff --git a/src/cressi_edy.c b/src/cressi_edy.c index 92a4053..56eeac1 100644 --- a/src/cressi_edy.c +++ b/src/cressi_edy.c @@ -66,7 +66,6 @@ static dc_status_t cressi_edy_device_close (dc_device_t *abstract); static const device_backend_t cressi_edy_device_backend = { DC_FAMILY_CRESSI_EDY, cressi_edy_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ cressi_edy_device_read, /* read */ NULL, /* write */ cressi_edy_device_dump, /* dump */ diff --git a/src/device-private.h b/src/device-private.h index 83179a4..e5fee79 100644 --- a/src/device-private.h +++ b/src/device-private.h @@ -59,8 +59,6 @@ struct device_backend_t { dc_status_t (*set_fingerprint) (dc_device_t *device, const unsigned char data[], unsigned int size); - dc_status_t (*version) (dc_device_t *device, unsigned char data[], unsigned int size); - dc_status_t (*read) (dc_device_t *device, unsigned int address, unsigned char data[], unsigned int size); dc_status_t (*write) (dc_device_t *device, unsigned int address, const unsigned char data[], unsigned int size); diff --git a/src/device.c b/src/device.c index 149cee8..5f599b4 100644 --- a/src/device.c +++ b/src/device.c @@ -193,19 +193,6 @@ dc_device_set_fingerprint (dc_device_t *device, const unsigned char data[], unsi } -dc_status_t -dc_device_version (dc_device_t *device, unsigned char data[], unsigned int size) -{ - if (device == NULL) - return DC_STATUS_UNSUPPORTED; - - if (device->backend->version == NULL) - return DC_STATUS_UNSUPPORTED; - - return device->backend->version (device, data, size); -} - - dc_status_t dc_device_read (dc_device_t *device, unsigned int address, unsigned char data[], unsigned int size) { diff --git a/src/hw_frog.c b/src/hw_frog.c index 4d19ab2..45e5b04 100644 --- a/src/hw_frog.c +++ b/src/hw_frog.c @@ -64,14 +64,12 @@ typedef struct hw_frog_device_t { } hw_frog_device_t; static dc_status_t hw_frog_device_set_fingerprint (dc_device_t *abstract, const unsigned char data[], unsigned int size); -static dc_status_t hw_frog_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t hw_frog_device_foreach (dc_device_t *abstract, dc_dive_callback_t callback, void *userdata); static dc_status_t hw_frog_device_close (dc_device_t *abstract); static const device_backend_t hw_frog_device_backend = { DC_FAMILY_HW_FROG, hw_frog_device_set_fingerprint, /* set_fingerprint */ - hw_frog_device_version, /* version */ NULL, /* read */ NULL, /* write */ NULL, /* dump */ @@ -294,7 +292,7 @@ hw_frog_device_set_fingerprint (dc_device_t *abstract, const unsigned char data[ } -static dc_status_t +dc_status_t hw_frog_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { hw_frog_device_t *device = (hw_frog_device_t *) abstract; diff --git a/src/hw_ostc.c b/src/hw_ostc.c index c500858..735f6e5 100644 --- a/src/hw_ostc.c +++ b/src/hw_ostc.c @@ -62,7 +62,6 @@ static dc_status_t hw_ostc_device_close (dc_device_t *abstract); static const device_backend_t hw_ostc_device_backend = { DC_FAMILY_HW_OSTC, hw_ostc_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ hw_ostc_device_dump, /* dump */ diff --git a/src/libdivecomputer.symbols b/src/libdivecomputer.symbols index 24718d3..8ab0339 100644 --- a/src/libdivecomputer.symbols +++ b/src/libdivecomputer.symbols @@ -72,7 +72,6 @@ dc_device_read dc_device_set_cancel dc_device_set_events dc_device_set_fingerprint -dc_device_version dc_device_write cressi_edy_device_open @@ -85,10 +84,13 @@ mares_darwin_extract_dives mares_iconhd_device_open mares_iconhd_extract_dives oceanic_atom2_device_open +oceanic_atom2_device_version oceanic_atom2_device_keepalive oceanic_veo250_device_open +oceanic_veo250_device_version oceanic_veo250_device_keepalive oceanic_vtpro_device_open +oceanic_vtpro_device_version oceanic_vtpro_device_keepalive reefnet_sensus_device_open reefnet_sensus_device_set_timestamp @@ -109,6 +111,7 @@ reefnet_sensusultra_device_write_parameter reefnet_sensusultra_device_write_user reefnet_sensusultra_extract_dives suunto_d9_device_open +suunto_d9_device_version suunto_d9_device_reset_maxdepth suunto_solution_device_open suunto_solution_extract_dives @@ -117,6 +120,7 @@ suunto_eon_device_write_interval suunto_eon_device_write_name suunto_eon_extract_dives suunto_vyper2_device_open +suunto_vyper2_device_version suunto_vyper2_device_reset_maxdepth suunto_vyper_device_open suunto_vyper_device_read_dive @@ -129,6 +133,7 @@ uwatec_memomouse_device_open uwatec_memomouse_device_set_timestamp uwatec_memomouse_extract_dives uwatec_smart_device_open +uwatec_smart_device_version uwatec_smart_device_set_timestamp uwatec_smart_extract_dives hw_ostc_device_open @@ -140,9 +145,11 @@ hw_ostc_device_reset hw_ostc_device_screenshot hw_ostc_extract_dives hw_frog_device_open +hw_frog_device_version hw_frog_device_clock hw_frog_device_display hw_frog_device_customtext zeagle_n2ition3_device_open atomics_cobalt_device_open +atomics_cobalt_device_version atomics_cobalt_device_set_simulation diff --git a/src/mares_darwin.c b/src/mares_darwin.c index c1af997..8da7e9f 100644 --- a/src/mares_darwin.c +++ b/src/mares_darwin.c @@ -63,7 +63,6 @@ static dc_status_t mares_darwin_device_close (dc_device_t *abstract); static const device_backend_t mares_darwin_device_backend = { DC_FAMILY_MARES_DARWIN, mares_darwin_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ mares_common_device_read, /* read */ NULL, /* write */ mares_darwin_device_dump, /* dump */ diff --git a/src/mares_iconhd.c b/src/mares_iconhd.c index 7d5e551..9e8dd07 100644 --- a/src/mares_iconhd.c +++ b/src/mares_iconhd.c @@ -67,7 +67,6 @@ static dc_status_t mares_iconhd_device_close (dc_device_t *abstract); static const device_backend_t mares_iconhd_device_backend = { DC_FAMILY_MARES_ICONHD, mares_iconhd_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ mares_iconhd_device_read, /* read */ NULL, /* write */ mares_iconhd_device_dump, /* dump */ diff --git a/src/mares_nemo.c b/src/mares_nemo.c index 07010ae..b805c90 100644 --- a/src/mares_nemo.c +++ b/src/mares_nemo.c @@ -61,7 +61,6 @@ static dc_status_t mares_nemo_device_close (dc_device_t *abstract); static const device_backend_t mares_nemo_device_backend = { DC_FAMILY_MARES_NEMO, mares_nemo_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ mares_nemo_device_dump, /* dump */ diff --git a/src/mares_puck.c b/src/mares_puck.c index 96e9f8a..d379a13 100644 --- a/src/mares_puck.c +++ b/src/mares_puck.c @@ -51,7 +51,6 @@ static dc_status_t mares_puck_device_close (dc_device_t *abstract); static const device_backend_t mares_puck_device_backend = { DC_FAMILY_MARES_PUCK, mares_puck_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ mares_common_device_read, /* read */ NULL, /* write */ mares_puck_device_dump, /* dump */ diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index 4c71a10..3c039dd 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -48,7 +48,6 @@ typedef struct oceanic_atom2_device_t { unsigned char version[PAGESIZE]; } oceanic_atom2_device_t; -static dc_status_t oceanic_atom2_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t oceanic_atom2_device_read (dc_device_t *abstract, unsigned int address, unsigned char data[], unsigned int size); static dc_status_t oceanic_atom2_device_write (dc_device_t *abstract, unsigned int address, const unsigned char data[], unsigned int size); static dc_status_t oceanic_atom2_device_close (dc_device_t *abstract); @@ -56,7 +55,6 @@ static dc_status_t oceanic_atom2_device_close (dc_device_t *abstract); static const device_backend_t oceanic_atom2_device_backend = { DC_FAMILY_OCEANIC_ATOM2, oceanic_common_device_set_fingerprint, /* set_fingerprint */ - oceanic_atom2_device_version, /* version */ oceanic_atom2_device_read, /* read */ oceanic_atom2_device_write, /* write */ oceanic_common_device_dump, /* dump */ @@ -455,7 +453,7 @@ oceanic_atom2_device_keepalive (dc_device_t *abstract) } -static dc_status_t +dc_status_t oceanic_atom2_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { oceanic_atom2_device_t *device = (oceanic_atom2_device_t*) abstract; diff --git a/src/oceanic_veo250.c b/src/oceanic_veo250.c index 4003f4d..1005f24 100644 --- a/src/oceanic_veo250.c +++ b/src/oceanic_veo250.c @@ -49,14 +49,12 @@ typedef struct oceanic_veo250_device_t { unsigned char version[PAGESIZE]; } oceanic_veo250_device_t; -static dc_status_t oceanic_veo250_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t oceanic_veo250_device_read (dc_device_t *abstract, unsigned int address, unsigned char data[], unsigned int size); static dc_status_t oceanic_veo250_device_close (dc_device_t *abstract); static const device_backend_t oceanic_veo250_device_backend = { DC_FAMILY_OCEANIC_VEO250, oceanic_common_device_set_fingerprint, /* set_fingerprint */ - oceanic_veo250_device_version, /* version */ oceanic_veo250_device_read, /* read */ NULL, /* write */ oceanic_common_device_dump, /* dump */ @@ -362,7 +360,7 @@ oceanic_veo250_device_keepalive (dc_device_t *abstract) } -static dc_status_t +dc_status_t oceanic_veo250_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { oceanic_veo250_device_t *device = (oceanic_veo250_device_t*) abstract; diff --git a/src/oceanic_vtpro.c b/src/oceanic_vtpro.c index 21f9e97..ec9980f 100644 --- a/src/oceanic_vtpro.c +++ b/src/oceanic_vtpro.c @@ -49,14 +49,12 @@ typedef struct oceanic_vtpro_device_t { unsigned char version[PAGESIZE]; } oceanic_vtpro_device_t; -static dc_status_t oceanic_vtpro_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t oceanic_vtpro_device_read (dc_device_t *abstract, unsigned int address, unsigned char data[], unsigned int size); static dc_status_t oceanic_vtpro_device_close (dc_device_t *abstract); static const device_backend_t oceanic_vtpro_device_backend = { DC_FAMILY_OCEANIC_VTPRO, oceanic_common_device_set_fingerprint, /* set_fingerprint */ - oceanic_vtpro_device_version, /* version */ oceanic_vtpro_device_read, /* read */ NULL, /* write */ oceanic_common_device_dump, /* dump */ @@ -403,7 +401,7 @@ oceanic_vtpro_device_keepalive (dc_device_t *abstract) } -static dc_status_t +dc_status_t oceanic_vtpro_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { oceanic_vtpro_device_t *device = (oceanic_vtpro_device_t*) abstract; diff --git a/src/reefnet_sensus.c b/src/reefnet_sensus.c index da22ee5..270aed0 100644 --- a/src/reefnet_sensus.c +++ b/src/reefnet_sensus.c @@ -56,7 +56,6 @@ static dc_status_t reefnet_sensus_device_close (dc_device_t *abstract); static const device_backend_t reefnet_sensus_device_backend = { DC_FAMILY_REEFNET_SENSUS, reefnet_sensus_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ reefnet_sensus_device_dump, /* dump */ diff --git a/src/reefnet_sensuspro.c b/src/reefnet_sensuspro.c index 770fead..551a750 100644 --- a/src/reefnet_sensuspro.c +++ b/src/reefnet_sensuspro.c @@ -55,7 +55,6 @@ static dc_status_t reefnet_sensuspro_device_close (dc_device_t *abstract); static const device_backend_t reefnet_sensuspro_device_backend = { DC_FAMILY_REEFNET_SENSUSPRO, reefnet_sensuspro_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ reefnet_sensuspro_device_dump, /* dump */ diff --git a/src/reefnet_sensusultra.c b/src/reefnet_sensusultra.c index 3bcc30f..bd4eb2e 100644 --- a/src/reefnet_sensusultra.c +++ b/src/reefnet_sensusultra.c @@ -64,7 +64,6 @@ static dc_status_t reefnet_sensusultra_device_close (dc_device_t *abstract); static const device_backend_t reefnet_sensusultra_device_backend = { DC_FAMILY_REEFNET_SENSUSULTRA, reefnet_sensusultra_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ reefnet_sensusultra_device_dump, /* dump */ diff --git a/src/suunto_d9.c b/src/suunto_d9.c index d82fbf1..5fd008b 100644 --- a/src/suunto_d9.c +++ b/src/suunto_d9.c @@ -55,7 +55,6 @@ static const suunto_common2_device_backend_t suunto_d9_device_backend = { { DC_FAMILY_SUUNTO_D9, suunto_common2_device_set_fingerprint, /* set_fingerprint */ - suunto_common2_device_version, /* version */ suunto_common2_device_read, /* read */ suunto_common2_device_write, /* write */ suunto_common2_device_dump, /* dump */ @@ -299,6 +298,16 @@ suunto_d9_device_packet (dc_device_t *abstract, const unsigned char command[], u } +dc_status_t +suunto_d9_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) +{ + if (! device_is_suunto_d9 (abstract)) + return DC_STATUS_INVALIDARGS; + + return suunto_common2_device_version (abstract, data, size); +} + + dc_status_t suunto_d9_device_reset_maxdepth (dc_device_t *abstract) { diff --git a/src/suunto_eon.c b/src/suunto_eon.c index 9f06e20..fb61b53 100644 --- a/src/suunto_eon.c +++ b/src/suunto_eon.c @@ -50,7 +50,6 @@ static dc_status_t suunto_eon_device_close (dc_device_t *abstract); static const device_backend_t suunto_eon_device_backend = { DC_FAMILY_SUUNTO_EON, suunto_common_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ suunto_eon_device_dump, /* dump */ diff --git a/src/suunto_solution.c b/src/suunto_solution.c index b4c7054..9af41b2 100644 --- a/src/suunto_solution.c +++ b/src/suunto_solution.c @@ -52,7 +52,6 @@ static dc_status_t suunto_solution_device_close (dc_device_t *abstract); static const device_backend_t suunto_solution_device_backend = { DC_FAMILY_SUUNTO_SOLUTION, NULL, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ suunto_solution_device_dump, /* dump */ diff --git a/src/suunto_vyper.c b/src/suunto_vyper.c index 10715ae..bfd17b1 100644 --- a/src/suunto_vyper.c +++ b/src/suunto_vyper.c @@ -63,7 +63,6 @@ static dc_status_t suunto_vyper_device_close (dc_device_t *abstract); static const device_backend_t suunto_vyper_device_backend = { DC_FAMILY_SUUNTO_VYPER, suunto_common_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ suunto_vyper_device_read, /* read */ suunto_vyper_device_write, /* write */ suunto_vyper_device_dump, /* dump */ diff --git a/src/suunto_vyper2.c b/src/suunto_vyper2.c index 71df789..2cc32f9 100644 --- a/src/suunto_vyper2.c +++ b/src/suunto_vyper2.c @@ -47,7 +47,6 @@ static const suunto_common2_device_backend_t suunto_vyper2_device_backend = { { DC_FAMILY_SUUNTO_VYPER2, suunto_common2_device_set_fingerprint, /* set_fingerprint */ - suunto_common2_device_version, /* version */ suunto_common2_device_read, /* read */ suunto_common2_device_write, /* write */ suunto_common2_device_dump, /* dump */ @@ -225,6 +224,16 @@ suunto_vyper2_device_packet (dc_device_t *abstract, const unsigned char command[ } +dc_status_t +suunto_vyper2_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) +{ + if (! device_is_suunto_vyper2 (abstract)) + return DC_STATUS_INVALIDARGS; + + return suunto_common2_device_version (abstract, data, size); +} + + dc_status_t suunto_vyper2_device_reset_maxdepth (dc_device_t *abstract) { diff --git a/src/uwatec_aladin.c b/src/uwatec_aladin.c index a6d337a..7a87ed7 100644 --- a/src/uwatec_aladin.c +++ b/src/uwatec_aladin.c @@ -61,7 +61,6 @@ static dc_status_t uwatec_aladin_device_close (dc_device_t *abstract); static const device_backend_t uwatec_aladin_device_backend = { DC_FAMILY_UWATEC_ALADIN, uwatec_aladin_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ uwatec_aladin_device_dump, /* dump */ diff --git a/src/uwatec_memomouse.c b/src/uwatec_memomouse.c index bf4bc5c..8314bee 100644 --- a/src/uwatec_memomouse.c +++ b/src/uwatec_memomouse.c @@ -57,7 +57,6 @@ static dc_status_t uwatec_memomouse_device_close (dc_device_t *abstract); static const device_backend_t uwatec_memomouse_device_backend = { DC_FAMILY_UWATEC_MEMOMOUSE, uwatec_memomouse_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ NULL, /* read */ NULL, /* write */ uwatec_memomouse_device_dump, /* dump */ diff --git a/src/uwatec_smart.c b/src/uwatec_smart.c index 93b8295..1378647 100644 --- a/src/uwatec_smart.c +++ b/src/uwatec_smart.c @@ -44,7 +44,6 @@ typedef struct uwatec_smart_device_t { } uwatec_smart_device_t; static dc_status_t uwatec_smart_device_set_fingerprint (dc_device_t *device, const unsigned char data[], unsigned int size); -static dc_status_t uwatec_smart_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size); static dc_status_t uwatec_smart_device_dump (dc_device_t *abstract, dc_buffer_t *buffer); static dc_status_t uwatec_smart_device_foreach (dc_device_t *abstract, dc_dive_callback_t callback, void *userdata); static dc_status_t uwatec_smart_device_close (dc_device_t *abstract); @@ -52,7 +51,6 @@ static dc_status_t uwatec_smart_device_close (dc_device_t *abstract); static const device_backend_t uwatec_smart_device_backend = { DC_FAMILY_UWATEC_SMART, uwatec_smart_device_set_fingerprint, /* set_fingerprint */ - uwatec_smart_device_version, /* version */ NULL, /* read */ NULL, /* write */ uwatec_smart_device_dump, /* dump */ @@ -271,7 +269,7 @@ uwatec_smart_device_set_fingerprint (dc_device_t *abstract, const unsigned char } -static dc_status_t +dc_status_t uwatec_smart_device_version (dc_device_t *abstract, unsigned char data[], unsigned int size) { uwatec_smart_device_t *device = (uwatec_smart_device_t *) abstract; diff --git a/src/zeagle_n2ition3.c b/src/zeagle_n2ition3.c index a7a6721..6161d65 100644 --- a/src/zeagle_n2ition3.c +++ b/src/zeagle_n2ition3.c @@ -62,7 +62,6 @@ static dc_status_t zeagle_n2ition3_device_close (dc_device_t *abstract); static const device_backend_t zeagle_n2ition3_device_backend = { DC_FAMILY_ZEAGLE_N2ITION3, zeagle_n2ition3_device_set_fingerprint, /* set_fingerprint */ - NULL, /* version */ zeagle_n2ition3_device_read, /* read */ NULL, /* write */ zeagle_n2ition3_device_dump, /* dump */