summaryrefslogtreecommitdiffstats
path: root/core
AgeCommit message (Collapse)Author
2017-05-27Added support for older Cochran models that have configurable sample intervals.Gravatar John Van Ostrand
Corrected problem where dive profiles would include post dive surface interval samples. Added detection for corrupt dives. Signed-off-by: John Van Ostrand <john@vanostrand.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27Fix some warningsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-26Adopt O2 and He densities to 20degCGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Gas denisity display improvementGravatar Robert C. Helling
This combines the display with EADD since this is the same value with a different unit. And show it for air dives as well. Suggested by Jan Mulder & Anton Lundin Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Display gas density instead of SAC in plannerGravatar Robert C. Helling
In the planner, the SAC is prescribed, so there is little use in plotting it (as the color of the cylinder pressure line). Rather use the color to show the density of breathing gas. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Compute and display gas densityGravatar Robert C. Helling
This appears to be critical for work of breathing so it might be worthwhile to compute. So far only in infobox. For background, see https://www.youtube.com/watch?v=QBajM3xmOtc Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Creation of dive duration string and surface interval stringGravatar Stefan Fuchs
Update the function to create the dive duration string in a way that it can be used also in info and stats tab and added some more flexibility. Changed layout for <1h freedives to "0:05:35" (w/o units) or "5:35min" (with units and :) or "5min 35sec" (with units with space). Add a new function to create the surface interval string. Completely remove old function get_time_string() and get_time_string_s(). Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-05-26Adopt planner state caching to new structGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Assemble global state of planner in a structGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-26Move planner notes to separate fileGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-07Include some extradata info on Seabear importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Merge branch 'seabear-refactor'Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-07Datatrak import rework: Add another memory size ckeckGravatar Salvador Cuñat
As a last minute addition, and for peace of mind and soul, add just another size check, to run before reading values from buffer. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: main functionsGravatar Salvador Cuñat
datatrak_import() is the main function called from parse_file(), but dt_dive_parser() is where the hard work is done, for both, drop file seeking/reading and use memory pointers instead. datatrak_import() now returns 0 on success or 1 on failure and abort import if parser function fails instead of keeping on trying. dt_dive_parser() emits a warning if libdc_model is zero (manual dives). Do not parse profiles if libdc_model is zero, for unknown models we set a fake 0xEE value coverted to Aladin Air X/Z libdc model number. Func now takes a pointer to a buffer and moves along the dive, when done returns a pointer to the actual memory position or NULL if something went wrong. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: modify parsing macrosGravatar Salvador Cuñat
Change how parsing macros work to use memory pointers instead of file descriptors. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: changes on helper funcsGravatar Salvador Cuñat
Remove dtrak_profile() profile parsing func as this work is left to libdivecomputer. Simplifies read_file_header() to return the number of dives in the log file as we don't use the rest of header data. Add dtrak_prepare_data() to achieve a device_data_t structure and get the correct libdc model number for the device. Remove checking macro substituted with JUMP in header file. Add dt_libdc_buffer() to get a buffer parseable with libdivecomputer. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: initial changesGravatar Salvador Cuñat
Remove dtrakheader structure. In the end, we only make use of the number of dives in the log file. Define a models_table_t table which strores the known Uwatec's Aladin models and its equivalence with libdivecomputer known models. Add a macro to check that movements in memblock buffer don't get out of the allocated memory. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Datatrak import rework: changes of file.c and file.hGravatar Salvador Cuñat
Datatrak import is called from parse_file() in file.c. This function reads the full file to be imported into a memblock structure. It's easier and more secure, to parse this buffer instead of the file itself. These are the necessary changes in function datatrak_import() declaration and call. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-05-07Fix NDL and TTS for Seabear importGravatar Miika Turkia
Apparently the refactoring changed these values to be returned directly in seconds. Not sure why, but luckily we have test cases that discovered the change. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Remove debug outputGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Make parsing of Seabear header more robustGravatar Miika Turkia
This should work even if some header line is missing from some DC. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Add dive mode support for Seabear importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Import dive number from Seabear CSV fileGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Refactor Seabear importGravatar Miika Turkia
Moving the GUI independent Seabear import functionality to Subsurface core. This will allow Robert to call it directly from download from DC. Tested with H3 against released and daily versions of Subsurface. The result differs somewhat, but it is actually fixing 2 bugs: - Temperature was mis-interpreted previously - Sample interval for a dive with 1 second interval was parsed incorrectly Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-07Move intdup to qthelperGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-05-06Consistently show dive duration based on preferencesGravatar Dirk Hohndel
We now respect the settings in the preferences and also only show the duration as minutes and seconds if the dive is a free dive. Fixes #361 Fixes #362 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Wire up duration units preference UIGravatar Dirk Hohndel
Now we track the preference, but we don't act on it, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Fix some warningsGravatar Dirk Hohndel
Two unused variables and one case of sign confusion. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06Check if we have an instance before dereferencing itGravatar Dirk Hohndel
If we don't have a GPS service userid in the preferences and the GpsLocation class isn't instantiated, this would cause a crash. Fixes #367 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-06File selector should filter images we can actually handle.Gravatar Robert C. Helling
So better ask Qt about image formats known to it. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-05-06Image import: Make Exif handling more tolerant, better info,...Gravatar Stefan Fuchs
Changes to the "Add pictures to dive" function: - Make Exif handling more tolerant by removing the JPG sanity check for EOI - Give info to user if exif.cpp can't identify a Exif date/time - Restrict file dialog filter for correct picture time by DC photo to JPG because Exif is only available from JPG Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-05-04Implement OSTC4 specific settingsGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-05-04Connect up all the OSTC4 common settingsGravatar Anton Lundin
Connect up all the settings that are the same, and remove those who are not, and correct those who only are minor differences. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-05-04Start to read/write and present some OSTC4 settingsGravatar Anton Lundin
This is mostly copy-paste from the ostc3 case, but there are some minor differences. Some minor things have different meaning, and there's a slightly different command set, but I couldn't figure out a sane way of joining them. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-05-04Wire up a skeleton for configure OSTC 4Gravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-05-04Fix calculation of how many samples profile are in datatrack dive log fileGravatar Olivier Verstraet
2017-04-30Fix event merging when interleaving divesGravatar Linus Torvalds
The core to avoid adding redundant gas switch events was completely buggered, and caused the result list to be corrupted if it ever triggered. This should fix it. Fixes: b5de08b7 ("No gas change event on merging dives with same gas") Reported-by: Jan Mulder <jlmulder@xs4all.nl> Cc: Miika Turkia <miika.turkia@gmail.com> Cc: Dirk Hohndel <dirk@hohndel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-29Add SPDX header to remaining core filesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-29Add SPDX header to core C filesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-28Change the Bluetooth connect call signatureGravatar Robert C. Helling
By copying a line from the Linux bluetooth code I can download from OSTC dive computers on Mac. Don't ask me why this works. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-04-26Correct divesite geocoding translationGravatar Jan Mulder
See https://github.com/Subsurface-divelog/subsurface/issues/345. The menues where not translated. The basis of this error is a simple typo in core/taxonomy.c where the classname was mis-spelled in the QT_TRANSLATE_NOOP. In addition, to pull and translate the strings from C code, the normal tr() does not work, and the functionality from the gettextfromc class is used. Fixes: #345 Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-24Do not carry po2 setpoint data over dive boundariesGravatar Jan Mulder
The file static po2 value, used to set the setpoint data, was not re-initialized at the parsing of a dive during import from the divecomputer. So, in one import session, the po2 was transferred from one dive to the next, obviously resulting in weird bugs, due to possible wrong po2 settings. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-22Reduce default verbosityGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-20Identify user provided notes in plain text in replanGravatar Robert C. Helling
This is another attept at the problem if identifying a potentially user supplied text in the dive notes upon replannig a dive. It gets rid of the user visable position markers (*!* and ***) and cirumvents problems with mark-up by first converting the old notes to plan text (assuming that user only enters plain text in the notes field as we do in other places as well). Then the automatically added part is identified by locating the disclaimer in the text (if the user edited/delted the disclaimer or changed langue in between it is her problem to manually delete the old plan). Everything from the disclaimer on is deleted and replaced by the new plan. If the disclaimer is not found, the new plan is appended to the old notes. This way we make sure no information gets automatically deleted. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-04-20Show % after Büllmanns GFsGravatar Jan Mulder
2 strings in the planner output showed based on "Bühlmann ZHL-16B with GFLow = " gradient factors without % after the factor. While this is fine for an abbreviated form like GF 40/80, this looks strange for a verbose sentence like the 2 corrected ones. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-20Support for new DM5 blob formatGravatar Miika Turkia
Currently we do not know what the extra data in the sampleBlob is, but the block size must be adjusted nevertheless. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-18Attempt latin1 parsing on importGravatar Miika Turkia
We parse input XML using UTF-8 encoding by default. If this fails, try latin1 instead. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-16Handle notes from plannerGravatar Stefan Fuchs
New strategy to identify old planner output in notes when replanning a dive: Text anchors ("*!*" and "***") added for planner output For backwards compatibility: If there is no anchor but an old table delete everything. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-13Cleanup some unnecessary include statementsGravatar Jef Driesen
Some of these header files are no longer necessary, and will be removed from libdivecomputer in the near future. Signed-off-by: Jef Driesen <jef@libdivecomputer.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-13Fix building against upstream libdivecomputerGravatar Jef Driesen
The custom_serial.h header doesn't exist in upstream libdivecomputer. Signed-off-by: Jef Driesen <jef@libdivecomputer.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>