annotate Discovery/Inc/vpm.h @ 916:4832981f9af8 Evo_2_23

External sensor UART: Switch to DMA TX transfers: The previous version used polling tx function to transfer data. Because of the short command length of the protocols supported this was no big issue. New protocolls (like GNSS) have longer command sequence which have an impact to the program flow. That's why the implementation has been changed to DMA transmission.
author Ideenmodellierer
date Mon, 28 Oct 2024 20:34:58 +0100
parents 46a21ff3f5ab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Inc/vpm.h
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Varying Permeability Model (VPM) Decompression Program
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author Heinrichs Weikamp
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 23.04.2013
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 #ifndef VPM_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28 #define VPM_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30 #include "buehlmann.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31 #include "data_central.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 extern long vpm_time_calc_begin;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 enum DECOLIST{DECOSTOPS,FUTURESTOPS,BAILOUTSTOPS, OFF = -1}; // order is important!!
292
bfcea6e2ab3f translate: nullzeit -> ndl
Jan Mulder <jlmulder@xs4all.nl>
parents: 290
diff changeset
35 enum VPM_CALC_STATUS{CALC_END, CALC_BEGIN, CALC_CRITICAL, CALC_FINAL_DECO, CALC_NDL };
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36
907
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
37 typedef enum
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
38 {
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
39 VPM_TABLE_INIT = 0,
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
40 VPM_TABLE_ACTIVE,
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
41 VPM_TABLE_WARNING,
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
42 VPM_TABLE_MISSED
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
43 } SvpmTableState;
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
44
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45 float schreiner_equation__2(float *initial_inspired_gas_pressure,float *rate_change_insp_gas_pressure,float *interval_time_minutes, const float *gas_time_constant,float *initial_gas_pressure);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47 int vpm_calc(SLifeData* pINPUT, SDiveSettings* diveSettings, SVpm* pVPM, SDecoinfo* pDECOINFO, int calc_what);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 void vpm_saturation_after_ascent(SLifeData* input);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 extern const float helium_time_constant[16];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 extern const float nitrogen_time_constant[16];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 float vpm_get_CNS(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53
902
d4622533271d VPM table mode:
Ideenmodellierer
parents: 292
diff changeset
54 void vpm_table_init(void);
907
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
55 uint8_t vpm_get_decozone(void);
46a21ff3f5ab Adaptation custom view deco plan for VPM:
ideenmodellierer
parents: 902
diff changeset
56 SvpmTableState vpm_get_TableState(void);
902
d4622533271d VPM table mode:
Ideenmodellierer
parents: 292
diff changeset
57
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 #endif /* VPM_H */