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
|
|
19 /*
|
|
20 INHALT
|
|
21 ------
|
|
22 { unsigned int *rom e2secs[];
|
|
23 { unsigned int *rom a_N2[];
|
|
24 { unsigned int *rom b_N2[];
|
|
25 { unsigned int *rom t05[]; formated: und zwar t05 * -1.0 / ln(2)
|
|
26 { unsigned int *rom e1min[];
|
|
27 { unsigned int *rom ht[]; t05 unmodified
|
|
28 */
|
|
29
|
|
30
|
|
31 rom const unsigned int e2secs[] =
|
|
32 {
|
|
33 // N2
|
|
34 0x07BB, 0xBC3B, 0xD0FF, 0x3C3B, 0xF80C, 0xF23A, 0x4997, 0xA33A
|
|
35 , 0xE93A, 0x603A, 0x0418, 0x1E3A, 0x9009, 0xDF39, 0x014C, 0x9D39
|
|
36 , 0xE53E, 0x5E39, 0x3AED, 0x2539, 0x338D, 0x0139, 0xC6BA, 0xCA38
|
|
37 , 0x82DC, 0x9E38, 0x844D, 0x7838, 0x9F9D, 0x4238, 0x34AC, 0x1838
|
|
38 // He
|
|
39 , 0xA3C9, 0x783C, 0x45BD, 0xF93B, 0xCC02, 0xA03B, 0x3E44, 0x583B
|
|
40 , 0x6223, 0x143B, 0x31FA, 0xD03A, 0xA46D, 0x933A, 0xDDFB, 0x4F3A
|
|
41 , 0x03F8, 0x123A, 0x8D71, 0xDB39, 0xAB55, 0xAB39, 0x7712, 0x8639
|
|
42 , 0xEA1E, 0x5239, 0x2C54, 0x2439, 0x37B2, 0x0039, 0xDADB, 0xC938
|
|
43 /*
|
|
44 Die e2secs Werte in float Notation:
|
|
45 5.7596E-03, und zwar 1 - 2^(-2sec/t05)
|
|
46 2.8839E-03,
|
|
47 1.8467e-03,
|
|
48 1.2481e-03,
|
|
49 8.5537E-04,
|
|
50 6.0308E-04,
|
|
51 4.2541E-04,
|
|
52 3.0002E-04,
|
|
53 2.1195E-04,
|
|
54 1.5824E-04,
|
|
55 1.2355E-04,
|
|
56 9.6669E-05,
|
|
57 7.5751E-05,
|
|
58 5.92E-05,
|
|
59 4.64E-05,
|
|
60 3.64E-05
|
|
61 // e 2 sec He
|
|
62 sim_pres_tissue_limit[0] = 0.01518479275;
|
|
63 sim_pres_tissue_limit[1] = 0.007621439546;
|
|
64 sim_pres_tissue_limit[2] = 0.004883145696;
|
|
65 sim_pres_tissue_limit[3] = 0.003299965996;
|
|
66 sim_pres_tissue_limit[4] = 0.002260409686;
|
|
67 sim_pres_tissue_limit[5] = 0.00159437032;
|
|
68 sim_pres_tissue_limit[6] = 0.001124788578;
|
|
69 sim_pres_tissue_limit[7] = 0.0007933953673;
|
|
70 sim_pres_tissue_limit[8] = 0.0005606414716;
|
|
71 sim_pres_tissue_limit[9] = 0.0004185553604;
|
|
72 sim_pres_tissue_limit[10] =0.0003267948866;
|
|
73 sim_pres_tissue_limit[11] =0.0002557222899;
|
|
74 sim_pres_tissue_limit[12] =0.0002003867723;
|
|
75 sim_pres_tissue_limit[13] =0.0001567161546;
|
|
76 sim_pres_tissue_limit[14] =0.0001227342122;
|
|
77 sim_pres_tissue_limit[15] =9.625377675E-5
|
|
78 */
|
|
79 };
|
|
80
|
|
81 rom const unsigned int a_N2[] =
|
|
82 {
|
|
83 // N2
|
|
84 0x6744, 0xA13F, 0x0000, 0x803F, 0xED9E, 0x5C3F, 0x5396, 0x413F
|
|
85 , 0x52B8, 0x1E3F, 0xCE19, 0x013F, 0xC1CA, 0xE13E, 0xCDCC, 0xCC3E
|
|
86 , 0x0000, 0xC03E, 0x3333, 0xB33E, 0x39B4, 0xA83E, 0x91ED, 0x9C3E
|
|
87 , 0xE926, 0x913E, 0xCBA1, 0x853E, 0xB6F3, 0x7D3E, 0xE948, 0x6E3E
|
|
88 // He
|
|
89 , 0xF706, 0xDF3F, 0x2506, 0xB13F, 0x2E90, 0x983F, 0xC7DC, 0x853F
|
|
90 , 0x3108, 0x6C3F, 0x4A0C, 0x523F, 0x0C02, 0x3B3F, 0x8273, 0x263F
|
|
91 , 0xEC51, 0x183F, 0xB6F3, 0x0D3F, 0x5986, 0x083F, 0xA1D6, 0x043F
|
|
92 , 0x34A2, 0x043F, 0x6F81, 0x043F, 0x3867, 0x043F, 0xE10B, 0x033F
|
|
93
|
|
94 /*
|
|
95 // a of N2
|
|
96 sim_pres_tissue[0] = 1.2599;
|
|
97 sim_pres_tissue[1] = 1.0;
|
|
98 sim_pres_tissue[2] = 0.8618;
|
|
99 sim_pres_tissue[3] = 0.7562;
|
|
100 sim_pres_tissue[4] = 0.6200;
|
|
101 sim_pres_tissue[5] = 0.5043;
|
|
102 sim_pres_tissue[6] = 0.4410;
|
|
103 sim_pres_tissue[7] = 0.4000;
|
|
104 sim_pres_tissue[8] = 0.3750;
|
|
105 sim_pres_tissue[9] = 0.3500;
|
|
106 sim_pres_tissue[10] = 0.3295;
|
|
107 sim_pres_tissue[11] = 0.3065;
|
|
108 sim_pres_tissue[12] = 0.2835;
|
|
109 sim_pres_tissue[13] = 0.2610;
|
|
110 sim_pres_tissue[14] = 0.2480;
|
|
111 sim_pres_tissue[15] = 0.2327;
|
|
112 // a of He
|
|
113 sim_pres_tissue[16] = 1742.4 / 1000.0;
|
|
114 sim_pres_tissue[17] = 1383.0 / 1000.0;
|
|
115 sim_pres_tissue[18] = 1191.9 / 1000.0;
|
|
116 sim_pres_tissue[19] = 1045.8 / 1000.0;
|
|
117 sim_pres_tissue[20] = 9220. / 10000.0;
|
|
118 sim_pres_tissue[21] = 8205. / 10000.0;
|
|
119 sim_pres_tissue[22] = 7305. / 10000.0;
|
|
120 sim_pres_tissue[23] = 6502. / 10000.0;
|
|
121 sim_pres_tissue[24] = 5950. / 10000.0;
|
|
122 sim_pres_tissue[25] = 5545. / 10000.0;
|
|
123 sim_pres_tissue[26] = 5333. / 10000.0;
|
|
124 sim_pres_tissue[27] = 5189. / 10000.0;
|
|
125 sim_pres_tissue[28] = 5181. / 10000.0;
|
|
126 sim_pres_tissue[29] = 5176. / 10000.0;
|
|
127 sim_pres_tissue[30] = 5172. / 10000.0;
|
|
128 sim_pres_tissue[31] = 5119. / 10000.0;
|
|
129 */
|
|
130 };
|
|
131
|
|
132 rom const unsigned int b_N2[] =
|
|
133 {
|
|
134 // N2
|
|
135 0xAE47, 0x013F, 0x27C2, 0x263F, 0x19E2, 0x383F, 0xEC51, 0x483F,
|
|
136 0x8E06, 0x503F, 0x10E9, 0x573F, 0x728A, 0x5E3F, 0x9318, 0x643F,
|
|
137 0x55C1, 0x683F, 0x4D15, 0x6C3F, 0x0091, 0x6E3F, 0x80B7, 0x703F,
|
|
138 0x789C, 0x723F, 0x8F53, 0x743F, 0xABCF, 0x753F, 0xE71D, 0x773F
|
|
139 // He
|
|
140 , 0x1058, 0xD93E, 0x8A1F, 0x133F, 0x5917, 0x273F, 0xA7E8, 0x383F
|
|
141 , 0x6519, 0x423F, 0xFFB2, 0x4B3F, 0x41F1, 0x533F, 0xF1F4, 0x5A3F
|
|
142 , 0xE02D, 0x603F, 0xB3EA, 0x633F, 0xBD52, 0x663F, 0xD044, 0x683F
|
|
143 , 0xF085, 0x693F, 0x11C7, 0x6A3F, 0x88F4, 0x6B3F, 0x363C, 0x6D3F
|
|
144
|
|
145 /*
|
|
146 5050, Werte sind Einheitslos. 5050 ist in float als 0.5050
|
|
147 6514,
|
|
148 7222,
|
|
149 7825,
|
|
150 8126,
|
|
151 8434,
|
|
152 8693,
|
|
153 8910,
|
|
154 9092,
|
|
155 9222,
|
|
156 9319,
|
|
157 9403,
|
|
158 9477,
|
|
159 9544,
|
|
160 9602,
|
|
161 9653
|
|
162 // b
|
|
163 sim_pres_tissue[16] = 0.4245;
|
|
164 sim_pres_tissue[17] = 0.5747;
|
|
165 sim_pres_tissue[18] = 0.6527;
|
|
166 sim_pres_tissue[19] = 0.7223;
|
|
167 sim_pres_tissue[20] = 0.7582;
|
|
168 sim_pres_tissue[21] = 0.7957;
|
|
169 sim_pres_tissue[22] = 0.8279;
|
|
170 sim_pres_tissue[23] = 0.8553;
|
|
171 sim_pres_tissue[24] = 0.8757;
|
|
172 sim_pres_tissue[25] = 0.8903;
|
|
173 sim_pres_tissue[26] = 0.8997;
|
|
174 sim_pres_tissue[27] = 0.9073;
|
|
175 sim_pres_tissue[28] = 0.9122;
|
|
176 sim_pres_tissue[29] = 0.9171;
|
|
177 sim_pres_tissue[30] = 0.9217;
|
|
178 sim_pres_tissue[31] = 0.9267;
|
|
179 */
|
|
180 };
|
|
181
|
|
182 rom const unsigned int t05[] =
|
|
183 {
|
|
184 // N2
|
|
185 0x3BAA, 0xB8C0, 0x3BAA, 0x38C1, 0xFE44, 0x90C1, 0xD484, 0xD5C1
|
|
186 , 0xA2CF, 0x1BC2, 0x5805, 0x5DC2, 0x3BAD, 0x9CC2, 0xCF2C, 0xDEC2
|
|
187 , 0xF640, 0x1DC3, 0x2BA2, 0x52C3, 0x59E4, 0x86C3, 0xED66, 0xACC3
|
|
188 , 0xD002, 0xDCC3, 0xABA9, 0x0CC4, 0x939D, 0x33C4, 0x2007, 0x65C4
|
|
189 // He
|
|
190 , 0x0B6C, 0x0BC0, 0x0B6C, 0x8BC0, 0x98E7, 0xD9C0, 0xDC59, 0x21C1
|
|
191 , 0xBDAD, 0x6BC1, 0x2E1F, 0xA7C1, 0xBFF2, 0xECC1, 0xC7FC, 0x27C2
|
|
192 , 0x93C1, 0x6DC2, 0xA33E, 0x9FC2, 0xDEF7, 0xCBC2, 0x4455, 0x02C3
|
|
193 , 0x0C54, 0x26C3, 0x9EAE, 0x54C3, 0x55C9, 0x87C3, 0x2225, 0xADC3
|
|
194 /*
|
|
195 4, und zwar 4.0 * -1.0 / ln(2) ...
|
|
196 8,
|
|
197 12,
|
|
198 18,
|
|
199 27,
|
|
200 39,
|
|
201 55,
|
|
202 77,
|
|
203 109,
|
|
204 146,
|
|
205 187,
|
|
206 239,
|
|
207 305,
|
|
208 390,
|
|
209 498,
|
|
210 635
|
|
211 // He; t05 * -1 /ln(2)
|
|
212 pres_tissue[16] = -2.178469512;
|
|
213 pres_tissue[17] = -4.356939024;
|
|
214 pres_tissue[18] = -6.809520594;
|
|
215 pres_tissue[19] = -10.08443834;
|
|
216 pres_tissue[20] = -14.72991637;
|
|
217 pres_tissue[21] = -20.89022419;
|
|
218 pres_tissue[22] = -29.61852919;
|
|
219 pres_tissue[23] = -41.99685264;
|
|
220 pres_tissue[24] = -59.43903569;
|
|
221 pres_tissue[25] = -79.62233931;
|
|
222 pres_tissue[26] = -101.9841124;
|
|
223 pres_tissue[27] = -130.33307;
|
|
224 pres_tissue[28] = -166.3283113;
|
|
225 pres_tissue[29] = -212.6821029;
|
|
226 pres_tissue[30] = -271.5729145;
|
|
227 pres_tissue[31] = -346.2900907;
|
|
228 */
|
|
229 };
|
|
230
|
|
231 // ab hier bei Speicher 0x4100
|
|
232 rom const unsigned int e1min[] =
|
|
233 { // N2
|
|
234 0x0EEC, 0x223E, 0xC9F9, 0xA93D, 0xA8F2, 0x5C3D, 0x8AA0, 0x163D
|
|
235 , 0x23A1, 0xCF3C, 0x89EC, 0x923C, 0x9AD0, 0x4F3C, 0x52D3, 0x123C
|
|
236 , 0x26B7, 0xCF3B, 0x3A33, 0x9B3B, 0x7B78, 0x723B, 0xC0CA, 0x3D3B
|
|
237 , 0xD7C4, 0x143B, 0x58BF, 0xE83A, 0xA54E, 0xB63A, 0x0AFF, 0x8E3A
|
|
238 // He
|
|
239 , 0xBE78, 0xBC3E, 0x9001, 0x523E, 0x71DB, 0x0B3E, 0x3757, 0xC13D
|
|
240 , 0x186C, 0x863D, 0x2274, 0x3F3D, 0xBAFB, 0x073D, 0x1AC2, 0xC03C
|
|
241 , 0x44AB, 0x883C, 0x107C, 0x4C3C, 0x0EDE, 0x1F3C, 0x9174, 0xFA3B
|
|
242 , 0xBB6A, 0xC43B, 0x6CB5, 0x993B, 0x57E0, 0x703B, 0x8FFA, 0x3C3B
|
|
243 /*
|
|
244 Die e1min Werte in float Notation:
|
|
245 und zwar 1 - 2^(-1/t05)
|
|
246 c_2[0] = 0.1591036;
|
|
247 c_2[1] = 0.08299596;
|
|
248 c_2[2] = 0.053942353;
|
|
249 c_2[3] = 0.036774196;
|
|
250 c_2[4] = 0.02534539;
|
|
251 c_2[5] = 0.017935055;
|
|
252 c_2[6] = 0.012684012;
|
|
253 c_2[7] = 8.961515534E-3;
|
|
254 c_2[8] = 6.338971845E-3;
|
|
255 c_2[9] = 4.73633146E-3;
|
|
256 c_2[10] = 3.699808187E-3;
|
|
257 c_2[11] = 2.89599589E-3;
|
|
258 c_2[12] = 2.270033275E-3;
|
|
259 c_2[13] = 1.775722E-3;
|
|
260 c_2[14] = 1.390893611E-3;
|
|
261 c_2[15] = 1.090974815E-3;
|
|
262 // e 1 ´min He
|
|
263 pres_tissue[0] = 0.368108684;
|
|
264 pres_tissue[1] = 0.2050840824;
|
|
265 pres_tissue[2] = 0.1365792957;
|
|
266 pres_tissue[3] = 0.09440463235;
|
|
267 pres_tissue[4] = 0.06563586265;
|
|
268 pres_tissue[5] = 0.04674161154;
|
|
269 pres_tissue[6] = 0.03319905126;
|
|
270 pres_tissue[7] = 0.02353005571;
|
|
271 pres_tissue[8] = 0.0166832282;
|
|
272 pres_tissue[9] = 0.01248075064;
|
|
273 pres_tissue[10] = 0.009757532198;
|
|
274 pres_tissue[11] = 0.007643290133;
|
|
275 pres_tissue[12] = 0.005994168431;
|
|
276 pres_tissue[13] = 0.004690816669;
|
|
277 pres_tissue[14] = 0.003675481163;
|
|
278 pres_tissue[15] = 0.002883586737;
|
|
279 */
|
|
280 };
|
|
281
|
|
282 rom const unsigned int ht[] =
|
|
283 {
|
|
284 // N2
|
|
285 0x0000, 0x8040, 0x0000, 0x0041, 0x0000, 0x4841, 0x0000, 0x9441
|
|
286 , 0x0000, 0xD841, 0x3333, 0x1942, 0x3333, 0x5942, 0x0000, 0x9A42
|
|
287 , 0x0000, 0xDA42, 0x0000, 0x1243, 0x0000, 0x3B43, 0x0000, 0x6F43
|
|
288 , 0x0080, 0x9843, 0x0000, 0xC343, 0x0000, 0xF943, 0x00C0, 0x1E44
|
|
289 // He
|
|
290 , 0xAE47, 0xC13F, 0xAE47, 0x4140, 0x3D0A, 0x9740, 0x14AE, 0xDF40
|
|
291 , 0x295C, 0x2341, 0x14AE, 0x6741, 0x713D, 0xA441, 0x48E1, 0xE841
|
|
292 , 0xCDCC, 0x2442, 0x8FC2, 0x5C42, 0x4861, 0x8D42, 0x14AE, 0xB442
|
|
293 , 0x7B94, 0xE642, 0x856B, 0x1343, 0x713D, 0x3C43, 0xAE07, 0x7043
|
|
294 /*
|
|
295 He:
|
|
296 sim_pres_tissue[0] = 1.51;
|
|
297 sim_pres_tissue[1] = 3.02;
|
|
298 sim_pres_tissue[2] = 4.72;
|
|
299 sim_pres_tissue[3] = 6.99;
|
|
300 sim_pres_tissue[4] =10.21;
|
|
301 sim_pres_tissue[5] =14.48;
|
|
302 sim_pres_tissue[6] =20.53;
|
|
303 sim_pres_tissue[7] =29.11;
|
|
304 sim_pres_tissue[8] =41.20;
|
|
305 sim_pres_tissue[9] =55.19;
|
|
306 sim_pres_tissue[10] =70.69;
|
|
307 sim_pres_tissue[11] =90.34;
|
|
308 sim_pres_tissue[12] =115.29;
|
|
309 sim_pres_tissue[13] =147.42;
|
|
310 sim_pres_tissue[14] =188.24;
|
|
311 sim_pres_tissue[15] =240.03;
|
|
312 */
|
|
313 };
|
|
314
|
|
315 rom const unsigned int e10min[] =
|
|
316 {
|
|
317 // N2
|
|
318 0xBEBE, 0x523F, 0x855D, 0x143F, 0xEEEE, 0xD93E, 0x4CFE, 0x9F3E
|
|
319 , 0x99D9, 0x673E, 0x2785, 0x293E, 0xAD6E, 0xF53D, 0x044E, 0xB03D
|
|
320 , 0x8D5C, 0x7C3D, 0xCDEA, 0x3D3D, 0xB00B, 0x153D, 0x232C, 0xEA3C
|
|
321 , 0x9612, 0xB83C, 0x6E4F, 0x903C, 0x8276, 0x623C, 0x9FDE, 0x313C
|
|
322 // He
|
|
323 , 0xE066, 0x7D3F, 0xC635, 0x663F, 0x7C0D, 0x453F, 0xEA07, 0x213F
|
|
324 , 0x0953, 0xFC3E, 0xB5C4, 0xC23E, 0x1CB5, 0x923E, 0xA5F8, 0x583E
|
|
325 , 0xBC90, 0x1E3E, 0x9EB7, 0xF13D, 0xC348, 0xBF3D, 0x4942, 0x973D
|
|
326 , 0xD400, 0x6F3D, 0x6921, 0x3C3D, 0xF514, 0x143D, 0x982E, 0xE93C
|
|
327 /*
|
|
328 He: 10 min
|
|
329 sim_pres_tissue[0] = 0.989851;
|
|
330 sim_pres_tissue[1] = 0.899258;
|
|
331 sim_pres_tissue[2] = 0.769737;
|
|
332 sim_pres_tissue[3] = 0.629027;
|
|
333 sim_pres_tissue[4] = 0.492821;
|
|
334 sim_pres_tissue[5] = 0.380407;
|
|
335 sim_pres_tissue[6] = 0.286538;
|
|
336 sim_pres_tissue[7] = 0.211886;
|
|
337 sim_pres_tissue[8] = 0.154849;
|
|
338 sim_pres_tissue[9] = 0.118026;
|
|
339 sim_pres_tissue[10] =0.0934005;
|
|
340 sim_pres_tissue[11] =0.0738569;
|
|
341 sim_pres_tissue[12] =0.0583504;
|
|
342 sim_pres_tissue[13] =0.0459303;
|
|
343 sim_pres_tissue[14] =0.0361528;
|
|
344 sim_pres_tissue[15] =0.0284646;
|
|
345 N2: 10 min
|
|
346 sim_pres_tissue[16] = 0.823223;
|
|
347 sim_pres_tissue[17] = 0.579552;
|
|
348 sim_pres_tissue[18] = 0.425651;
|
|
349 sim_pres_tissue[19] = 0.312487;
|
|
350 sim_pres_tissue[20] = 0.226416;
|
|
351 sim_pres_tissue[21] = 0.165547;
|
|
352 sim_pres_tissue[22] = 0.11984;
|
|
353 sim_pres_tissue[23] = 0.0860863;
|
|
354 sim_pres_tissue[24] = 0.0616117;
|
|
355 sim_pres_tissue[25] = 0.0463665;
|
|
356 sim_pres_tissue[26] = 0.0363881;
|
|
357 sim_pres_tissue[27] = 0.0285855;
|
|
358 sim_pres_tissue[28] = 0.0224698;
|
|
359 sim_pres_tissue[29] = 0.017616;
|
|
360 sim_pres_tissue[30] = 0.0138222;
|
|
361 sim_pres_tissue[31] = 0.0108563;
|
|
362 */
|
|
363 };
|