From 94b4ee368a2787c23b85cb77e79a276c31260e2f Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Mon, 23 Apr 2012 21:46:22 +0200 Subject: [PATCH] Add partial support for the Oceanic Veo 1.0 The Veo 1.0 has very limited memory and doesn't have a logbook and profile ringbuffer. Hence downloading dives isn't really supported, but even this limited amount of data might be useful for someone. --- src/oceanic_atom2.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index f47bbb3..60f7379 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -76,6 +76,7 @@ static const unsigned char oceanic_vt41_version[] = "OCEAVT41 \0\0 1024"; static const unsigned char oceanic_geo2_version[] = "OCEGEO20 \0\0 512K"; static const unsigned char oceanic_oc1a_version[] = "OCWATCH R\0\0 1024"; static const unsigned char oceanic_oc1b_version[] = "OC1WATCH \0\0 1024"; +static const unsigned char oceanic_veo1_version[] = "OCEVEO10 \0\0 8K"; static const unsigned char oceanic_veo2_version[] = "OCEVEO20 \0\0 512K"; static const unsigned char oceanic_veo3_version[] = "OCEVEO30 \0\0 512K"; static const unsigned char sherwood_insight_version[] = "INSIGHT2 \0\0 512K"; @@ -189,6 +190,18 @@ static const oceanic_common_layout_t oceanic_oc1_layout = { 1 /* pt_mode_logbook */ }; +static const oceanic_common_layout_t oceanic_veo1_layout = { + 0x0400, /* memsize */ + 0x0000, /* cf_devinfo */ + 0x0040, /* cf_pointers */ + 0x0400, /* rb_logbook_begin */ + 0x0400, /* rb_logbook_end */ + 0x0400, /* rb_profile_begin */ + 0x0400, /* rb_profile_end */ + 0, /* pt_mode_global */ + 0 /* pt_mode_logbook */ +}; + static int device_is_oceanic_atom2 (device_t *abstract) @@ -382,6 +395,8 @@ oceanic_atom2_device_open (device_t **out, const char* name) else if (oceanic_common_match (aeris_epic_version, device->version, sizeof (device->version)) || oceanic_common_match (oceanic_atom2_version, device->version, sizeof (device->version))) device->base.layout = &oceanic_atom2c_layout; + else if (oceanic_common_match (oceanic_veo1_version, device->version, sizeof (device->version))) + device->base.layout = &oceanic_veo1_layout; else device->base.layout = &oceanic_default_layout;