Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -r0299bdb0514a35999be37487ff332ecb3de163bd -rfbb77dff1aeac3b26529790ad6af0e63f5a1f578 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 0299bdb0514a35999be37487ff332ecb3de163bd) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision fbb77dff1aeac3b26529790ad6af0e63f5a1f578) @@ -279,8 +279,17 @@ AIR_PUMP_SET_CMD_PAYLOAD_T payload; memcpy( &payload, msgPayload, sizeof( AIR_PUMP_SET_CMD_PAYLOAD_T ) ); - setAirPumpState( (AIR_PUMP_STATE_T)payload.h12State, payload.h12Power ); - result = TRUE; + + // 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; + } } }