Fix dc nickname helper function

This helper function is used to get a nickname for a dive computer, when
the model information on its own may be ambiguous (ie there may be
multiple dive computers of the same model, and we've nicknamed them by
owner).

However, the helper did completely the wrong thing if it didn't find a
dive computer entry at all due to a missing device ID - it would just
return empty.  Which is bogus: it should return the model name, the same
way it does if the nickname is missing.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Correctly place the first gas label in drop to bottom mode

When dropping to the bottom in plan (and add) mode, the gas label was
placed along the diagonal line from (0,0) to the second dive data point
(i.e. the one at the end of the "at deptch" segment). That looks terrible,
the label needs to be along the segment that we are spending at the
bottom.

This patch fixes that problem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fix compability with libdivecomputer < 0.5.0

hw_ostc_device_fwupdate was introduced after 0.4.2 so ifdef it to
libdivecomputer >= 0.5.0. The scope of users interested in this feature
probably isn't big enough to justify a bump of our dependencies to a
unreleased version of libdivecomputer.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Dereference the right pointer in fw update slot

This fixes a copy-paste error, dereferencing the wrong pointer in the
slot that gets called when the firmware update thread has run.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Check return value after firmware updates

This reports back a error to the user if the firmware update failed.

We should re-wire this to have a log-function that gets called from
libdivecomputer via the context to get an actual error message.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Set dctype of dives with pO2 setpoint information to CCR.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Take water vapor pressure into account again for deco

In the transition to the partial pressure helper function,
the water vapor component of the breathing gas had been dropped.
This had a significant effect on deco times for deep dives.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Support for importing Poseidon MK6 logs

This patch adds support for importing the logs from a Poseidon MK6
rebreather. This DC produces logs that contain of a .txt file that has
all the meta data and a .csv file that contains the sample readings. The
CSV file is different from the others in that it has a line per each
sample reading at given time. Thus we have to merge all the lines from
one point in time into one sample reading of ours.

[Dirk Hohndel: addressed some compiler warnings]

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Make the buffers const char *

Addresses a warning, but also seems more correct.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
MainWindow: prevent a possible crash on "re-plan"

MainWindow::on_actionReplanDive_triggered():

If a dive in the divelist does not have a "DC Model" for some reason,
selecting "re-plan" from the menu will pass a NULL value
current_dive->dc.model to strcmp() and break before the debug output.

To fix that we check if the said .model value is NULL.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
configuredivecomputerdialog.ui: fix a UIC warning

"gridLayout_1" is used twice. Re-order the grid layouts as 1, 2, 3.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
globe.cpp: fix a NO_MARBLE warning

Make eventFilter() return a value for NO_MARBLE.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
divelogexportdialog.cpp: fix a 'uninitialized variable' warning

DiveLogExportDialog::export_depths()

We set a default value of 'unit' which will silence the warning itself.
Then hope that the compiler will respect the argument order i.e. call
get_depth_units() (which sets 'unit') before using *unit as the last
argument passsed to put_format().

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
deco.c: remove unused variables in add_segment()

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
profile.c: remove unused variables in calculate_ccr_po2()

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
profile.c: remove a variable which is set but not used

fill_o2_values():
struct gas_pressures *pressures;

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
divelistview.cpp: move a variable in a Q_OS_MAC branch

Not used on other OS and triggers a warning.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Do not zero setpoint value when duplicate

We cannot zero setpoint value upon import if the current and previous
values are zero. This is because on setpoint context a value of 0 means
open circuit.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Set old setpoint value, if new one is not recorded

Since the setpoint value is initialized as zero, we have to set the
previous value if we do not have a current reading.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Quiet some warnings

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>