aboutsummaryrefslogtreecommitdiffstats
path: root/core/statistics.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/statistics.c')
-rw-r--r--core/statistics.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/statistics.c b/core/statistics.c
index 62a4d737f..6a0ff9f94 100644
--- a/core/statistics.c
+++ b/core/statistics.c
@@ -326,16 +326,18 @@ void get_selected_dives_text(char *buffer, size_t size)
#define SOME_GAS 5000 // 5bar drop in cylinder pressure makes cylinder used
-bool is_cylinder_used(struct dive *dive, int idx)
+bool is_cylinder_used(struct dive *dive, int idx, bool ignore_plannned)
{
struct divecomputer *dc;
bool firstGasExplicit = false;
if (cylinder_none(&dive->cylinder[idx]))
return false;
- if ((dive->cylinder[idx].start.mbar - dive->cylinder[idx].end.mbar) > SOME_GAS)
+ if ((dive->cylinder[idx].start.mbar - dive->cylinder[idx].end.mbar) > SOME_GAS && !ignore_plannned)
return true;
for_each_dc(dive, dc) {
+ if (ignore_plannned && !strcmp(dc->model, "planned dive"))
+ continue;
struct event *event = get_next_event(dc->events, "gaschange");
while (event) {
if (dc->sample && (event->time.seconds == 0 ||
@@ -360,7 +362,7 @@ void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS])
cylinder_t *cyl = &dive->cylinder[idx];
pressure_t start, end;
- if (!is_cylinder_used(dive, idx))
+ if (!is_cylinder_used(dive, idx, true))
continue;
start = cyl->start.mbar ? cyl->start : cyl->sample_start;