Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r416a8fba5774e6cd64c69513e082afbd79f75ccf -r216bd924f989182e648ee5f33f4c91c43ac438ac --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 416a8fba5774e6cd64c69513e082afbd79f75ccf) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 216bd924f989182e648ee5f33f4c91c43ac438ac) @@ -46,7 +46,7 @@ #define ROP_CONTROL_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< interval (ms/task time) at which the RO pump is controlled #define ROP_P_COEFFICIENT 0.005 ///< P term for RO pump control -#define ROP_I_COEFFICIENT 0.00015 ///< I term for RO pump control +#define ROP_I_COEFFICIENT 0.00025 ///< I term for RO pump control #define ROP_PSI_TO_PWM_DC(p) ( 0.2 + ( (F32)((p) - 100) * 0.01 ) ) ///< conversion factor from target PSI to PWM duty cycle estimate TODO - this is a place holder for real conversion @@ -250,12 +250,13 @@ // TODO - test code - remove later if ( GET_DIP_SW0_TEST() ) { - setROPumpTargetPressure( 130, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setROPumpTargetPressure( 120, PUMP_CONTROL_MODE_CLOSED_LOOP ); } // if we've been given a pressure, transition to control to target state if ( getTargetROPumpPressure() > 0 ) { + roPumpControlModeSet = roPumpControlMode; // set initial PWM duty cycle roPumpPWMDutyCyclePctSet = roPumpPWMDutyCyclePct; setROPumpControlSignalPWM( roPumpPWMDutyCyclePctSet ); @@ -303,6 +304,7 @@ if ( !GET_DIP_SW0_TEST() ) { signalROPumpHardStop(); + result = RO_PUMP_OFF_STATE; } return result;