Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -rcecaee70fe37b4622df8d1f10811a1d6721077a4 -r28b6e281605c1a944c982d0ec7dcdb6f28aac82b --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision cecaee70fe37b4622df8d1f10811a1d6721077a4) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 28b6e281605c1a944c982d0ec7dcdb6f28aac82b) @@ -15,11 +15,13 @@ * ***************************************************************************/ + #include "Messaging.h" #include "ModeInitPOST.h" #include "ModeFault.h" -#include "ModeGenPermeate.h" #include "ModeStandby.h" +#include "ModeWaterGen.h" +#include "ModeWaterPreGen.h" #include "OperationModes.h" #include "TaskGeneral.h" @@ -48,12 +50,13 @@ /// This matrix determines legal transitions from one mode to another static const RO_OP_MODE_T MODE_TRANSITION_TABLE[ NUM_OF_RO_MODES - 1 ][ NUM_OF_RO_MODES - 1 ] = { -// From to-> FAULT SERVICE INIT STANBY GENP -/* FAUL */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG }, -/* SERV */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG }, -/* INIT */{ RO_MODE_FAUL, RO_MODE_NLEG, RO_MODE_INIT, RO_MODE_STAN, RO_MODE_NLEG }, -/* STAN */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_STAN, RO_MODE_GENP }, -/* GENP */{ RO_MODE_FAUL, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_STAN, RO_MODE_GENP } }; +// From to-> FAULT SERVICE INIT STANBY PGEN GENW +/* FAUL */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG }, +/* SERV */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_NLEG }, +/* INIT */{ RO_MODE_FAUL, RO_MODE_NLEG, RO_MODE_INIT, RO_MODE_STAN, RO_MODE_NLEG, RO_MODE_NLEG }, +/* STAN */{ RO_MODE_FAUL, RO_MODE_SERV, RO_MODE_NLEG, RO_MODE_STAN, RO_MODE_NLEG, RO_MODE_GENW }, +/* PGEN */{ RO_MODE_FAUL, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_STAN, RO_MODE_PGEN, RO_MODE_GENW }, +/* GENW */{ RO_MODE_FAUL, RO_MODE_NLEG, RO_MODE_NLEG, RO_MODE_STAN, RO_MODE_NLEG, RO_MODE_GENW } }; // ********** private function prototypes ********** @@ -93,7 +96,8 @@ // initServiceMode(); initInitAndPOSTMode(); initStandbyMode(); - initGenPermeateMode(); + initPreGenWMode(); + initGenWaterMode(); } /*********************************************************************//** @@ -116,7 +120,7 @@ newMode = MODE_TRANSITION_TABLE[ currentMode ][ newMode ]; // Is requested new mode valid and legal at this time? - if ( newMode >= RO_MODE_NLEG ) + if ( ( newMode >= RO_MODE_NLEG ) && ( isTestingActivated() != TRUE ) ) { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED, newMode ) newMode = currentMode; @@ -140,7 +144,7 @@ break; case RO_MODE_SERV: -// currentSubMode = execServiceMode(); +// currentSubMode = execServiceMode(); break; case RO_MODE_INIT: @@ -151,10 +155,14 @@ currentSubMode = execStandbyMode(); break; - case RO_MODE_GENP: - currentSubMode = execGenPermeateMode(); + case RO_MODE_PGEN: + currentSubMode = execPreGenWMode(); break; + case RO_MODE_GENW: + currentSubMode = execGenWaterMode(); + break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE, currentMode ) currentMode = RO_MODE_FAUL; @@ -305,10 +313,14 @@ currentSubMode = transitionToStandbyMode(); break; - case RO_MODE_GENP: - currentSubMode = transitionToGenPermeateMode(); + case RO_MODE_PGEN: + currentSubMode = transitionToPreGenWMode(); break; + case RO_MODE_GENW: + currentSubMode = transitionToGenWaterMode(); + break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_RO_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO, newMode ) break;