diff options
-rw-r--r-- | core/gaspressures.c | 6 | ||||
-rw-r--r-- | core/profile.c | 4 | ||||
-rw-r--r-- | core/profile.h | 20 | ||||
-rw-r--r-- | profile-widget/profilewidget2.cpp | 8 |
4 files changed, 26 insertions, 12 deletions
diff --git a/core/gaspressures.c b/core/gaspressures.c index 3b84aad24..2109c2702 100644 --- a/core/gaspressures.c +++ b/core/gaspressures.c @@ -352,7 +352,7 @@ static void debug_print_pressures(struct plot_info *pi) int i; for (i = 0; i < pi->nr; i++) { struct plot_data *entry = pi->entry + i; - printf("%5d |%9d | %9d |\n", i, SENSOR_PRESSURE(entry), INTERPOLATED_PRESSURE(entry)); + printf("%5d |%9d | %9d |\n", i, get_plot_sensor_pressure(entry), get_plot_interpolated_pressure(entry)); } } #endif @@ -388,7 +388,7 @@ void populate_pressure_information(struct dive *dive, struct divecomputer *dc, s first = last = -1; for (int i = 0; i < pi->nr; i++) { struct plot_data *entry = pi->entry + i; - unsigned pressure = SENSOR_PRESSURE(entry, sensor); + int pressure = get_plot_sensor_pressure(entry, sensor); if (!pressure) continue; @@ -417,7 +417,7 @@ void populate_pressure_information(struct dive *dive, struct divecomputer *dc, s for (int i = first; i <= last; i++) { struct plot_data *entry = pi->entry + i; - unsigned pressure = SENSOR_PRESSURE(entry, sensor); + int pressure = get_plot_sensor_pressure(entry, sensor); int time = entry->sec; while (ev && ev->time.seconds <= time) { // Find 1st gaschange event after diff --git a/core/profile.c b/core/profile.c index bbf654d40..d6a26431a 100644 --- a/core/profile.c +++ b/core/profile.c @@ -1309,8 +1309,8 @@ static void debug_print_profiledata(struct plot_info *pi) fprintf(f1, "id t1 gas gasint t2 t3 dil dilint t4 t5 setpoint sensor1 sensor2 sensor3 t6 po2 fo2\n"); for (i = 0; i < pi->nr; i++) { entry = pi->entry + i; - fprintf(f1, "%d gas=%8d %8d ; dil=%8d %8d ; o2_sp= %d %d %d %d PO2= %f\n", i, SENSOR_PRESSURE(entry), - INTERPOLATED_PRESSURE(entry), O2CYLINDER_PRESSURE(entry), INTERPOLATED_O2CYLINDER_PRESSURE(entry), + fprintf(f1, "%d gas=%8d %8d ; dil=%8d %8d ; o2_sp= %d %d %d %d PO2= %f\n", i, get_plot_sensor_pressure(entry), + get_plot_interpolated_pressure(entry), O2CYLINDER_PRESSURE(entry), INTERPOLATED_O2CYLINDER_PRESSURE(entry), entry->o2pressure.mbar, entry->o2sensor[0].mbar, entry->o2sensor[1].mbar, entry->o2sensor[2].mbar, entry->pressures.o2); } fclose(f1); diff --git a/core/profile.h b/core/profile.h index 8e2912671..761f270d7 100644 --- a/core/profile.h +++ b/core/profile.h @@ -98,12 +98,26 @@ int get_maxdepth(struct plot_info *pi); #define SENSOR_PR 0 #define INTERPOLATED_PR 1 #define SENSOR_PRESSURE(_entry,_idx) (_entry)->pressure[_idx][SENSOR_PR] -#define INTERPOLATED_PRESSURE(_entry,_idx) (_entry)->pressure[_idx][INTERPOLATED_PR] + +static inline int get_plot_pressure_data(const struct plot_data *entry, int sensor, int idx) +{ + return entry->pressure[idx][sensor]; +} + +static inline int get_plot_sensor_pressure(const struct plot_data *entry, int idx) +{ + return get_plot_pressure_data(entry, SENSOR_PR, idx); +} + +static inline int get_plot_interpolated_pressure(const struct plot_data *entry, int idx) +{ + return get_plot_pressure_data(entry, INTERPOLATED_PR, idx); +} static inline int get_plot_pressure(const struct plot_data *entry, int idx) { - int res = SENSOR_PRESSURE(entry, idx); - return res ? res : INTERPOLATED_PRESSURE(entry, idx); + int res = get_plot_sensor_pressure(entry, idx); + return res ? res : get_plot_interpolated_pressure(entry, idx); } #ifdef __cplusplus diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index f3cf31c50..6e311d117 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -1535,19 +1535,19 @@ void ProfileWidget2::contextMenuEvent(QContextMenuEvent *event) if (gasChangeEntry + 1 <= plotInfo.entry + plotInfo.nr) { newGasEntry = gasChangeEntry + 1; qDebug() << "after gas change at " << newGasEntry->sec << ": sensor pressure" << newGasEntry->pressure[0] << "interpolated" << newGasEntry->pressure[1]; - if (SENSOR_PRESSURE(gasChangeEntry) == 0 || displayed_dive.cylinder[gasChangeEntry->sensor[0]].sample_start.mbar == 0) { + if (get_plot_sensor_pressure(gasChangeEntry) == 0 || displayed_dive.cylinder[gasChangeEntry->sensor[0]].sample_start.mbar == 0) { // if we have no sensorpressure or if we have no pressure from samples we can assume that // we only have interpolated pressure (the pressure in the entry may be stored in the sensor // pressure field if this is the first or last entry for this tank... see details in gaspressures.c pressure_t pressure; - pressure.mbar = INTERPOLATED_PRESSURE(gasChangeEntry) ? : SENSOR_PRESSURE(gasChangeEntry); + pressure.mbar = get_plot_interpolated_pressure(gasChangeEntry) ? : get_plot_sensor_pressure(gasChangeEntry); QAction *adjustOldPressure = m.addAction(tr("Adjust pressure of cyl. %1 (currently interpolated as %2)") .arg(gasChangeEntry->sensor[0] + 1).arg(get_pressure_string(pressure))); } - if (SENSOR_PRESSURE(newGasEntry) == 0 || displayed_dive.cylinder[newGasEntry->sensor[0]].sample_start.mbar == 0) { + if (get_plot_sensor_pressure(newGasEntry) == 0 || displayed_dive.cylinder[newGasEntry->sensor[0]].sample_start.mbar == 0) { // we only have interpolated press -- see commend above pressure_t pressure; - pressure.mbar = INTERPOLATED_PRESSURE(newGasEntry) ? : SENSOR_PRESSURE(newGasEntry); + pressure.mbar = get_plot_interpolated_pressure(newGasEntry) ? : get_plot_sensor_pressure(newGasEntry); QAction *adjustOldPressure = m.addAction(tr("Adjust pressure of cyl. %1 (currently interpolated as %2)") .arg(newGasEntry->sensor[0] + 1).arg(get_pressure_string(pressure))); } |