diff options
author | Robert C. Helling <helling@atdotde.de> | 2020-09-02 11:10:51 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-09-02 09:43:38 -0700 |
commit | 7e82205e9b7b14e960dc1e83fcf6ef927e746fba (patch) | |
tree | b1d4f93f34a966e2aa619ed0de23d5bd3c0caaac | |
parent | f5ba42e933ae4701f40ba8b8b8058e5dd8c82cc0 (diff) | |
download | subsurface-7e82205e9b7b14e960dc1e83fcf6ef927e746fba.tar.gz |
Planner: Properly initialize salinity
When the dive has no explicity salinity, our conversion
between pressure and depth assumed salt water. Make this
explicity by using the corresponding macro.
When the planner starts and no salinity is set explicity,
set the water type chooser to salt water to reflect
our default assumption.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | core/dive.c | 2 | ||||
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d64136a2..c3b746606 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +planner: properly initialize salinity desktop: add an "Edit Gas Change" right-click option [#2910] core: add support for Shearwater Peregrine (requires firmware V79 or newer) core: fix renumbering of imported dives [#2731] diff --git a/core/dive.c b/core/dive.c index d2a4ea23c..6bed5966a 100644 --- a/core/dive.c +++ b/core/dive.c @@ -3729,7 +3729,7 @@ double depth_to_atm(int depth, const struct dive *dive) int rel_mbar_to_depth(int mbar, const struct dive *dive) { int cm; - double specific_weight = 1.03 * 0.981; + double specific_weight = SEAWATER_SALINITY * 0.981 / 10000.0; if (dive->dc.salinity) specific_weight = dive->dc.salinity / 10000.0 * 0.981; /* whole mbar gives us cm precision */ diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 87a7e1d06..5c151849f 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -895,6 +895,8 @@ void MainWindow::on_actionDivePlanner_triggered() divePlannerSettingsWidget->setBailoutVisibility(current_dive->dc.divemode); if (current_dive->salinity) divePlannerWidget->setSalinity(current_dive->salinity); + else // No salinity means salt water + divePlannerWidget->setSalinity(SEAWATER_SALINITY); } divePlannerWidget->setReplanButton(false); } |