aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/dive.c14
-rw-r--r--core/dive.h1
-rw-r--r--core/divecomputer.c1
3 files changed, 15 insertions, 1 deletions
diff --git a/core/dive.c b/core/dive.c
index a7d202ba5..c97e1ba11 100644
--- a/core/dive.c
+++ b/core/dive.c
@@ -3481,3 +3481,17 @@ struct gasmix get_gasmix_at_time(const struct dive *d, const struct divecomputer
struct gasmix gasmix = gasmix_air;
return get_gasmix(d, dc, time.seconds, &ev, gasmix);
}
+
+/* Does that cylinder have any pressure readings? */
+extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id)
+{
+ for (const struct divecomputer *dc = &dive->dc; dc; dc = dc->next) {
+ for (int i = 0; i < dc->samples; ++i) {
+ for (int j = 0; j < MAX_SENSORS; ++j) {
+ if (dc->sample[i].sensor[j] == cylinder_id)
+ return true;
+ }
+ }
+ }
+ return false;
+}
diff --git a/core/dive.h b/core/dive.h
index 3e5ec1324..394c37ef1 100644
--- a/core/dive.h
+++ b/core/dive.h
@@ -198,6 +198,7 @@ extern int get_cylinder_index(const struct dive *dive, const struct event *ev);
extern struct gasmix get_gasmix_from_event(const struct dive *, const struct event *ev);
extern int nr_cylinders(const struct dive *dive);
extern int nr_weightsystems(const struct dive *dive);
+extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id);
/* UI related protopypes */
diff --git a/core/divecomputer.c b/core/divecomputer.c
index 19d4a6fee..6f8964601 100644
--- a/core/divecomputer.c
+++ b/core/divecomputer.c
@@ -548,4 +548,3 @@ void free_dc(struct divecomputer *dc)
free_dc_contents(dc);
free(dc);
}
-