diff --git a/core/import-suunto.c b/core/import-suunto.c index 5a1b0731e..124e6e25f 100644 --- a/core/import-suunto.c +++ b/core/import-suunto.c @@ -432,6 +432,21 @@ static int dm5_dive(void *param, int columns, char **data, char **column) if (data[5]) utf8_string(data[5], &state->cur_dive->dc.model); + if (data[25]) { + //enum divemode_t {OC, CCR, PSCR, FREEDIVE, NUM_DIVEMODE, UNDEF_COMP_TYPE}; // Flags (Open-circuit and Closed-circuit-rebreather) for setting dive computer type + switch(atoi(data[25])) { + case 1: + state->cur_dive->dc.divemode = 0; + break; + case 5: + state->cur_dive->dc.divemode = 1; + break; + default: + state->cur_dive->dc.divemode = 0; + break; + } + } + snprintf(get_events, sizeof(get_events) - 1, get_cylinders_template, state->cur_dive->number); retval = sqlite3_exec(handle, get_events, &dm5_cylinders, state, NULL); if (retval != SQLITE_OK) { @@ -584,7 +599,7 @@ int parse_dm5_buffer(sqlite3 *handle, const char *url, const char *buffer, int s /* StartTime is converted from Suunto's nano seconds to standard * time. We also need epoch, not seconds since year 1. */ - char get_dives[] = "select DiveId,StartTime/10000000-62135596800,Note,Duration,coalesce(SourceSerialNumber,SerialNumber),Source,MaxDepth,SampleInterval,StartTemperature,BottomTemperature,StartPressure,EndPressure,'','',SurfacePressure,DiveTime,SampleInterval,ProfileBlob,TemperatureBlob,PressureBlob,'','','','',SampleBlob FROM Dive where Deleted is null"; + char get_dives[] = "select DiveId,StartTime/10000000-62135596800,Note,Duration,coalesce(SourceSerialNumber,SerialNumber),Source,MaxDepth,SampleInterval,StartTemperature,BottomTemperature,StartPressure,EndPressure,'','',SurfacePressure,DiveTime,SampleInterval,ProfileBlob,TemperatureBlob,PressureBlob,'','','','',SampleBlob,Mode FROM Dive where Deleted is null"; retval = sqlite3_exec(handle, get_dives, &dm5_dive, &state, &err); free_parser_state(&state);