Index: firmware/App/Controllers/ConcentratePumps.h =================================================================== diff -u -rb6d20d9e5c704a9f7ebceea9bb12731dac61fc2a -r5126b79e4970ffe2ed9db4cccea18a1216c78570 --- firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision b6d20d9e5c704a9f7ebceea9bb12731dac61fc2a) +++ firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision 5126b79e4970ffe2ed9db4cccea18a1216c78570) @@ -31,37 +31,43 @@ // ********** public definitions ********** -#define CONCENTRATE_PUMP_MAX_SPEED 48.0F ///< Maximum speed for concentrate pump in mL/min +#define CONCENTRATE_PUMP_MAX_SPEED 48.0F ///< Maximum speed for concentrate pump in mL/min +#define DEFAULT_ACID_VOLUME_ML 0.67F ///< Acid concentrate volume in ml. +#define DEFAULT_BICARB_VOLUME_ML 1.15F ///< Bicarb concentrate volume in ml. -#define PARK_CONC_PUMPS TRUE ///< For park parameter to requestConcentratePumpOff(). -#define NO_PARK_CONC_PUMPS FALSE ///< For park parameter to requestConcentratePumpOff(). +#define PARK_CONC_PUMPS TRUE ///< For park parameter to requestConcentratePumpOff(). +#define NO_PARK_CONC_PUMPS FALSE ///< For park parameter to requestConcentratePumpOff(). /// Enumeration of concentrate pumps. typedef enum ConcentratePumps { - CONCENTRATEPUMPS_CP1_ACID = 0, ///< Acid concentrate pump - CONCENTRATEPUMPS_FIRST = CONCENTRATEPUMPS_CP1_ACID, ///< First concentrate pump in list - CONCENTRATEPUMPS_CP2_BICARB, ///< Bicarbonate concentrate pump - NUM_OF_CONCENTRATE_PUMPS ///< Number of concentrate pumps + D11_PUMP = 0, ///< Acid concentrate pump + CONCENTRATEPUMPS_FIRST = D11_PUMP, ///< First concentrate pump in list + D10_PUMP, ///< Bicarbonate concentrate pump + NUM_OF_CONCENTRATE_PUMPS ///< Number of concentrate pumps } CONCENTRATE_PUMPS_T; /// Concentrate pump data struct. typedef struct { - F32 cp1CurrentSetSpeed; ///< Concentrate pump CP1 current set speed - F32 cp1MeasuredSpeed; ///< Concentrate pump CP1 measured speed - F32 cp2CurrentSetSpeed; ///< Concentrate pump CP2 current set speed - F32 cp2MeasuredSpeed; ///< Concentrate pump CP2 measured speed - U32 cp1State; ///< Concentrate pump CP1 current state - U32 cp2State; ///< Concentrate pump CP2 current state - F32 cp1PulseUS; ///< Concentrate pump CP1 pulse in microseconds - F32 cp2PulseUS; ///< Concentrate pump CP2 pulse in microseconds - F32 cp1TargetSpeed; ///< Concentrate pump CP1 target speed - F32 cp2TargetSpeed; ///< Concentrate pump CP2 target speed - BOOL cp1Parked; ///< Concentrate pump CP1 parked status - BOOL cp2Parked; ///< Concentrate pump CP2 parked status - BOOL cp1ParkFault; ///< Concentrate pump CP1 park fault status - BOOL cp2ParkFault; ///< Concentrate pump CP2 park fault status + F32 d11_PumpCurrentSetSpeed; ///< Concentrate pump D11_Pump current set speed + F32 d11_PumpMeasuredSpeed; ///< Concentrate pump D11_Pump measured speed + F32 d10_PumpCurrentSetSpeed; ///< Concentrate pump D10_Pump current set speed + F32 d10_PumpMeasuredSpeed; ///< Concentrate pump D10_Pump measured speed + U32 d11_PumpTargetRevCount; ///< Concentrate pump D11_Pump target revolution count + U32 d11_PumpMeasuredRevCount; ///< Concentrate pump D11_Pump measured revolution count + U32 d10_PumpTargetRevCount; ///< Concentrate pump D10_Pump target revolution count + U32 d10_PumpMeasuredRevCount; ///< Concentrate pump D10_Pump measured revolution count + U32 d11_PumpState; ///< Concentrate pump D11_Pump current state + U32 d10_PumpState; ///< Concentrate pump D10_Pump current state + F32 d11_PumpPulseUS; ///< Concentrate pump D11_Pump pulse in microseconds + F32 d10_PumpPulseUS; ///< Concentrate pump D10_Pump pulse in microseconds + F32 d11_PumpTargetSpeed; ///< Concentrate pump D11_Pump target speed + F32 d10_PumpTargetSpeed; ///< Concentrate pump D10_Pump target speed + BOOL d11_PumpParked; ///< Concentrate pump D11_Pump parked status + BOOL d10_PumpParked; ///< Concentrate pump D10_Pump parked status + BOOL d11_PumpParkFault; ///< Concentrate pump D11_Pump park fault status + BOOL d10_PumpParkFault; ///< Concentrate pump D10_Pump park fault status } CONCENTRATE_PUMP_DATA_T; // ********** public function prototypes ********** @@ -75,21 +81,25 @@ void requestConcentratePumpOn( CONCENTRATE_PUMPS_T pumpId ); void requestConcentratePumpOff( CONCENTRATE_PUMPS_T pumpId, BOOL park ); -void setConcentratePumpTargetSpeed( CONCENTRATE_PUMPS_T pumpId, F32 targetSpeed_ml_min ); +void setConcentratePumpTargetSpeed( CONCENTRATE_PUMPS_T pumpId, F32 targetSpeed_ml_min, F32 targetVolume_ml ); F32 getConcentratePumpTargetFlowMLPM( CONCENTRATE_PUMPS_T pumpId ); F32 getMeasuredPumpSpeedMLPM( CONCENTRATE_PUMPS_T pumpId ); F32 getPumpTargetSpeed( CONCENTRATE_PUMPS_T pumpId ); BOOL getConcPumpParkRequest( CONCENTRATE_PUMPS_T pumpId ); BOOL getConcPumpIsParked( CONCENTRATE_PUMPS_T pumpId ); BOOL getConcPumpParkIsFaulted( CONCENTRATE_PUMPS_T pumpId ); +U16 getConcPumpTargetRevolutionCount( CONCENTRATE_PUMPS_T pumpId ); +U16 getConcPumpCurrentMeasuredRevolutionCount( CONCENTRATE_PUMPS_T pumpId ); BOOL handleConcentratePumpParkRequest( void ); BOOL isConcPumpParkInProgress( CONCENTRATE_PUMPS_T pumpId ); +BOOL isConcentratePumpDosingCompleted( CONCENTRATE_PUMPS_T pumpId ); BOOL testConcentratePumpDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testConcentratePumpTargetSpeedOverride( MESSAGE_T *message ); BOOL testConcentratePumpMeasuredSpeedOverride( MESSAGE_T *message ); BOOL testConcentratePumpParkedOverride( MESSAGE_T *message ); BOOL testConcentratePumpParkCmdFaultedOverride( MESSAGE_T *message ); +BOOL testConcentratePumpTargetRevCountOverride( MESSAGE_T *message ); BOOL testConcentratePumpStartStopOverride( MESSAGE_T *message ); // Concentrate pump start/stop request BOOL testConcentratePumpParkRequestOverride( MESSAGE_T *message ); // Concentrate pump stop/park request