Commit graph

66 commits

Author SHA1 Message Date
jan Iversen
80be2b570b backend-shared: add slot to detect switch METER <-> FEET
This allows to update plannermodel etc. and thus avoiding a restart when
changing units for length.

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-04 10:56:55 -08:00
jan Iversen
694fcffa6e backend: correct deco2() problem in plannerShared
Divided by 1000 (int) instead of 1000.0 (float)
which caused precision problems.

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-31 04:32:34 +09:00
jan Iversen
b7730d3813 backendShared: correct set_verbatim_plan in plannerShared.
Correct copy/paste error, set_verbatim_plan() should not call
setSacFactor() but setVerbatim().

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-30 04:46:57 +09:00
jan Iversen
b6b514ea86 planner: correct rating calculations.
Test show that the ratings calculations were off by +/- 1, due
to rounding errors. Found due to test cases in tests (other commits)

The calculations are copied 1-1 from diveplanner.cpp, but are
used slightly different in plannerShared.cpp

Correct calculations, by securing the calculation is done
with float precision and the rounded with lrint().

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-28 06:53:12 +09:00
jan Iversen
55d856b0fd plannerShared: add notes variables
Add
	display_runtime
	display_duration
	display_transitions
	verbatim_plan
	display_variations

Get is direct from qPrefDivePlanner and set is plannerModel

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 09:59:19 -08:00
jan Iversen
738ee360ba desktop-widgets: replace o2narcotic from plannerModel to plannerShared
Use plannerShared setter to update o2narcotic. This will also signal
the cylindermodel to calculate a new bestmix.

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 09:58:21 -08:00
jan Iversen
c4d9b737cd plannerShared: add o2narcotic
Add include of cylinderModel
Add o2narcotic

the set function is special because it first
informs the plannerModel that there is a new value
and then ask cylindermodel to calculate a new bestmix

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:46:01 -08:00
jan Iversen
d8780fdd89 plannerShared: add variables from plannerModel
the variables are set through set functions in DivePlannerPointsModel,
but read via getters from qPrefDivePlanner.

Variables:
bottomsac
decosac
problemsolvingtime
sacfactor

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:41:07 -08:00
jan Iversen
5b9014aeb7 plannerShared: add variables from plannerModel with conversion
the variables are set through set functions in DivePlannerPointsModel,
but read via getters from qPrefDivePlanner and converted

Variables:
min_switch_duration

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:39:58 -08:00
jan Iversen
0a7e673c5f plannerShared: add variables that reference qPrefDivePlanner
These are simple pass-through functions (normally optimized away
by the compiler), and serve to make a consistent backend interface
which have a simpler use especially in QML.

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:39:39 -08:00
jan Iversen
6f3d1d3747 plannerShared: add variables from plannerModel
the variables are set through set functions in DivePlannerPointsModel,
but read via getters from qPrefDivePlanner.

Variables:
drop_stone_mode
last_stop
switch_at_req_stop

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:39:17 -08:00
jan Iversen
8d322218a8 plannerShared: add variables that reference qPrefDiveplanner
These are simple pass-through functions (normally optimized away
by the compiler), and serve to make a consistent backend interface
which have a simpler use especially in QML.

Variables:
dobailout

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:38:40 -08:00
jan Iversen
b877dd973c plannerShared: add variables from plannerModel
the variables are set through set functions in DivePlannerPointsModel,
but read via getters from qPrefDivePlanner.

Variables:
planner_deco_mode
reserveGas
safetyStop
gflow
gfhigh
vpmb_conservatism

Signed-off-by: Jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-26 08:38:27 -08:00
jan Iversen
7751ec1c78 build-system: move plannerShared to backend-shared
WARNING: multi directory commit, needed to secure it builds.

move the core/plannerShared.* to backend-shared.

update CMakeLists.txt to include backend-shared lib in link process.

update ios project to reflect new directory

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-24 08:44:23 +09:00
jan Iversen
9c52aaf043 build-system: move exportfuncs to backend-shared
WARNING: multi directory commit, needed to secure it builds.

move the core/exportfuncs.* to backend-shared.

update backend-shared/CMakeLists.txt to generate backend-shared lib

update CMakeLists.txt to include backend-shared lib in link process.

update ios project to reflect new directory

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-24 08:44:23 +09:00
jan Iversen
0ab8bd5eca build-system: add new root dir backend-shared
WARNING: multi directory commit, needed to secure it builds.

leaving the shared backend sources in core, imposes a severe limitation,
that they cannot make use of e.g. qt-models, because that is created
after core (first library to be created).

The shared backend uses functionality from core and qt-models, so it
must be created when those are available and before desktop-widgets
or mobile-widgets are created.

Make a new root directory "backend-shared" with empty CMakeLists.txt

Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-24 08:44:23 +09:00