Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rce64f27cc40a432ce45badf365af3e20283e0a7f -reeeb0e3bd5139142394b4b454dcc5b5583cd2e29 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision ce64f27cc40a432ce45badf365af3e20283e0a7f) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision eeeb0e3bd5139142394b4b454dcc5b5583cd2e29) @@ -45,7 +45,7 @@ #define DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN 300 ///< Dialysate pump flow rate during priming fluid path. #define LOAD_CELL_VOLUME_NOISE_TOLERANCE 0.05 ///< Allow 5% tolerance on load cell readings. -#define PRIME_SALINE_DIALYZER_STOP_WEIGHT 10.0 ///< Load cell readings of 10 grams ( 10 mL ) used in prime saline dialyzer state +#define PRIME_SALINE_DIALYZER_STOP_WEIGHT 200.0 // 10.0 try 200.0 11/19/2021 Sean ///< Load cell readings of 10 grams ( 10 mL ) used in prime saline dialyzer state #define NO_AIR_DETECTED_COUNT ( 20 * MS_PER_SECOND ) ///< No air detected time period count. #define PURGE_AIR_TIME_OUT_COUNT ( 60 * MS_PER_SECOND ) ///< Time period count for purge air time out. @@ -196,16 +196,16 @@ currentPrimeState = handlePrimeCircBloodCircuitState(); break; - case HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE: - currentPrimeState = handlePrimeReservoirTwoFillCompleteState(); + case HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE: + currentPrimeState = handlePrimeReservoirOneFillCompleteState(); break; case HD_PRIME_DIALYSATE_BYPASS_STATE: currentPrimeState = handlePrimeDialysateBypassState(); break; - case HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE: - currentPrimeState = handlePrimeReservoirOneFillCompleteState(); + case HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE: + currentPrimeState = handlePrimeReservoirTwoFillCompleteState(); break; case HD_PRIME_DIALYSATE_DIALYZER_STATE: @@ -559,7 +559,7 @@ if ( TRUE == didTimeout( noAirDetectedStartTime, NO_AIR_DETECTED_COUNT ) ) { signalBloodPumpHardStop(); - state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; + state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; } if ( TRUE == doesAlarmStatusIndicateStop() ) @@ -573,19 +573,19 @@ /*********************************************************************//** * @brief - * The handlePrimeReservoirTwoFillCompleteState function waits for DG to finish - * filling reservoir 2 before moving to pre-treatment re-circulation. + * The handlePrimeReservoirOneFillCompleteState function waits for DG to finish + * filling reservoir 1 before moving to priming dialyzer. * @details Inputs: reservoirFilledStatus[] * @details Outputs: update valves and pumps configuration on state change * @return current state *************************************************************************/ -static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirTwoFillCompleteState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ) { - HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; - if ( TRUE == getReservoirFillStatus( DG_RESERVOIR_2 ) ) + if ( TRUE == getReservoirFillStatus( DG_RESERVOIR_1 ) ) { - cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); + cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); if ( TRUE == hasDGCompletedReservoirSwitch() ) { @@ -601,7 +601,12 @@ previousLoadCellReading = 0; primeDialysateBypassStartTime = getMSTimerCount(); loadcellSteadyVolumeStartTime = getMSTimerCount(); + + #ifdef SKIP_PRIMING + state = HD_PRIME_WET_SELF_TESTS_STATE; + #else state = HD_PRIME_DIALYSATE_BYPASS_STATE; + #endif } } @@ -639,7 +644,7 @@ } else { - state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; } } } @@ -665,19 +670,19 @@ /*********************************************************************//** * @brief - * The handlePrimeReservoirOneFillCompleteState function waits for DG to finish - * filling reservoir 1 before moving to priming dialyzer. + * The handlePrimeReservoirTwoFillCompleteState function waits for DG to finish + * filling reservoir 2 before moving to pre-treatment re-circulation. * @details Inputs: reservoirFilledStatus[] * @details Outputs: update valves and pumps configuration on state change * @return current state *************************************************************************/ -static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirTwoFillCompleteState( void ) { - HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; - if ( TRUE == getReservoirFillStatus( DG_RESERVOIR_1 ) ) + if ( TRUE == getReservoirFillStatus( DG_RESERVOIR_2 ) ) { - cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); + cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); if ( TRUE == hasDGCompletedReservoirSwitch() ) { @@ -694,11 +699,7 @@ loadcellSteadyVolumeStartTime = getMSTimerCount(); primeDialysateDialyzerStartTime = getMSTimerCount(); - #ifdef SKIP_PRIMING - state = HD_PRIME_WET_SELF_TESTS_STATE; - #else state = HD_PRIME_DIALYSATE_DIALYZER_STATE; - #endif } }