Index: firmware/App/Controllers/BoostPump.c =================================================================== diff -u -r9b970fd909c38f64f034cda1ffa793b9e1c8c365 -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision 9b970fd909c38f64f034cda1ffa793b9e1c8c365) +++ firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -41,10 +41,8 @@ #define BOOST_FLOW_CONTROL_P_COEFFICIENT 0.15F ///< P term for Boost pump flow control. #define BOOST_FLOW_CONTROL_I_COEFFICIENT 0.65F ///< I term for Boost pump flow control. -#define BOOST_PRESSURE_CONTROL_P_COEFFICIENT 0.00072F ///< P term for Boost pump pressure control. -#define BOOST_PRESSURE_CONTROL_I_COEFFICIENT 0.0004F ///< I term for Boost pump pressure control. -//#define BOOST_PRESSURE_CONTROL_P_COEFFICIENT 0.0024F ///< P term for Boost pump pressure control. -//#define BOOST_PRESSURE_CONTROL_I_COEFFICIENT 0.0008F ///< I term for Boost pump pressure control. +#define BOOST_PRESSURE_CONTROL_P_COEFFICIENT 0.00072F ///< P term for Boost pump pressure control. +#define BOOST_PRESSURE_CONTROL_I_COEFFICIENT 0.0004F ///< I term for Boost pump pressure control. #define BOOST_PRESSURE_CONTROL_D_COEFFICIENT 0.0F ///< D term for Boost pump pressure control. #define BOOST_FLOW_TO_PWM_SLOPE 0.5F ///< Slope of flow to PWM line equation. @@ -55,12 +53,12 @@ #define DATA_PUBLISH_COUNTER_START_COUNT 10 ///< Data publish counter start count. /// PWM line equation for pressure. converted to percentage. -#define BOOST_PRESSURE_TO_PWM_PCT(pres) ( ( BOOST_PRESSURE_TO_PWM_SLOPE * pres + BOOST_PRESSURE_TO_PWM_INTERCEPT ) / MAX_P40_FLUID_PUMP_PWM_DUTY_CYCLE ) +#define BOOST_PRESSURE_TO_PWM_PCT(pres) ( ( BOOST_PRESSURE_TO_PWM_SLOPE * pres + BOOST_PRESSURE_TO_PWM_INTERCEPT ) / MAX_P40_FLUID_PUMP_PWM_DUTY_CYCLE ) /// PWM line equation for flow. converted to percentage. -#define BOOST_FLOW_TO_PWM_PCT(pres) ( ( BOOST_FLOW_TO_PWM_SLOPE * pres + BOOST_FLOW_TO_PWM_INTERCEPT ) / MAX_P40_FLUID_PUMP_PWM_DUTY_CYCLE ) +#define BOOST_FLOW_TO_PWM_PCT(pres) ( ( BOOST_FLOW_TO_PWM_SLOPE * pres + BOOST_FLOW_TO_PWM_INTERCEPT ) / MAX_P40_FLUID_PUMP_PWM_DUTY_CYCLE ) -#define MIN_CONTROL_P40_FLUID_PUMP_DUTY_CYCLE_PCT 0.02F -#define MAX_CONTROL_P40_FLUID_PUMP_DUTY_CYCLE_PCT 0.9F +#define MIN_CONTROL_P40_FLUID_PUMP_DUTY_CYCLE_PCT 0.02F +#define MAX_CONTROL_P40_FLUID_PUMP_DUTY_CYCLE_PCT 0.9F // ********** private data ********** static BOOST_PUMP_STATE_T boostPumpState; ///< Current state of pump controller state machine. @@ -207,7 +205,7 @@ setFluidPumpPctToPWMDutyCycle( P40_PUMP, boostPumpDutyCyclePctSet ); state = BOOST_PUMP_CONTROL_TO_TARGET_FLOW_STATE; } - // If the target duty cycle is greater than zero (minimum is 10%) and the mode has been set to open + // If the mode has been set to open // loop, set the duty cycle else if ( getTargetBoostPumpDutyCyclePCT() > 0.0F ) { @@ -681,25 +679,15 @@ { BOOST_PUMP_DATA_T pumpData; -// pumpData.p40PumpState = (U32)boostPumpState; -// pumpData.p40PumpDutyCycle = (U32)getFluidPumpPWMDutyCycle( P40_PUMP ); -// pumpData.p40PumpFBDutyCycle = (U32)getFluidPumpReadPWMDutyCycle( P40_PUMP ); -// pumpData.p40PumpSpeed = getFluidPumpRPM( P40_PUMP ); -// pumpData.p40TargetPressure = getTargetBoostPumpPressure(); -// pumpData.p40TargetFlow = getTargetBoostPumpFlowRateMLPM(); -// pumpData.p40TargetDutyCycle = getTargetBoostPumpDutyCyclePCT(); -// pumpData.p40PumpDutyCyclePct = convertDutyCycleCntToPct( P40_PUMP, (U32)getFluidPumpPWMDutyCycle( P40_PUMP ) ); -// pumpData.p40PumpFBDutyCyclePct = convertDutyCycleCntToPct( P40_PUMP, (U32)getFluidPumpReadPWMDutyCycle( P40_PUMP ) ); - pumpData.p40PumpState = (U32)boostPumpState; pumpData.p40PumpDutyCycle = (U32)getFluidPumpPWMDutyCycle( P40_PUMP ); - pumpData.p40PumpFBDutyCycle = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_DERIVATIVE_OUTPUT ); - pumpData.p40PumpSpeed = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_MEASURED ); - pumpData.p40TargetPressure = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_ERROR ); - pumpData.p40TargetFlow = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_ERROR_SUM ); - pumpData.p40TargetDutyCycle = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_PROPORTIONAL_OUTPUT ); - pumpData.p40PumpDutyCyclePct = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_INTEGRAL_OUTPUT ); - pumpData.p40PumpFBDutyCyclePct = getPIDControllerSignals(PID_CONTROLLER_ID_BOOST_PUMP_PRES, CONTROLLER_SIGNAL_PID_CONTROL ); + pumpData.p40PumpFBDutyCycle = (U32)getFluidPumpReadPWMDutyCycle( P40_PUMP ); + pumpData.p40PumpSpeed = getFluidPumpRPM( P40_PUMP ); + pumpData.p40TargetPressure = getTargetBoostPumpPressure(); + pumpData.p40TargetFlow = getTargetBoostPumpFlowRateMLPM(); + pumpData.p40TargetDutyCycle = getTargetBoostPumpDutyCyclePCT(); + pumpData.p40PumpDutyCyclePct = convertDutyCycleCntToPct( P40_PUMP, (U32)getFluidPumpPWMDutyCycle( P40_PUMP ) ); + pumpData.p40PumpFBDutyCyclePct = convertDutyCycleCntToPct( P40_PUMP, (U32)getFluidPumpReadPWMDutyCycle( P40_PUMP ) ); broadcastData( MSG_ID_FP_BOOST_PUMP_DATA, COMM_BUFFER_OUT_CAN_FP_BROADCAST, (U08*)&pumpData, sizeof( BOOST_PUMP_DATA_T ) ); boostPumpDataPublicationTimerCounter = 0; @@ -871,7 +859,7 @@ handleFluidPumpU32Data( &targetBoostPumpFlowRate ); handleFluidPumpF32Data( &targetBoostPumpPressure ); } - result = setBoostPumpTargetDutyCycle(getTargetBoostPumpDutyCyclePCT(), FALSE); + result = setBoostPumpTargetDutyCycle( getTargetBoostPumpDutyCyclePCT(), FALSE ); return result; } Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r9b970fd909c38f64f034cda1ffa793b9e1c8c365 -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 9b970fd909c38f64f034cda1ffa793b9e1c8c365) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -40,13 +40,13 @@ // ********** private definitions ********** #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 ( ( 4* MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the RO pump is controlled. -#define RO_LAG_TIMER ( MS_PER_SECOND *8 ) +#define ROP_CONTROL_INTERVAL ( ( 4* MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the RO pump is controlled. +#define RO_LAG_TIMER ( MS_PER_SECOND *8 ) ///< Timer count to halt flow control. -#define ROP_FLOW_CONTROL_P_COEFFICIENT 0.0002F ///< P term for RO pump flow control. -#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.000006F -#define ROP_FLOW_CONTROL_D_COEFFICIENT 0.0F ///< D term for RO pump flow control -#define ROP_MIN_FLOW_TO_CONTROL_PCT 0.8F +#define ROP_FLOW_CONTROL_P_COEFFICIENT 0.0002F ///< P term for RO pump flow control. +#define ROP_FLOW_CONTROL_I_COEFFICIENT 0.000006F ///< I term for RO pump flow control. +#define ROP_FLOW_CONTROL_D_COEFFICIENT 0.0F ///< D term for RO pump flow control +#define ROP_MIN_FLOW_TO_CONTROL_PCT 0.8F ///< Minimum percentage to start flow control to compensate for system lag. #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. @@ -55,7 +55,7 @@ #define ROP_FLOW_TO_PWM_SLOPE_MED_RECOVERY 3.1417F ///< Slope of flow to PWM line equation for permeate flush. #define ROP_FLOW_TO_PWM_INTERCEPT_MED_RECOVERY -315.58F ///< Intercept of flow to PWM line equation for permeate flush. #define ROP_FLOW_TO_PWM_SLOPE_MAX_RECOVER 0.1794F ///< Slope of flow to PWM line equation for max RO recovery. -#define ROP_FLOW_TO_PWM_INTERCEPT_MAX_RECOVER 82.449F ///< Intercept of flow to PWM line equation for max RO recovery. +#define ROP_FLOW_TO_PWM_INTERCEPT_MAX_RECOVER 82.449F ///< Intercept of flow to PWM line equation for max RO recovery. #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. @@ -84,9 +84,8 @@ static OVERRIDE_F32_T targetROPumpPressure; ///< Target RO max allowed pressure (in PSI). static F32 roPumpDutyCyclePctSet; ///< Currently set RO pump PWM duty cycle. static OVERRIDE_F32_T roPumpOpenLoopTargetDutyCycle; ///< Target RO pump open loop PWM. -static BOOL roPumpStartControl; ///< boolean to determine when closed loop flow control starts static U32 timeSinceP12Started; ///< Time when RO pump is started from off state. -static U32 p12LagTimer; +static U32 p12LagTimer; ///< Time when RO pump tracks system lag. // ********** private function prototypes ********** @@ -121,7 +120,6 @@ stopPumpRequest = FALSE; roControlTimerCounter = 0; roPumpDutyCyclePctSet = 0.0F; - roPumpStartControl = FALSE; roPumpDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; roPumpDataPublishInterval.data = RO_PUMP_DATA_PUB_INTERVAL; roPumpDataPublishInterval.ovData = RO_PUMP_DATA_PUB_INTERVAL; @@ -208,7 +206,6 @@ roPumpDutyCyclePctSet = roPumpFlowToPWM( getTargetROPumpFlowRateMLPM() ); resetPIDController( PID_CONTROLLER_ID_RO_PUMP_FLOW, roPumpDutyCyclePctSet, 0.0F ); setFluidPumpPctToPWMDutyCycle( P12_PUMP, roPumpDutyCyclePctSet ); - roPumpStartControl = FALSE; p12LagTimer = getMSTimerCount(); state = RO_PUMP_CONTROL_TO_TARGET_FLOW_STATE; } @@ -300,7 +297,6 @@ { RO_PUMP_STATE_T state = RO_PUMP_CONTROL_TO_TARGET_FLOW_STATE; F32 currentFlowRate = 0.0F; - F32 minRequiredFlowRate = 0.0F; // Check if need to switch control modes if ( getTargetROPumpPressure() > 0.0F ) @@ -319,13 +315,10 @@ else if ( (F32)getTargetROPumpFlowRateMLPM() == 0.0F ) { signalROPumpHardStop(); - roPumpStartControl = FALSE; } else if ( ++roControlTimerCounter >= ROP_CONTROL_INTERVAL ) { - currentFlowRate = getFilteredFlow( P16_FLOW ); - minRequiredFlowRate = (F32)getTargetROPumpFlowRateMLPM() * ROP_MIN_FLOW_TO_CONTROL_PCT; // P16 flow seems to lag in current Leahi HW. We will wait before we start changing control. if ( TRUE == didTimeout( p12LagTimer, RO_LAG_TIMER ) ) @@ -771,25 +764,15 @@ { RO_PUMP_DATA_T pumpData; -// pumpData.p12PumpState = (U32)roPumpState; -// pumpData.p12PumpDutyCycle = (U32)getFluidPumpPWMDutyCycle( P12_PUMP ); -// pumpData.p12PumpFBDutyCycle = (U32)getFluidPumpReadPWMDutyCycle( P12_PUMP ); -// pumpData.p12PumpSpeed = getFluidPumpRPM( P12_PUMP ); -// pumpData.p12TargetPressure = getTargetROPumpPressure(); -// pumpData.p12TargetFlow = getTargetROPumpFlowRateMLPM(); -// pumpData.p12TargetDutyCycle = getTargetROPumpDutyCyclePCT(); -// pumpData.p12PumpDutyCyclePct = convertDutyCycleCntToPct( P12_PUMP, (U32)getFluidPumpPWMDutyCycle( P12_PUMP ) ); -// pumpData.p12PumpFBDutyCyclePct = convertDutyCycleCntToPct( P12_PUMP, (U32)getFluidPumpReadPWMDutyCycle( P12_PUMP ) ); - pumpData.p12PumpState = (U32)roPumpState; pumpData.p12PumpDutyCycle = (U32)getFluidPumpPWMDutyCycle( P12_PUMP ); - pumpData.p12PumpFBDutyCycle = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_DERIVATIVE_OUTPUT ); - pumpData.p12PumpSpeed = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_MEASURED ); - pumpData.p12TargetPressure = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_ERROR ); - pumpData.p12TargetFlow = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_ERROR_SUM ); - pumpData.p12TargetDutyCycle = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_PROPORTIONAL_OUTPUT ); - pumpData.p12PumpDutyCyclePct = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_INTEGRAL_OUTPUT ); - pumpData.p12PumpFBDutyCyclePct = getPIDControllerSignals(PID_CONTROLLER_ID_RO_PUMP_FLOW, CONTROLLER_SIGNAL_PID_CONTROL ); + pumpData.p12PumpFBDutyCycle = (U32)getFluidPumpReadPWMDutyCycle( P12_PUMP ); + pumpData.p12PumpSpeed = getFluidPumpRPM( P12_PUMP ); + pumpData.p12TargetPressure = getTargetROPumpPressure(); + pumpData.p12TargetFlow = getTargetROPumpFlowRateMLPM(); + pumpData.p12TargetDutyCycle = getTargetROPumpDutyCyclePCT(); + pumpData.p12PumpDutyCyclePct = convertDutyCycleCntToPct( P12_PUMP, (U32)getFluidPumpPWMDutyCycle( P12_PUMP ) ); + pumpData.p12PumpFBDutyCyclePct = convertDutyCycleCntToPct( P12_PUMP, (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/Drivers/FluidPump.c =================================================================== diff -u -ra3ed83ddd9e39aceb6216da6e640c0e369de2902 -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Drivers/FluidPump.c (.../FluidPump.c) (revision a3ed83ddd9e39aceb6216da6e640c0e369de2902) +++ firmware/App/Drivers/FluidPump.c (.../FluidPump.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -33,7 +33,7 @@ #define FLUID_PUMP_P12_COUNTS_2_RPM_NUMERATOR 1500000.0F ///< Numerator in counts to RPM conversion. #define FLUID_PUMP_COUNTS_FOR_STOPPED_PUMP 0xFFFF ///< FPGA will report FFFF counts when pump is stopped. #define TEN_US_IN_SECONDS 0.00001F ///< 10 micro seconds in relation to 1 second. -#define FLUID_PUMP_P40_COUNTS_2_RPM_NUMERATOR 30 ///< Fixed known value for RPM conversion with P40. +#define FLUID_PUMP_P40_COUNTS_2_RPM_NUMERATOR 30.0F ///< Fixed known value for RPM conversion with P40. /// Payload record structure for fluid pump set PWM request typedef struct @@ -93,7 +93,7 @@ void readFluidPumps( void ) { U32 p12Tach; - U16 p40RPMCnts; + U32 p40RPMCnts; U32 pump; for ( pump = 0; pump < NUM_OF_PUMPS; pump++ ) @@ -120,7 +120,7 @@ p40RPMCnts = (U32)getFPGAP40PumpRPMCount(); if ( ( p40RPMCnts != 0 ) && ( p40RPMCnts < FLUID_PUMP_COUNTS_FOR_STOPPED_PUMP ) ) { - fluidPumpMeasRPM[ pump ].data = ( FLUID_PUMP_P40_COUNTS_2_RPM_NUMERATOR / ( p40RPMCnts * TEN_US_IN_SECONDS )); + fluidPumpMeasRPM[ pump ].data = ( FLUID_PUMP_P40_COUNTS_2_RPM_NUMERATOR / ( (F32)p40RPMCnts * TEN_US_IN_SECONDS )); } else { @@ -344,7 +344,7 @@ *************************************************************************/ F32 convertDutyCycleCntToPct( FP_FLUID_PUMP_T pumpID, U32 dutyCycleCnt ) { - F32 pwmCnt = 0.0; + F32 pwmCnt = 0.0F; if ( pumpID < NUM_OF_PUMPS ) { Index: firmware/App/Modes/FPModes/ModeGenPermeate.c =================================================================== diff -u -r10235e1fe9bc5e66ed87d799360f47d9a50cce3d -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 10235e1fe9bc5e66ed87d799360f47d9a50cce3d) +++ firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -42,7 +42,7 @@ // ********** private definitions ********** #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 8.0F ///< Pressure target in PSI for the boost pump during generate permeate mode. +#define GEN_PERMEATE_BOOST_PUMP_TGT_PSI 8.0F ///< Pressure target in PSI for the boost pump during generate permeate mode. #define GEN_PERMEATE_RO_PUMP_TGT_ML 800 ///< Flow target in ml/min for the ro pump during generate permeate mode. #define PUMP_REST_TIMEOUT_MS ( 3 * MS_PER_SECOND ) ///< Duraion for open loop control at the start of tank fill/full state ( in ms ) #define RO_REJECTION_WAIT_TIME_MS ( 8 * MS_PER_SECOND ) ///< RO rejection alarm wait time. 5 seconds for RR to stabilize and 3 seconds for calculating rolling average ( in ms ) Index: firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c =================================================================== diff -u -r10235e1fe9bc5e66ed87d799360f47d9a50cce3d -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision 10235e1fe9bc5e66ed87d799360f47d9a50cce3d) +++ firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -35,8 +35,8 @@ // ********** private definitions ********** #define PRE_GEN_DEF_PERMEATE_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the gen permeate mode data published. -#define PRE_GEN_DEF_FLUSH_TIMEOUT_MS ( 30 * MS_PER_SECOND ) -#define PRE_GEN_DEF_WATER_CHECK_TIMEOUT_MS ( 15 * MS_PER_SECOND ) +#define PRE_GEN_DEF_FLUSH_TIMEOUT_MS ( 30 * MS_PER_SECOND ) ///< Defeatured Flush timer counter +#define PRE_GEN_DEF_WATER_CHECK_TIMEOUT_MS ( 15 * MS_PER_SECOND ) ///< Defeatured Water Quality timer counter. // ********** private data ********** Index: firmware/App/Modes/FPModes/StateFlushConcentrate.c =================================================================== diff -u -r4626638b758c6673c0a8a3cc8d008bb4a898cea9 -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 4626638b758c6673c0a8a3cc8d008bb4a898cea9) +++ firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -42,7 +42,7 @@ #define CONCENTRATE_FLUSH_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the gen water mode data published. #define CONCENTRATE_FLUSH_TIMEOUT ( 30 * MS_PER_SECOND ) ///< Concentrate flush timer (in ms) #define CONCENTRATE_FLUSH_RO_PUMP_TGT_PWM 0.8F ///< target in PWM % for the RO pump during concentrate flush. -#define CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI 8 ///< Pressure target in PSI for the boost pump during concentrate flush. +#define CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI 8 ///< Pressure target in PSI for the boost pump during concentrate flush. #define CONCENTRATE_FLUSH_VOLUME_THRESHOLD_ML 1000.0F ///< Integrated volume threshold in ml #define CONCENTRATE_FLUSH_VOLUME_THRESHOLD_PCT 0.9F ///< Integrated volume threshold percentage #define CONCENTRATE_FLUSH_VOLUME_THRESHOLD CONCENTRATE_FLUSH_VOLUME_THRESHOLD_ML * CONCENTRATE_FLUSH_VOLUME_THRESHOLD_PCT ///< alarm threshold for integrated volume Index: firmware/App/Services/FpgaDD.c =================================================================== diff -u -rd74e89a7204cda9df0016bae926714b289e94b21 -r19e682bf3a5ad3593935db055af7b80bb9354ab4 --- firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision d74e89a7204cda9df0016bae926714b289e94b21) +++ firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 19e682bf3a5ad3593935db055af7b80bb9354ab4) @@ -251,7 +251,7 @@ U16 temperatureP13; ///< Reg 674. P13 temperature data. S16 pressureP17; ///< Reg 676. P17 pressure data. U16 temperatureP17; ///< Reg 678. P17 temperature data. - U16 p40PumpRPMCounts; ///< Reg 680. P40 pump tachometer counter. + U16 p40PumpRPMCounts; ///< Reg 680. P40 pump RPM counter. U08 p25LevelSwitch; ///< Reg 682. P25 level switch. U08 reserved4; ///< Reg 683. Reserved. U32 conductivityP9Data; ///< Reg 684. P9 conductivity sensor data. @@ -1727,16 +1727,16 @@ /*********************************************************************//** * @brief - * The getFPGAD76PumpControlStatus function gets the Ultrafilteration pump - * (D76 pump) control mode. + * The getFPGAD92PumpControlStatus function gets the substitution pump + * (D92 pump) control mode. * bit 7: Park (set in different function) * bit 6: nSleep * bit 5: nReset * bit 4: nEnable * bit 3: Direction (1=Fwd, 0=Rev) * bit 0-2: Microstepping resolution * @details \b Inputs: none - * @details \b Outputs: fpgaD76PumpControl + * @details \b Outputs: fpgaD92PumpControl * @return UF pump control status bit *************************************************************************/ U08 getFPGAD92PumpControlStatus( void )