aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-07-05Read planner preferences when we use themGravatar Rick Walsh
Read and use the last_stop preference in the plan function. Read the plan notes preferences and set variables (plan_verbatim, plan_display_runtime, plan_display_duration, and plan_display_transitions) in the add_plan_to_notes function. Don't read the preferences and set variables otherwise. Both plan and add_plan_to_notes functions are called on data change. Previous behaviour was: - Set variables on declaration - Reset variables in plan function (even variables that only relate to planner notes output) - Changing a preference triggered set_xxx function which sets variable, then plan function, which sets variable again. Apart from being inefficient, the previous behaviour made it difficult to track down where and when variables were set. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-05Merge branch 'new-vpm' of https://github.com/Slagvi/subsurfaceGravatar Dirk Hohndel
2015-07-04INSTALL file: a few more changesGravatar Dirk Hohndel
- Qt4 is no longer supported - Make the Kubuntu comments more generic - Mention command to add user to dialout group Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-04INSTALL file: add notes for Ubuntu/Kubuntu 15.04Gravatar Pedro Neves
Update the install instructions when compiling Subsurface from source on Ubuntu/Kubuntu machines. Signed-off-by: Pedro Neves <nevesdiver@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-04VPM-B: add CVA to the deco planner.Gravatar Jan Darowski
Added keeping bottom dive state and every deco's time, so we can run multiple deco simulations with different gradients until they converge to some optimal value. Some improvements on the deco time calculation may be needed. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add next gradient calculation.Gravatar Jan Darowski
It improves (increases) gradients for all the compartments, so more free gas can be created in the divers body. Next gradients will converge, so the volume won't exceed the safe limit, indicated by the crit_volume_lambda parameter. Function takes time of the last deco in seconds. Requires vpmb_start_gradient() to be run before. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: vpm without CVA working.Gravatar Jan Darowski
Add call of initial calculation of critical radius and start gradient, so the VPM could work. Currently without CVA, so the gradient isn't improved. Only one iteration is run. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add vpm-b based deco checking.Gravatar Jan Darowski
Check during the trial_ascent() if existing pressure gradient is smaller than previously calculated max gradient. If not, ascent is impossible from the vpm-b's point of view. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add initial gradient calculation.Gravatar Jan Darowski
Calculate the max difference between tissue saturation and ambient pressure that can be accepted during the ascent. Partial results are kept for later improving in next CVA iterations Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add deco choice to the ui.Gravatar Jan Darowski
Removed recreational mode from ui and pref and replaced it with new deco_mode enum. Added radio button ui selection. Set default deco_mode to Buehlmann algorithm. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add nuclei size calculation and nuclear regeneration.Gravatar Jan Darowski
This function calculates the size of nuclei at the end of deco, then simulates their regeneration, to the moment before the deco. This is redundant as nuclear regeneration is a very slow process. Function should be called with time in seconds, just before the ascent. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: use an analytic solution for nucleon inner pressure instead of binary ↵Gravatar Robert C. Helling
root search According to mathematica In[4]:= f[x_] := x^3 - b x^2 - c In[18]:= Solve[f[x] == 0, x] Out[18]= {{x -> 1/3 (b + ( 2^(1/3) b^2)/(2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^( 1/3) + (2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^(1/3)/ 2^(1/3))}, {x -> b/3 - ((1 + I Sqrt[3]) b^2)/( 3 2^(2/3) (2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^( 1/3)) - ((1 - I Sqrt[3]) (2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^(1/3))/(6 2^(1/3))}, {x -> b/3 - ((1 - I Sqrt[3]) b^2)/( 3 2^(2/3) (2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^( 1/3)) - ((1 + I Sqrt[3]) (2 b^3 + 27 c + 3 Sqrt[3] Sqrt[4 b^3 c + 27 c^2])^(1/3))/(6 2^(1/3))}} For the values of b and c encounterd in the algorithm, the first solution is in fact the only real one that we are after. So we can use this solution instead of doing a binary search for the root of the cubic. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add initial values for crushing pressure variables.Gravatar Jan Darowski
Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add crushin pressure calculation.Gravatar Jan Darowski
Add new structures holding vpm-b state. Add function calculating current crushing pressure. Call it from add_segment() on every ambient pressure change. It determines what pressure acts on nuclei during the descent and thus their size at the beggining of the deco. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add calculating nucleons inner pressure.Gravatar Jan Darowski
This function calculates the pressure inside the nucleon during the impermeable phase. In the original code, Newton's method is used, for simplicity, we use binary search for finding cubic equations root. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-03VPM-B: add basic algorithm settings.Gravatar Jan Darowski
Created vpmb_config structure based on buehlmann_config. Set it's default values to ones taken from the existing C implementation. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
2015-07-02Add FAQ item about creating a udev rule for Cobalt under LinuxGravatar Dirk Hohndel
This should work under most Linux flavors. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02More debug message cleanupGravatar Dirk Hohndel
Remove several very noise messages on dive site handling (this seems to work well now, so I think we can remove most of them - a couple were left that indicate actual issues). And also remove all the calls to "translate" when outputting data to stderr. Error messages that indicate issues where the user will basically have to come and ask the developers for help shouldn't be localized. They should be in English to make it easier for us to figure out what's going on. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Notes pane: don't show empty taxonomy tagsGravatar Dirk Hohndel
No point in searching for the right tag if the user picked no taxonomy to be shown. And no point in showing an empty value, either. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Rename enum values for taxonomyGravatar Dirk Hohndel
This avoids confusion and namespace collisions. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Don't try to pass QString to report_error()Gravatar Dirk Hohndel
No idea why the compiler on my system didn't complain about this. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Merge branch 'taxonomy'Gravatar Dirk Hohndel
2015-07-02Remove a few more debug messagesGravatar Dirk Hohndel
Yes, I could go back and try to fix the earlier commits. This is easier. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Trigger reverse geo lookup by pressing the buttonGravatar Dirk Hohndel
This may not be the best UI, but for now it works. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Notes pane: add geo code buttonGravatar Dirk Hohndel
This still needs to be hooked up. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Notes pane: don't show taxonomy info for trip locationGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Notes pane: once again fix the layoutGravatar Dirk Hohndel
It seems nearly impossible to keep all these margins consistent. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Notes pane: move the location taxonomy to a better spotGravatar Dirk Hohndel
And display it smaller, marked as "tags". Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Geo taxonomy: download the taxonomy data from geonames.orgGravatar Dirk Hohndel
There are a number of web servies we could use. All have their drawbacks. This one is free with free data. It's daily limits are reasonably high. For many coordinates I tested the results were good, for others at least not terrible. We can always consider supporting multiple such services. But for now this seems like a reasonable choice. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-02Use tank pressure data from libdivecomputer's DC_FIELD_TANKGravatar Dirk Hohndel
When libdivecomputer switched to the DC_FIELD_TANK API it apparently stopped creating fake pressure samples at the start and end of a dive for dive computers that don't have continuous pressure reporting but that instead only report those two values. This updates our code to take those values into account. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Correctly display the data on the delegateGravatar Tomaz Canabrava
A bit more complex than I tought it would be (and a ton of trial and error to find the right spot on the delegate to draw stuff) this delegate follows the current style (so it should be okaish on a dark and on a light theme) This is supposed to work on a QCompleter, but it doesn't (I really don't know why, so maybe I'll remove that completer. sigh.) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Create a delegate to display custom dataGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Added again a QCompleter to show the possibilitiesGravatar Tomaz Canabrava
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Correctly removes the Location Completion ModelGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01More information on dive site modelGravatar Tomaz Canabrava
All of dive site information is now exposed to the model Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Remove location completion modelGravatar Tomaz Canabrava
This is a functional but hard to expand model for the dive sites. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: show the chosen taxonomy entries in the notes paneGravatar Dirk Hohndel
This isn't perfect - I'd like to have them show behind the word Location instead as what we have now creates movement in the position of the fields on the screen which I think is distracting. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: adjust the preferences to the new data structuresGravatar Dirk Hohndel
This allows us to pick which three categories of geo taxonomy will be shown in the UI. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: save and load the taxonomy data with XMLGravatar Dirk Hohndel
If taxonomy data are available we are switching a dive site entry from single item with attributes to an item that has children. This is backwards compatible and older versions will simply ignore the children. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: save and load the geo taxonomy data with gitGravatar Dirk Hohndel
This also supports the cloud storage, of course. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: add the taxonomy information to dive sitesGravatar Dirk Hohndel
Make the helper functions handle it as well Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Geo taxonomy: create some data structures and helper functionsGravatar Dirk Hohndel
This is designed to store taxonomy information for dive sites, including information where the data came from. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Cmake support: remove a clearly broken lineGravatar Dirk Hohndel
This was intended to help us fine libssh2, but since it works as is now, and the typo makes the entry pointless, I'm pretty sure that this isn't needed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Update android build script for CMakeGravatar Anton Lundin
This updates the android build script to something that uses CMake. This can't produce a working APK yet, but it at least builds the shared object which should be wrapped into the APK. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Introduce CMake support for building for AndroidGravatar Anton Lundin
This is the first step to be able to build Subsurface with CMake for Android. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Fix NO_PRINTING when printing is disabled in QtGravatar Anton Lundin
Qt for android doesn't have any printing support, so this fixes NO_PRINTING so we can build against a Qt without any printing support at all. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Group QT-quick options into one blockGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-01Re-introduce NO_USERMANUAL for Android buildingGravatar Anton Lundin
This re-introduces the NO_USERMANUAL flag, which is needed due to the fact that Qt-Android doesn't have a WebView to view the manual in. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-29Cmake: missing quotesGravatar Dirk Hohndel
I hate it when I do this Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-29Cmake: another attempt to make things work with libssh2Gravatar Dirk Hohndel
This seems to work on all the systems I was able to test it on. Famous last words. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>