[PATCH] Parse erroneous sample time for MK6

Miika Turkia miika.turkia at gmail.com
Wed Aug 12 08:33:02 PDT 2015


Sometimes MKVI records sample time erroneously and we have to "fix" the
time. The 2 samples (from single DC) I have seen suffering this issue
can be corrected by subtracting 65528 from the sample time.

Fixes #916

Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
 file.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/file.c b/file.c
index 8522b2e..5afc91c 100644
--- a/file.c
+++ b/file.c
@@ -651,7 +651,14 @@ int parse_txt_file(const char *filename, const char *csv)
 			has_setpoint = false;
 			has_ndl = false;
 			sample = prepare_sample(dc);
-			sample->time.seconds = cur_sampletime;
+
+			/*
+			 * Sometimes MKVI records sample time erroneously and we have to "fix" the
+			 * time. The 2 samples (from single DC) I have seen suffering this issue can
+			 * be corrected by subtracting 65528 from the sample time.
+			 */
+
+			sample->time.seconds = cur_sampletime > 65000 ? cur_sampletime - 65528 : cur_sampletime;
 
 			do {
 				int i = sscanf(lineptr, "%d,%d,%d", &sampletime, &type, &value);
-- 
2.1.4



More information about the subsurface mailing list