Mercurial > public > ostc4
comparison Discovery/Src/logbook.c @ 662:1b995079c045 Betatest
PSCR Mode
author | heinrichs weikamp |
---|---|
date | Tue, 14 Dec 2021 15:36:10 +0100 |
parents | 4eba86129d35 |
children | b456be1e152d |
comparison
equal
deleted
inserted
replaced
661:87bee7cc77b3 | 662:1b995079c045 |
---|---|
1000 { | 1000 { |
1001 if(header.gasordil[i].note.ub.first) | 1001 if(header.gasordil[i].note.ub.first) |
1002 break; | 1002 break; |
1003 } | 1003 } |
1004 firstgasid = i + 1; | 1004 firstgasid = i + 1; |
1005 if(header.diveMode == DIVEMODE_CCR) | 1005 if(isLoopMode(header.diveMode)) |
1006 setPointLast = header.setpoint[0].setpoint_cbar; | 1006 setPointLast = header.setpoint[0].setpoint_cbar; |
1007 else | 1007 else |
1008 setPointLast = 0; | 1008 setPointLast = 0; |
1009 //diveTime_seconds = header.diveTime_seconds ; | 1009 //diveTime_seconds = header.diveTime_seconds ; |
1010 for(compression = 1; compression < 100; compression ++) | 1010 for(compression = 1; compression < 100; compression ++) |
1164 //Calc ppo2 - Values | 1164 //Calc ppo2 - Values |
1165 SGas gas; | 1165 SGas gas; |
1166 gas.setPoint_cbar = setPointVal; | 1166 gas.setPoint_cbar = setPointVal; |
1167 if(gasidVal > 0) | 1167 if(gasidVal > 0) |
1168 { | 1168 { |
1169 if((gasidVal >= NUM_GASES) && (header.diveMode == DIVEMODE_PSCR)) /* in case gas switches the absolute gas ID is used => map to the 0..NUM_GASES index used in header */ | |
1170 { | |
1171 gasidVal -= NUM_GASES; | |
1172 } | |
1169 gas.helium_percentage = header.gasordil[gasidVal - 1].helium_percentage; | 1173 gas.helium_percentage = header.gasordil[gasidVal - 1].helium_percentage; |
1170 gas.nitrogen_percentage = 100 - gas.helium_percentage - header.gasordil[gasidVal - 1].oxygen_percentage; | 1174 gas.nitrogen_percentage = 100 - gas.helium_percentage - header.gasordil[gasidVal - 1].oxygen_percentage; |
1171 } | 1175 } |
1172 else | 1176 else |
1173 { | 1177 { |
1174 gas.helium_percentage = manualGasVal.percentageHe; | 1178 gas.helium_percentage = manualGasVal.percentageHe; |
1175 gas.nitrogen_percentage = 100 - gas.helium_percentage - manualGasVal.percentageO2; | 1179 gas.nitrogen_percentage = 100 - gas.helium_percentage - manualGasVal.percentageO2; |
1176 } | 1180 } |
1177 ambiant_pressure_bar =((float)(depthVal + header.surfacePressure_mbar))/1000; | 1181 ambiant_pressure_bar =((float)(depthVal + header.surfacePressure_mbar))/1000; |
1178 ppO2 = decom_calc_ppO2(ambiant_pressure_bar, &gas ); | 1182 |
1183 if(header.diveMode == DIVEMODE_PSCR) | |
1184 { | |
1185 ppO2 = decom_calc_SimppO2(ambiant_pressure_bar, &gas); | |
1186 } | |
1187 else /* open circuit calculation */ | |
1188 { | |
1189 ppO2 = decom_calc_ppO2(ambiant_pressure_bar, &gas); | |
1190 } | |
1179 ppo2[iNum] = (uint16_t) ( ppO2 * 100); | 1191 ppo2[iNum] = (uint16_t) ( ppO2 * 100); |
1180 } | 1192 } |
1181 | 1193 |
1182 if(tank) | 1194 if(tank) |
1183 { | 1195 { |