subsurface/core
Linus Torvalds f2a6a76b3e Fix up o2 pressure sensor handling at load time
Because of how we traditionally did things, the "o2pressure" parsing
depends on implicitly setting the sensor index to the last cylinder that
was marked as being used for oxygen.

We also always defaulted the primary sensor (which is used for the
diluent tank for CCR) to cylinder 0, but that doesn't work when the
oxygen tank is cylinder 0.

This gets that right at file loading time, and unifies the xml and git
sample parsing to make them match. The new defaults are:

 - unless anything else is explicitly specified, the primary sensor is
   associated with the first tank, and the secondary sensor is
   associated with the second tank

 - if we're a CCR dive, and have an explicit oxygen tank, we associate
   the secondary sensor with that oxygen cylinder.  The primary sensor
   will be switched over to the second cylinder if the oxygen cylinder
   is the first one.

   This may sound backwards, but matches our traditional behavior where
   the O2 pressure was the secondary pressure.

This is definitely not pretty, but it gets our historical files working
right, and is at least reasonably sensible.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-21 16:34:33 -07:00
..
subsurface-qt QML UI: DiveList: add date box to trip header 2017-06-24 13:13:04 -07:00
android.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
btdiscovery.cpp BLE on iOS: use uuid instead of BT address 2017-07-19 06:21:23 -07:00
btdiscovery.h Add ConnectionListModel 2017-07-16 21:53:44 -07:00
checkcloudconnection.cpp Typo of translated string 2017-06-23 07:55:58 +09:00
checkcloudconnection.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
cloudstorage.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
cloudstorage.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
CMakeLists.txt Very early and likely quite broken BLE GATT code 2017-06-24 21:58:01 -07:00
cochran.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Display gas density instead of SAC in planner 2017-05-26 15:52:04 -07:00
color.h Display gas density instead of SAC in planner 2017-05-26 15:52:04 -07:00
compressibility.r Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
configuredivecomputer.cpp Switch over to SSRF_CUSTOM_IO v2 2017-06-27 13:58:15 -07:00
configuredivecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
configuredivecomputerthreads.cpp Fix some warnings 2017-05-06 11:12:28 -07:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
datatrak.c datatrak.c: don't use POSIX %m format for sscanf() in dtrak_prepare_data() 2017-06-11 15:56:41 -07:00
datatrak.h Datatrak import rework: Add another memory size ckeck 2017-05-07 07:48:12 -07:00
deco.c Adopt planner state caching to new struct 2017-05-26 15:44:36 -07:00
deco.h Assemble global state of planner in a struct 2017-05-26 15:44:36 -07:00
device.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
device.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
devicedetails.cpp Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
dive.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
dive.h Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
divecomputer.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divelist.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
divelist.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
divelogexportlogic.cpp Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
divelogexportlogic.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesite.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesite.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesite.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesitehelpers.cpp Make compile with Qt developer builds 2017-07-06 12:43:42 +09:00
divesitehelpers.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
downloadfromdcthread.cpp Correct list of Shearwater BLE dive computers 2017-07-19 06:21:23 -07:00
downloadfromdcthread.h QML UI: remove the Paired Bluetooth Devices virtual vendor 2017-07-18 00:49:31 -07:00
equipment.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
exif.cpp Image import: Make Exif handling more tolerant, better info,... 2017-05-06 08:07:16 -07:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c Unify sample pressure and o2pressure as pressure[2] array 2017-07-20 17:32:54 -07:00
file.h Datatrak import rework: changes of file.c and file.h 2017-05-07 07:48:12 -07:00
gas-model.c Compute and display gas density 2017-05-26 15:52:04 -07:00
gaspressures.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
gaspressures.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
git-access.c Clean up git storage update messages 2017-06-18 01:00:30 -07:00
git-access.h Clean up git storage update messages 2017-06-18 01:00:30 -07:00
gpslocation.cpp Check if we have an instance before dereferencing it 2017-05-06 11:12:07 -07:00
gpslocation.h Check if we have an instance before dereferencing it 2017-05-06 11:12:07 -07:00
helpers.h Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
imagedownloader.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
imagedownloader.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
isocialnetworkintegration.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
isocialnetworkintegration.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
libdivecomputer.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
libdivecomputer.h QML UI: add dev_info data to AppLog 2017-07-09 12:50:22 -07:00
linux.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
liquivision.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
load-git.c Fix up o2 pressure sensor handling at load time 2017-07-21 16:34:33 -07:00
macos.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
membuffer.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
membuffer.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
parse-xml.c Fix up o2 pressure sensor handling at load time 2017-07-21 16:34:33 -07:00
planner.c Unify sample pressure and o2pressure as pressure[2] array 2017-07-20 17:32:54 -07:00
planner.h Move planner notes to separate file 2017-05-26 15:44:36 -07:00
plannernotes.c Move planner notes to separate file 2017-05-26 15:44:36 -07:00
pluginmanager.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
pluginmanager.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
pref.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
prefs-macros.h Wire up duration units preference UI 2017-05-06 13:49:36 -07:00
profile.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
profile.h Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
qt-ble.cpp Trivial code cleanup 2017-07-11 17:11:49 +02:00
qt-ble.h iOS build: need to more includes 2017-07-19 06:21:23 -07:00
qt-gui.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
qt-init.cpp Don't warn about missing en-US translation for Qt 2017-07-03 13:29:25 -07:00
qthelper.cpp Translate "more than n days" for surface interval 2017-06-23 22:43:39 +09:00
qthelper.h Merge branch 'seabear-refactor' 2017-05-07 07:52:55 -07:00
qthelperfromc.h Move planner notes to separate file 2017-05-26 15:44:36 -07:00
qtserialbluetooth.cpp BLE serial read/write buffer 2017-07-19 11:12:35 +09:00
save-git.c Fix up o2 pressure sensor handling at load time 2017-07-21 16:34:33 -07:00
save-html.c Unify sample pressure and o2pressure as pressure[2] array 2017-07-20 17:32:54 -07:00
save-html.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
save-xml.c Fix up o2 pressure sensor handling at load time 2017-07-21 16:34:33 -07:00
serial_ftdi.c Fix one call site that hadn't been updated 2017-06-27 21:24:00 -07:00
sha1.c Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
sha1.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
statistics.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
statistics.h Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
strndup.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
strtod.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
subsurfacestartup.c Set default cloud timeout to ten seconds for mobile app 2017-06-17 22:56:08 -07:00
subsurfacestartup.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
subsurfacesysinfo.cpp Random whitespace cleanup 2017-05-27 11:07:20 -07:00
subsurfacesysinfo.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
taxonomy.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
taxonomy.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
time.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
uemis-downloader.c Resolve type confusion 2017-07-17 16:50:03 -07:00
uemis.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
uemis.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
units.h Adopt O2 and He densities to 20degC 2017-05-26 15:52:04 -07:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
windowtitleupdate.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windowtitleupdate.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00