aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-08-31QML UI: Start Add Dive featureGravatar Grace Karanja
Start working on the add dive feature, to enable the user add a new dive using the mobile UI. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-08-31Adopt expected times in TestPlanGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Introduce double depth_to_bar()Gravatar Robert C. Helling
as it leads to significant cleanup. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Calculate ceiling only when it is neededGravatar Robert C. Helling
So far, add_segment() returned a tissue tolerance (i.e. ceiling) computed just in its return statement. This tissue_tolerance needed to be dragged around until it was needed or be dropped if not needed at all. As for VPM-B, this ceiling computation is a bit expensive, this patch calls the computation function tissue_tolerance_calc() when the value is actually needed and not before. This changes the signature of some functions. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Do the Boyle compensation when the gradient is neededGravatar Robert C. Helling
and not some time before and store the result in a global variable. This stores only the bottom gradients and computes the Boyle compensation when computing the allowed ambient pressure. As the Boyle compensation needs a reference ambient pressure, to find the ceiling, we have to iterate this computation until the reference pressure is close enough to the ceiling. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Changed qInfo() to qDebug()Gravatar Robert C. Helling
... as the former was introduced only in Qt 5.5 in order to make the test build also with 5.4 Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Support multiple o2 sensor values from libdcGravatar Anton Lundin
libdivecomputer might call us with DC_SAMPLE_PPO2 multiple times, which means multiple sensors. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Store DC_SAMPLE_PPO2 as a o2 sensorGravatar Anton Lundin
DC_SAMPLE_PPO2 represents a known ppO2, and not a setpoint. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Be compatible with libgit2 0.22 againGravatar Anton Lundin
In libgit2 0.22 tree_flags was called flags. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Remove unneeded includesGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Update ReleaseNotesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-31Remove about window have for Beta releasesGravatar Dirk Hohndel
Simply tag the beta versions correctly and none of this is needed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30VPM-B: Get rid of ugly blips in ceilingGravatar Rick Walsh
A real ceiling is the ceiling calculated when the ambient pressure is at the ceiling. As such, the Boyle's law compensation should be done against the ambient pressure at the ceiling. Instead of doing an iterative calculation, take the lesser ambient pressure of the ceiling of the previous sample, and the depth of the current sample. This approach gets rid of "blips" in the calculated ceiling due to a step in Boyle's law compensation during ascent. In limited testing, it also appears to avoid creating a ceiling deeper than the calculated plan in most cases. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30Profile.c: Fix stepping through loop between sample pointsGravatar Rick Walsh
If adjacent samples at times t0 and t1 are greater than time_stepsize apart, this for loop steps through the time between samples to calculate tissue tolerance incrementally at each intermediate time, j, (and interpolated depth). If the difference between t1 and t0 is not a multiple of time_stepsize, immediately before the final increment time_stepsize needs to be reduced to t1 - j so that j = t1 in the final increment. This is necessary when: t1 - j < time_stepsize (i.e. we are about to start the final increment, and time_stepsize needs to be reduced), and j < t1 (i.e. we didn't just do the final increment - without this condition time_stepsize would be set to zero, leading to an infinite loop) Previously, the check was (j - t0 < time_stepsize), which always returns false. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30Add test case for multi line dive notes mergingGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30Add test for dive site duplication bugGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30Fix subtle bug in dive site import from V2 fileGravatar Dirk Hohndel
Assume your V2 file contains two locations with different name but identical GPS location. "Blue Corner" and "Blue Corner, Palau". And you have many dives there. When reading a V2 file the GPS is read first and a dive site is looked up based on that. Let's assume the lookup by gps finds "Blue Corner, Palau". Now every time we get the "Blue Corner" site in the V2 file we look up the GPS, get "Blue Corner, Palau" as dive site, then read the name "Blue Corner" and say "oops, different site" and create a new one. Resulting in several dive sites named "Blue Corner" with identical GPS but different UUID (as we add the dive time into the SHA for the deterministic UUID). With this commit, if we have a dive site that matches the GPS but has a different name, we check if we happen to have an exact match for the dive site information from the XML file (and use it, if we have it) before creating a new dive site. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-30TestPlan: Do not re-declare bool resultGravatar Rick Walsh
Fixing this error makes TestPlan pass again. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29Fix edit & show of divesites for new and existing dives.Gravatar Sander Kleijwegt
The UI detects when it should refresh the loction after the user finished editting a divesite. Creating and editting divesites is now working even when the current dive is not saved yet. Signed-off-by: Sander Kleijwegt <sander@myowndomain.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B Tests: Compare against known Subsurface runtimeGravatar Rick Walsh
We should compare the calculated runtime against the runtime previously calculated by Subsurface, expecting them to match exactly, in order to detect if a change has been made. We still compare against a benchmark, allowing some difference. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B: Don't break the ceiling due to ongassing on ascentGravatar Rick Walsh
Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B: Remove obsolete first_ceiling_pressure calculationGravatar Rick Walsh
We now do the first_ceiling_pressure calculation at the start of the CVA loop. We don't need to do it before. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29Planner: Change where we clear deco and reset gradientsGravatar Rick Walsh
We should run clear_deco as early as we can. We should calculate the nuclear regeneration and start gradient after calculating tissue tolerance. We don't need to redo nuclear regeration and start gradient after that. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B: Calculate crushing pressure on descentGravatar Rick Walsh
By calculating crushing pressure after the manually entered phase, we were doing it wrong for multi-level dives. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29Use Schreiner water vapour pressure for VPM-BGravatar Rick Walsh
Inspired gas loading equations depend on the partial pressure of inert gas in the alveolar. P_alv = (P_amb - P_H2O + (1 - Rq) / Rq * P_CO2) * f where: P_alv alveolar partial pressure of inert gas P_amb ambient pressure P_H2O water vapour partial pressure = ~0.0627 bar P_CO2 carbon dioxide partial pressure = ~0.0534 bar Rq respiratory quotient (O2 consumption / CO2 production) f fraction of inert gas In our calculations, we simplify this to use an effective water vapour pressure WV = P_H20 - (1 - Rq) / Rq * P_CO2 Buhlmann ignored the contribution of CO2 (i.e. Rq = 1.0), whereas Schreiner adopted Rq = 0.8. WV_Buhlmann = PP_H2O = 0.0627 bar WV_Schreiner = 0.0627 - (1 - 0.8) / Rq * 0.0534 = 0.0493 bar Buhlmann calculations use the Buhlmann value, VPM-B calculations use the Schreiner value. Concept explained here: http://www.divetable.de/workshop/V1_e.htm Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B: Use correct gamma valuesGravatar Rick Walsh
In other implementations of VPM-B, surface_tension_gamma and skin_compression_gammaC are taken as 0.0179 N/msw and 0.257 N/msw respectively. We do pressure calculations in bar, not msw, so our gamma values need to reflect that. Previously we had used 0.179 and 2.57, which are close but not quite correct (10 msw == 1.01325 bar). Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29Update expected runtime of VPM-B test to match benchmarkGravatar Rick Walsh
Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-29VPM-B Tests: Output first ceilingGravatar Rick Walsh
This is useful for determining why we calculate a difference profile Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-28Always show the dive site edit buttonGravatar Sander Kleijwegt
Update the tooltip and enable only when there is a divesite selected Signed-off-by: Sander Kleijwegt <sander@myowndomain.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-28Fix mouse clicks on divesite completer.Gravatar Sander Kleijwegt
Use clicked instead of activated signal on the completerList to handle the selection of a divesite. Signed-off-by: Sander Kleijwegt <sander@myowndomain.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-28Fix crash when creating a dive site without any dives in logbook.Gravatar Sander Kleijwegt
A divesite uuid is created using the timestamp of the currently selected dive. When there is no current_dive, use the current time to create a uuid. Signed-off-by: Sander Kleijwegt <sander@myowndomain.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-28Fix printing on MacGravatar Dirk Hohndel
While I cannot explain for the life of me why this worked on Linux and Windows and not on Mac, what I have now seems to work on all three platforms. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Cmake: install grantlee plugins on MacGravatar Dirk Hohndel
And add a small message that two potential ERRORS that are thrown in the deploy step are actually harmless. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Fix build scriptGravatar Dirk Hohndel
A git pull seems to cause things to go wrong. Just fetching the repository and checking out the version that we want seems to work better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27QtBT: avoid crash at exit if no BT device foundGravatar Dirk Hohndel
If localDevice isn't valid we never initialize the discory agent, so let's not dereference it in the destructor unless it is valid. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Remove unused function and defineGravatar Miika Turkia
These were left unused by cleaning up the import function parameters. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Update tests to use cleaner CSV parsing "API"Gravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Clean up CSV import parametersGravatar Miika Turkia
Continuing the crusade against excessive number of parameters for some functions. This should be the last of the import functions to be cleaned up. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Rename variable to better reflect what it doesGravatar Robert C. Helling
The pressure for the Boyle compensation is of the first ceiling, i.e. the ceiling seen from the bottom rather than the first stop. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-27Compute first stop pressure for each round of CVAGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-26Update INSTALL and build.shGravatar Dirk Hohndel
They now reference the Subsurface-branch branches of Marble and libdivecomputer and v0.23.1 of libgit2. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-26Explicitly show the menubar after mainwindow initialisation.Gravatar Sander Kleijwegt
At least on Ubuntu with xfce instead of Unity this appears to be necessary to get a menu bar for the application. Fixes #833 Signed-off-by: Sander Kleijwegt <sander@myowndomain.nl> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-26Tiny fixes to make the FAQ correct for WordPressGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-26FAQ: why IRDA DCs don't work on MACGravatar Miika Turkia
Copying Dirk's answer to our user forum to FAQ. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Remove a couple of debug messagesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Keep the dive list disabled if editing a diveGravatar Tomaz Canabrava
When, in a dive edit mode user entered a dive site and went to dive site edit mode then finished the ds edit, the app would lose the disabled property of the dive list, making it possible to select a new dive when we where editing another one, complete mess. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Create a new dive site and edit it automaticallyGravatar Tomaz Canabrava
If the user clicks on the first or second option of the drop down list, subsurface will move him to the dive site edit panel automatically, since it's a new dive site and there's no information about it yet. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Move dive site list to its correct positionGravatar Tomaz Canabrava
When we are in display dive mode, and then edit the location text edit, going to edit dive mode, the location text edit will be moved a bit below of it's original position but the Dive Site List would be already opened, and stuck on it's original position, covering the dive list. This patch fixes that. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Remove edit dive site from the menubarGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-08-25Get taxonomy from edit dive site widgetGravatar Tomaz Canabrava
Moved the get taxonomy button from the maintab to the edit dive site widget. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>