summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/gaspressures.c20
-rw-r--r--core/profile.c4
2 files changed, 13 insertions, 11 deletions
diff --git a/core/gaspressures.c b/core/gaspressures.c
index 13196b61f..ce88df047 100644
--- a/core/gaspressures.c
+++ b/core/gaspressures.c
@@ -409,16 +409,6 @@ void populate_pressure_information(struct dive *dive, struct divecomputer *dc, s
current->end = pressure;
}
- // If we have no pressure information, we will need to
- // continue with or without a tracking entry. Mark any
- // existing tracking entry as non-dense, and remember
- // to fill in interpolated data.
- if (!pressure) {
- missing_pr = 1;
- dense = 0;
- continue;
- }
-
// We have a final pressure for 'current'
// If a gas switch has occurred, finish the
// current pressure track entry and continue
@@ -429,6 +419,16 @@ void populate_pressure_information(struct dive *dive, struct divecomputer *dc, s
continue;
}
+ // If we have no pressure information, we will need to
+ // continue with or without a tracking entry. Mark any
+ // existing tracking entry as non-dense, and remember
+ // to fill in interpolated data.
+ if (current && !pressure) {
+ missing_pr = 1;
+ dense = 0;
+ continue;
+ }
+
// If we already have a pressure tracking entry, and
// it has not had any missing samples, just continue
// using it - there's nothing to interpolate yet.
diff --git a/core/profile.c b/core/profile.c
index 7b5827416..eccbb5612 100644
--- a/core/profile.c
+++ b/core/profile.c
@@ -816,13 +816,15 @@ static void add_plot_pressure(struct plot_info *pi, int time, int cyl, int mbar)
static void setup_gas_sensor_pressure(struct dive *dive, struct divecomputer *dc, struct plot_info *pi)
{
- int prev = -1, i;
+ int prev, i;
struct event *ev;
unsigned int seen[MAX_CYLINDERS] = { 0, };
unsigned int first[MAX_CYLINDERS] = { 0, };
unsigned int last[MAX_CYLINDERS] = { 0, };
struct divecomputer *secondary;
+ prev = explicit_first_cylinder(dive, dc);
+ seen[prev] = 1;
for (i = 0; i < MAX_CYLINDERS; i++)
last[i] = INT_MAX;