Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r3b2807df83d1f5caf47a750153709ff976b685f3 -r977c9e90a086a057c60b6347e08e5494745c247f --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 3b2807df83d1f5caf47a750153709ff976b685f3) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 977c9e90a086a057c60b6347e08e5494745c247f) @@ -843,6 +843,8 @@ if ( isAlarmActive( ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT ) && valvesStatus[ valve ].commandedPosition == VALVE_POSITION_C_CLOSE ) { activateSafetyShutdown(); + // Set the alarm + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT, (U32)valve ); } } // Check if the valve is close to the temporary target position and if it is, assign the next target position Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r766708fceb0bdf1af8c7897df29d4f5036bfd3db -r977c9e90a086a057c60b6347e08e5494745c247f --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 766708fceb0bdf1af8c7897df29d4f5036bfd3db) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 977c9e90a086a057c60b6347e08e5494745c247f) @@ -29,14 +29,14 @@ static BOOL treatStartReqReceived = FALSE; ///< Flag indicates user requests treatment begin. -static PRE_TREATMENT_MODE_STATE_T currentPreTreatmentState; ///< Current state of pre-treatment mode state machine. +static HD_PRE_TREATMENT_MODE_STATE_T currentPreTreatmentState; ///< Current state of pre-treatment mode state machine. // ********** private function prototypes ********** -static PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ); -static PRE_TREATMENT_MODE_STATE_T handleSelfTestDryState( void ); -static PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ); -static PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ); +static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ); +static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestDryState( void ); +static HD_PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ); +static HD_PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ); /*********************************************************************//** * @brief @@ -47,7 +47,7 @@ *************************************************************************/ void initPreTreatmentMode( void ) { - currentPreTreatmentState = PRE_TREATMENT_START_STATE; + currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; } /*********************************************************************//** @@ -67,7 +67,7 @@ setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, TRUE ); - currentPreTreatmentState = PRE_TREATMENT_START_STATE; + currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; } /*********************************************************************//** @@ -82,46 +82,46 @@ // execute mode state machine switch ( currentPreTreatmentState ) { - case PRE_TREATMENT_START_STATE: + case HD_PRE_TREATMENT_START_STATE: cmdStartDG(); cmdSetDGDialysateTargetTemps( 39.0, 37.0 ); - currentPreTreatmentState = PRE_TREATMENT_WATER_SAMPLE_STATE; + currentPreTreatmentState = HD_PRE_TREATMENT_WATER_SAMPLE_STATE; break; - case PRE_TREATMENT_WATER_SAMPLE_STATE: - currentPreTreatmentState = PRE_TREATMENT_SELF_TEST_NO_CART_STATE; + case HD_PRE_TREATMENT_WATER_SAMPLE_STATE: + currentPreTreatmentState = HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE; break; - case PRE_TREATMENT_SELF_TEST_NO_CART_STATE: + case HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE: currentPreTreatmentState = handleSelfTestNoCartState(); break; - case PRE_TREATMENT_CART_INSTALL_STATE: - currentPreTreatmentState = PRE_TREATMENT_SELF_TEST_DRY_STATE; + case HD_PRE_TREATMENT_CART_INSTALL_STATE: + currentPreTreatmentState = HD_PRE_TREATMENT_SELF_TEST_DRY_STATE; break; - case PRE_TREATMENT_SELF_TEST_DRY_STATE: + case HD_PRE_TREATMENT_SELF_TEST_DRY_STATE: currentPreTreatmentState = handleSelfTestDryState(); break; - case PRE_TREATMENT_PRIME_STATE: + case HD_PRE_TREATMENT_PRIME_STATE: currentPreTreatmentState = handlePrimeState(); break; - case PRE_TREATMENT_SELF_TEST_WET_STATE: - currentPreTreatmentState = PRE_TREATMENT_RECIRC_STATE; + /*case HD_PRE_TREATMENT_SELF_TEST_WET_STATE: + currentPreTreatmentState = HD_PRE_TREATMENT_RECIRC_STATE; break; - case PRE_TREATMENT_RECIRC_STATE: - currentPreTreatmentState = PRE_TREATMENT_PATIENT_CONNECTION_STATE; - break; + case HD_PRE_TREATMENT_RECIRC_STATE: + currentPreTreatmentState = HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE; + break;*/ - case PRE_TREATMENT_PATIENT_CONNECTION_STATE: + case HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE: currentPreTreatmentState = handlePatientConnectionState(); break; default: - currentPreTreatmentState = PRE_TREATMENT_START_STATE; + currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_INVALID_STATE, (U32)currentPreTreatmentState ); break; } @@ -172,7 +172,7 @@ * @details Outputs: home blood pump and dialysate pumps * @return current state (sub-mode) *************************************************************************/ -static PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ) +static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ) { // TODO: Prompt user to close door @@ -182,7 +182,7 @@ // TODO: Prompt user to open door - return PRE_TREATMENT_CART_INSTALL_STATE; + return HD_PRE_TREATMENT_CART_INSTALL_STATE; } /*********************************************************************//** @@ -192,14 +192,14 @@ * @details Outputs: transition to prime sub-mode when blood pump finished homing * @return current state (sub-mode) *************************************************************************/ -static PRE_TREATMENT_MODE_STATE_T handleSelfTestDryState( void ) +static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestDryState( void ) { - PRE_TREATMENT_MODE_STATE_T state = PRE_TREATMENT_CART_INSTALL_STATE; + HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_CART_INSTALL_STATE; if ( FALSE == isBloodPumpRunning() ) { transitionToPrime(); - state = PRE_TREATMENT_PRIME_STATE; + state = HD_PRE_TREATMENT_PRIME_STATE; } return state; @@ -212,15 +212,15 @@ * @details Outputs: transition to self test wet state after priming passed * @return current state (sub-mode) *************************************************************************/ -static PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ) +static HD_PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ) { - PRE_TREATMENT_MODE_STATE_T state = PRE_TREATMENT_PRIME_STATE; + HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_PRIME_STATE; execPrime(); if ( TRUE == isPrimingPassed() ) { - state = PRE_TREATMENT_SELF_TEST_WET_STATE; + //state = HD_PRE_TREATMENT_SELF_TEST_WET_STATE; } return state; @@ -234,14 +234,14 @@ * @details Outputs: requested mode transition to treatment mode * @return current state (sub-mode) *************************************************************************/ -static PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ) +static HD_PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ) { if ( TRUE == treatStartReqReceived ) { requestNewOperationMode( MODE_TREA ); } - return PRE_TREATMENT_PATIENT_CONNECTION_STATE; + return HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE; } /**@}*/ Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r30f049651877229042e3f8700c8596e5b9a1e0f4 -r977c9e90a086a057c60b6347e08e5494745c247f --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 30f049651877229042e3f8700c8596e5b9a1e0f4) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 977c9e90a086a057c60b6347e08e5494745c247f) @@ -223,13 +223,13 @@ currentTreatmentState = TREATMENT_DIALYSIS_STATE; break; - case TREATMENT_RINSEBACK_PAUSE_STATE: + /*case TREATMENT_RINSEBACK_PAUSE_STATE: // TODO - implement break; case TREATMENT_RECIRC_PAUSE_STATE: // TODO - implement - break; + break;*/ default: // Ignore @@ -291,25 +291,25 @@ // TODO - implement break; - case TREATMENT_RINSEBACK_PAUSE_STATE: + /*case TREATMENT_RINSEBACK_PAUSE_STATE: // TODO - implement break; case TREATMENT_RECIRC_SETUP_STATE: // TODO - implement - break; + break;*/ case TREATMENT_RECIRC_STATE: // TODO - implement break; - case TREATMENT_RECIRC_PAUSE_STATE: + /*case TREATMENT_RECIRC_PAUSE_STATE: // TODO - implement break; case TREATMENT_RECIRC_STOP_STATE: // TODO - implement - break; + break;*/ case TREATMENT_DIALYSIS_END_STATE: // TODO - implement Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rc7ffa13e306681a647ad25513a89250c6918e6a4 -r977c9e90a086a057c60b6347e08e5494745c247f --- firmware/App/Modes/Prime.c (.../Prime.c) (revision c7ffa13e306681a647ad25513a89250c6918e6a4) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 977c9e90a086a057c60b6347e08e5494745c247f) @@ -52,7 +52,7 @@ // ********** private data ********** -static PRE_TREATMENT_PRIME_STATE_T currentPrimeState; ///< Current state of the prime sub-mode state machine. +static HD_PRE_TREATMENT_PRIME_STATE_T currentPrimeState; ///< Current state of the prime sub-mode state machine. static PRIME_RESERVOIR_MGMT_STATE_T currentReservoirMgmtState; ///< Current reservoir management state. static BOOL isPrimeCompleted; ///< Status if prime sequence has been completed. @@ -66,11 +66,11 @@ static void execPreTreatmentReservoirMgmt( void ); static void purgeAirValvesBloodPumpControl( void ); -static PRE_TREATMENT_PRIME_STATE_T handlePrimeSalineSetupState( void ); -static PRE_TREATMENT_PRIME_STATE_T handlePrimePurgeAirState( void ); -static PRE_TREATMENT_PRIME_STATE_T handlePrimeCircBloodCircuitState( void ); -static PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ); -static PRE_TREATMENT_PRIME_STATE_T handlePrimeDialysateDialyzerState( void ); +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeSalineSetupState( void ); +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimePurgeAirState( void ); +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeCircBloodCircuitState( void ); +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ); +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeDialysateDialyzerState( void ); /*********************************************************************//** * @brief @@ -95,7 +95,7 @@ *************************************************************************/ void transitionToPrime( void ) { - currentPrimeState = PRIME_START_STATE; + currentPrimeState = HD_PRIME_START_STATE; currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; isPrimeCompleted = FALSE; // TODO: set to false after integration with UI @@ -118,33 +118,33 @@ // execute prime sub-mode state machine switch ( currentPrimeState ) { - case PRIME_START_STATE: + case HD_PRIME_START_STATE: cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); - currentPrimeState = PRIME_SALINE_SETUP_STATE; + currentPrimeState = HD_PRIME_SALINE_SETUP_STATE; break; - case PRIME_SALINE_SETUP_STATE: + case HD_PRIME_SALINE_SETUP_STATE: currentPrimeState = handlePrimeSalineSetupState(); break; - case PRIME_SALINE_PURGE_AIR_STATE: + case HD_PRIME_SALINE_PURGE_AIR_STATE: currentPrimeState = handlePrimePurgeAirState(); break; - case PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE: + case HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE: currentPrimeState = handlePrimeCircBloodCircuitState(); break; - case PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE: + case HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE: currentPrimeState = handlePrimeReservoirOneFillCompleteState(); break; - case PRIME_DIALYSATE_DIALYZER_STATE: + case HD_PRIME_DIALYSATE_DIALYZER_STATE: currentPrimeState = handlePrimeDialysateDialyzerState(); break; default: - currentPrimeState = PRIME_START_STATE; + currentPrimeState = HD_PRIME_START_STATE; SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_PRIME_INVALID_STATE, (U32)currentReservoirMgmtState ); break; } @@ -277,15 +277,15 @@ * @details Outputs: control valves to purge air * @return current state *************************************************************************/ -static PRE_TREATMENT_PRIME_STATE_T handlePrimeSalineSetupState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeSalineSetupState( void ) { - PRE_TREATMENT_PRIME_STATE_T state = PRIME_SALINE_SETUP_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_SALINE_SETUP_STATE; if ( TRUE == primeStartReqReceived ) { purgeAirValvesBloodPumpControl(); purgeAirTimeOutTimerCount = 0; - state = PRIME_SALINE_PURGE_AIR_STATE; + state = HD_PRIME_SALINE_PURGE_AIR_STATE; } return state; @@ -299,9 +299,9 @@ * @details Outputs: runs blood pump, control valves to trap air * @return current state *************************************************************************/ -static PRE_TREATMENT_PRIME_STATE_T handlePrimePurgeAirState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimePurgeAirState( void ) { - PRE_TREATMENT_PRIME_STATE_T state = PRIME_SALINE_PURGE_AIR_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_SALINE_PURGE_AIR_STATE; if ( ++purgeAirTimeOutTimerCount > PURGE_AIR_TIME_OUT_COUNT ) { @@ -318,7 +318,7 @@ setBloodPumpTargetFlowRate( BLOOD_PUMP_FLOW_RATE_CIRC_BLOOD_CIRCUIT, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); noAirDetectedTimerCounter = 0; - state = PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE; + state = HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE; } return state; @@ -333,21 +333,21 @@ * @details Outputs: stop blood pump, control valves to purge air * @return current state *************************************************************************/ -static PRE_TREATMENT_PRIME_STATE_T handlePrimeCircBloodCircuitState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeCircBloodCircuitState( void ) { - PRE_TREATMENT_PRIME_STATE_T state = PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE; if ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) { purgeAirValvesBloodPumpControl(); purgeAirTimeOutTimerCount = 0; - state = PRIME_SALINE_PURGE_AIR_STATE; + state = HD_PRIME_SALINE_PURGE_AIR_STATE; } if ( ++noAirDetectedTimerCounter > NO_AIR_DETECTED_COUNT ) { signalBloodPumpHardStop(); - state = PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; } return state; @@ -361,13 +361,13 @@ * @details Outputs: none * @return current state *************************************************************************/ -static PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ) { - PRE_TREATMENT_PRIME_STATE_T state = PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; if ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) { - state = PRIME_DIALYSATE_DIALYZER_STATE; + state = HD_PRIME_DIALYSATE_DIALYZER_STATE; } return state; @@ -381,11 +381,11 @@ * @details Outputs: isPrimeCompleted * @return current state *************************************************************************/ -static PRE_TREATMENT_PRIME_STATE_T handlePrimeDialysateDialyzerState( void ) +static HD_PRE_TREATMENT_PRIME_STATE_T handlePrimeDialysateDialyzerState( void ) { // TODO: Add priming for dialysate circuit isPrimeCompleted = TRUE; - return PRIME_DIALYSATE_DIALYZER_STATE; + return HD_PRIME_DIALYSATE_DIALYZER_STATE; } /**@}*/