Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -ra25d5c24569e3d77487a75498a4e10dd83ada9c4 -r3074682de43568567f244e2663d1f75b7e6ea85e --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision a25d5c24569e3d77487a75498a4e10dd83ada9c4) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 3074682de43568567f244e2663d1f75b7e6ea85e) @@ -32,10 +32,7 @@ #define AIR_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Air pump data publish interval. #define DATA_PUBLISH_COUNTER_START_COUNT 13 ///< Air pump data publish start counter. -#define AIR_PUMP_DUTY_CYCLE_MIN 0.0F ///< Air pump minimum duty cycle in percentage -#define AIR_PUMP_DUTY_CYCLE_MAX 100.0F ///< Air pump maximum duty cycle in percentage - #pragma pack(push, 1) /// Payload record structure for air pump test set command message payload. typedef struct @@ -280,7 +277,9 @@ AIR_PUMP_SET_CMD_PAYLOAD_T payload; memcpy( &payload, msgPayload, sizeof( AIR_PUMP_SET_CMD_PAYLOAD_T ) ); - if ( payload.h12Power >= AIR_PUMP_DUTY_CYCLE_MIN && payload.h12Power <= AIR_PUMP_DUTY_CYCLE_MAX ) + + // 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;