This includes all the data computer related data within the divecomputer
tag. All the extra noise is just indentation (apart from moving the
divecomputer end tag).
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Next commit will do indentation so this one will keep it clear of what
actually occurs.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Rounding always up should give us sensible sample interval as EON Steel
adds extra samples.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The logic to select samples from EON Steel for divelogs.de export is the
following:
- Ignore sample at time zero, as that is surface, and the second "odd"
sample contains information we are interested in
- Grab the second sample, first sample with pressure and temperature
readings
- Grab the third sample - "grand parent" is 0, thus our first interval
sample
- Grab the samples when the predecessor (or grand parent) is at least 10
seconds away
This logic seems to produce reasonable results when exporting EON Steel
logs to divelogs.de. Naturally there might be corner cases, that are not
taken into account, but this basic logic seems reasonable in normal
cases. (Unfortunately analysis is done based on a single dive.)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This sets the Suunto EON Steel sample interval to 10 seconds when
exporting to divelogs.de.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The old behavior was kind of crude. Just smack the tags that were on the
displayed dive on all selected dives.
This seems to make more sense. We figure out which tags were added to the
displayed dive and add them to all selected dives. And we remove all tags
that were removed from the displayed dive from all selected dives.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
taglist_added() simply figures out the tags that are in the new list but
not in the original list.
taglist_dump() makes debugging things easier.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The old behavior was kind of crude. Just smack the tags that were on the
displayed dive on all selected dives.
This seems to make more sense. We figure out which tags were added to the
displayed dive and add them to all selected dives. And we remove all tags
that were removed from the displayed dive from all selected dives.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
taglist_added() simply figures out the tags that are in the new list but
not in the original list.
taglist_dump() makes debugging things easier.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This adds text to the following sections:
1) Dive planner (Open circuit planning)
2) Dive Planner (Recreational OC planning)
3) Use of hashes to move images between directories
4) Undo/Redo feature of dive list manipulations
One image in planner text is modified.
Signed-off-by: willem ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Rounding always up should give us sensible sample interval as EON Steel
adds extra samples.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The logic to select samples from EON Steel for divelogs.de export is the
following:
- Ignore sample at time zero, as that is surface, and the second "odd"
sample contains information we are interested in
- Grab the second sample, first sample with pressure and temperature
readings
- Grab the third sample - "grand parent" is 0, thus our first interval
sample
- Grab the samples when the predecessor (or grand parent) is at least 10
seconds away
This logic seems to produce reasonable results when exporting EON Steel
logs to divelogs.de. Naturally there might be corner cases, that are not
taken into account, but this basic logic seems reasonable in normal
cases. (Unfortunately analysis is done based on a single dive.)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This sets the Suunto EON Steel sample interval to 10 seconds when
exporting to divelogs.de.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Oops, we left the (UEMISSDA) in the path. This can never have worked
without the user manually correcting it to just show the drive letter.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
I don't quite understand why these functions were removed for Qt5.4, but
this causes the build to break with Qt5.4.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Sometimes we get a sensor number of 255 - which gets turned into a tank
index and then causes all kinds of havoc. Simply refuse to use a tank
number larger than the maximum Subsurface has been compiled for.
Oh, and use consistent variables to handle these unsigned 8 bit integers.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
A complete batch of divelog and dive data takes about 20% of the available
space (depending on how long those dives are). This is a hack and I can
see this potentially going wrong, but the alternative is to be even more
conservative and that has its own set of problems as it causes us to need
more "unplug, wait, plug in again and restart" cycles.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This looks like a fairly big change but it mostly just moves a block of
code inside an earlier loop and adjust a few variables around it.
The completely broken and insane Uemis download protocol distributes data
across different "databases" on the dive computer. The "divelogs" are
downloaded in batches of 10 (most of the time), and with this change every
time one of those batches is downloaded we straight away get the matching
"dive" entries.
Hopefully this will avoid having the download abort (for lack of space)
before all components are loaded.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This caused us to not read the auxiliary information for up to the last
ten dives that were downloaded from the SDA.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
If the user hits retry from within the download dialog, the dive list
might still be empty but we still have to look for the best point to
restart.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
When we run out of space in the Uemis filesystem we return an error. The
user could reasonably unplug the SDA, insert it again and then retry to
continue the download (that's what we tell them to do). In that case we
need to make sure we start at the correct dive otherwise the same dives
keep getting downloaded over and over again.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The dialog didn't accept "OK" and store the dives downloaded / selected so
far if there had been an error. Especially with partial downloads from the
Uemis SDA this is something that is quite reasonable to want to do, so
allow exiting the dialog with OK even after an error.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We do a good job in the fixup_dive() code to make sure we don't add long
surface tails to the dives, so don't try too hard to guess the correct
last sample in the Uemis specific code.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This unbreaks the qmake build system by adding urldialog.ui there. Yes,
i know we're planning on switching away but i still build things via
qmake and its nice if it works until we actually remove it.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This adds a default case which just errors out for the switch over
dc_family_t instead of checking a uninitialized variable if this was
ever called with something else than one of the expected dc-family
types.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instead of writing each dive out to a file and reading that file back in,
let's just use the internal helper function that places the dive as XML
into a membuffer.
So much simpler, so much faster.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
save_one_dive_to_mb() is very useful (but there was a namespace collision
with another helper in save_git.c)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>