Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r69b6a8036f72eeb935a20701c7d30d402a9ba1f5 -r20676421ce71cfc51bddaaa9ba95f9e183967aba --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 69b6a8036f72eeb935a20701c7d30d402a9ba1f5) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 20676421ce71cfc51bddaaa9ba95f9e183967aba) @@ -166,6 +166,7 @@ static OVERRIDE_U32_T parked[ NUM_OF_CONCENTRATE_PUMPS ]; ///< Concentrate pump is currently parked (T/F). static OVERRIDE_U32_T parkFaulted[ NUM_OF_CONCENTRATE_PUMPS ]; ///< Concentrate pump park command has faulted (T/F). static BOOL isDosingCompleted[ NUM_OF_CONCENTRATE_PUMPS ]; ///< Flag indicating dosing completed status (T/F). +static U08 Enable_DRV8434S_Stepper_Driver; ///< Enable New Stepper driver for Concentrate Pump. //static DD_ACID_CONCENTRATES_RECORD_T acidConcentrateCalRecord; ///< Acid concentrate calibration record. //static DD_BICARB_CONCENTRATES_RECORD_T bicarbConcentrateCalRecord; ///< Bicarb concentrate calibration record. @@ -184,6 +185,7 @@ static void checkConcentratePumpControlSet( CONCENTRATE_PUMPS_T pumpId ); static void publishConcentratePumpData( void ); static void monitorPumpParkStatus( void ); +static void updateConcentratePumpControl( void ); /*********************************************************************//** * @brief @@ -200,46 +202,10 @@ acidConcentratePumpParkPersistenceClear = FALSE; bicarbConcentratePumpParkPersistenceClear = FALSE; ufPumpParkPersistenceClear = FALSE; + Enable_DRV8434S_Stepper_Driver = FALSE; - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRV8434S_STEPPER_DRIVER ) ) - { - CONCENTRATE_PUMP_CONTROL_FORWARD = CONCENTRATE_PUMP_CONTROL_DRV_ENABLE | - CONCENTRATE_PUMP_CONTROL_DRV_FORWARD_DIR | - CONCENTRATE_PUMP_CONTROL_DRV_EIGHTH_STEP; + updateConcentratePumpControl(); - CONCENTRATE_PUMP_CONTROL_REVERSE = CONCENTRATE_PUMP_CONTROL_DRV_ENABLE | - CONCENTRATE_PUMP_CONTROL_DRV_REVERSE_DIR | - CONCENTRATE_PUMP_CONTROL_DRV_EIGHTH_STEP; - - setFPGAD10D11CTRL1Reg( DRV8434S_CTRL1_DEFAULT ); - setFPGAD10D11CTRL2Reg( DRV8434S_CTRL2_DEFAULT ); - setFPGAD10D11CTRL4Reg( DRV8434S_CTRL4_DEFAULT ); - setFPGAD10D11CTRL5Reg( DRV8434S_CTRL5_DEFAULT ); - setFPGAD10D11CTRL6Reg( DRV8434S_CTRL6_DEFAULT ); - setFPGAD10D11CTRL7Reg( DRV8434S_CTRL7_DEFAULT ); - - setFPGAD76CTRL1Reg( DRV8434S_CTRL1_DEFAULT ); - setFPGAD76CTRL2Reg( DRV8434S_CTRL2_DEFAULT ); - setFPGAD76CTRL4Reg( DRV8434S_CTRL4_DEFAULT ); - setFPGAD76CTRL5Reg( DRV8434S_CTRL5_DEFAULT ); - setFPGAD76CTRL6Reg( DRV8434S_CTRL6_DEFAULT ); - setFPGAD76CTRL7Reg( DRV8434S_CTRL7_DEFAULT ); - } - else - { - CONCENTRATE_PUMP_CONTROL_FORWARD = CONCENTRATE_PUMP_CONTROL_SLEEP_OFF | - CONCENTRATE_PUMP_CONTROL_NOT_RESET | - CONCENTRATE_PUMP_CONTROL_ENABLE | - CONCENTRATE_PUMP_CONTROL_FORWARD_DIR | - CONCENTRATE_PUMP_CONTROL_EIGHTH_STEP; - - CONCENTRATE_PUMP_CONTROL_REVERSE = CONCENTRATE_PUMP_CONTROL_SLEEP_OFF | - CONCENTRATE_PUMP_CONTROL_NOT_RESET | - CONCENTRATE_PUMP_CONTROL_ENABLE | - CONCENTRATE_PUMP_CONTROL_REVERSE_DIR | - CONCENTRATE_PUMP_CONTROL_EIGHTH_STEP; - } - for ( pumpId = CONCENTRATEPUMPS_FIRST; pumpId < NUM_OF_CONCENTRATE_PUMPS; pumpId++ ) { concentratePumps[ pumpId ].controlTimerCounter = 0; @@ -606,6 +572,8 @@ { if ( pumpId < NUM_OF_CONCENTRATE_PUMPS ) { + //Set Concentrate Pump Control + updateConcentratePumpControl(); if ( targetSpeed_ml_min >= 0.0 ) { concentratePumps[ pumpId ].direction = CONCENTRATE_PUMP_FORWARD_DIR; @@ -1364,7 +1332,61 @@ } } +/*********************************************************************//** + * @brief + * The updateConcentratePumpControl function update concentrate pump control + * registers. + * @details \b Inputs: Enable_DRV8434S_Stepper_Driver + * @details \b Outputs: Enable_DRV8434S_Stepper_Driver, + * CONCENTRATE_PUMP_CONTROL_FORWARD, CONCENTRATE_PUMP_CONTROL_REVERSE + * @return none + *************************************************************************/ +static void updateConcentratePumpControl( void ) +{ + if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRV8434S_STEPPER_DRIVER ) && (Enable_DRV8434S_Stepper_Driver == FALSE ) ) + { + setFPGAD10D11CTRL1Reg( DRV8434S_CTRL1_DEFAULT ); + setFPGAD10D11CTRL2Reg( DRV8434S_CTRL2_DEFAULT ); + setFPGAD10D11CTRL4Reg( DRV8434S_CTRL4_DEFAULT ); + setFPGAD10D11CTRL5Reg( DRV8434S_CTRL5_DEFAULT ); + setFPGAD10D11CTRL6Reg( DRV8434S_CTRL6_DEFAULT ); + setFPGAD10D11CTRL7Reg( DRV8434S_CTRL7_DEFAULT ); + + setFPGAD76CTRL1Reg( DRV8434S_CTRL1_DEFAULT ); + setFPGAD76CTRL2Reg( DRV8434S_CTRL2_DEFAULT ); + setFPGAD76CTRL4Reg( DRV8434S_CTRL4_DEFAULT ); + setFPGAD76CTRL5Reg( DRV8434S_CTRL5_DEFAULT ); + setFPGAD76CTRL6Reg( DRV8434S_CTRL6_DEFAULT ); + setFPGAD76CTRL7Reg( DRV8434S_CTRL7_DEFAULT ); + + CONCENTRATE_PUMP_CONTROL_FORWARD = CONCENTRATE_PUMP_CONTROL_DRV_ENABLE | + CONCENTRATE_PUMP_CONTROL_DRV_FORWARD_DIR | + CONCENTRATE_PUMP_CONTROL_DRV_EIGHTH_STEP; + + CONCENTRATE_PUMP_CONTROL_REVERSE = CONCENTRATE_PUMP_CONTROL_DRV_ENABLE | + CONCENTRATE_PUMP_CONTROL_DRV_REVERSE_DIR | + CONCENTRATE_PUMP_CONTROL_DRV_EIGHTH_STEP; + Enable_DRV8434S_Stepper_Driver = TRUE; + + } + else + { + CONCENTRATE_PUMP_CONTROL_FORWARD = CONCENTRATE_PUMP_CONTROL_SLEEP_OFF | + CONCENTRATE_PUMP_CONTROL_NOT_RESET | + CONCENTRATE_PUMP_CONTROL_ENABLE | + CONCENTRATE_PUMP_CONTROL_FORWARD_DIR | + CONCENTRATE_PUMP_CONTROL_EIGHTH_STEP; + + CONCENTRATE_PUMP_CONTROL_REVERSE = CONCENTRATE_PUMP_CONTROL_SLEEP_OFF | + CONCENTRATE_PUMP_CONTROL_NOT_RESET | + CONCENTRATE_PUMP_CONTROL_ENABLE | + CONCENTRATE_PUMP_CONTROL_REVERSE_DIR | + CONCENTRATE_PUMP_CONTROL_EIGHTH_STEP; + Enable_DRV8434S_Stepper_Driver = FALSE; + } +} + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/