mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
35dc814105
This sets up a standard dive scenario (30 minutes at 260ft/79m, EAN36 and Oxygen as deco gases, last stop at 20ft/6m) and calls the planner to set up a dive plan given certain standard gases. Instead of trying to verify the complete plans it checks that we switch to the deco gases at the right depth and the complete duration of the dive matches our expectation. The test intentionally fails right now for imperial as we have the wrong switch depth for Oxygen. See how useful tests are? On the downside, the test does NOT produce the same plan as Subsurface when I try to create a consistent setup for both - and I have not been able to figure out why. There must be some other parameters that I'm not setting, but I haven't identified them, yet. It's very small differences, for example in the metric case the stops at 21m, 9m, and 6m are each one minute shorter in the test than it what Subsurface calculates. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
33 lines
976 B
C
33 lines
976 B
C
#ifndef PLANNER_H
|
|
#define PLANNER_H
|
|
|
|
#define LONGDECO 1
|
|
#define NOT_RECREATIONAL 2
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern int validate_gas(const char *text, struct gasmix *gas);
|
|
extern int validate_po2(const char *text, int *mbar_po2);
|
|
extern timestamp_t current_time_notz(void);
|
|
extern void set_last_stop(bool last_stop_6m);
|
|
extern void set_verbatim(bool verbatim);
|
|
extern void set_display_runtime(bool display);
|
|
extern void set_display_duration(bool display);
|
|
extern void set_display_transitions(bool display);
|
|
extern void get_gas_at_time(struct dive *dive, struct divecomputer *dc, duration_t time, struct gasmix *gas);
|
|
extern int get_gasidx(struct dive *dive, struct gasmix *mix);
|
|
extern bool diveplan_empty(struct diveplan *diveplan);
|
|
|
|
extern void free_dps(struct diveplan *diveplan);
|
|
extern struct dive *planned_dive;
|
|
extern char *cache_data;
|
|
extern const char *disclaimer;
|
|
extern double plangflow, plangfhigh;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // PLANNER_H
|