Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -raddd69fc864448c17a4a68b2bfa466af5483f987 -r20fe5dc6869557f96c86fbd9d7f2f634ce23696a --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision addd69fc864448c17a4a68b2bfa466af5483f987) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 20fe5dc6869557f96c86fbd9d7f2f634ce23696a) @@ -268,35 +268,53 @@ initFPGAPersistentAlarm( FPGA_PERS_ERROR_VENOUS_PRESSURE_SESNOR, ALARM_ID_HD_VENOUS_SENSOR_FPGA_FAULT, PRES_SENSORS_FPGA_ERROR_TIMEOUT_MS, PRES_SENSORS_FPGA_ERROR_TIMEOUT_MS ); - setPressureLimitsToOuterBounds(); + resetPresOccl(); currPresLimitsState = PRESSURE_LIMITS_STATE_OFF; pressureLimitsActive = FALSE; stabilizationStartTimeMs = 0; stableArterialPressure = 0; stableVenousPressure = 0; - venLowPresExemptAfterAirTrapFillTimerCtr = 0; prevVenLowPresExemptAfterAirTrapFillTimerCtr = 0; - resetArtVenPressureOffsets(); longFilteredArterialPressure = 0.0F; shortFilteredArterialPressure.data = 0.0F; longFilteredVenousPressure = 0.0F; shortFilteredVenousPressure.data = 0.0F; filteredBloodPumpOccl.data = 0.0F; - bloodPumpPartialOcclusionBaseline.data = 0.0F; - partialBloodPumpOcclBaselineUpdateTimerCounter = 0; presOcclDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; presOcclState = PRESSURE_WAIT_FOR_POST_STATE; presOcclPostState = PRESSURE_SELF_TEST_STATE_START; - bloodPumpOcclusionAfterCartridgeInstall = 0; - partialBloodPumpOcclBaselineUpdate = FALSE; - pressureStabilizeTime = USE_NORMAL_STABILIZATION_PERIOD; - resetFillExemptPeriod = TRUE; - lowVenousPressureExemptCheck = TRUE; } /*********************************************************************//** * @brief + * The resetPresOccl function resets the pressure occlusion variables for + * a new treatment. + * @details Inputs: none + * @details Outputs: venLowPresExemptAfterAirTrapFillTimerCtr, resetFillExemptPeriod + * lowVenousPressureExemptCheck, pressureStabilizeTime, + * bloodPumpOcclusionAfterCartridgeInstall, bloodPumpPartialOcclusionBaseline, + * partialBloodPumpOcclBaselineUpdateTimerCounter, emptySalineBagCtr + * @return none + *************************************************************************/ +void resetPresOccl( void ) +{ + venLowPresExemptAfterAirTrapFillTimerCtr = 0; + resetFillExemptPeriod = TRUE; + lowVenousPressureExemptCheck = TRUE; + pressureStabilizeTime = USE_NORMAL_STABILIZATION_PERIOD; + bloodPumpOcclusionAfterCartridgeInstall = 0; + bloodPumpPartialOcclusionBaseline.data = 0.0F; + partialBloodPumpOcclBaselineUpdate = FALSE; + partialBloodPumpOcclBaselineUpdateTimerCounter = 0; + emptySalineBagCtr = 0; + + setPressureLimitsToOuterBounds(); + resetArtVenPressureOffsets(); +} + +/*********************************************************************//** + * @brief * The resetArtVenPressureOffsets function resets the arterial and venous * offsets to zero. * @details Inputs: none @@ -965,7 +983,7 @@ else { // Increment counter on airtrap valve close state. Also, when next fill happens within exempt period, counter will be keep incremented irrespective of valve state. - if ( TRUE == lowVenousPressureExemptCheck ) + if ( lowVenousPressureExemptCheck != FALSE ) { venLowPresExemptAfterAirTrapFillTimerCtr++; }