On 2015-01-21 08:38, Anton Lundin wrote:
static const hw_ostc_layout_t hw_ostc_layout_ostc = { 3, /* datetime */ 8, /* maxdepth */
- 45, /* avgdepth */ 10, /* divetime */ 15, /* atmospheric */ 43, /* salinity */
@@ -121,6 +123,7 @@ static const hw_ostc_layout_t hw_ostc_layout_ostc = { static const hw_ostc_layout_t hw_ostc_layout_frog = { 9, /* datetime */ 14, /* maxdepth */
- UNSUPPORTED, /* avgdepth */ 16, /* divetime */ 21, /* atmospheric */ 43, /* salinity */
This fails to compile because UNSUPPORTED isn't defined. According to the frog documentation the average depth is stored at offset 45, just like the ostc.
case DC_FIELD_AVGDEPTH:
if (version == 0x22)
return DC_STATUS_UNSUPPORTED;
*((double *) value) = array_uint16_le (data + layout->avgdepth) /
100.0;
break;
With the above info, you no longer need to special case the frog here.
PS: The average depth field is not implemented for any backend. I added the field because I thought it made sense at that time. But most applications seem to prefer to calculate avg depth from the profile (which has the advantage of being able to take into account preferences like ignore shallow samples, etc), so I just never bothered to implement this.
Jef