subsurface/core
Robert C. Helling e794efaba6 Allow for more O2 sensors
The Divesoft Liberty has four O2 sensors. So far, we had a hard coded
limit of three sensors and crashed with a failed assert when we
encoutered more than three. This allows for up to
MAX_O2_SENSORS which is currently 6. The voting logic is adapted
accordingly: We sort the values and we keep deleting the values that
differ more than 20% by value from the closest. This follows what
Shearwater implements on their computers.

In some of the import/export functions the value is still hard
coded to 6 thanks to explicit field names.

Signed-off-by: Robert C. Helling <helling@lmu.de>
2024-01-23 19:24:53 +01:00
..
settings Equipment: Include Unused Tanks in Merge if Preference is Enabled. 2023-07-25 11:19:03 +12:00
subsurface-qt selection: move dive selection, current dive and dc through signals 2023-04-16 20:23:59 +02:00
android.cpp core: use C++ std::strings for default directory and filename 2023-06-03 12:54:24 +02:00
btdiscovery.cpp Add BLE detection for the Aqualung i330R and Apeks DSX 2023-11-04 23:03:09 +13:00
btdiscovery.h bluetooth discovery: report more information about progress 2020-09-30 16:40:41 -07:00
checkcloudconnection.cpp remove app uuid 2024-01-07 16:01:55 -08:00
checkcloudconnection.h cloudstorage: try alternative server if first connection fails 2021-04-19 12:51:01 -07:00
cloudstorage.cpp mobile: add ability to delete cloud account 2022-08-13 14:08:37 -07:00
cloudstorage.h mobile: add ability to delete cloud account 2022-08-13 14:08:37 -07:00
CMakeLists.txt core: use C++ std::strings for default directory and filename 2023-06-03 12:54:24 +02:00
cochran.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
cochran.h
color.cpp profile: rename GF_LINE color to DURATION_LINE 2021-05-08 13:40:24 +02:00
color.h cleanup: prevent distracing conversion warnings 2022-03-12 08:28:32 -08:00
compressibility.r
configuredivecomputer.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
configuredivecomputer.h cleanup: silence std::move()-related Coverity warnings 2024-01-15 15:11:36 -08:00
configuredivecomputerthreads.cpp Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
configuredivecomputerthreads.h Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c core: use divelog struct in downloader code 2023-04-14 21:20:23 +02:00
datatrak.h
deco.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
deco.h planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
device.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
device.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
devicedetails.cpp Cleanup: Remove 'data' field from 'DeviceDetails'. 2023-01-31 10:54:39 +01:00
devicedetails.h Cleanup: Remove 'data' field from 'DeviceDetails'. 2023-01-31 10:54:39 +01:00
dive.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
dive.h Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
divecomputer.c profile: register event names on creation of events 2023-02-17 06:46:46 -08:00
divecomputer.h core: add make_manually_added_dc() function 2022-10-21 16:51:57 -07:00
divefilter.cpp cleanup: silence std::move()-related Coverity warnings 2024-01-15 15:11:36 -08:00
divefilter.h filter: set dive selection at once 2023-04-16 20:23:59 +02:00
divelist.c Desktop: Simplify the get_dive_gas() function. 2023-10-20 17:16:05 +02:00
divelist.h core: use divelog in importDives() and process_imported_dives() 2023-04-14 21:20:23 +02:00
divelog.cpp divelog: fix erroneous use of std::move() 2023-04-18 13:15:50 +02:00
divelog.h core: use divelog struct in downloader code 2023-04-14 21:20:23 +02:00
divelogexportlogic.cpp cleanup: remove unused variable 2022-09-03 13:49:02 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp
divesite.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divesite.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divesitehelpers.cpp cleanup: replace QRegExp with QRegularExpression 2021-10-27 12:33:20 -07:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp Import: Add option to sync time on dive computer download 2023-04-17 07:56:02 -07:00
downloadfromdcthread.h Import: Add option to sync time on dive computer download 2023-04-17 07:56:02 -07:00
equipment.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
equipment.h cylinders: add cylinder before hidden cylinders 2021-12-13 11:54:24 -08:00
errorhelper.c clean up logging, and add error reports to it too 2022-08-31 13:58:34 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
event.c profile: register event names on creation of events 2023-02-17 06:46:46 -08:00
event.h profile: redo eventname handling 2023-02-17 06:46:46 -08:00
eventname.cpp Desktop: Consider Severity when Hiding Events. 2023-08-04 01:11:12 +12:00
eventname.h Desktop: Consider Severity when Hiding Events. 2023-08-04 01:11:12 +12:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
file.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
file.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
filterconstraint.cpp core: use range-based for loops in filterconstraints 2022-10-30 21:57:44 +01:00
filterconstraint.h filter: add tank size filter constraint 2020-10-03 10:29:15 -07:00
filterpreset.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
filterpreset.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
format.cpp cleanup: silence std::move()-related Coverity warnings 2024-01-15 15:11:36 -08:00
format.h
fulltext.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
fulltext.h fulltext: remember original query 2020-09-29 16:13:03 -07:00
gas-model.c Show correct gas density in CCR mode 2022-11-08 10:43:47 -08:00
gas.c gases: fill result of isobaric_counterdiffusion() on early return 2024-01-16 14:22:16 -08:00
gas.h Show correct gas density in CCR mode 2022-11-08 10:43:47 -08:00
gaspressures.c core: fold display.h into profile.h 2022-03-13 15:07:33 -07:00
gaspressures.h cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gettext.h
gettextfromc.cpp
gettextfromc.h
git-access.c additional git error info 2023-12-29 14:20:52 -08:00
git-access.h some explanations for the different servers 2023-12-29 14:20:52 -08:00
globals.cpp core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
globals.h core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
imagedownloader.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
imagedownloader.h
import-cobalt.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
import-csv.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-csv.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-divinglog.c core: use divelog struct in parser state 2023-04-14 21:20:23 +02:00
import-seac.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
import-shearwater.c core: use divelog struct in parser state 2023-04-14 21:20:23 +02:00
import-suunto.c core: use divelog struct in parser state 2023-04-14 21:20:23 +02:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp core: use C++ std::strings for default directory and filename 2023-06-03 12:54:24 +02:00
libdivecomputer.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
libdivecomputer.h Import: Add option to sync time on dive computer download 2023-04-17 07:56:02 -07:00
liquivision.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
load-git.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
macos.cpp Build: Fix build warning on MacOS. 2023-06-12 08:04:30 -07:00
membuffer.cpp core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
membuffer.h core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
metadata.cpp cleanup: fix SkipEmptyParts warning for mobile 2021-11-24 10:53:26 -08:00
metadata.h
metrics.cpp core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
metrics.h core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
namecmp.h Qt6: deal with changes from QStringRef to QStringView 2022-03-12 08:28:32 -08:00
ostctools.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
owning_ptrs.h core: make owning pointers a top-level features 2023-04-16 20:23:59 +02:00
parse-gpx.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
parse-gpx.h cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
parse-xml.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
parse.c core: use divelog struct in parser state 2023-04-14 21:20:23 +02:00
parse.h core: use divelog struct in parser state 2023-04-14 21:20:23 +02:00
picture.c pictures: make delta-time a 64-bit int 2024-01-15 15:11:36 -08:00
picture.h pictures: make delta-time a 64-bit int 2024-01-15 15:11:36 -08:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c Planner: Increase CCR Setpoint Precision to 0.01. 2024-01-02 10:28:30 -08:00
planner.h Standardised how divedatapoints are created. 2023-02-17 10:53:04 +01:00
plannernotes.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
pref.c Equipment: Include Unused Tanks in Merge if Preference is Enabled. 2023-07-25 11:19:03 +12:00
pref.h Equipment: Include Unused Tanks in Merge if Preference is Enabled. 2023-07-25 11:19:03 +12:00
profile.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
profile.h Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
qt-ble.cpp Add BLE detection for the Aqualung i330R and Apeks DSX 2023-11-04 23:03:09 +13:00
qt-ble.h Qt6: Bluetooth API changes 2022-03-12 08:28:32 -08:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp translations: fix Portuguese parent translation 2022-03-27 17:11:05 -07:00
qthelper.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
qthelper.h remove app uuid 2024-01-07 16:01:55 -08:00
qtserialbluetooth.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
range.h cleanup: use range based for in download code 2023-04-14 21:20:23 +02:00
sample.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
sample.h Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
save-git.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
save-html.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c Allow for more O2 sensors 2024-01-23 19:24:53 +01:00
selection.cpp selection: move current dc logic to profile widget 2023-04-16 20:23:59 +02:00
selection.h selection: move current dc logic to profile widget 2023-04-16 20:23:59 +02:00
serial_ftdi.c core: fix libdivecomputer dc_custom callbacks structures 2020-06-18 09:05:13 -07:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c Equipment: Fix 'used' Gas Selection for CCR Dives. 2023-07-25 12:05:51 +12:00
statistics.h cleanup: move minute formating to format-string.cpp 2022-09-03 13:49:02 -07:00
string-format.cpp cleanup: remove pointless idle comment in string-format.cpp 2023-03-28 20:39:02 -07:00
string-format.h cleanup: move formatting of gas type to string-format.cpp 2023-03-28 20:39:02 -07:00
strndup.h
strtod.c
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-float.h core: move floating point functions to own header file 2022-08-30 22:34:38 +02:00
subsurface-string.h core: move floating point functions to own header file 2022-08-30 22:34:38 +02:00
subsurface-time.h cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
subsurfacestartup.c update copyright year and version details 2024-01-07 16:01:55 -08:00
subsurfacestartup.h cleanup: move application flags to core/subsurfacehelper.h 2020-10-25 13:59:52 -07:00
subsurfacesysinfo.cpp cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
subsurfacesysinfo.h cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
taxonomy.h cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
time.c trivial: remove obscure division-assignment operator 2022-08-01 11:30:53 -07:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c selection: avoid select_dive() and deselect_dive calls in dive list 2023-04-16 20:23:59 +02:00
trip.h selection: avoid select_dive() and deselect_dive calls in dive list 2023-04-16 20:23:59 +02:00
uemis-downloader.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
uemis.c Fedora Rawhide builds fail without stdlib include 2023-12-04 12:55:10 -08:00
uemis.h
units.c core: return floating point from to_PSI() functions 2021-12-17 11:54:23 -08:00
units.h Deal with negative variation times 2022-06-04 14:19:05 -07:00
unix.cpp core: use range based for and std::string in enumerate_devices() 2023-06-03 12:54:24 +02:00
uploadDiveLogsDE.cpp Equipment: Include Unused Tanks in Merge if Preference is Enabled. 2023-07-25 11:19:03 +12:00
uploadDiveLogsDE.h export: clean up temp file after divelogs.de upload 2021-08-06 11:05:06 -07:00
uploadDiveShare.cpp Qt6: update the connect calls for QNetworkReply 2022-04-18 07:24:39 +02:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c Complete redesign of Subsurface version numbers 2024-01-06 10:55:24 -08:00
version.h retire the mobile version 2024-01-06 10:55:24 -08:00
videoframeextractor.cpp cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
videoframeextractor.h
webservice.h
windows.cpp core: more std::[w]string conversions in windows.cpp 2023-06-03 12:54:24 +02:00
windowtitleupdate.cpp
windowtitleupdate.h
worldmap-options.h
worldmap-save.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmlparams.cpp core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmlparams.h core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h