view code_part1/OSTC_code_c_part2/p2_tables.romdata @ 263:27c9bb14b008

making the seconds display in divemode smoother...
author heinrichsweikamp
date Mon, 11 Apr 2011 11:47:00 +0200
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
};