diff --git a/doc/man/dc_parser_samples_foreach.3 b/doc/man/dc_parser_samples_foreach.3 index 5ac5554..1b8be82 100644 --- a/doc/man/dc_parser_samples_foreach.3 +++ b/doc/man/dc_parser_samples_foreach.3 @@ -63,7 +63,7 @@ closed. The following sample types may be raised: .Bl -tag -width Ds .It Dv DC_SAMPLE_TIME -The time of the sample taken in seconds after the dive began. +The time of the sample taken in milliseconds after the dive began. Set in the .Fa time field. diff --git a/examples/output_xml.c b/examples/output_xml.c index 7d76cb1..882680a 100644 --- a/examples/output_xml.c +++ b/examples/output_xml.c @@ -104,12 +104,20 @@ sample_cb (dc_sample_type_t type, dc_sample_value_t value, void *userdata) sample_data_t *sampledata = (sample_data_t *) userdata; + unsigned int seconds = 0, milliseconds = 0; + switch (type) { case DC_SAMPLE_TIME: + seconds = value.time / 1000; + milliseconds = value.time % 1000; if (sampledata->nsamples++) fprintf (sampledata->ostream, "\n"); fprintf (sampledata->ostream, "\n"); - fprintf (sampledata->ostream, " \n", value.time / 60, value.time % 60); + if (milliseconds) { + fprintf (sampledata->ostream, " \n", seconds / 60, seconds % 60, milliseconds); + } else { + fprintf (sampledata->ostream, " \n", seconds / 60, seconds % 60); + } break; case DC_SAMPLE_DEPTH: fprintf (sampledata->ostream, " %.2f\n", diff --git a/include/libdivecomputer/parser.h b/include/libdivecomputer/parser.h index 6c49d0b..de1bbc1 100644 --- a/include/libdivecomputer/parser.h +++ b/include/libdivecomputer/parser.h @@ -225,7 +225,7 @@ typedef struct dc_decomodel_t { } dc_decomodel_t; typedef union dc_sample_value_t { - unsigned int time; + unsigned int time; /* Milliseconds */ double depth; struct { unsigned int tank; diff --git a/src/atomics_cobalt_parser.c b/src/atomics_cobalt_parser.c index 905b730..194296e 100644 --- a/src/atomics_cobalt_parser.c +++ b/src/atomics_cobalt_parser.c @@ -276,7 +276,7 @@ atomics_cobalt_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/1000 bar). diff --git a/src/citizen_aqualand_parser.c b/src/citizen_aqualand_parser.c index 5b95555..41a8edc 100644 --- a/src/citizen_aqualand_parser.c +++ b/src/citizen_aqualand_parser.c @@ -241,7 +241,7 @@ citizen_aqualand_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba // Time time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth diff --git a/src/cochran_commander_parser.c b/src/cochran_commander_parser.c index a4515ea..271dc62 100644 --- a/src/cochran_commander_parser.c +++ b/src/cochran_commander_parser.c @@ -578,7 +578,7 @@ cochran_commander_parser_samples_foreach_tm (dc_parser_t *abstract, dc_sample_ca unsigned int temp = samples[0]; // Half degrees F unsigned int depth = samples[1]; // Half feet - last_sample_time = sample.time = time; + last_sample_time = sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = (depth / 2.0) * FEET; @@ -593,7 +593,7 @@ cochran_commander_parser_samples_foreach_tm (dc_parser_t *abstract, dc_sample_ca while (offset < size) { const unsigned char *s = samples + offset; - sample.time = time; + sample.time = time * 1000; if (last_sample_time != sample.time) { // We haven't issued this time yet. last_sample_time = sample.time; @@ -714,7 +714,7 @@ cochran_commander_parser_samples_foreach_emc (dc_parser_t *abstract, dc_sample_c start_depth = array_uint16_le (data + layout->start_depth) / 256.0; } - last_sample_time = sample.time = time; + last_sample_time = sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = start_depth * FEET; @@ -730,7 +730,7 @@ cochran_commander_parser_samples_foreach_emc (dc_parser_t *abstract, dc_sample_c while (offset < size) { const unsigned char *s = samples + offset; - sample.time = time; + sample.time = time * 1000; if (last_sample_time != sample.time) { // We haven't issued this time yet. last_sample_time = sample.time; diff --git a/src/cressi_edy_parser.c b/src/cressi_edy_parser.c index 3817fc7..4dd3a18 100644 --- a/src/cressi_edy_parser.c +++ b/src/cressi_edy_parser.c @@ -201,7 +201,7 @@ cressi_edy_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/cressi_goa_parser.c b/src/cressi_goa_parser.c index f5d4a4c..80055fc 100644 --- a/src/cressi_goa_parser.c +++ b/src/cressi_goa_parser.c @@ -329,7 +329,7 @@ cressi_goa_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c if (complete) { // Time (seconds). - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Temperature (1/10 °C). diff --git a/src/cressi_leonardo_parser.c b/src/cressi_leonardo_parser.c index eefebdf..55624b1 100644 --- a/src/cressi_leonardo_parser.c +++ b/src/cressi_leonardo_parser.c @@ -196,7 +196,7 @@ cressi_leonardo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callbac // Time (seconds). time += surftime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). @@ -211,7 +211,7 @@ cressi_leonardo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callbac // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/deepblu_cosmiq_parser.c b/src/deepblu_cosmiq_parser.c index 508bc5d..a6efafd 100644 --- a/src/deepblu_cosmiq_parser.c +++ b/src/deepblu_cosmiq_parser.c @@ -204,7 +204,7 @@ deepblu_cosmiq_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback offset += SZ_SAMPLE; time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = (signed int) (depth - atmospheric) * (BAR / 1000.0) / parser->hydrostatic; diff --git a/src/deepsix_excursion_parser.c b/src/deepsix_excursion_parser.c index 2fc8c2c..f6eb05f 100644 --- a/src/deepsix_excursion_parser.c +++ b/src/deepsix_excursion_parser.c @@ -423,7 +423,7 @@ deepsix_excursion_parser_samples_foreach_v0 (dc_parser_t *abstract, dc_sample_ca if (type == TEMPERATURE) { time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback(DC_SAMPLE_TIME, sample, userdata); sample.depth = pressure_to_depth(depth, atmospheric, DENSITY); @@ -591,7 +591,7 @@ deepsix_excursion_parser_samples_foreach_v1 (dc_parser_t *abstract, dc_sample_ca // Time (seconds). time += samplerate; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); unsigned int depth = array_uint16_le (data + offset); diff --git a/src/diverite_nitekq_parser.c b/src/diverite_nitekq_parser.c index 5623769..dec8204 100644 --- a/src/diverite_nitekq_parser.c +++ b/src/diverite_nitekq_parser.c @@ -264,7 +264,7 @@ diverite_nitekq_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callbac // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Gas change diff --git a/src/divesoft_freedom_parser.c b/src/divesoft_freedom_parser.c index b595e63..6280dbf 100644 --- a/src/divesoft_freedom_parser.c +++ b/src/divesoft_freedom_parser.c @@ -924,7 +924,7 @@ divesoft_freedom_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba continue; } time = timestamp; - sample.time = time; + sample.time = time * 1000; if (callback) callback(DC_SAMPLE_TIME, sample, userdata); } diff --git a/src/divesystem_idive_parser.c b/src/divesystem_idive_parser.c index 3270c55..b9dfb08 100644 --- a/src/divesystem_idive_parser.c +++ b/src/divesystem_idive_parser.c @@ -474,7 +474,7 @@ divesystem_idive_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba return DC_STATUS_DATAFORMAT; } time = timestamp; - sample.time = timestamp; + sample.time = timestamp * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/hw_ostc_parser.c b/src/hw_ostc_parser.c index 2d93fcd..de354df 100644 --- a/src/hw_ostc_parser.c +++ b/src/hw_ostc_parser.c @@ -833,7 +833,7 @@ hw_ostc_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t call // Time (seconds). time += samplerate; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Initial gas mix. diff --git a/src/liquivision_lynx_parser.c b/src/liquivision_lynx_parser.c index 764d20e..9958327 100644 --- a/src/liquivision_lynx_parser.c +++ b/src/liquivision_lynx_parser.c @@ -545,7 +545,7 @@ liquivision_lynx_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/100 m). diff --git a/src/mares_darwin_parser.c b/src/mares_darwin_parser.c index 88e831c..6a87e46 100644 --- a/src/mares_darwin_parser.c +++ b/src/mares_darwin_parser.c @@ -242,7 +242,7 @@ mares_darwin_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Surface Time (seconds). time += 20; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/mares_iconhd_parser.c b/src/mares_iconhd_parser.c index 600eaa9..9ac6dd6 100644 --- a/src/mares_iconhd_parser.c +++ b/src/mares_iconhd_parser.c @@ -1022,7 +1022,7 @@ mares_iconhd_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Surface Time (seconds). time += surftime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Surface Depth (0 m). @@ -1035,7 +1035,7 @@ mares_iconhd_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t for (unsigned int i = 0; i < divetime; ++i) { // Time (seconds). time += parser->interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). @@ -1052,7 +1052,7 @@ mares_iconhd_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Surface Time (seconds). time += surftime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Surface Depth (0 m). @@ -1061,7 +1061,7 @@ mares_iconhd_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Dive Time (seconds). time += divetime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Maximum Depth (1/10 m). @@ -1123,7 +1123,7 @@ mares_iconhd_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Time (seconds). time += parser->interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/mares_nemo_parser.c b/src/mares_nemo_parser.c index 2f26605..9e906ac 100644 --- a/src/mares_nemo_parser.c +++ b/src/mares_nemo_parser.c @@ -382,7 +382,7 @@ mares_nemo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c // Time (seconds). time += 20; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). @@ -459,7 +459,7 @@ mares_nemo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c // Surface Time (seconds). time += surftime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Surface Depth (0 m). @@ -500,7 +500,7 @@ mares_nemo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c time += interval; if (time > maxtime) time = maxtime; // Adjust the last sample. - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). @@ -519,7 +519,7 @@ mares_nemo_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c } else { // Dive Time (seconds). time += divetime; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Maximum Depth (1/10 m). diff --git a/src/mclean_extreme_parser.c b/src/mclean_extreme_parser.c index 694bf60..260c56b 100644 --- a/src/mclean_extreme_parser.c +++ b/src/mclean_extreme_parser.c @@ -269,7 +269,7 @@ mclean_extreme_parser_samples_foreach(dc_parser_t *abstract, dc_sample_callback_ const unsigned int setpoint = abstract->data[0x0013 + sp_index]; time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback(DC_SAMPLE_TIME, sample, userdata); sample.depth = 0.1 * depth; diff --git a/src/oceanic_atom2_parser.c b/src/oceanic_atom2_parser.c index f6b1f71..ed4edd4 100644 --- a/src/oceanic_atom2_parser.c +++ b/src/oceanic_atom2_parser.c @@ -758,7 +758,7 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ for (unsigned int i = 0; i < nsamples; ++i) { // Time time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Vendor specific data @@ -802,7 +802,7 @@ oceanic_atom2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ } else { time += interval; } - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Vendor specific data diff --git a/src/oceanic_veo250_parser.c b/src/oceanic_veo250_parser.c index 90d3383..2eead46 100644 --- a/src/oceanic_veo250_parser.c +++ b/src/oceanic_veo250_parser.c @@ -230,7 +230,7 @@ oceanic_veo250_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback // Time. time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Vendor specific data diff --git a/src/oceanic_vtpro_parser.c b/src/oceanic_vtpro_parser.c index 9650c49..75b3fc5 100644 --- a/src/oceanic_vtpro_parser.c +++ b/src/oceanic_vtpro_parser.c @@ -331,7 +331,7 @@ oceanic_vtpro_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_ time = timestamp * 60 + (i + 1) * interval; else time = timestamp * 60 + (i + 1) * 60.0 / count + 0.5; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Vendor specific data diff --git a/src/oceans_s1_parser.c b/src/oceans_s1_parser.c index 8b4cfbd..63c123f 100644 --- a/src/oceans_s1_parser.c +++ b/src/oceans_s1_parser.c @@ -249,7 +249,7 @@ oceans_s1_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t ca unsigned int nsamples = seconds / interval; for (unsigned int i = 0; i < nsamples; ++i) { time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = 0; @@ -257,7 +257,7 @@ oceans_s1_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t ca } time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = depth / 100.0; @@ -280,7 +280,7 @@ oceans_s1_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t ca } time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); sample.depth = depth / 100.0; diff --git a/src/parser.c b/src/parser.c index 63485d2..77dcb84 100644 --- a/src/parser.c +++ b/src/parser.c @@ -399,7 +399,7 @@ sample_statistics_cb (dc_sample_type_t type, dc_sample_value_t value, void *user switch (type) { case DC_SAMPLE_TIME: - statistics->divetime = value.time; + statistics->divetime = value.time / 1000; break; case DC_SAMPLE_DEPTH: if (statistics->maxdepth < value.depth) diff --git a/src/reefnet_sensus_parser.c b/src/reefnet_sensus_parser.c index 00c3b47..2797651 100644 --- a/src/reefnet_sensus_parser.c +++ b/src/reefnet_sensus_parser.c @@ -279,7 +279,7 @@ reefnet_sensus_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback // Time (seconds) time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (adjusted feet of seawater). diff --git a/src/reefnet_sensuspro_parser.c b/src/reefnet_sensuspro_parser.c index ad371d7..422a161 100644 --- a/src/reefnet_sensuspro_parser.c +++ b/src/reefnet_sensuspro_parser.c @@ -278,7 +278,7 @@ reefnet_sensuspro_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callb // Time (seconds) time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Temperature (°F) diff --git a/src/reefnet_sensusultra_parser.c b/src/reefnet_sensusultra_parser.c index bc52f1f..90ead6f 100644 --- a/src/reefnet_sensusultra_parser.c +++ b/src/reefnet_sensusultra_parser.c @@ -275,7 +275,7 @@ reefnet_sensusultra_parser_samples_foreach (dc_parser_t *abstract, dc_sample_cal // Time (seconds) time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Temperature (0.01 °K) diff --git a/src/seac_screen_parser.c b/src/seac_screen_parser.c index c4a855c..dc2e781 100644 --- a/src/seac_screen_parser.c +++ b/src/seac_screen_parser.c @@ -331,7 +331,7 @@ seac_screen_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t return DC_STATUS_DATAFORMAT; } time = timestamp; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/100 m). diff --git a/src/shearwater_predator_parser.c b/src/shearwater_predator_parser.c index 06a0882..cd98e76 100644 --- a/src/shearwater_predator_parser.c +++ b/src/shearwater_predator_parser.c @@ -899,7 +899,7 @@ shearwater_predator_parser_samples_foreach (dc_parser_t *abstract, dc_sample_cal if (type == LOG_RECORD_DIVE_SAMPLE) { // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m or ft). @@ -1076,7 +1076,7 @@ shearwater_predator_parser_samples_foreach (dc_parser_t *abstract, dc_sample_cal // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (absolute pressure in millibar) diff --git a/src/sporasub_sp2_parser.c b/src/sporasub_sp2_parser.c index 5ac44b8..6c308d4 100644 --- a/src/sporasub_sp2_parser.c +++ b/src/sporasub_sp2_parser.c @@ -184,7 +184,7 @@ sporasub_sp2_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Time (seconds) time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/100 m) diff --git a/src/suunto_d9_parser.c b/src/suunto_d9_parser.c index 0abb079..4de49c1 100644 --- a/src/suunto_d9_parser.c +++ b/src/suunto_d9_parser.c @@ -521,7 +521,7 @@ suunto_d9_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t ca dc_sample_value_t sample = {0}; // Time (seconds). - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Sample data. diff --git a/src/suunto_eon_parser.c b/src/suunto_eon_parser.c index 8e80aca..8a048b2 100644 --- a/src/suunto_eon_parser.c +++ b/src/suunto_eon_parser.c @@ -294,7 +294,7 @@ suunto_eon_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c if (complete) { // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); complete = 0; } @@ -341,7 +341,7 @@ suunto_eon_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t c // Time if (complete) { time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); } diff --git a/src/suunto_eonsteel_parser.c b/src/suunto_eonsteel_parser.c index 907eca7..31f67b9 100644 --- a/src/suunto_eonsteel_parser.c +++ b/src/suunto_eonsteel_parser.c @@ -474,7 +474,7 @@ static void sample_time(struct sample_data *info, unsigned short time_delta) dc_sample_value_t sample = {0}; info->time += time_delta; - sample.time = info->time / 1000; + sample.time = info->time / 1000 * 1000; if (info->callback) info->callback(DC_SAMPLE_TIME, sample, info->userdata); } diff --git a/src/suunto_solution_parser.c b/src/suunto_solution_parser.c index 59648d5..1713a73 100644 --- a/src/suunto_solution_parser.c +++ b/src/suunto_solution_parser.c @@ -183,7 +183,7 @@ suunto_solution_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callbac if (value < 0x7e || value > 0x82) { // Time (minutes). time += 3 * 60; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (ft). diff --git a/src/suunto_vyper_parser.c b/src/suunto_vyper_parser.c index 4970b86..356f64c 100644 --- a/src/suunto_vyper_parser.c +++ b/src/suunto_vyper_parser.c @@ -353,7 +353,7 @@ suunto_vyper_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t if (complete) { // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); complete = 0; } @@ -425,7 +425,7 @@ suunto_vyper_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callback_t // Time if (complete) { time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); } diff --git a/src/tecdiving_divecomputereu_parser.c b/src/tecdiving_divecomputereu_parser.c index d060996..bf134eb 100644 --- a/src/tecdiving_divecomputereu_parser.c +++ b/src/tecdiving_divecomputereu_parser.c @@ -159,7 +159,7 @@ tecdiving_divecomputereu_parser_samples_foreach (dc_parser_t *abstract, dc_sampl // Time (seconds). time += interval; - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (1/10 m). diff --git a/src/uwatec_memomouse_parser.c b/src/uwatec_memomouse_parser.c index 3c818fa..2c3d506 100644 --- a/src/uwatec_memomouse_parser.c +++ b/src/uwatec_memomouse_parser.c @@ -250,7 +250,7 @@ uwatec_memomouse_parser_samples_foreach (dc_parser_t *abstract, dc_sample_callba offset += 2; // Time (seconds) - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); // Depth (meters) diff --git a/src/uwatec_smart_parser.c b/src/uwatec_smart_parser.c index bd849a8..83304a5 100644 --- a/src/uwatec_smart_parser.c +++ b/src/uwatec_smart_parser.c @@ -1162,7 +1162,7 @@ uwatec_smart_parse (uwatec_smart_parser_t *parser, dc_sample_callback_t callback } while (complete) { - sample.time = time; + sample.time = time * 1000; if (callback) callback (DC_SAMPLE_TIME, sample, userdata); if (parser->ngasmixes && gasmix != gasmix_previous) {