Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -rf7c714a1a09b10d85a8b013712532d37b4d7b97a -rb6d20d9e5c704a9f7ebceea9bb12731dac61fc2a --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision f7c714a1a09b10d85a8b013712532d37b4d7b97a) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision b6d20d9e5c704a9f7ebceea9bb12731dac61fc2a) @@ -17,14 +17,14 @@ #include "ModeFault.h" #include "ModeInitPOST.h" +#include "ModeGenDialysate.h" #include "ModeService.h" #include "ModeStandby.h" #include "MessageSupport.h" #include "Messaging.h" #include "OperationModes.h" #include "TaskGeneral.h" - /** * @addtogroup DDOperationModes * @{ @@ -99,10 +99,10 @@ // call initializers for the individual modes initFaultMode(); -// initServiceMode(); + initServiceMode(); initInitAndPOSTMode(); -// initStandbyMode(); -// initGenIdleMode(); + initStandbyMode(); + initGenDialysateMode(); // initFlushMode(); // initHeatDisinfectMode(); // initHeatDisinfectActiveCoolMode(); @@ -177,9 +177,9 @@ currentSubMode = execStandbyMode(); break; -// case DD_MODE_GENE: -// currentSubMode = execGenIdleMode(); -// break; + case DD_MODE_GEND: + currentSubMode = execGenDialysateMode(); + break; // // case DD_MODE_FLUS: // currentSubMode = execFlushMode(); @@ -351,9 +351,9 @@ currentSubMode = transitionToStandbyMode(); break; -// case DD_MODE_GENE: -// currentSubMode = transitionToGenIdleMode(); -// break; + case DD_MODE_GEND: + currentSubMode = transitionToGenDialysateMode(); + break; // case DD_MODE_FLUS: // currentSubMode = transitionToFlushMode(); @@ -514,15 +514,25 @@ * mode if the transition is legal. * @details \b Inputs: MODE_TRANSITION_TABLE[][] * @details \b Outputs: modeRequest[], result - * @param newMode ID of requested mode to transition to + * @param message a pointer to the message to handle which includes the + * override value for the new mode change. * @return TRUE if request successful, FALSE if not *************************************************************************/ -BOOL testSetOperationMode( DD_OP_MODE_T newMode ) +BOOL testSetOperationMode( MESSAGE_T *message ) { BOOL result = FALSE; if ( TRUE == isTestingActivated() ) { + U32 data; + DD_OP_MODE_T newMode; + + if( message->hdr.payloadLen == sizeof( U32 ) ) + { + memcpy( &data, message->payload, sizeof( U32 ) ); + newMode = (DD_OP_MODE_T)data; + } + DD_OP_MODE_T check = MODE_TRANSITION_TABLE[ currentMode ][ newMode ]; // Is mode transition legal? @@ -538,49 +548,19 @@ /*********************************************************************//** * @brief - * The testSetDDOpModePublishIntervalOverride function overrides the + * The testDDOpModePublishIntervalOverride function overrides the * DD operation mode publish interval. * @details \b Inputs: none * @details \b Outputs: ddOpModePublishInterval - * @param value override DD operation mode publish interval with (in ms) + * @param Override message from Dialin which includes the interval + * (in ms) to override the DD operation mode publish interval to. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetDDOpModePublishIntervalOverride( U32 value ) +BOOL testDDOpModePublishIntervalOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32BroadcastIntervalOverride( message, &ddOpModePublishInterval, TASK_GENERAL_INTERVAL ); - if ( TRUE == isTestingActivated() ) - { - U32 intvl = value / TASK_GENERAL_INTERVAL; - - result = TRUE; - ddOpModePublishInterval.ovData = intvl; - ddOpModePublishInterval.override = OVERRIDE_KEY; - } - return result; } -/*********************************************************************//** - * @brief - * The testResetDDOpModePublishIntervalOverride function resets the - * override of the DD operation mode publish interval. - * @details \b Inputs: none - * @details \b Outputs: ddOpModePublishInterval - * @return TRUE if override reset successful, FALSE if not - *************************************************************************/ -BOOL testResetDDOpModePublishIntervalOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - ddOpModePublishInterval.override = OVERRIDE_RESET; - ddOpModePublishInterval.ovData = ddOpModePublishInterval.ovInitData; - } - - return result; -} - /**@}*/