Index: firmware/App/Controllers/PermeateTank.c =================================================================== diff -u -rb112f6c67441dee24917cb7b2a3323f5c2b5bb81 -r6a318f2db61c3567fceea2c1963e0b02d90c8aee --- firmware/App/Controllers/PermeateTank.c (.../PermeateTank.c) (revision b112f6c67441dee24917cb7b2a3323f5c2b5bb81) +++ firmware/App/Controllers/PermeateTank.c (.../PermeateTank.c) (revision 6a318f2db61c3567fceea2c1963e0b02d90c8aee) @@ -37,7 +37,7 @@ #define PERMEATE_TANK_FILL_SWITCH_MS ( 10 * MS_PER_SECOND ) ///< state switch timeout in fill state ( in ms ) #define PERMEATE_TANK_FULL_SWITCH_MS ( 1 * MS_PER_SECOND ) ///< state switch timeout in full state (in ms) #define PERMEATE_TANK_FULL_TIMEOUT_MS ( 60 * MS_PER_SECOND ) ///< timeout being in full state too long ( in ms ) -#define PERMEATE_TANK_FILL_RO_PUMP_TGT_FLOW_ML 700 ///< Flow target in ml/min for the ro pump during permeate tank fill state. +#define PERMEATE_TANK_FILL_RO_PUMP_TGT_FLOW_ML 750 ///< Flow target in ml/min for the ro pump during permeate tank fill state. // ********** private data ********** 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; Index: firmware/App/Modes/FlushConcentrate.c =================================================================== diff -u -rf93be5a5e1c484f03ae1b70c5539dc0d163c147b -r6a318f2db61c3567fceea2c1963e0b02d90c8aee --- firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision f93be5a5e1c484f03ae1b70c5539dc0d163c147b) +++ firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision 6a318f2db61c3567fceea2c1963e0b02d90c8aee) @@ -155,7 +155,7 @@ // state = CONC_FLUSH_PAUSED; // } - if( TRUE == didTimeout( concentrateFlushTimer, getConcentrateFlushTimeout() ) ) + if ( TRUE == didTimeout( concentrateFlushTimer, getConcentrateFlushTimeout() ) ) { isFlushComplete = TRUE; state = CONC_FLUSH_PAUSED; @@ -181,7 +181,7 @@ } else { - if( TRUE == didTimeout( concentrateFlushTankFullTimer, CONCENTRATE_FLUSH_WAIT_FOR_TANK_FULL_TIMEOUT ) ) + if ( TRUE == didTimeout( concentrateFlushTankFullTimer, CONCENTRATE_FLUSH_WAIT_FOR_TANK_FULL_TIMEOUT ) ) { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_CONCENTRATE_FLUSH_TANK_FULL_TIMEOUT, concentrateFlushTankFullTimer, getPermeateTankState() ) state = CONC_FLUSH_PAUSED; @@ -190,6 +190,7 @@ return state; } + /*********************************************************************//** * @brief * The handleConcentrateFlushProgressState handles the in progress state of Concentrate flush Index: firmware/App/Modes/ModeGenPermeate.c =================================================================== diff -u -rba9341bc691b500d5ec3904fec1eb38279c5fbbd -r6a318f2db61c3567fceea2c1963e0b02d90c8aee --- firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision ba9341bc691b500d5ec3904fec1eb38279c5fbbd) +++ firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 6a318f2db61c3567fceea2c1963e0b02d90c8aee) @@ -39,7 +39,7 @@ #define PRE_GEN_PERMEATE_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the gen permeate mode data published. #define GEN_PERMEATE_BOOST_PUMP_TGT_PSI 25.0F ///< Pressure target in PSI for the boost pump during generate permeate mode. -#define GEN_PERMEATE_RO_PUMP_TGT_ML 700 ///< Flow target in ml/min for the ro pump during generate permeate mode. +#define GEN_PERMEATE_RO_PUMP_TGT_ML 750 ///< Flow target in ml/min for the ro pump during generate permeate mode. // ********** private data ********** Index: firmware/App/Modes/ModePreGenPermeate.c =================================================================== diff -u -r74be2e300c7b0ad2a069cea4b1dc2cff06ec0d3e -r6a318f2db61c3567fceea2c1963e0b02d90c8aee --- firmware/App/Modes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 74be2e300c7b0ad2a069cea4b1dc2cff06ec0d3e) +++ firmware/App/Modes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 6a318f2db61c3567fceea2c1963e0b02d90c8aee) @@ -42,7 +42,7 @@ // ********** private definitions ********** #define PRE_GENP_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the pre gen Permeate mode data published. -#define VERIFY_WATER_RO_PUMP_TGT_FLOW_ML 700 ///< Target flow rate for RO pump in ml/min +#define VERIFY_WATER_RO_PUMP_TGT_FLOW_ML 750 ///< Target flow rate for RO pump in ml/min #define VERIFY_WATER_BOOST_PUMP_TGT_PSI 25 ///< Target pressure for boost pump in psi. #define VERIFY_WATER_TIMEOUT_MS ( 30 * MS_PER_SECOND ) ///< Verify Water timer ( in ms )