Perform deco calculation for plan

This uses a bunch of default values that we eventually need to get from
the UI, but it's a first step towards a working dive planner.

This exhibits some graphical artifacts when running, but other than that
appears to be mostly correct.

Things go far worse if I enable the changing of the scale once the deco
makes the dive longer than the displayed time window. Things quickly
spiral out of control.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-06-23 21:27:52 -07:00
parent 596095389b
commit ef0272f5ef
3 changed files with 45 additions and 21 deletions

3
dive.h
View file

@ -713,6 +713,8 @@ struct diveplan {
int surface_pressure; /* mbar */
int bottomsac; /* ml/min */
int decosac; /* ml/min */
short gflow;
short gfhigh;
struct divedatapoint *dp;
};
@ -723,6 +725,7 @@ void free_dps(struct divedatapoint *dp);
void get_gas_string(int o2, int he, char *buf, int len);
struct divedatapoint *create_dp(int time_incr, int depth, int o2, int he, int po2);
void dump_plan(struct diveplan *diveplan);
void plan(struct diveplan *diveplan, char **cached_datap, struct dive **divep, char **error_string_p);
struct event *get_next_event(struct event *event, char *name);