Commit graph

532 commits

Author SHA1 Message Date
Linus Torvalds
41bbae31f5 xml: save the right sensor pressure when we have multiple sensor readings
The XML saving code got the multi-sensor case completely wrong, because
it still had one place where it would always save the first pressure,
rather than the pressure from the right sensor.

This was hidden by the fact that old data would be saved using the
legacy model that only ever used the first sensor slot.  Only if you
actually had multiple sensor slots used would the bug trigger.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-15 16:28:07 +02:00
Miika Turkia
a8ce78bf77 Refine cylinder usage tests
Consider cylinder used also if the first and last sample pressure differ
enough

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-14 07:33:55 +02:00
Linus Torvalds
6769e21441 Make the info window show all the pressures we have
We used to only show the first pressure we had, from back when we only
supported a single sensor.

Reported-by: Stefan Fuchs <sfuchs@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-13 14:05:26 -07:00
Miika Turkia
5afa5ed9f1 Detect dive mode on Shearwater DB import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-13 14:04:31 -07:00
Seppo Takalo
850917d41d Don't assume CCR mode when importing from Shearwater
Logic was assuming CCR mode if field "averagePPO2" was present.

Signed-off-by: Seppo Takalo <seppo.takalo@iki.fi>
2017-09-13 07:57:45 -07:00
Seppo Takalo
ba854a8cc5 Fix cylinder changes when importing from Shearwater database
Re-do the logic to use add_gas_switch_event() instead of creating event
manually.

Fix the SQL query to find the proper dive id from dive log number.

Signed-off-by: Seppo Takalo <seppo.takalo@iki.fi>
2017-09-13 07:57:45 -07:00
Seppo Takalo
83c9ad35a6 Fix Shearwater cylinder detection logic
Fix the SQL query to find proper dive id instead of assuming log number to
be the same as id.

Signed-off-by: Seppo Takalo <seppo.takalo@iki.fi>
2017-09-13 07:57:45 -07:00
Seppo Takalo
6509f2ed9f Ignore missing pressure values when importing from Shearwater
Shearwater seems to report missing AI sensors as a pressure reading
4092 (raw) which is 564 bar.

Signed-off-by: Seppo Takalo <seppo.takalo@iki.fi>
2017-09-13 07:57:45 -07:00
Miika Turkia
e25cecf37c Inform user if there was no dive profile in DL7/ZXU file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:21:43 -07:00
Miika Turkia
40cc0b0e4b Import dive number from DL7 log
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:21:43 -07:00
Miika Turkia
5b5cab2905 Do not merge dives with zero duration
As these are probably manually entered dives with incomplete data, it is
better not to merge them.

See #561

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:19:57 -07:00
Miika Turkia
25fc72e22f Do not save non-existent time
Note that git storage still encodes the time into file name.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:19:57 -07:00
Miika Turkia
d7c89a79f8 Do not save duration if it is zero
See #561
2017-09-11 07:19:57 -07:00
Miika Turkia
15ef53fb80 Do not save heartbeat to XML if it has not changed
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:19:57 -07:00
Miika Turkia
643085f992 Do not save bearing to XML if it has not changed
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-11 07:19:57 -07:00
Dirk Hohndel
9576a9ba8a Add Cochran dive computers to FTDI list
Based on information from John Van Ostrand <john@vanostrand.com>.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-06 08:35:39 -07:00
John Van Ostrand
866a25f90e Implemented serial_set_break for FTDI
Setting break is required to wake up Cochran DCs (it doesn't make
sense to me, but it's needed).

Signed-off-by: John Van Ostrand <john@vanostrand.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-06 08:30:48 -07:00
John Van Ostrand
166eb17ac2 Changed serial_ftdi flush to a reset if DC_DIRECTION_ALL
The USB reset flushes both buffers, but it also solves a problem
waking up a Cochran DCs.

Signed-off-by: John Van Ostrand <john@vanostrand.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-06 08:30:40 -07:00
John Van Ostrand
928621357c Changed backoff strategy for short reads.
Back off was exponential starting at 10ms, which for high baud
rate and no flow-control connections might cause buffer overrun.
This was causing problems when reading Cochran DCs, the hearbeat
byte was being missed.

Signed-off-by: John Van Ostrand <john@vanostrand.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-06 08:30:21 -07:00
Jan Mulder
9a2d503d3b Unify credential states
Having two different enums around with more or less the same
definition has lead to unclear code. After removing two not needed
states on the mobile end, the remaining step to one enum for the
credential state becomes almost is simple rename operation.

Unfortunately, I do not know a way to embed a plain C enum
from pref.h into the QMLManager object. So after this, there
are still 2 enums around, but now identical.

This commit is not changing any functionality.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-04 07:38:30 -07:00
Marc Arndt
48ff047086 adding comments as advised 2017-08-29 06:50:18 -07:00
Marc Arndt
90b9b61ba3 fixing indentation 2017-08-29 06:50:18 -07:00
Marc Arndt
ac7e60b456 Ignore Divesoft Button Press Events
Prevent button press events from showing on the profile
graph when we import divesoft DLF files.

Reported-by: Marc Arndt
Signed-off-by: Marc Arndt <marc@marcarndt.com>
2017-08-29 06:50:18 -07:00
Robert C. Helling
aed5b7d267 Show variations in Runtime string
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
2832141d2c Compute variations of plans
Print out partial derivatives of stop times with respect to
variation of depth and duratin of last manual segment.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
e6545a7b0f Store a table of deco stops in planner
... in addition to struct diveplan which combines all kinds
of information

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
456e2cec89 Cache all Buehlmann factors
not just the last one.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
515b7b5fea Allow for o2 breaks in binary search stop time finder
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
33fa336be6 Find deco stop time by binary search instead of iteration
This allows to go to much smaller granularity without severe
performance penalty. It should also increase performance for
long decompression times.

Currently this leads to missing cached tissue factors, the caching
has to be adopted to this.

Also, for the time being this breaks the bottom gas breaks feature.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
82aac4efff Make plan take dive and decotimestep as arguments
...rather than use a global variable and a macro.

This should be a no-op in preparation to allow planning
several versions of a dive.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Robert C. Helling
58d7948871 Change color to red if minimum gas is violated.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29 06:49:44 -07:00
Dirk Hohndel
2d405a1ebb Another signed/unsigned warning
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 14:53:59 -07:00
Dirk Hohndel
0c410aaf5d Adjust signature to match data we need
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 12:27:12 -07:00
Dirk Hohndel
ea8de175a7 Remove unused function
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 12:19:48 -07:00
Dirk Hohndel
abc6c7d2b3 Assignment instead of test for equality
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 12:17:19 -07:00
Dirk Hohndel
a8194fddc5 Time is unsigned here
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 12:15:43 -07:00
Dirk Hohndel
0813d2168a Remove some unused variables
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 12:14:46 -07:00
Dirk Hohndel
d6c013f303 Hide signed/unsigned comparison warning
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 09:38:52 -07:00
Miika Turkia
fb151df883 Shearwater Perdix
Reportedly the case 2 corresponds to Perdix, so it might be that both
Petrel and Perdix use same model number (or the model is mistaken
before).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-24 13:06:50 -07:00
Miika Turkia
a20aa850da Support for air pressure on Shearwater Desktop import
Fixes #548

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-24 13:06:50 -07:00
Miika Turkia
7d22b52afc Grab correct dive number on Shearwater Desktop import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-24 13:06:50 -07:00
Dirk Hohndel
5de49401c8 Improve error message when opening dive computer fails
Instead of the (usually incorrect) text about insufficient privileges,
just mention a generic error and suggest that the user creates a
libdivecomputer log file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-21 08:13:19 -07:00
Linus Torvalds
6554e4f21e Update the OSTC dive computer configuration to use the generic 'timesync' interface
Jef made the OSTC interface be a generic 'dc_device_timesync()' and so
the old OSTC-specific code doesn't exist any more.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-20 21:03:52 -07:00
Jan Mulder
a072c635bc fix weights rounding
Simplify and fix prestation of weights. Due to the attempt to round
only the grams part (by just adding 50 to it, and truncating
afterwards) a weird effect was introduced. For example, a value
0.98 was presented as 0.10. Just replay the old logic, and see
what happens. Rewrote the logic to a simpler and better one.

fixes: #532

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-08-10 09:13:26 -07:00
Anton Lundin
9f290dcdb0 DLF: Parse more measurements, import GPS
This add support for parsing more measurements, and now imports GPS data
to.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10 09:09:53 -07:00
Anton Lundin
070c7e545b DLF: Parse Divesoft Liberty data better
There is something with ndl / tts / temp in the Liberty DLF files. If
that bit is set, the values are bogus. There is something more to it
here which I haven't figured out.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10 09:09:53 -07:00
Anton Lundin
8f6f9cd39d DLF: Parse diluent changes as a gaschange event
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10 09:09:53 -07:00
Anton Lundin
f0303802dd DLF: Import setpoint changes.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10 09:09:53 -07:00
Anton Lundin
366ad82a98 DLF: Restructure loop into a for loop
We always step forward 16 bytes, so make it a for loop so a continue
won't throw us into a eternal loop.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10 09:09:53 -07:00
Anton Lundin
d77de11a1d configure ostc3: Correct code for right button
Back when I wrote this code I made a typo. This fixes it.

Reported-By: Alexander Gottwald <jugendtrainingtsck@gmail.com>
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-04 09:50:44 -07:00