summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/cochran.c6
-rw-r--r--core/dive.h2
-rw-r--r--core/libdivecomputer.c2
-rw-r--r--core/liquivision.c2
-rw-r--r--core/planner.c5
5 files changed, 9 insertions, 8 deletions
diff --git a/core/cochran.c b/core/cochran.c
index 14ee65fcb..9cbc51113 100644
--- a/core/cochran.c
+++ b/core/cochran.c
@@ -677,7 +677,7 @@ static void cochran_parse_dive(const unsigned char *decode, unsigned mod,
if (config.type == TYPE_GEMINI) {
dc->model = "Gemini";
dc->deviceid = buf[0x18c] * 256 + buf[0x18d]; // serial no
- fill_default_cylinder(&dive->cylinder[0]);
+ fill_default_cylinder(dive, 0);
dive->cylinder[0].gasmix.o2.permille = (log[CMD_O2_PERCENT] / 256
+ log[CMD_O2_PERCENT + 1]) * 10;
dive->cylinder[0].gasmix.he.permille = 0;
@@ -685,7 +685,7 @@ static void cochran_parse_dive(const unsigned char *decode, unsigned mod,
dc->model = "Commander";
dc->deviceid = array_uint32_le(buf + 0x31e); // serial no
for (g = 0; g < 2; g++) {
- fill_default_cylinder(&dive->cylinder[g]);
+ fill_default_cylinder(dive, g);
dive->cylinder[g].gasmix.o2.permille = (log[CMD_O2_PERCENT + g * 2] / 256
+ log[CMD_O2_PERCENT + g * 2 + 1]) * 10;
dive->cylinder[g].gasmix.he.permille = 0;
@@ -727,7 +727,7 @@ static void cochran_parse_dive(const unsigned char *decode, unsigned mod,
dc->model = "EMC";
dc->deviceid = array_uint32_le(buf + 0x31e); // serial no
for (g = 0; g < 4; g++) {
- fill_default_cylinder(&dive->cylinder[g]);
+ fill_default_cylinder(dive , g);
dive->cylinder[g].gasmix.o2.permille =
(log[EMC_O2_PERCENT + g * 2] / 256
+ log[EMC_O2_PERCENT + g * 2 + 1]) * 10;
diff --git a/core/dive.h b/core/dive.h
index 1509e51c2..72928c5ec 100644
--- a/core/dive.h
+++ b/core/dive.h
@@ -362,7 +362,7 @@ extern void copy_cylinders(const struct dive *s, struct dive *d, bool used_only)
extern void copy_samples(const struct divecomputer *s, struct divecomputer *d);
extern bool is_cylinder_used(const struct dive *dive, int idx);
extern bool is_cylinder_prot(const struct dive *dive, int idx);
-extern void fill_default_cylinder(cylinder_t *cyl);
+extern void fill_default_cylinder(struct dive *dive, int idx);
extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int time, int idx);
extern struct event *add_event(struct divecomputer *dc, unsigned int time, int type, int flags, int value, const char *name);
extern void remove_event(struct event *event);
diff --git a/core/libdivecomputer.c b/core/libdivecomputer.c
index 63567ba56..2e4441933 100644
--- a/core/libdivecomputer.c
+++ b/core/libdivecomputer.c
@@ -224,7 +224,7 @@ static int parse_gasmixes(device_data_t *devdata, struct dive *dive, dc_parser_t
if (no_volume) {
/* for the first tank, if there is no tanksize available from the
* dive computer, fill in the default tank information (if set) */
- fill_default_cylinder(&dive->cylinder[i]);
+ fill_default_cylinder(dive, i);
}
/* whatever happens, make sure there is a name for the cylinder */
if (empty_string(dive->cylinder[i].type.description))
diff --git a/core/liquivision.c b/core/liquivision.c
index e5b3ea48b..1e430bcf1 100644
--- a/core/liquivision.c
+++ b/core/liquivision.c
@@ -149,7 +149,7 @@ static void parse_dives(int log_version, const unsigned char *buf, unsigned int
/* Just the main cylinder until we can handle the buddy cylinder porperly */
for (i = 0; i < 1; i++)
- fill_default_cylinder(&dive->cylinder[i]);
+ fill_default_cylinder(dive, i);
// Model 0=Xen, 1,2=Xeo, 4=Lynx, other=Liquivision
model = *(buf + ptr);
diff --git a/core/planner.c b/core/planner.c
index 407418553..9cf4fc6ec 100644
--- a/core/planner.c
+++ b/core/planner.c
@@ -178,9 +178,10 @@ static int tissue_at_end(struct deco_state *ds, struct dive *dive, struct deco_s
/* if a default cylinder is set, use that */
-void fill_default_cylinder(cylinder_t *cyl)
+void fill_default_cylinder(struct dive *dive, int idx)
{
const char *cyl_name = prefs.default_cylinder;
+ cylinder_t *cyl = &dive->cylinder[idx];
struct tank_info_t *ti = tank_info;
pressure_t pO2 = {.mbar = 1600};
@@ -204,7 +205,7 @@ void fill_default_cylinder(cylinder_t *cyl)
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, &displayed_dive, 1);
+ cyl->depth = gas_mod(cyl->gasmix, pO2, dive, 1);
}
/* calculate the new end pressure of the cylinder, based on its current end pressure and the