Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r288bfd724a1bcafd1697985ec21112450ab0910b -r6a318f2db61c3567fceea2c1963e0b02d90c8aee --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 288bfd724a1bcafd1697985ec21112450ab0910b) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 6a318f2db61c3567fceea2c1963e0b02d90c8aee) @@ -39,8 +39,8 @@ #define RO_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the RO Pump data is published on the CAN bus. #define ROP_CONTROL_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the RO pump is controlled. -#define ROP_FLOW_CONTROL_P_COEFFICIENT 0.000095F ///< P term for RO pump flow control. -#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.00049F ///< I term for RO pump flow control. +#define ROP_FLOW_CONTROL_P_COEFFICIENT 0.000095F ///< P term for RO pump flow control. +#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.00049F ///< I term for RO pump flow control. #define ROP_MIN_FLOW_TO_CONTROL_PCT 0.75F #define ROP_PRESSURE_CONTROL_P_COEFFICIENT 0.15F ///< P term for RO pump pressure control. #define ROP_PRESSURE_CONTROL_I_COEFFICIENT 0.65F ///< I term for RO pump pressure control. @@ -123,9 +123,9 @@ targetROPumpPressure.ovData = 0.0F; targetROPumpPressure.ovInitData = 0.0F; targetROPumpPressure.override = OVERRIDE_RESET; - roPumpOpenLoopTargetDutyCycle.data = 0; - roPumpOpenLoopTargetDutyCycle.ovData = 0; - roPumpOpenLoopTargetDutyCycle.ovInitData = 0; + roPumpOpenLoopTargetDutyCycle.data = 0.0; + roPumpOpenLoopTargetDutyCycle.ovData = 0.0; + roPumpOpenLoopTargetDutyCycle.ovInitData = 0.0; roPumpOpenLoopTargetDutyCycle.override = OVERRIDE_RESET; stopROPump(); @@ -688,11 +688,11 @@ pumpData.p12PumpDutyCycle = (U32)getFluidPumpPWMDutyCycle( P12_PUMP ); pumpData.p12PumpFBDutyCycle = (U32)getFluidPumpReadPWMDutyCycle( P12_PUMP ); pumpData.p12PumpSpeed = getFluidPumpRPM( P12_PUMP ); - pumpData.p12TargetPressure = getPIControllerSignals(PI_CONTROLLER_ID_RO_PUMP_FLOW,CONTROLLER_SIGNAL_CONTROL); - pumpData.p12TargetFlow = getPIControllerSignals(PI_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_ERROR); - pumpData.p12TargetDutyCycle = getPIControllerSignals(PI_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PROPORTIONAL_OUTPUT); - pumpData.p12PumpDutyCyclePct = getPIControllerSignals(PI_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_INTEGRAL_OUTPUT); - pumpData.p12PumpFBDutyCyclePct = getPIControllerSignals(PI_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_ERROR_SUM_AFTER_WINDUP); + pumpData.p12TargetPressure = getTargetROPumpPressure(); + pumpData.p12TargetFlow = getTargetROPumpFlowRateMLPM(); + pumpData.p12TargetDutyCycle = getTargetROPumpDutyCyclePCT(); + pumpData.p12PumpDutyCyclePct = convertDutyCycleCntToPct( (U32)getFluidPumpPWMDutyCycle( P12_PUMP ) ); + pumpData.p12PumpFBDutyCyclePct = convertDutyCycleCntToPct( (U32)getFluidPumpReadPWMDutyCycle( P12_PUMP ) ); broadcastData( MSG_ID_FP_RO_PUMP_DATA, COMM_BUFFER_OUT_CAN_FP_BROADCAST, (U08*)&pumpData, sizeof( RO_PUMP_DATA_T ) ); roPumpDataPublicationTimerCounter = 0;