Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r051e0c243c0e6faa7a53287b16252d93044d87e0 -r775b51d1fdbee9a270714c4c625e632ee7ace2e8 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 051e0c243c0e6faa7a53287b16252d93044d87e0) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 775b51d1fdbee9a270714c4c625e632ee7ace2e8) @@ -15,8 +15,6 @@ * ***************************************************************************/ -#include "gio.h" - #include "ModeFault.h" #include "ModeInitPOST.h" #include "ModeService.h" @@ -77,8 +75,7 @@ * @brief * The initOperationModes function initializes the operation modes module. * @details \b Inputs: none - * @details \b Outputs: modeRequest, lastMode, currentMode, currentSubMode, - * dataPublishCounter + * @details \b Outputs: unit vairables initialized. * @return none *************************************************************************/ void initOperationModes( void ) @@ -105,15 +102,10 @@ // initServiceMode(); initInitAndPOSTMode(); // initStandbyMode(); -// initSoloMode(); // initGenIdleMode(); -// initFillMode(); -// initDrainMode(); // initFlushMode(); // initHeatDisinfectMode(); -// initChemicalDisinfectMode(); // initHeatDisinfectActiveCoolMode(); -// initChemicalDisinfectFlushMode(); // initROPermeateSampleMode(); } @@ -126,6 +118,8 @@ * @details \b Inputs: currentMode, currentSubMode * @details \b Outputs: currentMode, currentSubMode * @details \b Alarm: ALARM_ID_DD_SOFTWARE_FAULT when illegal mode transition requested + * @details \b Message \b Sent: DD_EVENT_SUB_MODE_CHANGE to update DD operation mode + * changes.ALARM_ID_DD_SOFTWARE_FAULT if legal mode is not found. * and invalid operation mode encountered. * @return none *************************************************************************/ @@ -182,23 +176,11 @@ case DD_MODE_STAN: currentSubMode = execStandbyMode(); break; -// -// case DD_MODE_SOLO: -// currentSubMode = execSoloMode(); -// break; -// + // case DD_MODE_GENE: // currentSubMode = execGenIdleMode(); // break; // -// case DD_MODE_FILL: -// currentSubMode = execFillMode(); -// break; -// -// case DD_MODE_DRAI: -// currentSubMode = execDrainMode(); -// break; -// // case DD_MODE_FLUS: // currentSubMode = execFlushMode(); // break; @@ -207,18 +189,10 @@ // currentSubMode = execHeatDisinfectMode(); // break; // -// case DD_MODE_CHEM: -// currentSubMode = execChemicalDisinfectMode(); -// break; -// // case DD_MODE_HCOL: // currentSubMode = execHeatDisinfectActiveCoolMode(); // break; // -// case DD_MODE_CHFL: -// currentSubMode = execChemicalDisinfectFlushMode(); -// break; -// // case DD_MODE_ROPS: // currentSubMode = execROPermeateSampleMode(); // break; @@ -347,6 +321,8 @@ * to new operation mode. * @details \b Inputs: currentSubMode * @details \b Outputs: Transition to new mode + * @details \b Message \Sent: DD_EVENT_OP_MODE_CHANGE ( Evend Id :1) to update + * operation mode changes. ALARM_ID_DD_SOFTWARE_FAULT if legal mode is not found. * @param newMode new op mode to transition to * @return none *************************************************************************/ @@ -362,45 +338,39 @@ case DD_MODE_FAUL: currentSubMode = transitionToFaultMode(); break; + case DD_MODE_SERV: currentSubMode = transitionToServiceMode(); break; + case DD_MODE_INIT: currentSubMode = transitionToInitAndPOSTMode(); break; + case DD_MODE_STAN: currentSubMode = transitionToStandbyMode(); break; -// case DD_MODE_SOLO: -// currentSubMode = transitionToSoloMode(); -// break; + // case DD_MODE_GENE: // currentSubMode = transitionToGenIdleMode(); // break; -// case DD_MODE_FILL: -// currentSubMode = transitionToFillMode(); -// break; -// case DD_MODE_DRAI: -// currentSubMode = transitionToDrainMode(); -// break; + // case DD_MODE_FLUS: // currentSubMode = transitionToFlushMode(); // break; + // case DD_MODE_HEAT: // currentSubMode = transitionToHeatDisinfectMode(); // break; -// case DD_MODE_CHEM: -// currentSubMode = transitionToChemicalDisinfectMode(); -// break; + // case DD_MODE_HCOL: // currentSubMode = transitionToHeatDisinfectActiveCoolMode(); // break; -// case DD_MODE_CHFL: -// currentSubMode = transitionToChemicalDisinfectFlushMode(); -// break; + // case DD_MODE_ROPS: // currentSubMode = transitionToROPermeateSampleMode(); // break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO, (U32)newMode ) break; @@ -419,6 +389,8 @@ * the prescribed interval. * @details \b Inputs: broadcastModeIntervalCtr * @details \b Outputs: DD operation mode broadcast message sent + * @details \b Message \Sent: MSG_ID_DD_OP_MODE_DATA to publish the operation + * mode and sub mode details. * @return none *************************************************************************/ static void broadcastOperationMode( void ) @@ -475,6 +447,8 @@ * status event. * @details \b Inputs: currentMode, currentSubMode, currentSubState * @details \b Outputs: dat1, dat2. + * @details \b Message \b Sent: DD_EVENT_OPERATION_STATUS to update + * operation mode, sub mode and sub state details. * @return none *************************************************************************/ static void sendOperationStatusEvent() @@ -505,7 +479,7 @@ *************************************************************************/ void setTDOperationMode( U32 mode, U32 subMode ) { - // thread protection for queue operations + // thread protection for mode and sub mode updation together. _disable_IRQ(); tdModes.tdMode = (TD_OP_MODE_T)mode; tdModes.tdSubMode = subMode; @@ -528,6 +502,7 @@ mode->tdSubMode = tdModes.tdSubMode; } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/