Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -r3074682de43568567f244e2663d1f75b7e6ea85e -r7e5ca49a3c7862c1650eebff83224f8a5e5912d8 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 3074682de43568567f244e2663d1f75b7e6ea85e) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 7e5ca49a3c7862c1650eebff83224f8a5e5912d8) @@ -87,10 +87,16 @@ * @details \b Outputs: currentAirPumpState, currentAirPumpMotorPowerLevel * @param state Air pump state to set * @param power Power level to set air pump to - * @return none + * @return TRUE if set else FALSE *************************************************************************/ -void setAirPumpState( AIR_PUMP_STATE_T state, F32 power ) +BOOL setAirPumpState( AIR_PUMP_STATE_T state, F32 power ) { + // need to pass the result immediately to user when user enter invalid range + if ( ( power < AIR_PUMP_DUTY_CYCLE_MIN ) && ( power > AIR_PUMP_DUTY_CYCLE_MAX ) ) + { + return FALSE; + } + if ( state < NUM_OF_AIR_PUMP_STATES ) { currentAirPumpState = state; @@ -105,6 +111,8 @@ { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_TD_AIR_PUMP_INVALID_STATE1, (U32)state ) } + + return TRUE; } /*********************************************************************//** @@ -278,17 +286,8 @@ memcpy( &payload, msgPayload, sizeof( AIR_PUMP_SET_CMD_PAYLOAD_T ) ); - // need to pass the result immediately to user when user enter invalid range - if ( ( payload.h12Power >= AIR_PUMP_DUTY_CYCLE_MIN ) && ( payload.h12Power <= AIR_PUMP_DUTY_CYCLE_MAX ) ) - { - setAirPumpState( (AIR_PUMP_STATE_T)payload.h12State, payload.h12Power ); - result = TRUE; - } - else - { - result = FALSE; - } - } + result = setAirPumpState( (AIR_PUMP_STATE_T)payload.h12State, payload.h12Power ); + } } return result;