mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Cleanup: move planner/deco related declarations planner/deco.h
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
594d1d3514
commit
52e5d9c605
13 changed files with 122 additions and 102 deletions
36
core/deco.h
36
core/deco.h
|
|
@ -2,14 +2,47 @@
|
|||
#ifndef DECO_H
|
||||
#define DECO_H
|
||||
|
||||
#include "units.h"
|
||||
#include "gas.h"
|
||||
#include "divemode.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct dive;
|
||||
struct deco_state;
|
||||
struct divecomputer;
|
||||
struct decostop;
|
||||
|
||||
struct deco_state {
|
||||
double tissue_n2_sat[16];
|
||||
double tissue_he_sat[16];
|
||||
double tolerated_by_tissue[16];
|
||||
double tissue_inertgas_saturation[16];
|
||||
double buehlmann_inertgas_a[16];
|
||||
double buehlmann_inertgas_b[16];
|
||||
|
||||
double max_n2_crushing_pressure[16];
|
||||
double max_he_crushing_pressure[16];
|
||||
|
||||
double crushing_onset_tension[16]; // total inert gas tension in the t* moment
|
||||
double n2_regen_radius[16]; // rs
|
||||
double he_regen_radius[16];
|
||||
double max_ambient_pressure; // last moment we were descending
|
||||
|
||||
double bottom_n2_gradient[16];
|
||||
double bottom_he_gradient[16];
|
||||
|
||||
double initial_n2_gradient[16];
|
||||
double initial_he_gradient[16];
|
||||
pressure_t first_ceiling_pressure;
|
||||
pressure_t max_bottom_ceiling_pressure;
|
||||
int ci_pointing_to_guiding_tissue;
|
||||
double gf_low_pressure_this_dive;
|
||||
int deco_time;
|
||||
bool icd_warning;
|
||||
};
|
||||
|
||||
extern const double buehlmann_N2_t_halflife[];
|
||||
|
||||
extern int deco_allowed_depth(double tissues_tolerance, double surface_pressure, const struct dive *dive, bool smooth);
|
||||
|
|
@ -29,6 +62,7 @@ extern void calc_crushing_pressure(struct deco_state *ds, double pressure);
|
|||
extern void vpmb_start_gradient(struct deco_state *ds);
|
||||
extern void clear_vpmb_state(struct deco_state *ds);
|
||||
extern void printdecotable(struct decostop *table);
|
||||
extern void add_segment(struct deco_state *ds, double pressure, struct gasmix gasmix, int period_in_seconds, int setpoint, enum divemode_t divemode, int sac);
|
||||
|
||||
extern double regressiona();
|
||||
extern double regressionb();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue