mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Divinglog import: import temperature graph
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
17bc868531
commit
22b665cc14
1 changed files with 25 additions and 3 deletions
28
parse-xml.c
28
parse-xml.c
|
@ -2846,8 +2846,8 @@ int parse_cobalt_buffer(sqlite3 *handle, const char *url, const char *buffer, in
|
|||
extern int divinglog_profile(void *handle, int columns, char **data, char **column)
|
||||
{
|
||||
int sinterval = 0;
|
||||
unsigned long i, len;
|
||||
char *ptr;
|
||||
unsigned long i, len, lenprofile2 = 0;
|
||||
char *ptr, temp[4];
|
||||
|
||||
/* We do not have samples */
|
||||
if (!data[1])
|
||||
|
@ -2870,9 +2870,26 @@ extern int divinglog_profile(void *handle, int columns, char **data, char **colu
|
|||
*
|
||||
* Example: 004500010000
|
||||
* 4.5 m, no deco, no RBT warning, ascanding too fast, no decostop ignored, no work, no extra info
|
||||
*
|
||||
*
|
||||
* Profile2
|
||||
*
|
||||
* TTTFFFFIRRR
|
||||
*
|
||||
* T: Temperature (in °C with one decimal)
|
||||
* F: Tank pressure 1 (in bar with one decimal)
|
||||
* I: Tank ID (0, 1, 2 ... 9)
|
||||
* R: RBT (in min)
|
||||
*
|
||||
* Example: 25518051099
|
||||
* 25.5 °C, 180.5 bar, Tank 1, 99 min RBT
|
||||
*/
|
||||
|
||||
len = strlen(data[1]);
|
||||
|
||||
if (data[2])
|
||||
lenprofile2 = strlen(data[2]);
|
||||
|
||||
for (i = 0, ptr = data[1]; i * 12 < len; ++i) {
|
||||
sample_start();
|
||||
|
||||
|
@ -2881,6 +2898,11 @@ extern int divinglog_profile(void *handle, int columns, char **data, char **colu
|
|||
ptr[5] = 0;
|
||||
cur_sample->depth.mm = atoi(ptr) * 10;
|
||||
|
||||
if (i * 11 < lenprofile2) {
|
||||
memcpy(temp, &data[2][i * 11], 3);
|
||||
cur_sample->temperature.mkelvin = C_to_mkelvin(atoi(temp) / 10);
|
||||
}
|
||||
|
||||
ptr += 12;
|
||||
sample_end();
|
||||
}
|
||||
|
@ -2929,7 +2951,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 from Logbook where Number = %d";
|
||||
char get_profile_template[] = "select ProfileInt,Profile,Profile2 from Logbook where Number = %d";
|
||||
char get_buffer[1024];
|
||||
|
||||
dive_start();
|
||||
|
|
Loading…
Add table
Reference in a new issue