mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Use correct surface pressure to detect ceiling with Uemis Zurich
The dive data contains the surface pressure prior to the dive, and that is what we need to compare p_amb_tol to, not the standard 1013mbar. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
4da3168768
commit
cc53a0cf5c
2 changed files with 5 additions and 2 deletions
1
dive.h
1
dive.h
|
@ -269,6 +269,7 @@ struct dive {
|
|||
duration_t duration, surfacetime;
|
||||
int visibility; /* 0 - 5 star rating */
|
||||
temperature_t airtemp, watertemp;
|
||||
pressure_t surface_pressure;
|
||||
cylinder_t cylinder[MAX_CYLINDERS];
|
||||
weightsystem_t weightsystem[MAX_WEIGHTSYSTEMS];
|
||||
char *suit;
|
||||
|
|
6
uemis.c
6
uemis.c
|
@ -180,7 +180,9 @@ void uemis_event(struct dive *dive, struct sample *sample, uemis_sample_t *u_sam
|
|||
* warnings / alerts - not useful for events */
|
||||
|
||||
/* now add deco / ceiling events */
|
||||
if (u_sample->p_amb_tol > 1013 && u_sample->hold_time && u_sample->hold_time < 99) {
|
||||
if (u_sample->p_amb_tol > dive->surface_pressure.mbar &&
|
||||
u_sample->hold_time &&
|
||||
u_sample->hold_time < 99) {
|
||||
add_event(dive, sample->time.seconds, SAMPLE_EVENT_CEILING, SAMPLE_FLAGS_BEGIN,
|
||||
u_sample->hold_depth * 10, N_("ceiling"));
|
||||
add_event(dive, sample->time.seconds, SAMPLE_EVENT_DECOSTOP, 0,
|
||||
|
@ -210,7 +212,7 @@ void uemis_parse_divelog_binary(char *base64, void *datap) {
|
|||
datalen = uemis_convert_base64(base64, &data);
|
||||
|
||||
dive->airtemp.mkelvin = *(uint16_t *)(data + 45) * 100 + 273150;
|
||||
|
||||
dive->surface_pressure.mbar = *(uint16_t *)(data +43);
|
||||
/* dive template in use:
|
||||
0 = air
|
||||
1 = nitrox (B)
|
||||
|
|
Loading…
Add table
Reference in a new issue