mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Parse more DLF event types
These event types and names where found by sending different data to the wetnotes.com web page. I couldn't find where the setpoint settings where stored for the SP-events, but when looking at the web page, it was clearly stating that it saw a setpoint of 0.0 bar somewhere in there. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
aad1fbcf56
commit
46f4dbf93d
1 changed files with 140 additions and 2 deletions
142
parse-xml.c
142
parse-xml.c
|
@ -2598,6 +2598,45 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
|
|||
event_start();
|
||||
cur_event.time.seconds = time;
|
||||
switch (ptr[4]) {
|
||||
case 1:
|
||||
strcpy(cur_event.name, "Setpoint Manual");
|
||||
// There is a setpoint value somewhere...
|
||||
break;
|
||||
case 2:
|
||||
strcpy(cur_event.name, "Setpoint Auto");
|
||||
// There is a setpoint value somewhere...
|
||||
switch (ptr[7]) {
|
||||
case 0:
|
||||
strcat(cur_event.name, " Manual");
|
||||
break;
|
||||
case 1:
|
||||
strcat(cur_event.name, " Auto Start");
|
||||
break;
|
||||
case 2:
|
||||
strcat(cur_event.name, " Auto Hypox");
|
||||
break;
|
||||
case 3:
|
||||
strcat(cur_event.name, " Auto Timeout");
|
||||
break;
|
||||
case 4:
|
||||
strcat(cur_event.name, " Auto Ascent");
|
||||
break;
|
||||
case 5:
|
||||
strcat(cur_event.name, " Auto Stall");
|
||||
break;
|
||||
case 6:
|
||||
strcat(cur_event.name, " Auto SP Low");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
strcpy(cur_event.name, "OC");
|
||||
break;
|
||||
case 4:
|
||||
// None
|
||||
break;
|
||||
case 5:
|
||||
strcpy(cur_event.name, "gaschange");
|
||||
cur_event.type = SAMPLE_EVENT_GASCHANGE2;
|
||||
|
@ -2617,10 +2656,109 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
|
|||
}
|
||||
break;
|
||||
case 6:
|
||||
strcpy(cur_event.name, "start");
|
||||
strcpy(cur_event.name, "Start");
|
||||
break;
|
||||
case 7:
|
||||
strcpy(cur_event.name, "Too Fast");
|
||||
break;
|
||||
case 8:
|
||||
strcpy(cur_event.name, "Above Ceiling");
|
||||
break;
|
||||
case 9:
|
||||
strcpy(cur_event.name, "Toxic");
|
||||
break;
|
||||
case 10:
|
||||
strcpy(cur_event.name, "Hypox");
|
||||
break;
|
||||
case 11:
|
||||
strcpy(cur_event.name, "Critical");
|
||||
break;
|
||||
case 12:
|
||||
strcpy(cur_event.name, "Sensor Disabled");
|
||||
break;
|
||||
case 13:
|
||||
strcpy(cur_event.name, "Sensor Enabled");
|
||||
break;
|
||||
case 14:
|
||||
strcpy(cur_event.name, "O2 Backup");
|
||||
break;
|
||||
case 15:
|
||||
strcpy(cur_event.name, "Peer Down");
|
||||
break;
|
||||
case 16:
|
||||
strcpy(cur_event.name, "HS Down");
|
||||
break;
|
||||
case 17:
|
||||
strcpy(cur_event.name, "Inconsistent");
|
||||
break;
|
||||
case 18:
|
||||
// Gets hidden?
|
||||
break;
|
||||
case 19:
|
||||
// None
|
||||
break;
|
||||
case 20:
|
||||
strcpy(cur_event.name, "Above Stop");
|
||||
break;
|
||||
case 21:
|
||||
strcpy(cur_event.name, "Safety Miss");
|
||||
break;
|
||||
case 22:
|
||||
strcpy(cur_event.name, "Fatal");
|
||||
break;
|
||||
case 23:
|
||||
strcpy(cur_event.name, "Diluent");
|
||||
break;
|
||||
case 24:
|
||||
strcpy(cur_event.name, "gaschange");
|
||||
cur_event.type = SAMPLE_EVENT_GASCHANGE2;
|
||||
cur_event.value = ptr[7] << 8 ^ ptr[6];
|
||||
event_end();
|
||||
// This is both a mode change and a gas change event
|
||||
// so we encode it as two separate events.
|
||||
event_start();
|
||||
strcpy(cur_event.name, "Change Mode");
|
||||
switch (ptr[8]) {
|
||||
case 1:
|
||||
strcat(cur_event.name, ": OC");
|
||||
break;
|
||||
case 2:
|
||||
strcat(cur_event.name, ": CCR");
|
||||
break;
|
||||
case 3:
|
||||
strcat(cur_event.name, ": mCCR");
|
||||
break;
|
||||
case 4:
|
||||
strcat(cur_event.name, ": Free");
|
||||
break;
|
||||
case 5:
|
||||
strcat(cur_event.name, ": Gauge");
|
||||
break;
|
||||
case 6:
|
||||
strcat(cur_event.name, ": ASCR");
|
||||
break;
|
||||
case 7:
|
||||
strcat(cur_event.name, ": PSCR");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
event_end();
|
||||
break;
|
||||
case 27:
|
||||
snprintf(cur_event.name, MAX_EVENT_NAME, "GF Switch (%d/%d)", ptr[7], ptr[8]);
|
||||
break;
|
||||
case 28:
|
||||
strcpy(cur_event.name, "Peer Up");
|
||||
break;
|
||||
case 29:
|
||||
strcpy(cur_event.name, "HS Up");
|
||||
break;
|
||||
case 30:
|
||||
strcpy(cur_event.name, "CNS");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "DEBUG (event): %d at time %d\n", ptr[4], time);
|
||||
// No values above 30 had any description
|
||||
break;
|
||||
}
|
||||
event_end();
|
||||
|
|
Loading…
Reference in a new issue