summaryrefslogtreecommitdiffstats
path: root/core/planner.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-08-05 20:43:06 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-08-08 16:26:31 -0700
commit52e5d9c605469b338075e22533a8f97a6f984b57 (patch)
treec8fd18dc85ee5afba09c6714353316efc8a8db68 /core/planner.h
parent594d1d3514f91221884bdc31f29a09e8f325f1e8 (diff)
downloadsubsurface-52e5d9c605469b338075e22533a8f97a6f984b57.tar.gz
Cleanup: move planner/deco related declarations planner/deco.h
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/planner.h')
-rw-r--r--core/planner.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/core/planner.h b/core/planner.h
index b7e3c7241..404fbe3fc 100644
--- a/core/planner.h
+++ b/core/planner.h
@@ -5,6 +5,35 @@
#define LONGDECO 1
#define NOT_RECREATIONAL 2
+#include "units.h"
+#include "divemode.h"
+
+/* this should be converted to use our types */
+struct divedatapoint {
+ int time;
+ depth_t depth;
+ int cylinderid;
+ pressure_t minimum_gas;
+ int setpoint;
+ bool entered;
+ struct divedatapoint *next;
+ enum divemode_t divemode;
+};
+
+struct diveplan {
+ timestamp_t when;
+ int surface_pressure; /* mbar */
+ int bottomsac; /* ml/min */
+ int decosac; /* ml/min */
+ int salinity;
+ short gflow;
+ short gfhigh;
+ short vpmb_conservatism;
+ struct divedatapoint *dp;
+ int eff_gflow, eff_gfhigh;
+ int surface_interval;
+};
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -27,6 +56,17 @@ extern struct dive *planned_dive;
extern char *cache_data;
extern char *disclaimer;
+struct divedatapoint *plan_add_segment(struct diveplan *diveplan, int duration, int depth, int cylinderid, int po2, bool entered, enum divemode_t divemode);
+struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po2);
+#if DEBUG_PLAN
+void dump_plan(struct diveplan *diveplan);
+#endif
+struct decostop {
+ int depth;
+ int time;
+};
+extern bool plan(struct deco_state *ds, struct diveplan *diveplan, struct dive *dive, int timestep, struct decostop *decostoptable, struct deco_state **cached_datap, bool is_planner, bool show_disclaimer);
+
#ifdef __cplusplus
}
#endif