aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-04-29Ubuntu build script updateGravatar Dirk Hohndel
Make sure we list the currently supported releases. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-29When looking for gas change events only use thoseGravatar Robert C. Helling
This function looks for the last gas change before a given time. We should initialize it with a gaschange event as we might later use this event to read a gasmix from it. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2018-04-29cmake: add the GCC_OPTIMIZATION_FLAGS variableGravatar Lubomir I. Ivanov
Instead of always adding -O2 for CMAKE_C_FLAGS_DEBUG and CMAKE_CXX_FLAGS_DEBUG allow the user to pass a custom value via GCC_OPTIMIZATION_FLAGS. Passing -DGCC_OPTIMIZATION_FLAGS:STRING=-O0 would disable all optimizations. Suggested-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-04-28Plot OC-pO2 graph for SCR divesGravatar Willem Ferguson
This commit allows plotting the OC-equivalent pO2 graph for PSCR dives. This happens in both the cases where there is no external O2-monitoring AND when there is external pO2 monitoring. The calculations are only done for PSCR dives and is achieved as follows: 1) Within plot-info create a pressure-t called OC_pO2 in profile.h and populate this variable with the open-circuit pO2 values in profile.c. 2) Create a new partialPressureGasItem ocpo2GasItem in profilewidget2.h and, in profilewidget2.cpp, initialise it to read the plot-info OC_pO2 values and enable its display by using the setVisible method. The diveplotdatamodel was also touched in order to achieve this. 3) Create a pref button that controls the display of OC-pO2 for SCR dives 4) Change the colour of the OC-pO2 grpah to orange 5) Change the connection of the crr_OC_pO2 signal to be appropriate 6) rename the OC_pO2 attribute to scr_OC-pO2 Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
2018-04-27Android: correctly detect the different BT device typesGravatar Dirk Hohndel
The previous code would not add the non-LE address for dual stack devices. Unfortunately, even with this fix we still don't get the correct result for the dual stack Shearwater Petrel 2 that I have for testing as Android incorrectly reports it as a BLE-only device. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Android: fix error in build scriptGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27iOS: fix typo in build scriptGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Create one function to determine the supported transportsGravatar Dirk Hohndel
This should make sure we create a consistent view based on all the information available. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27libdc transport debuggingGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27QML UI: add supported dive computers to log fileGravatar Dirk Hohndel
In a more compact format than before. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Redesign the flow for checking supported DCs on AndroidGravatar Dirk Hohndel
Only filter against the hard coded list if no other supported transports are available for a dive computer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Use libdc information about supported transportsGravatar Dirk Hohndel
For example, even on platforms that support libusb, libdivecomputer might be compiled without such support. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Android: rebuild libdivecomputer if SHA changesGravatar Dirk Hohndel
Just like we already do for iOS. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-27Do a better job of picking which transport to useGravatar Linus Torvalds
If the user specified bluetooth, we really should pick bluetooth, not probe and possibly fall back to something else. We should also honor the users choice of BLE vs classic BT. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-27Configure ostc3: Remove obsoleted settingGravatar Anton Lundin
In firmware version 2.97 the setting 0x38, SETPOINT FALLBACK, has bin obsoleted and we get a error when trying to write to it. This removes this setting. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-04-25Update references to Subsurface-NGGravatar Dirk Hohndel
We switched branch names for our own flavor of libdivecomputer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-25Compile fix when compiling without BLE enabledGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24Only offer dive computers with supported transportsGravatar Dirk Hohndel
On Android we still need to do more filtering as only some of the USB divecomputers are supported. But on iOS this takes care of it without the hard coded list. Additionally, if built without BT or BLE support, the corresponding dive computers are no longer shown (e.g. Perdix AI on Windows). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24Update libdivecomputer submoduleGravatar Dirk Hohndel
This is the flag-day update that goes along with the last three patches. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24use libdivecomputer 'fingerprint' to avoid downloading extra dataGravatar Linus Torvalds
This opportunistically uses a cache of 'fingerprints' for already downloaded dives. As we download data from a dive computer, we save the fingerprint and dive ID of the most recent dive in a per-divecopmputer fingerprint cache file. The next time we download from that dive computer, we will load the cache file for that dive computer if it exists, verify that we still have the dive that is referenced in that cachefile, and if so use the fingerprint to let libdivecomputer potentially stop downloading dives early. This doesn't much matter for most dive computers, but some (like the Scubapro G2) are not able to download one dive at a time, and need the fingerprint to avoid doing a full dump. That is particularly noticeable over bluetooth, where a full dump can be very slow. NOTE! The fingerprint cache is a separate entity from the dive log itself. Unlike the dive log, it doesn't synchronize over the cloud, so if you download using different clients (say, your phone and your laptop), the fingerprint cache entries are per device. So you may still end up downloading dives you already have, because the fingerprint code basically only works to avoid duplicate downloads on the same installation. Also, note that we only have a cache of one single entry per dive computer and downloader, so if you download dives and then don't save the end result, the fingerprint will now point to a dive that you don't actually have in your dive list. As a result, next time you download, the fingerprint won't match any existing dive, and we'll resort to the old non-optimized behavior. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-24Actually tie in the new libdivecomputer IO model to open the dive computer ↵Gravatar Linus Torvalds
device This creates a new libdivecomputer_device_open() helper, and makes downloading and configuration use it to open the dive computer device using the proper protocol. The IRDA case was tested by Sébastien Dugué - I had initially left it undone believing that "nobody uses IRDA". Reported-and-tested-by: Sébastien Dugué <sebastien.dugue.subsurface@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-24Convert our custom IO model to new libdivecomputer IO modelGravatar Linus Torvalds
This converts our old custom IO model to the new model that libdivecomputer introduced. This is partly based on Jef's rough patch to make things build, with further work by me. The FTDI code is temporarily disabled here, because it will need to be integrated with the new way of opening devices. The ble_serial code goes away entirely, since now libdivecomputer knows about BLE transport natively, and doesn't need to have any serial wrapper around it. Signed-off-by: Jef Driesen <jef@libdivecomputer.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-24Travis: add building for iOSGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24iOS: allow building for the simulator & switch debug/release buildsGravatar Dirk Hohndel
It makes sense to be able to control this with command line options. On Travis this avoids the signing problem and makes the build much faster. Still should be enough to catch iOS breakage. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24Travis: add iOS buildGravatar Dirk Hohndel
Disable most warnings for iOS test build as otherwise the Travis log file will exceed 4MB and the build will fail. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24iOS: don't show all the libgit2 warningsGravatar Dirk Hohndel
We aren't concerned about the code quality of libgit2 and with these warnings the build log overflows. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-24Updated with new round of comments.Gravatar jan Iversen
Signed-off-by: Jan Iversen <jani@apache.org>
2018-04-24updated with review comments.Gravatar jan Iversen
Signed-off-by: Jan Iversen <jani@apache.org>
2018-04-24Incorporated review comments in INSTALLGravatar jan iversen
updated INSTALL to reflect the review comments Among others made homebrew / manual install equal choices as well as Xcode / QtCreator. Signed-off-by: Jan Iversen <jani@apache.org>
2018-04-24Updated INSTALL, based on first time building experience.Gravatar jan Iversen
INSTALL is updated to reflect how to install/build subusurface on Mac. It has also been updated with several generic parts. 3 parts are still outstanding (to come soon): QtWebKit, need to document how to download/build Mac, final touches iOS, need to document the build process Signed-off-by: Jan Iversen <jani@apache.org>
2018-04-23Add -libpath argument for qtmacdeployGravatar Allen Hall
Resolves ERROR: no file at "/usr/lib/libgit2.dylib" when building on MacOS. [Dirk Hohndel: SOB in PR #1201 - copying it into the commit for consistenty] Signed-off-by: Allen Hall <revenant83@hotmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-23iOS: build Release by defaultGravatar Dirk Hohndel
And add -debug option to build.sh for debug builds. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-22Updated doc. for handling of libdcGravatar jan Iversen
git.subsurface-divelog.org no longer exist. Signed-off-by: Jan Iversen <jani@apache.org>
2018-04-19CSV import: fix setpoint (typo)Gravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-04-19Cleanup: Make local function waitFor() of static linkageGravatar Berthold Stoeger
Moreover, remove it from the `extern "C"` block, since extern/static is oxymoronic. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-19Coding style: remove superfluous semicolonsGravatar Berthold Stoeger
Remove a semicolon after Q_OBJECT and a few others after the closing braces of while loops. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-04-16QML UI: fix incorrect icon referencesGravatar Dirk Hohndel
Not sure why this has worked in the past - it was simply wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: ensure delegate height is not a fractionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: dive list performance: enable cachingGravatar Dirk Hohndel
We had turned this off since it caused rendering issues, but that appears to be fixed now - and it should help to get us smoother rendering of the dive list. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: dive list performance: no background rectangleGravatar Dirk Hohndel
This is one of the suggested performance enhancement to reduce redundant painting. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: make the code easier to readGravatar Dirk Hohndel
And maybe this will make it faster as well? Depends on how the binding is implemented, I guess. But at least it's less confusing to read now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: show offline notice when going offlineGravatar Dirk Hohndel
The logic was backwards and showed the notice when the user switched to auto sync mode. Fixes #1204 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-16QML UI: change auto cloud sync menu textsGravatar Dirk Hohndel
This way the menu items describe what happens when you tap on that menu item. That seems more consistent and intuitive. See #1204 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15QML UI: suppress warnings when showing GPS fixesGravatar Dirk Hohndel
Kirigami gets unhappy if a SwipeListItem isn't named listItem. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15Travis: make qt55 build report build failures correctlyGravatar Dirk Hohndel
The proxy for this is a check to see if the Subsurface binary was created (in which case we assume that the build succeeded). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15Qt: don't use member function that requires Qt 5.8Gravatar Dirk Hohndel
This should have been caught by our build check, but it turns out that that one isn't correctly reflected in its Travis status. Oops. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15Update CHANGELOGGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15QML UI: recalculate derived information after editing diveGravatar Dirk Hohndel
For example, when changing the cylinder, the SAC rate wasn't updated. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15QML UI: update to latest KirigamiGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15QML UI: don't show a vertical scrollbar in dive listGravatar Dirk Hohndel
With the folding trips it just looks confusing as it changes size. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>