Mercurial > public > mk2
view code_part1/OSTC_code_c_part2/p2_tables.romdata @ 203:2d9af08ed0ac
BUGFIX Gas switch
+ To implement gas switch, the ascent engine have to know about dive duration.
author | JeanDo |
---|---|
date | Fri, 18 Feb 2011 00:23:51 +0100 |
parents | 1d98f30ed44e |
children | b75564fb3d4b |
line wrap: on
line source
// ************************************************************** // OSTC - diving computer code // Copyright (C) 2008 HeinrichsWeikamp GbR // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // // HISTORY // 2011-01-20: jDG Cleanup addressing. // 2011-02-13: jDG Correct some typos. // // ************************************************************** rom const float buhlmann_a[32] = { // Data ZH-L16C, from Bühlmann Tauchmedizin 2002, option 1a (4mn) //---a for N2 ---------------------------------------------------------------- 1.2599, 1.0000, 0.8618, 0.7562, 0.6200, 0.5043, 0.4410, 0.4000, 0.3750, 0.3500, 0.3295, 0.3065, 0.2835, 0.2610, 0.2480, 0.2327, //---- a of He --------------------------------------------------------------- 1.7424, 1.3830, 1.1919, 1.0458, .9220, .8205, .7305, .6502, .5950, .5545, .5333, .5189, .5181, .5176, .5172, .5119 }; rom const float buhlmann_b[] = { //---- b for N2 -------------------------------------------------------------- 0.5050, 0.6514, 0.7222, 0.7825, 0.8126, 0.8434, 0.8693, 0.8910, 0.9092, 0.9222, 0.9319, 0.9403, 0.9477, 0.9544, 0.9602, 0.9653, //---- b for He -------------------------------------------------------------- 0.4245, 0.5747, 0.6527, 0.7223, 0.7582, 0.7957, 0.8279, 0.8553, 0.8757, 0.8903, 0.8997, 0.9073, 0.9122, 0.9171, 0.9217, 0.9267 }; rom const float buhlmann_ht[] = { //---- N2 -------------------------------------------------------------------- 4, // Compartiment half-life, in minute, for nitrogen. 8, 12, 18, 27, 39, 55, 77, 109, 146, 187, 239, 305, 390, 498, 635, //---- He -------------------------------------------------------------------- 1.51, // Compartiment half-life, in minute, for helium. 3.02, 4.72, 6.99, 10.21, 14.48, 20.53, 29.11, 41.20, 55.19, 70.69, 90.34, 115.29, 147.42, 188.24, 240.03 }; rom const float e2secs[] = { //---- N2 -------------------------------------------------------------------- 5.75958E-03, // result of 1 - 2^(-1/(30sec*HT)) 2.88395E-03, 1.92356E-03, 1.28278E-03, 8.55371E-04, 5.92258E-04, 4.20001E-04, 3.00019E-04, 2.11949E-04, 1.58240E-04, 1.23548E-04, 9.66686E-05, 7.57509E-05, 5.92416E-05, 4.63943E-05, 3.63850E-05, //---- He -------------------------------------------------------------------- 1.51848E-02, 7.62144E-03, 4.88315E-03, 3.29997E-03, 2.26041E-03, 1.59437E-03, 1.12479E-03, 7.93395E-04, 5.60641E-04, 4.18555E-04, 3.26795E-04, 2.55722E-04, 2.00387E-04, 1.56716E-04, 1.22734E-04, 9.62538E-05 }; rom const float e1min[] = { //---- N2 -------------------------------------------------------------------- 1.59104E-01, // Integration constant for 1 minute, 8.29960E-02, // Ie. 1- 2^(-1/HT) 5.61257E-02, 3.77762E-02, 2.53454E-02, 1.76160E-02, 1.25236E-02, 8.96152E-03, 6.33897E-03, 4.73633E-03, 3.69981E-03, 2.89600E-03, 2.27003E-03, 1.77572E-03, 1.39089E-03, 1.09097E-03, //---- e 1min He ------------------------------------------------------------- 3.68109E-01, 2.05084E-01, 1.36579E-01, 9.44046E-02, 6.56359E-02, 4.67416E-02, 3.31991E-02, 2.35301E-02, 1.66832E-02, 1.24808E-02, 9.75753E-03, 7.64329E-03, 5.99417E-03, 4.69082E-03, 3.67548E-03, 2.88359E-03 }; rom const float e10min[] = { //---- N2 -------------------------------------------------------------------- // The 10 min Value in float notation: // result of 1 - 2^(-10/ht) 8.23223E-01, // 1 - 2^(-10/4.0) 5.79552E-01, 4.38769E-01, 3.19605E-01, 2.26416E-01, 1.62832E-01, 1.18409E-01, 8.60863E-02, 6.16117E-02, 4.63665E-02, 3.63881E-02, 2.85855E-02, 2.24698E-02, 1.76160E-02, 1.38222E-02, 1.08563E-02, //---- He -------------------------------------------------------------------- 9.89851E-01, 8.99258E-01, 7.69737E-01, 6.29027E-01, 4.92821E-01, 3.80407E-01, 2.86538E-01, 2.11886E-01, 1.54849E-01, 1.18026E-01, 9.34005E-02, 7.38569E-02, 5.83504E-02, 4.59303E-02, 3.61528E-02, 2.84646E-02 };