Signed-off-by: Miika Turkia <[email protected]>
---
parse-xml.c | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/parse-xml.c b/parse-xml.c
index abb9c08..58cbffc 100644
--- a/parse-xml.c
+++ b/parse-xml.c
@@ -2882,7 +2882,7 @@ extern int divinglog_profile(void *handle, int columns,
char **data, char **colu
{
int sinterval = 0;
unsigned long i, len, lenprofile2 = 0;
- char *ptr, temp[4], pres[5], hbeat[4], stop[4], stime[4], ndl[4];
+ char *ptr, temp[4], pres[5], hbeat[4], stop[4], stime[4], ndl[4],
ppo2_1[4], ppo2_2[4], ppo2_3[4];
short oldcyl = -1;
/* We do not have samples */
@@ -2919,6 +2919,7 @@ extern int divinglog_profile(void *handle, int columns,
char **data, char **colu
*
* Example: 25518051099
* 25.5 °C, 180.5 bar, Tank 1, 99 min RBT
+ *
*/
len = strlen(data[1]);
@@ -2971,6 +2972,34 @@ extern int divinglog_profile(void *handle, int columns,
char **data, char **colu
cur_sample->ndl.seconds = 0;
}
+ /*
+ * AAABBBCCCOOOONNNNSS
+ *
+ * A = ppO2 cell 1 (measured)
+ * B = ppO2 cell 2 (measured)
+ * C = ppO2 cell 3 (measured)
+ * O = OTU
+ * N = CNS
+ * S = Setpoint
+ *
+ * Example: 1121131141548026411
+ * 1.12 bar, 1.13 bar, 1.14 bar, OTU = 154.8, CNS = 26.4,
Setpoint = 1.1
+ */
+
+ if (data[5] && strlen(data[5])) {
+ memcpy(ppo2_1, &data[5][i * 19 + 0], 3);
+ memcpy(ppo2_2, &data[5][i * 19 + 3], 3);
+ memcpy(ppo2_3, &data[5][i * 19 + 6], 3);
+
+ if (atoi(ppo2_1) > 0)
+ cur_sample->o2sensor[0].mbar = atoi(ppo2_1) *
100;
+ if (atoi(ppo2_2) > 0)
+ cur_sample->o2sensor[1].mbar = atoi(ppo2_2) *
100;
+ if (atoi(ppo2_3) > 0)
+ cur_sample->o2sensor[2].mbar = atoi(ppo2_3) *
100;
+
+ }
+
ptr += 12;
sample_end();
}
@@ -3039,7 +3068,7 @@ extern int divinglog_dive(void *param, int columns, char
**data, char **column)
int retval = 0;
sqlite3 *handle = (sqlite3 *)param;
char *err = NULL;
- char get_profile_template[] = "select
ProfileInt,Profile,Profile2,Profile3,Profile4 from Logbook where ID = %d";
+ char get_profile_template[] = "select
ProfileInt,Profile,Profile2,Profile3,Profile4,Profile5 from Logbook where ID =
%d";
char get_cylinder0_template[] = "select
0,TankSize,PresS,PresE,PresW,O2,He,DblTank from Logbook where ID = %d";
char get_cylinder_template[] = "select
TankID,TankSize,PresS,PresE,PresW,O2,He,DblTank from Tank where LogID = %d
order by TankID";
char get_buffer[1024];
--
2.1.4
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface