[PATCH 2/2] Set old setpoint value, if new one is not recorded

Miika Turkia miika.turkia at gmail.com
Mon Oct 27 09:19:54 PDT 2014


Since the setpoint value is initialized as zero, we have to set the
previous value if we do not have a current reading.

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

diff --git a/file.c b/file.c
index 1751015..77fca04 100644
--- a/file.c
+++ b/file.c
@@ -450,8 +450,8 @@ int parse_txt_file(const char *filename, const char *csv)
 	if (MATCH(memtxt.buffer, "MkVI_Config") == 0) {
 		int d, m, y;
 		int hh = 0, mm = 0, ss = 0;
-		int prev_depth = 0, cur_sampletime = 0;
-		bool has_depth = false;
+		int prev_depth = 0, cur_sampletime = 0, prev_setpoint;
+		bool has_depth = false, has_setpoint = false;
 		char *lineptr;
 
 		struct dive *dive;
@@ -522,6 +522,7 @@ int parse_txt_file(const char *filename, const char *csv)
 			sscanf(lineptr, "%d,%d,%d", &cur_sampletime, &type, &value);
 
 			has_depth = false;
+			has_setpoint = false;
 			sample = prepare_sample(dc);
 			sample->time.seconds = cur_sampletime;
 
@@ -548,6 +549,8 @@ int parse_txt_file(const char *filename, const char *csv)
 						add_sample_data(sample, POSEIDON_DILUENT, value);
 						break;
 					case 20:
+						has_setpoint = true;
+						prev_setpoint = value;
 						add_sample_data(sample, POSEIDON_SETPOINT, value);
 						break;
 					case 39:
@@ -575,6 +578,8 @@ int parse_txt_file(const char *filename, const char *csv)
 
 			if (!has_depth)
 				add_sample_data(sample, POSEIDON_DEPTH, prev_depth);
+			if (!has_setpoint)
+				add_sample_data(sample, POSEIDON_SETPOINT, prev_setpoint);
 			finish_sample(dc);
 
 			if (!lineptr || !*lineptr)
-- 
1.9.1



More information about the subsurface mailing list