diff --git a/src/hw_ostc_parser.c b/src/hw_ostc_parser.c index 86f1cd32..7d8df435 100644 --- a/src/hw_ostc_parser.c +++ b/src/hw_ostc_parser.c @@ -1184,7 +1184,6 @@ hw_ostc_parser_internal_foreach (hw_ostc_parser_t *parser, dc_sample_callback_t if (callback) { unsigned int value = array_uint16_le(data + offset); - dc_sample_type_t eventType = DC_SAMPLE_EVENT; dc_sample_value_t sample = { .event.type = SAMPLE_EVENT_STRING, .event.flags = SAMPLE_FLAGS_SEVERITY_INFO, @@ -1194,13 +1193,12 @@ hw_ostc_parser_internal_foreach (hw_ostc_parser_t *parser, dc_sample_callback_t if (value & OSTC4_COMPASS_HEADING_CLEARED_FLAG) { snprintf(buf, BUFLEN, "Cleared compass heading"); } else { + sample.event.value = heading; if (value & OSTC4_COMPASS_HEADING_SET_FLAG) { - eventType = DC_SAMPLE_BEARING; - sample.bearing = heading; + sample.event.type = SAMPLE_EVENT_HEADING; snprintf(buf, BUFLEN, "Set compass heading [degrees]%s", sample.event.value ? "" : ": 0"); } else { - sample.event.value = heading; snprintf(buf, BUFLEN, "Logged compass heading [degrees]%s", sample.event.value ? "" : ": 0"); } @@ -1208,7 +1206,7 @@ hw_ostc_parser_internal_foreach (hw_ostc_parser_t *parser, dc_sample_callback_t sample.event.name = buf; - callback(eventType, &sample, userdata); + callback(DC_SAMPLE_EVENT, &sample, userdata); } offset += 2; diff --git a/src/uwatec_smart_parser.c b/src/uwatec_smart_parser.c index 588221f9..ba5573dd 100644 --- a/src/uwatec_smart_parser.c +++ b/src/uwatec_smart_parser.c @@ -1192,8 +1192,13 @@ uwatec_smart_parse (uwatec_smart_parser_t *parser, dc_sample_callback_t callback } if (have_bearing) { - sample.bearing = bearing; - if (callback) callback (DC_SAMPLE_BEARING, &sample, userdata); + dc_sample_value_t sample = { + .event.type = SAMPLE_EVENT_HEADING, + .event.flags = SAMPLE_FLAGS_SEVERITY_INFO, + .event.value = bearing, + }; + + if (callback) callback(DC_SAMPLE_EVENT, &sample, userdata); have_bearing = 0; }