Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -re7525696d18a5a7c7481fc6a920e95d227a6e72f -r74fb4e00de266776cfc5d92163592ee895c23ed0 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision e7525696d18a5a7c7481fc6a920e95d227a6e72f) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 74fb4e00de266776cfc5d92163592ee895c23ed0) @@ -93,6 +93,8 @@ BOOL setAirPumpState( AIR_PUMP_STATE_T state, F32 power ) { BOOL result = FALSE; + + //There is a limitation on the TD circuit to be able to run the pump at the low speed. change planned in next version of the board. right now limiting the pump duty cycle below 24% //BOOL validInput = ( power == AIR_PUMP_DUTY_CYCLE_MIN) || ( power >= AIR_PUMP_DUTY_CYCLE_LIMIT && power <= AIR_PUMP_DUTY_CYCLE_MAX); BOOL validInput = ( ( ( power >= AIR_PUMP_DUTY_CYCLE_MIN ) && ( power <= AIR_PUMP_DUTY_CYCLE_MAX ) ) && ( FALSE == ( ( power > AIR_PUMP_DUTY_CYCLE_MIN ) && ( power < AIR_PUMP_DUTY_CYCLE_LIMIT ) ) ) ); // need to pass the result immediately to user when user enter invalid range @@ -142,6 +144,7 @@ *************************************************************************/ void execAirPumpController( void ) { + // update the speed every tick currentAirPumpRPM = getAirPumpMotorRPM(); switch( currentAirPumpState ) @@ -240,7 +243,7 @@ data.h12Power = currentAirPumpPowerLevel; data.h12Rpm = (U32)currentAirPumpRPM; //TODO:remove after validating pump speed - data.fpgah12Rpm = getH12AirPumpMotorRPM(); + data.fpgah12Rpm = getAirPumpMotorFPGARPM(); //TODO:remove after validating pump speed data.scalarPower = getAirPumpMotorScalarPower();