0
|
1 // **************************************************************
|
|
2 // OSTC - diving computer code
|
|
3 // Copyright (C) 2008 HeinrichsWeikamp GbR
|
|
4 //
|
|
5 // This program is free software: you can redistribute it and/or modify
|
|
6 // it under the terms of the GNU General Public License as published by
|
|
7 // the Free Software Foundation, either version 3 of the License, or
|
|
8 // (at your option) any later version.
|
|
9 //
|
|
10 // This program is distributed in the hope that it will be useful,
|
|
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13 // GNU General Public License for more details.
|
|
14 //
|
|
15 // You should have received a copy of the GNU General Public License
|
|
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17 //
|
|
18 // HISTORY
|
|
19 // 2011-01-20: jDG Cleanup addressing.
|
|
20 // 2011-02-13: jDG Correct some typos.
|
|
21 // 2011-05-17: jDG Optimized using interleaved arrays.
|
|
22 //
|
|
23 // **************************************************************
|
|
24
|
|
25 rom const float buhlmann_ab[4*16] = {
|
|
26 // Data ZH-L16C, from Bühlmann Tauchmedizin 2002, option 1a (4mn)
|
|
27 // a for N2 b for N2 a of He b for He
|
|
28 1.2599, 0.5050, 1.7424, 0.4245,
|
|
29 1.0000, 0.6514, 1.3830, 0.5747,
|
|
30 0.8618, 0.7222, 1.1919, 0.6527,
|
|
31 0.7562, 0.7825, 1.0458, 0.7223,
|
|
32 0.6200, 0.8126, 0.9220, 0.7582,
|
|
33 0.5043, 0.8434, 0.8205, 0.7957,
|
|
34 0.4410, 0.8693, 0.7305, 0.8279,
|
|
35 0.4000, 0.8910, 0.6502, 0.8553,
|
|
36 0.3750, 0.9092, 0.5950, 0.8757,
|
|
37 0.3500, 0.9222, 0.5545, 0.8903,
|
|
38 0.3295, 0.9319, 0.5333, 0.8997,
|
|
39 0.3065, 0.9403, 0.5189, 0.9073,
|
|
40 0.2835, 0.9477, 0.5181, 0.9122,
|
|
41 0.2610, 0.9544, 0.5176, 0.9171,
|
|
42 0.2480, 0.9602, 0.5172, 0.9217,
|
|
43 0.2327, 0.9653, 0.5119, 0.9267
|
|
44 };
|
|
45
|
|
46 rom const float buhlmann_ht[2*16] = {
|
|
47 // Compartiment half-life, in minute
|
|
48 //-- N2 ---- He ---------------------------------------------------------------------
|
|
49 4.0, 1.51,
|
|
50 8.0, 3.02,
|
|
51 12.5, 4.72,
|
|
52 18.5, 6.99,
|
|
53 27.0, 10.21,
|
|
54 38.3, 14.48,
|
|
55 54.3, 20.53,
|
|
56 77.0, 29.11,
|
|
57 109.0, 41.20,
|
|
58 146.0, 55.19,
|
|
59 187.0, 70.69,
|
|
60 239.0, 90.34,
|
|
61 305.0, 115.29,
|
|
62 390.0, 147.42,
|
|
63 498.0, 188.24,
|
|
64 635.0, 240.03
|
|
65 };
|
|
66
|
|
67 rom const float e2secs[2*16] = {
|
|
68 // result of 1 - 2^(-1/(30sec*HT))
|
|
69 //---- N2 ------------- He ------------
|
|
70 5.75958E-03, 1.51848E-02,
|
|
71 2.88395E-03, 7.62144E-03,
|
|
72 1.84669E-03, 4.88315E-03,
|
|
73 1.24813E-03, 3.29997E-03,
|
|
74 8.55371E-04, 2.26041E-03,
|
|
75 6.03079E-04, 1.59437E-03,
|
|
76 4.25414E-04, 1.12479E-03,
|
|
77 3.00019E-04, 7.93395E-04,
|
|
78 2.11949E-04, 5.60641E-04,
|
|
79 1.58240E-04, 4.18555E-04,
|
|
80 1.23548E-04, 3.26795E-04,
|
|
81 9.66686E-05, 2.55722E-04,
|
|
82 7.57509E-05, 2.00387E-04,
|
|
83 5.92416E-05, 1.56716E-04,
|
|
84 4.63943E-05, 1.22734E-04,
|
|
85 3.63850E-05, 9.62538E-05
|
|
86 //-------------------------------------
|
|
87 };
|
|
88
|
|
89 rom const float e1min[2*16] = {
|
|
90 // Integration constant for 1 minute,
|
|
91 // Ie. 1- 2^(-1/HT)
|
|
92 //----- N2 --------- e 1min He --------
|
|
93 1.59104E-01, 3.68109E-01,
|
|
94 8.29960E-02, 2.05084E-01,
|
|
95 5.39424E-02, 1.36579E-01,
|
|
96 3.67742E-02, 9.44046E-02,
|
|
97 2.53454E-02, 6.56359E-02,
|
|
98 1.79351E-02, 4.67416E-02,
|
|
99 1.26840E-02, 3.31991E-02,
|
|
100 8.96152E-03, 2.35301E-02,
|
|
101 6.33897E-03, 1.66832E-02,
|
|
102 4.73633E-03, 1.24808E-02,
|
|
103 3.69981E-03, 9.75753E-03,
|
|
104 2.89600E-03, 7.64329E-03,
|
|
105 2.27003E-03, 5.99417E-03,
|
|
106 1.77572E-03, 4.69082E-03,
|
|
107 1.39089E-03, 3.67548E-03,
|
|
108 1.09097E-03, 2.88359E-03
|
|
109 //-------------------------------------
|
|
110 };
|
|
111
|
|
112 rom const float e10min[2*16] = {
|
|
113 // The 10 min Value in float notation:
|
|
114 // result of 1 - 2^(-10/ht)
|
|
115 //---- N2 -------------- He -----------
|
|
116 8.23223E-01, 9.89851E-01,
|
|
117 5.79552E-01, 8.99258E-01,
|
|
118 4.25651E-01, 7.69737E-01,
|
|
119 3.12487E-01, 6.29027E-01,
|
|
120 2.26416E-01, 4.92821E-01,
|
|
121 1.65547E-01, 3.80407E-01,
|
|
122 1.19840E-01, 2.86538E-01,
|
|
123 8.60863E-02, 2.11886E-01,
|
|
124 6.16117E-02, 1.54849E-01,
|
|
125 4.63665E-02, 1.18026E-01,
|
|
126 3.63881E-02, 9.34005E-02,
|
|
127 2.85855E-02, 7.38569E-02,
|
|
128 2.24698E-02, 5.83504E-02,
|
|
129 1.76160E-02, 4.59303E-02,
|
|
130 1.38222E-02, 3.61528E-02,
|
|
131 1.08563E-02, 2.84646E-02
|
|
132 //-------------------------------------
|
|
133 };
|
|
134
|