Index: firmware/App/Modes/FPModes/ModeGenPermeate.c =================================================================== diff -u -r973f790125e70115662d979f5f5631bb9df081f0 -rcb8619fdf8690885708071d34b0e87e6657ecd62 --- firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 973f790125e70115662d979f5f5631bb9df081f0) +++ firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision cb8619fdf8690885708071d34b0e87e6657ecd62) @@ -243,6 +243,41 @@ /*********************************************************************//** * @brief + * The signalNewGenPermeateSubMode function requests transition to + * a new Gen Permeate sub mode. + * @details \b Inputs: none + * @details \b Outputs: none + * @return TRUE if request successful, FALSE if not + *************************************************************************/ +BOOL signalNewGenPermeateSubMode( U32 newSubMode ) +{ + BOOL result = FALSE; + FP_GENP_MODE_STATE_T reqSubMode = (FP_GENP_MODE_STATE_T)newSubMode; + + if ( reqSubMode < NUM_OF_FP_GENP_MODE_STATES ) + { + switch ( reqSubMode ) + { + case FP_GENP_TANK_FILL_STATE: + genPermeateState = FP_GENP_TANK_FILL_STATE; + setModeGenPTransition( reqSubMode ); + break; + + case FP_GENP_TANK_FULL_STATE: + genPermeateState = FP_GENP_TANK_FULL_STATE; + setModeGenPTransition( reqSubMode ); + break; + default: + break; + } + result = TRUE; + } + + return result; // TODO can this be a void function +} + +/*********************************************************************//** + * @brief * The getTankFullAlarmTimeout function returns the tank full alarm timeout * @details \b Inputs: none * @details \b Outputs: tankFullAlarmTimeout