Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rbb114842e73659f097bb8b8ec0d670bfa4f8cb73 -r6419179374edcd65da462de84e8aeaefb7e20320 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision bb114842e73659f097bb8b8ec0d670bfa4f8cb73) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 6419179374edcd65da462de84e8aeaefb7e20320) @@ -23,10 +23,14 @@ #include "DialInFlow.h" #include "DialOutFlow.h" #include "Dialysis.h" +#include "ModePostTreat.h" +#include "ModePreTreat.h" +#include "ModeStandby.h" +#include "ModeTreatment.h" +#include "ModeTreatmentParams.h" #include "OperationModes.h" #include "SystemComm.h" #include "SystemCommMessages.h" -#include "ModeStandby.h" #ifdef EMC_TEST_BUILD // TODO - test code #include "FPGA.h" #endif @@ -103,23 +107,25 @@ #ifndef RUN_WITHOUT_DG if ( TRUE == stop ) { - activateAlarmNoData( ALARM_ID_TREATMENT_STOPPED_BY_USER ); + activateAlarmNoData( ALARM_ID_TREATMENT_STOPPED_BY_USER ); // TODO - remove alarm? Nothing to stop here. } // State machine to get DG to prep a reservoir so we can start a treatment switch ( currentStandbyState ) { case STANDBY_START_STATE: - // Temporary test code - TODO - remove later - if ( TRUE == isDGCommunicating() ) - { - currentStandbyState = STANDBY_WAIT_FOR_TREATMENT_STATE; - } + currentStandbyState = STANDBY_WAIT_FOR_TREATMENT_STATE; break; case STANDBY_WAIT_FOR_TREATMENT_STATE: if ( TRUE == treatStartReqReceived ) { + // Initialize treatment modes before starting a new treatment + initTreatParamsMode(); + initPreTreatmentMode(); + initTreatmentMode(); + initPostTreatmentMode(); + // Start treatment workflow with treatment parameters mode requestNewOperationMode( MODE_TPAR ); treatStartReqReceived = FALSE; } @@ -264,7 +270,7 @@ *************************************************************************/ void signalAlarmActionToStandbyMode( ALARM_ACTION_T action ) { - // TODO - implement + // Alarm actions not handled in Standby mode } /**@}*/