From 415d7f22144cf4187fcbcd16270c95300f74f53b Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Tue, 9 May 2017 20:56:08 +0200 Subject: [PATCH] Fix the Sherwood Wisdom 3 memory layout The logbook ringbuffer starts at 0x03D0 instead of 0x0240. --- src/oceanic_atom2.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/oceanic_atom2.c b/src/oceanic_atom2.c index cccfc4e..da19e7f 100644 --- a/src/oceanic_atom2.c +++ b/src/oceanic_atom2.c @@ -101,7 +101,6 @@ static const oceanic_common_version_t oceanic_atom2_version[] = { static const oceanic_common_version_t oceanic_atom2a_version[] = { {"MANTA R\0\0 512K"}, - {"WISDOM R\0\0 512K"}, {"INSIGHT2 \0\0 512K"}, {"OCEVEO30 \0\0 512K"}, {"ATMOSAI R\0\0 512K"}, @@ -132,6 +131,10 @@ static const oceanic_common_version_t oceanic_default_version[] = { {"COMPMASK \0\0 512K"}, }; +static const oceanic_common_version_t sherwood_wisdom_version[] = { + {"WISDOM R\0\0 512K"}, +}; + static const oceanic_common_version_t oceanic_proplus3_version[] = { {"PROPLUS3 \0\0 512K"}, }; @@ -288,6 +291,20 @@ static const oceanic_common_layout_t oceanic_atom2c_layout = { 0, /* pt_mode_serial */ }; +static const oceanic_common_layout_t sherwood_wisdom_layout = { + 0xFFF0, /* memsize */ + 0x0000, /* cf_devinfo */ + 0x0040, /* cf_pointers */ + 0x03D0, /* rb_logbook_begin */ + 0x0A40, /* rb_logbook_end */ + 8, /* rb_logbook_entry_size */ + 0x0A40, /* rb_profile_begin */ + 0xFE00, /* rb_profile_end */ + 0, /* pt_mode_global */ + 0, /* pt_mode_logbook */ + 0, /* pt_mode_serial */ +}; + static const oceanic_common_layout_t oceanic_proplus3_layout = { 0x10000, /* memsize */ 0x0000, /* cf_devinfo */ @@ -645,6 +662,8 @@ oceanic_atom2_device_open (dc_device_t **out, dc_context_t *context, const char device->base.layout = &oceanic_atom2b_layout; } else if (OCEANIC_COMMON_MATCH (device->base.version, oceanic_atom2c_version)) { device->base.layout = &oceanic_atom2c_layout; + } else if (OCEANIC_COMMON_MATCH (device->base.version, sherwood_wisdom_version)) { + device->base.layout = &sherwood_wisdom_layout; } else if (OCEANIC_COMMON_MATCH (device->base.version, oceanic_proplus3_version)) { device->base.layout = &oceanic_proplus3_layout; } else if (OCEANIC_COMMON_MATCH (device->base.version, tusa_zenair_version)) {