# HG changeset patch # User JeanDo # Date 1304719688 -7200 # Node ID 676d18bce8d75cf14529a1774976916dfe817f36 # Parent a99073445c186eb04c76f951ddded72dea61dc8f Fix ppO2[flush] display in customview. diff -r a99073445c18 -r 676d18bce8d7 code_part1/OSTC_code_asm_part1/pled_outputs.asm --- a/code_part1/OSTC_code_asm_part1/pled_outputs.asm Thu May 05 22:18:24 2011 +0200 +++ b/code_part1/OSTC_code_asm_part1/pled_outputs.asm Sat May 07 00:08:08 2011 +0200 @@ -3109,9 +3109,16 @@ WIN_LEFT .130 WIN_TOP .168 + + movff char_O_flush_ppO2, lo + incf lo,W ; ppO2 == 2.55 ? + bnz PLED_show_end_ead_divemode_1 + + STRCPY_PRINT "----" ; YES: mark overflow. + return + +PLED_show_end_ead_divemode_1: lfsr FSR2,letter - - movff char_O_diluent_ppO2, lo clrf hi bsf leftbind output_16dp d'3' ; Show ppO2 w/o leading zero diff -r a99073445c18 -r 676d18bce8d7 code_part1/OSTC_code_c_part2/p2_deco.c --- a/code_part1/OSTC_code_c_part2/p2_deco.c Thu May 05 22:18:24 2011 +0200 +++ b/code_part1/OSTC_code_c_part2/p2_deco.c Sat May 07 00:08:08 2011 +0200 @@ -1384,6 +1384,8 @@ pres_diluent = pres_respiration; if( char_I_const_ppO2 != 0 ) // new in v.101 { + overlay float flush_ppO2 = pres_respiration * (1.0 - N2_ratio - He_ratio); + pres_diluent -= const_ppO2; // new in v.101 pres_diluent /= N2_ratio + He_ratio; // new in v.101 if( pres_diluent < 0.0 ) @@ -1392,7 +1394,10 @@ pres_diluent = pres_respiration; // new in v.101 char_O_diluent = (unsigned char)(pres_diluent/pres_respiration*100.0 + 0.5); - char_O_diluent_ppO2 = (unsigned char)(pres_diluent * (1.0 - N2_ratio - He_ratio) * 100.0 + 0.5); + + if( flush_ppO2 > 2.45 ) flush_ppO2 = 2.55; + if( flush_ppO2 < 0.0 ) flush_ppO2 = 0.0; + char_O_flush_ppO2 = (unsigned char)(flush_ppO2*100.0 + 0.5); } if( pres_diluent > ppWater ) // new in v.101 diff -r a99073445c18 -r 676d18bce8d7 code_part1/OSTC_code_c_part2/p2_deco.o Binary file code_part1/OSTC_code_c_part2/p2_deco.o has changed diff -r a99073445c18 -r 676d18bce8d7 code_part1/OSTC_code_c_part2/shared_definitions.h --- a/code_part1/OSTC_code_c_part2/shared_definitions.h Thu May 05 22:18:24 2011 +0200 +++ b/code_part1/OSTC_code_c_part2/shared_definitions.h Sat May 07 00:08:08 2011 +0200 @@ -86,7 +86,7 @@ VAR_UCHAR (char_O_gradient_factor); // VAR_UCHAR (char_O_gtissue_no); // VAR_UCHAR (char_O_diluent); // new in v.101 -VAR_UCHAR (char_O_diluent_ppO2); // 2011-05-01: ppO2 from diluant (CCR mode). +VAR_UCHAR (char_O_flush_ppO2); // 2011-05-01: ppO2 from diluant (CCR mode). VAR_UCHAR (char_O_EAD); // 2011-05-01: Added EAD/END in deco model. VAR_UCHAR (char_O_END); // 2011-05-01: Added EAD/END in deco model. VAR_UCHAR (char_O_CNS_fraction); // new in v.101