Index: firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c =================================================================== diff -u -r70a0840cbf7c2455cb6b814cba1241c253f0e9e3 -rcb8619fdf8690885708071d34b0e87e6657ecd62 --- firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision 70a0840cbf7c2455cb6b814cba1241c253f0e9e3) +++ firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision cb8619fdf8690885708071d34b0e87e6657ecd62) @@ -317,6 +317,47 @@ /*********************************************************************//** * @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 TRUE if request successful, FALSE if not + *************************************************************************/ +BOOL signalNewPreGenPDefeaturedSubMode( U32 newSubMode ) +{ + BOOL result = FALSE; + 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 ) + { + switch ( reqSubMode ) + { + case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: + preGenPermeateDefState = FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK; + setModePreGenPDefTransition( reqSubMode ); + break; + + case FP_PRE_GENP_DEF_FLUSH: + preGenPermeateDefState = FP_PRE_GENP_DEF_FLUSH; + setModePreGenPDefTransition( reqSubMode ); + break; + + case FP_PRE_GENP_DEF_PAUSED: + preGenPermeateDefState = FP_PRE_GENP_DEF_PAUSED; + setModePreGenPDefTransition( reqSubMode ); + + default: + break; + } + result = TRUE; + } + + return result; // TODO can this be a void function +} + +/*********************************************************************//** + * @brief * The getGenPermeateDataPublishInterval function gets the generate permeate * defeatured mode data publish interval. * @details \b Inputs: preGenPermeateDefDataPublishInterval