Mercurial > public > ostc4
comparison Discovery/Src/buehlmann.c @ 833:e963d32f746e Evo_2_23
Added selection if an active gas shall be used for deco calculation or not
Calculate deco acording to gas deco calculation active bit
author | Ideenmodellierer |
---|---|
date | Sun, 17 Dec 2023 21:10:04 +0100 |
parents | b7d93ff6b3b2 |
children | 974648b5ccfe |
comparison
equal
deleted
inserted
replaced
832:7b0033246b12 | 833:e963d32f746e |
---|---|
256 } while(next_depth == -1); | 256 } while(next_depth == -1); |
257 tts_seconds += ascend_time; | 257 tts_seconds += ascend_time; |
258 gStop.depth = next_depth; | 258 gStop.depth = next_depth; |
259 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) | 259 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) |
260 { | 260 { |
261 if((pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) | 261 if(pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) |
262 || (pDiveSettings->gas[pDiveSettings->decogaslist[i].GasIdInSettings].note.ub.decocalc == 0)) | |
263 break; | 262 break; |
264 float pressureChange = ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero) / 10; | 263 float pressureChange = ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero) / 10; |
265 if(gStop.depth <= pressureChange + 0.00001f) | 264 if(gStop.depth <= pressureChange + 0.00001f) |
266 { | 265 { |
267 gGas_id = i; | 266 gGas_id = i; |
457 seconds = 0; | 456 seconds = 0; |
458 do{ | 457 do{ |
459 pressureTop_tmp = pressureTop; | 458 pressureTop_tmp = pressureTop; |
460 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) | 459 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) |
461 { | 460 { |
462 if((pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) | 461 if(pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) |
463 || (pDiveSettings->gas[pDiveSettings->decogaslist[i].GasIdInSettings].note.ub.decocalc == 0)) | |
464 break; | 462 break; |
465 pressureChange = gSurface_pressure_bar + ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero) / 10; | 463 pressureChange = gSurface_pressure_bar + ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero) / 10; |
466 if(pressureBottom <= pressureChange) | 464 if(pressureBottom <= pressureChange) |
467 { | 465 { |
468 gGas_id = i; | 466 gGas_id = i; |
473 } | 471 } |
474 | 472 |
475 } | 473 } |
476 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) | 474 for(i = gGas_id + 1; i < BUEHLMANN_STRUCT_MAX_GASES; i++) |
477 { | 475 { |
478 if((pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) | 476 if(pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero == 0) |
479 || (pDiveSettings->gas[pDiveSettings->decogaslist[i].GasIdInSettings].note.ub.decocalc == 0)) | |
480 break; | 477 break; |
481 pressureChange = gSurface_pressure_bar + ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero)/ 10; | 478 pressureChange = gSurface_pressure_bar + ((float)pDiveSettings->decogaslist[i].change_during_ascent_depth_meter_otherwise_zero)/ 10; |
482 if((pressureChange < pressureBottom) && (pressureChange > pressureTop)) | 479 if((pressureChange < pressureBottom) && (pressureChange > pressureTop)) |
483 { | 480 { |
484 pressureTop_tmp = pressureChange; | 481 pressureTop_tmp = pressureChange; |