Index: firmware/App/Controllers/BoostPump.c =================================================================== diff -u -rb92c26da32bed791d9836391080eacf19f221de6 -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision b92c26da32bed791d9836391080eacf19f221de6) +++ firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -44,7 +44,7 @@ #define BOOST_PRESSURE_CONTROL_P_COEFFICIENT 0.01F ///< P term for Boost pump pressure control. #define BOOST_PRESSURE_CONTROL_I_COEFFICIENT 0.01F ///< I term for Boost pump pressure control. -#define BOOST_FLOW_TO_PWM_SLOPE 0.357F ///< Slope of flow to PWM line equation. +#define BOOST_FLOW_TO_PWM_SLOPE 0.5F ///< Slope of flow to PWM line equation. #define BOOST_FLOW_TO_PWM_INTERCEPT 0.0F ///< Intercept of flow to PWM line equation. #define BOOST_PRESSURE_TO_PWM_SLOPE 0.5F ///< Slope of pressure to PWM line equation. #define BOOST_PRESSURE_TO_PWM_INTERCEPT 0.0F ///< Intercept of pressure to PWM line equation. @@ -198,6 +198,7 @@ // Set pump to on isBoostPumpOn = TRUE; boostPumpDutyCyclePctSet = boostPumpPresToPWM( getTargetBoostPumpPressure() ); + resetPIController( PI_CONTROLLER_ID_BOOST_PUMP_PRES, boostPumpDutyCyclePctSet, 0.0F ); setFluidPumpPctToPWMDutyCycle( P40_PUMP, boostPumpDutyCyclePctSet ); state = BOOST_PUMP_CONTROL_TO_TARGET_PRESSURE_STATE; } @@ -208,6 +209,7 @@ // Set pump to on isBoostPumpOn = TRUE; boostPumpDutyCyclePctSet = boostPumpFlowToPWM( getTargetBoostPumpFlowRateMLPM() ); + resetPIController( PI_CONTROLLER_ID_BOOST_PUMP_FLOW, boostPumpDutyCyclePctSet, 0.0F ); setFluidPumpPctToPWMDutyCycle( P40_PUMP, boostPumpDutyCyclePctSet ); state = BOOST_PUMP_CONTROL_TO_TARGET_FLOW_STATE; } Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r27566fb95c3865851e3b0b4bd4668474bfdbfcde -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 27566fb95c3865851e3b0b4bd4668474bfdbfcde) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -41,14 +41,14 @@ #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.15F ///< P term for RO pump flow control. -#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.65F ///< I term for RO pump flow control. +#define ROP_FLOW_CONTROL_P_COEFFICIENT 0.001F ///< P term for RO pump flow control. +#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.009F ///< I term for RO pump flow control. #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. -#define ROP_FLOW_TO_PWM_SLOPE 0.357F ///< Slope of flow to PWM line equation. +#define ROP_FLOW_TO_PWM_SLOPE 0.5F ///< Slope of flow to PWM line equation. #define ROP_FLOW_TO_PWM_INTERCEPT 0.0F ///< Intercept of flow to PWM line equation. -#define ROP_PRESSURE_TO_PWM_SLOPE 10.0F ///< Slope of pressure to PWM line equation. +#define ROP_PRESSURE_TO_PWM_SLOPE 0.5F ///< Slope of pressure to PWM line equation. #define ROP_PRESSURE_TO_PWM_INTERCEPT 0.0F ///< Intercept of pressure to PWM line equation. #define DATA_PUBLISH_COUNTER_START_COUNT 10 ///< Data publish counter start count. @@ -191,6 +191,7 @@ // Set pump to on isROPumpOn = TRUE; roPumpDutyCyclePctSet = roPumpPresToPWM( getTargetROPumpPressure() ); + resetPIController( PI_CONTROLLER_ID_RO_PUMP_PRES, roPumpDutyCyclePctSet, 0.0F ); setFluidPumpPctToPWMDutyCycle( P12_PUMP, roPumpDutyCyclePctSet ); state = RO_PUMP_CONTROL_TO_TARGET_PRESSURE_STATE; } @@ -201,6 +202,7 @@ // Set pump to on isROPumpOn = TRUE; roPumpDutyCyclePctSet = roPumpFlowToPWM( getTargetROPumpFlowRateMLPM() ); + resetPIController( PI_CONTROLLER_ID_RO_PUMP_FLOW, roPumpDutyCyclePctSet, 0.0F ); setFluidPumpPctToPWMDutyCycle( P12_PUMP, roPumpDutyCyclePctSet ); state = RO_PUMP_CONTROL_TO_TARGET_FLOW_STATE; } Index: firmware/App/Drivers/ConductivitySensor.c =================================================================== diff -u -r94d93795b2a516b3bdd7fc7030eb5eac933bfcd0 -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Drivers/ConductivitySensor.c (.../ConductivitySensor.c) (revision 94d93795b2a516b3bdd7fc7030eb5eac933bfcd0) +++ firmware/App/Drivers/ConductivitySensor.c (.../ConductivitySensor.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -15,12 +15,12 @@ * ***************************************************************************/ -#include #include // Used for calculating the polynomial calibration equation. #include // For memcpy #include "ConductivitySensor.h" #include "FpgaFP.h" +#include "FPOperationMode.h" #include "MessageSupport.h" #include "Messaging.h" #include "PersistentAlarm.h" Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -r94d93795b2a516b3bdd7fc7030eb5eac933bfcd0 -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 94d93795b2a516b3bdd7fc7030eb5eac933bfcd0) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -98,9 +98,9 @@ { // Update and convert raw pressures to mmHg currentPressureReadings[ M1_PRES ].data = convertPressureReading( getFPGAM1RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); - currentPressureReadings[ M3_PRES ].data = convertPressureReading( getFPGAM3RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); + currentPressureReadings[ M3_PRES ].data = convertPressureReading( getFPGAM3RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); currentPressureReadings[ P8_PRES ].data = convertPressureReading( getFPGAP8RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); - currentPressureReadings[ P13_PRES ].data = convertPressureReading( getFPGAP13RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); + currentPressureReadings[ P13_PRES ].data = convertPressureReading( getFPGAP13RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); currentPressureReadings[ P17_PRES ].data = convertPressureReading( getFPGAP17RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); currentPressureReadings[ X1_PRES ].data = convertPressureReading( getFPGAX1RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); currentPressureReadings[ X2_PRES ].data = convertPressureReading( getFPGAX2RawPressure(), PRES_MIN_PSI, HIGH_PRES_MAX_PSI ); @@ -109,7 +109,7 @@ // Update and convert raw pressure sensor temperatures to deg C currentPresTempReadings[ M1_PRES ].data = convertPressureTempReading2DegC( getFPGAM1RawTemperature() ); - currentPresTempReadings[ M3_PRES ].data = convertPressureTempReading2DegC( getFPGAM3RawTemperature() ); + currentPresTempReadings[ M3_PRES ].data = convertPressureTempReading2DegC( getFPGAM3RawTemperature() ); currentPresTempReadings[ P8_PRES ].data = convertPressureTempReading2DegC( getFPGAP8RawTemperature() ); currentPresTempReadings[ P13_PRES ].data = convertPressureTempReading2DegC( getFPGAP13RawTemperature() ); currentPresTempReadings[ P17_PRES ].data = convertPressureTempReading2DegC( getFPGAP17RawTemperature() ); Index: firmware/App/Modes/FlushConcentrate.c =================================================================== diff -u -r2652d50bbc5e78ed6fe3ad9ccbca0be6f802f1ff -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision 2652d50bbc5e78ed6fe3ad9ccbca0be6f802f1ff) +++ firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -263,6 +263,7 @@ BOOL signalStartConcentrateFlush( void ) { BOOL result = FALSE; + if ( CONC_FLUSH_PAUSED == getCurrentConcentrateFlushState() ) { result = TRUE; Fisheye: Tag 3a5cc585b69ffa194e3601a005915d23b48bd865 refers to a dead (removed) revision in file `firmware/App/Modes/PressureCheck.c'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3a5cc585b69ffa194e3601a005915d23b48bd865 refers to a dead (removed) revision in file `firmware/App/Modes/PressureCheck.h'. Fisheye: No comparison available. Pass `N' to diff? Index: firmware/App/Monitors/WaterQualityMonitor.c =================================================================== diff -u -r2652d50bbc5e78ed6fe3ad9ccbca0be6f802f1ff -r3a5cc585b69ffa194e3601a005915d23b48bd865 --- firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision 2652d50bbc5e78ed6fe3ad9ccbca0be6f802f1ff) +++ firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision 3a5cc585b69ffa194e3601a005915d23b48bd865) @@ -15,7 +15,6 @@ * ***************************************************************************/ - #include "Conductivity.h" #include "Flow.h" #include "FPModeStandby.h" @@ -32,8 +31,6 @@ * @{ */ - - // ********** private definitions ********** #define INLET_TEMPERATURE_LOW_THRESHOLD_C 5.0F ///< Minimum allowed Inlet temperature in C. #define INLET_TEMPERATURE_HIGH_THRESHOLD_C 30.0F ///< Maximum allowed Inlet temperature in C. @@ -57,7 +54,6 @@ #define INLET_WATER_COND_OUT_OF_RANGE_CLEAR_MS ( 5 * MS_PER_SECOND ) ///< Persistence period for conductivity out of range clear in milliseconds. #define INLET_CONDUCTIVITY_HIGH_THRESHOLD_US 2000.0F ///< Maximum allowed outlet conductivity in uS/cm. - // ********** private data ********** // ********** private function prototypes ********** @@ -71,7 +67,6 @@ *************************************************************************/ void initWaterQualityMonitor( void ) { - // Pressure alarms initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE, INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS, INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS );