Signed-off-by: Miika Turkia <[email protected]>
---
 file.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/file.c b/file.c
index c22f29f..bab7909 100644
--- a/file.c
+++ b/file.c
@@ -449,6 +449,7 @@ int parse_txt_file(const char *filename, const char *csv)
                int prev_depth = 0, cur_sampletime = 0, prev_setpoint = -1;
                bool has_depth = false, has_setpoint = false;
                char *lineptr;
+               static int diluent_pressure = 0, cylinder_pressure = 0;
 
                struct dive *dive;
                struct divecomputer *dc;
@@ -545,9 +546,19 @@ int parse_txt_file(const char *filename, const char *csv)
                                                break;
                                        case 13:
                                                add_sample_data(sample, 
POSEIDON_PRESSURE, value);
+                                               if (!cylinder_pressure) {
+                                                       
dive->cylinder[0].sample_start.mbar = value * 1000;
+                                                       cylinder_pressure = 
value;
+                                               } else
+                                                       cylinder_pressure = 
value;
                                                break;
                                        case 14:
                                                add_sample_data(sample, 
POSEIDON_DILUENT, value);
+                                               if (!diluent_pressure) {
+                                                       
dive->cylinder[1].sample_start.mbar = value * 1000;
+                                                       diluent_pressure = 
value;
+                                               } else
+                                                       diluent_pressure = 
value;
                                                break;
                                        case 20:
                                                has_setpoint = true;
@@ -581,6 +592,10 @@ int parse_txt_file(const char *filename, const char *csv)
                                add_sample_data(sample, POSEIDON_DEPTH, 
prev_depth);
                        if (!has_setpoint)
                                add_sample_data(sample, POSEIDON_SETPOINT, 
prev_setpoint);
+                       if (cylinder_pressure)
+                               dive->cylinder[0].sample_end.mbar = 
cylinder_pressure * 1000;
+                       if (diluent_pressure)
+                               dive->cylinder[1].sample_end.mbar = 
diluent_pressure * 1000;
                        finish_sample(dc);
 
                        if (!lineptr || !*lineptr)
-- 
1.9.1

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to