view code_part1/OSTC_code_c_part2/p2_tables.romdata @ 143:e82e0df6d0ea

divemode gas fix
author heinrichsweikamp
date Fri, 07 Jan 2011 14:23:58 +0100
parents 96a35aeda5f2
children 8b5b848db4cd
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/>.





/*

INHALT

------

{ unsigned int *rom e2secs[];

{ unsigned int *rom a_N2[];

{ unsigned int *rom b_N2[];

{ unsigned int *rom t05[]; formated:  und zwar t05 * -1.0 / ln(2) 

{ unsigned int *rom e1min[];

{ unsigned int *rom ht[]; t05 unmodified

*/





rom const unsigned int e2secs[] =

{ 

// N2

  0x07BB, 0xBC3B, 0xD0FF, 0x3C3B, 0xF80C, 0xF23A, 0x4997, 0xA33A

, 0xE93A, 0x603A, 0x0418, 0x1E3A, 0x9009, 0xDF39, 0x014C, 0x9D39

, 0xE53E, 0x5E39, 0x3AED, 0x2539, 0x338D, 0x0139, 0xC6BA, 0xCA38

, 0x82DC, 0x9E38, 0x844D, 0x7838, 0x9F9D, 0x4238, 0x34AC, 0x1838

// He

, 0xA3C9, 0x783C, 0x45BD, 0xF93B, 0xCC02, 0xA03B, 0x3E44, 0x583B

, 0x6223, 0x143B, 0x31FA, 0xD03A, 0xA46D, 0x933A, 0xDDFB, 0x4F3A

, 0x03F8, 0x123A, 0x8D71, 0xDB39, 0xAB55, 0xAB39, 0x7712, 0x8639

, 0xEA1E, 0x5239, 0x2C54, 0x2439, 0x37B2, 0x0039, 0xDADB, 0xC938

/*

Die e2secs Werte in float Notation:

5.7596E-03,  und zwar  1 - 2^(-2sec/t05)

2.8839E-03,

1.8467e-03,

1.2481e-03,

8.5537E-04,

6.0308E-04,

4.2541E-04, 

3.0002E-04,

2.1195E-04,

1.5824E-04,

1.2355E-04,

9.6669E-05,

7.5751E-05,

5.92E-05,

4.64E-05,

3.64E-05

// e 2 sec He

sim_pres_tissue_limit[0] = 0.01518479275;

sim_pres_tissue_limit[1] = 0.007621439546;

sim_pres_tissue_limit[2] = 0.004883145696;

sim_pres_tissue_limit[3] = 0.003299965996;

sim_pres_tissue_limit[4] = 0.002260409686;

sim_pres_tissue_limit[5] = 0.00159437032;

sim_pres_tissue_limit[6] = 0.001124788578;

sim_pres_tissue_limit[7] = 0.0007933953673;

sim_pres_tissue_limit[8] = 0.0005606414716;

sim_pres_tissue_limit[9] = 0.0004185553604;

sim_pres_tissue_limit[10] =0.0003267948866;

sim_pres_tissue_limit[11] =0.0002557222899;

sim_pres_tissue_limit[12] =0.0002003867723;

sim_pres_tissue_limit[13] =0.0001567161546;

sim_pres_tissue_limit[14] =0.0001227342122;

sim_pres_tissue_limit[15] =9.625377675E-5

*/

};



rom const unsigned int a_N2[] =

{

// N2

   0x6744, 0xA13F, 0x0000, 0x803F, 0xED9E, 0x5C3F, 0x5396, 0x413F

 , 0x52B8, 0x1E3F, 0xCE19, 0x013F, 0xC1CA, 0xE13E, 0xCDCC, 0xCC3E

 , 0x0000, 0xC03E, 0x3333, 0xB33E, 0x39B4, 0xA83E, 0x91ED, 0x9C3E

 , 0xE926, 0x913E, 0xCBA1, 0x853E, 0xB6F3, 0x7D3E, 0xE948, 0x6E3E

// He

 , 0xF706, 0xDF3F, 0x2506, 0xB13F, 0x2E90, 0x983F, 0xC7DC, 0x853F

 , 0x3108, 0x6C3F, 0x4A0C, 0x523F, 0x0C02, 0x3B3F, 0x8273, 0x263F

 , 0xEC51, 0x183F, 0xB6F3, 0x0D3F, 0x5986, 0x083F, 0xA1D6, 0x043F

 , 0x34A2, 0x043F, 0x6F81, 0x043F, 0x3867, 0x043F, 0xE10B, 0x033F



/*

// a of N2

sim_pres_tissue[0] = 1.2599;

sim_pres_tissue[1] = 1.0;

sim_pres_tissue[2] = 0.8618;

sim_pres_tissue[3] = 0.7562;

sim_pres_tissue[4] = 0.6200;

sim_pres_tissue[5] = 0.5043;

sim_pres_tissue[6] = 0.4410;

sim_pres_tissue[7] = 0.4000;

sim_pres_tissue[8] = 0.3750;

sim_pres_tissue[9] = 0.3500;

sim_pres_tissue[10] = 0.3295;

sim_pres_tissue[11] = 0.3065;

sim_pres_tissue[12] = 0.2835;

sim_pres_tissue[13] = 0.2610;

sim_pres_tissue[14] = 0.2480;

sim_pres_tissue[15] = 0.2327;

// a of He

sim_pres_tissue[16] = 1742.4 / 1000.0;

sim_pres_tissue[17] = 1383.0 / 1000.0;

sim_pres_tissue[18] = 1191.9 / 1000.0;

sim_pres_tissue[19] = 1045.8 / 1000.0;

sim_pres_tissue[20] = 9220. / 10000.0;

sim_pres_tissue[21] = 8205. / 10000.0;

sim_pres_tissue[22] = 7305. / 10000.0;

sim_pres_tissue[23] = 6502. / 10000.0;

sim_pres_tissue[24] = 5950. / 10000.0;

sim_pres_tissue[25] = 5545. / 10000.0;

sim_pres_tissue[26] = 5333. / 10000.0;

sim_pres_tissue[27] = 5189. / 10000.0;

sim_pres_tissue[28] = 5181. / 10000.0;

sim_pres_tissue[29] = 5176. / 10000.0;

sim_pres_tissue[30] = 5172. / 10000.0;

sim_pres_tissue[31] = 5119. / 10000.0;

*/

};



rom const unsigned int b_N2[] =

{

// N2

0xAE47,  0x013F,  0x27C2,  0x263F,  0x19E2,  0x383F,  0xEC51,  0x483F,

0x8E06,  0x503F,  0x10E9,  0x573F,  0x728A,  0x5E3F,  0x9318,  0x643F,

0x55C1,  0x683F,  0x4D15,  0x6C3F,  0x0091,  0x6E3F,  0x80B7,  0x703F,

0x789C,  0x723F,  0x8F53,  0x743F,  0xABCF,  0x753F,  0xE71D,  0x773F

// He

, 0x1058, 0xD93E, 0x8A1F, 0x133F, 0x5917, 0x273F, 0xA7E8, 0x383F

, 0x6519, 0x423F, 0xFFB2, 0x4B3F, 0x41F1, 0x533F, 0xF1F4, 0x5A3F

, 0xE02D, 0x603F, 0xB3EA, 0x633F, 0xBD52, 0x663F, 0xD044, 0x683F

, 0xF085, 0x693F, 0x11C7, 0x6A3F, 0x88F4, 0x6B3F, 0x363C, 0x6D3F



/*

 5050, Werte sind Einheitslos. 5050 ist in float als 0.5050

 6514,

 7222,

 7825,

 8126,

 8434,

 8693,

 8910,

 9092,

 9222,

 9319,

 9403,

 9477,

 9544,

 9602,

 9653

// b

sim_pres_tissue[16] = 0.4245;

sim_pres_tissue[17] = 0.5747;

sim_pres_tissue[18] = 0.6527;

sim_pres_tissue[19] = 0.7223;

sim_pres_tissue[20] = 0.7582;

sim_pres_tissue[21] = 0.7957;

sim_pres_tissue[22] = 0.8279;

sim_pres_tissue[23] = 0.8553;

sim_pres_tissue[24] = 0.8757;

sim_pres_tissue[25] = 0.8903;

sim_pres_tissue[26] = 0.8997;

sim_pres_tissue[27] = 0.9073;

sim_pres_tissue[28] = 0.9122;

sim_pres_tissue[29] = 0.9171;

sim_pres_tissue[30] = 0.9217;

sim_pres_tissue[31] = 0.9267;

*/

};



rom const unsigned int t05[] =

{

// N2

  0x3BAA, 0xB8C0, 0x3BAA, 0x38C1, 0xFE44, 0x90C1, 0xD484, 0xD5C1

, 0xA2CF, 0x1BC2, 0x5805, 0x5DC2, 0x3BAD, 0x9CC2, 0xCF2C, 0xDEC2

, 0xF640, 0x1DC3, 0x2BA2, 0x52C3, 0x59E4, 0x86C3, 0xED66, 0xACC3

, 0xD002, 0xDCC3, 0xABA9, 0x0CC4, 0x939D, 0x33C4, 0x2007, 0x65C4

// He

, 0x0B6C, 0x0BC0, 0x0B6C, 0x8BC0, 0x98E7, 0xD9C0, 0xDC59, 0x21C1

, 0xBDAD, 0x6BC1, 0x2E1F, 0xA7C1, 0xBFF2, 0xECC1, 0xC7FC, 0x27C2

, 0x93C1, 0x6DC2, 0xA33E, 0x9FC2, 0xDEF7, 0xCBC2, 0x4455, 0x02C3

, 0x0C54, 0x26C3, 0x9EAE, 0x54C3, 0x55C9, 0x87C3, 0x2225, 0xADC3

/*

4, und zwar 4.0 * -1.0 / ln(2) ...

8,

12,

18,

27,

39,

55,

77,

109,

146,

187,

239,

305,

390,

498,

635

// He; t05 * -1 /ln(2)

pres_tissue[16] = -2.178469512;

pres_tissue[17] = -4.356939024;

pres_tissue[18] = -6.809520594;

pres_tissue[19] = -10.08443834;

pres_tissue[20] = -14.72991637;

pres_tissue[21] = -20.89022419;

pres_tissue[22] = -29.61852919;

pres_tissue[23] = -41.99685264;

pres_tissue[24] = -59.43903569;

pres_tissue[25] = -79.62233931;

pres_tissue[26] = -101.9841124;

pres_tissue[27] = -130.33307;

pres_tissue[28] = -166.3283113;

pres_tissue[29] = -212.6821029;

pres_tissue[30] = -271.5729145;

pres_tissue[31] = -346.2900907;

*/

};



// ab hier bei Speicher 0x4100

rom const unsigned int e1min[] =

{ // N2

0x0EEC, 0x223E, 0xC9F9, 0xA93D, 0xA8F2, 0x5C3D, 0x8AA0, 0x163D

, 0x23A1, 0xCF3C, 0x89EC, 0x923C, 0x9AD0, 0x4F3C, 0x52D3, 0x123C

, 0x26B7, 0xCF3B, 0x3A33, 0x9B3B, 0x7B78, 0x723B, 0xC0CA, 0x3D3B

, 0xD7C4, 0x143B, 0x58BF, 0xE83A, 0xA54E, 0xB63A, 0x0AFF, 0x8E3A

// He

, 0xBE78, 0xBC3E, 0x9001, 0x523E, 0x71DB, 0x0B3E, 0x3757, 0xC13D

, 0x186C, 0x863D, 0x2274, 0x3F3D, 0xBAFB, 0x073D, 0x1AC2, 0xC03C

, 0x44AB, 0x883C, 0x107C, 0x4C3C, 0x0EDE, 0x1F3C, 0x9174, 0xFA3B

, 0xBB6A, 0xC43B, 0x6CB5, 0x993B, 0x57E0, 0x703B, 0x8FFA, 0x3C3B 

/*

Die e1min Werte in float Notation:

  und zwar  1 - 2^(-1/t05)

c_2[0] = 0.1591036;

c_2[1] = 0.08299596;

c_2[2] = 0.053942353;

c_2[3] = 0.036774196;

c_2[4] = 0.02534539;

c_2[5] = 0.017935055;

c_2[6] = 0.012684012;

c_2[7] = 8.961515534E-3;

c_2[8] = 6.338971845E-3;

c_2[9] = 4.73633146E-3;

c_2[10] = 3.699808187E-3;

c_2[11] = 2.89599589E-3;

c_2[12] = 2.270033275E-3;

c_2[13] = 1.775722E-3;

c_2[14] = 1.390893611E-3;

c_2[15] = 1.090974815E-3;

// e 1 īmin He

pres_tissue[0] = 0.368108684;

pres_tissue[1] = 0.2050840824;

pres_tissue[2] = 0.1365792957;

pres_tissue[3] = 0.09440463235;

pres_tissue[4] = 0.06563586265;

pres_tissue[5] = 0.04674161154;

pres_tissue[6] = 0.03319905126;

pres_tissue[7] = 0.02353005571;

pres_tissue[8] = 0.0166832282;

pres_tissue[9] = 0.01248075064;

pres_tissue[10] = 0.009757532198;

pres_tissue[11] = 0.007643290133;

pres_tissue[12] = 0.005994168431;

pres_tissue[13] = 0.004690816669;

pres_tissue[14] = 0.003675481163;

pres_tissue[15] = 0.002883586737;

*/

};



rom const unsigned int ht[] =

{

// N2

0x0000, 0x8040, 0x0000, 0x0041, 0x0000, 0x4841, 0x0000, 0x9441

, 0x0000, 0xD841, 0x3333, 0x1942, 0x3333, 0x5942, 0x0000, 0x9A42

, 0x0000, 0xDA42, 0x0000, 0x1243, 0x0000, 0x3B43, 0x0000, 0x6F43

, 0x0080, 0x9843, 0x0000, 0xC343, 0x0000, 0xF943, 0x00C0, 0x1E44

// He

, 0xAE47, 0xC13F, 0xAE47, 0x4140, 0x3D0A, 0x9740, 0x14AE, 0xDF40

, 0x295C, 0x2341, 0x14AE, 0x6741, 0x713D, 0xA441, 0x48E1, 0xE841

, 0xCDCC, 0x2442, 0x8FC2, 0x5C42, 0x4861, 0x8D42, 0x14AE, 0xB442

, 0x7B94, 0xE642, 0x856B, 0x1343, 0x713D, 0x3C43, 0xAE07, 0x7043

/*

He:

sim_pres_tissue[0] = 1.51;

sim_pres_tissue[1] = 3.02;

sim_pres_tissue[2] = 4.72;

sim_pres_tissue[3] = 6.99;

sim_pres_tissue[4] =10.21;

sim_pres_tissue[5] =14.48;

sim_pres_tissue[6] =20.53;

sim_pres_tissue[7] =29.11;

sim_pres_tissue[8] =41.20;

sim_pres_tissue[9] =55.19;

sim_pres_tissue[10] =70.69;

sim_pres_tissue[11] =90.34;

sim_pres_tissue[12] =115.29;

sim_pres_tissue[13] =147.42;

sim_pres_tissue[14] =188.24;

sim_pres_tissue[15] =240.03;

*/

};



rom const unsigned int e10min[] =

{

// N2

  0xBEBE, 0x523F, 0x855D, 0x143F, 0xEEEE, 0xD93E, 0x4CFE, 0x9F3E

, 0x99D9, 0x673E, 0x2785, 0x293E, 0xAD6E, 0xF53D, 0x044E, 0xB03D

, 0x8D5C, 0x7C3D, 0xCDEA, 0x3D3D, 0xB00B, 0x153D, 0x232C, 0xEA3C

, 0x9612, 0xB83C, 0x6E4F, 0x903C, 0x8276, 0x623C, 0x9FDE, 0x313C

// He

, 0xE066, 0x7D3F, 0xC635, 0x663F, 0x7C0D, 0x453F, 0xEA07, 0x213F

, 0x0953, 0xFC3E, 0xB5C4, 0xC23E, 0x1CB5, 0x923E, 0xA5F8, 0x583E

, 0xBC90, 0x1E3E, 0x9EB7, 0xF13D, 0xC348, 0xBF3D, 0x4942, 0x973D

, 0xD400, 0x6F3D, 0x6921, 0x3C3D, 0xF514, 0x143D, 0x982E, 0xE93C

/*

He: 10 min

sim_pres_tissue[0] = 0.989851;

sim_pres_tissue[1] = 0.899258;

sim_pres_tissue[2] = 0.769737;

sim_pres_tissue[3] = 0.629027;

sim_pres_tissue[4] = 0.492821;

sim_pres_tissue[5] = 0.380407;

sim_pres_tissue[6] = 0.286538;

sim_pres_tissue[7] = 0.211886;

sim_pres_tissue[8] = 0.154849;

sim_pres_tissue[9] = 0.118026;

sim_pres_tissue[10] =0.0934005;

sim_pres_tissue[11] =0.0738569;

sim_pres_tissue[12] =0.0583504;

sim_pres_tissue[13] =0.0459303;

sim_pres_tissue[14] =0.0361528;

sim_pres_tissue[15] =0.0284646;

N2: 10 min

sim_pres_tissue[16] = 0.823223;

sim_pres_tissue[17] = 0.579552;

sim_pres_tissue[18] = 0.425651;

sim_pres_tissue[19] = 0.312487;

sim_pres_tissue[20] = 0.226416;

sim_pres_tissue[21] = 0.165547;

sim_pres_tissue[22] = 0.11984;

sim_pres_tissue[23] = 0.0860863;

sim_pres_tissue[24] = 0.0616117;

sim_pres_tissue[25] = 0.0463665;

sim_pres_tissue[26] = 0.0363881;

sim_pres_tissue[27] = 0.0285855;

sim_pres_tissue[28] = 0.0224698;

sim_pres_tissue[29] = 0.017616;

sim_pres_tissue[30] = 0.0138222;

sim_pres_tissue[31] = 0.0108563;

*/

};