Index: firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c =================================================================== diff -u -rf7553872983e440277cae7f84b386ff195d7c394 -r886964fa2bf6a5bb61b33b8b5547f3d0c585b360 --- firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision f7553872983e440277cae7f84b386ff195d7c394) +++ firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision 886964fa2bf6a5bb61b33b8b5547f3d0c585b360) @@ -317,57 +317,6 @@ /*********************************************************************//** * @brief - * The validatePreGenPDefeaturedChangeReq function validate whether requested - * sub mode change is legal or not. - * @details \b Inputs: none - * @details \b Outputs: none - * @return TRUE if request is legal, FALSE if not. - *************************************************************************/ -BOOL validatePreGenPDefeaturedChangeReq( U32 newSubMode ) -{ - BOOL result = FALSE; - - // TODO add validation logic - result = TRUE; - - return result; -} - -/*********************************************************************//** - * @brief - * The signalNewPreGenPDefeaturedSubMode function requests transition to a new - * defeatured PreGen Permeate sub mode. - * @details \b Alarm: ALARM_ID_FP_SOFTWARE_FAULT if given new sub mode is invalid. - * @details \b Inputs: none - * @details \b Outputs: none - * @return none - *************************************************************************/ -void signalNewPreGenPDefeaturedSubMode( U32 newSubMode ) -{ - FP_PRE_GENP_DEF_MODE_STATE_T reqSubMode = (FP_PRE_GENP_DEF_MODE_STATE_T)newSubMode; - - if ( reqSubMode < NUM_OF_FP_PRE_GENP_DEF_MODE_STATES ) - { - preGenPermeateDefState = reqSubMode; - // handle the prerequisite if any - switch ( reqSubMode ) - { - case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: - break; - - case FP_PRE_GENP_DEF_FLUSH: - break; - - case FP_PRE_GENP_DEF_PAUSED: - default: - break; - } - setModePreGenPDefTransition( reqSubMode ); - } -} - -/*********************************************************************//** - * @brief * The getGenPermeateDataPublishInterval function gets the generate permeate * defeatured mode data publish interval. * @details \b Inputs: preGenPermeateDefDataPublishInterval @@ -428,4 +377,61 @@ return result; } +/*********************************************************************//** + * @brief + * The testValidatePreGenPDefeaturedChangeReq function validate whether + * requested sub mode change is legal or not. + * @details \b Inputs: none + * @details \b Outputs: none + * @param newSubMode the enumerated sub state of the mode. + * @return TRUE if request is legal, FALSE if not. + *************************************************************************/ +BOOL testValidatePreGenPDefeaturedChangeReq( U32 newSubMode ) +{ + BOOL result = FALSE; + + if ( newSubMode < NUM_OF_FP_PRE_GENP_DEF_MODE_STATES ) + { + switch ( newSubMode ) + { + case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: + case FP_PRE_GENP_DEF_FLUSH: + case FP_PRE_GENP_DEF_PAUSED: + default: + result = TRUE; + break; + } + } + + return result; +} + +/*********************************************************************//** + * @brief + * The testSignalNewPreGenPDefeaturedSubMode function requests transition + * to a new defeatured PreGen Permeate sub mode. + * @details \b Inputs: none + * @details \b Outputs: none + * @param newSubMode the enumerated sub state of the mode. + * @return none + *************************************************************************/ +void testSignalNewPreGenPDefeaturedSubMode( U32 newSubMode ) +{ + if ( newSubMode < NUM_OF_FP_PRE_GENP_DEF_MODE_STATES ) + { + preGenPermeateDefState = (FP_PRE_GENP_DEF_MODE_STATE_T)newSubMode; + // handle the prerequisite if any + switch ( newSubMode ) + { + // Any of these state require no special handling + case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: + case FP_PRE_GENP_DEF_FLUSH: + case FP_PRE_GENP_DEF_PAUSED: + default: + break; + } + setModePreGenPDefTransition( preGenPermeateDefState ); + } +} + /**@}*/