summaryrefslogtreecommitdiffstats
path: root/core/equipment.c
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-03-02 15:34:56 +0100
committerGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-04-07 00:13:34 +0200
commit36754d3399dab9155fac50e9451dcd325c7c73c0 (patch)
treea501d066806bd78b4e09c7d6f9842ef4c9b9ed42 /core/equipment.c
parente008b42a591b83eb1304a552fdd950287ddbc375 (diff)
downloadsubsurface-36754d3399dab9155fac50e9451dcd325c7c73c0.tar.gz
cleanup: move fill_default_cylinder from planner.c to equipment.c
Moreover, move the declaration from dive.h to equipment.h. The result is a) more consistent and b) more logical. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/equipment.c')
-rw-r--r--core/equipment.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/equipment.c b/core/equipment.c
index c3b9fa494..24d1d826b 100644
--- a/core/equipment.c
+++ b/core/equipment.c
@@ -392,6 +392,36 @@ cylinder_t *get_or_create_cylinder(struct dive *d, int idx)
return &d->cylinders.cylinders[idx];
}
+/* if a default cylinder is set, use that */
+void fill_default_cylinder(const struct dive *dive, cylinder_t *cyl)
+{
+ const char *cyl_name = prefs.default_cylinder;
+ struct tank_info_t *ti = tank_info;
+ pressure_t pO2 = {.mbar = 1600};
+
+ if (!cyl_name)
+ return;
+ while (ti->name != NULL && ti < tank_info + MAX_TANK_INFO) {
+ if (strcmp(ti->name, cyl_name) == 0)
+ break;
+ ti++;
+ }
+ if (ti->name == NULL)
+ /* didn't find it */
+ return;
+ cyl->type.description = strdup(ti->name);
+ if (ti->ml) {
+ cyl->type.size.mliter = ti->ml;
+ cyl->type.workingpressure.mbar = ti->bar * 1000;
+ } else {
+ cyl->type.workingpressure.mbar = psi_to_mbar(ti->psi);
+ if (ti->psi)
+ cyl->type.size.mliter = lrint(cuft_to_l(ti->cuft) * 1000 / bar_to_atm(psi_to_bar(ti->psi)));
+ }
+ // MOD of air
+ cyl->depth = gas_mod(cyl->gasmix, pO2, dive, 1);
+}
+
cylinder_t create_new_cylinder(const struct dive *d)
{
cylinder_t cyl = empty_cylinder;