Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r3701c29d97c1b1571d41732ad7fba58ace4b75d7 -r69b6a8036f72eeb935a20701c7d30d402a9ba1f5 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 3701c29d97c1b1571d41732ad7fba58ace4b75d7) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 69b6a8036f72eeb935a20701c7d30d402a9ba1f5) @@ -80,18 +80,36 @@ #define CONCENTRATE_PUMP_CONTROL_SLEEP_OFF 0x40 ///< Concentrate pump control sleep off. #define CONCENTRATE_PUMP_CONTROL_ENABLE_MASK 0x10 ///< Concentrate pump control enable bit mask. -static const U32 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 forward. +//NEW STEPPER DRIVER CONFIGURATION DRV8434S -static const U32 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; ///< Concentrate pump control reverse. +#define CONCENTRATE_PUMP_CONTROL_DRV_TWOFIXTYSIXTH_STEP 0x0A ///< concentrate pump microstep control 1/256th step. +#define CONCENTRATE_PUMP_CONTROL_DRV_ONETWENTYEIGHTYTH_STEP 0x09 ///< concentrate pump microstep control 1/128th step. +#define CONCENTRATE_PUMP_CONTROL_DRV_SIXTYFOURTH_STEP 0x08 ///< concentrate pump microstep control 1/64th step. +#define CONCENTRATE_PUMP_CONTROL_DRV_THIRTYSECOND_STEP 0x07 ///< concentrate pump microstep control 1/32nd step. +#define CONCENTRATE_PUMP_CONTROL_DRV_SIXTEENTH_STEP 0x06 ///< concentrate pump microstep control 1/16th step. +#define CONCENTRATE_PUMP_CONTROL_DRV_EIGHTH_STEP 0x05 ///< concentrate pump microstep control 1/8th step +#define CONCENTRATE_PUMP_CONTROL_DRV_NONCIRCULAR_HALF_STEP 0x02 ///< Concentrate pump microstep control non-circular 1/2 step. +#define CONCENTRATE_PUMP_CONTROL_DRV_HALF_STEP 0x03 ///< Concentrate pump microstep control 1/2 step. +#define CONCENTRATE_PUMP_CONTROL_DRV_QUARTER_STEP 0x04 ///< Concentrate pump microstep control 1/4 step. +#define CONCENTRATE_PUMP_CONTROL_DRV_FULL_STEP_71PCT 0x01 ///< Concentrate pump microstep control full step with 71% current. +#define CONCENTRATE_PUMP_CONTROL_DRV_FULL_STEP_100PCT 0x00 ///< Concentrate pump microstep control full step with 100% current. +#define CONCENTRATE_PUMP_CONTROL_DRV_REVERSE_DIR 0x00 ///< bit 4 = DIR, Concentrate pump control reverse direction. +#define CONCENTRATE_PUMP_CONTROL_DRV_FORWARD_DIR 0x10 ///< bit 4 = DIR, Concentrate pump control forward direction. +#define CONCENTRATE_PUMP_CONTROL_DRV_ENABLE 0x00 ///< bit 5, active low, Concentrate pump control enable pump. +#define CONCENTRATE_PUMP_CONTROL_DRV_DISABLE 0x20 ///< bit 5, active low, Concentrate pump control disable pump. +#define CONCENTRATE_PUMP_CONTROL_DRV_ENABLE_MASK 0x20 ///< bit 5 mask, Concentrate pump control enable bit mask. + +#define DRV8434S_CTRL1_DEFAULT 0x00 +#define DRV8434S_CTRL2_DEFAULT 0x8F +#define DRV8434S_CTRL4_DEFAULT 0x30 +#define DRV8434S_CTRL5_DEFAULT 0x08 +#define DRV8434S_CTRL6_DEFAULT 0x03 +#define DRV8434S_CTRL7_DEFAULT 0x20 + +static U32 CONCENTRATE_PUMP_CONTROL_FORWARD; ///< Concentrate pump control forward. +static U32 CONCENTRATE_PUMP_CONTROL_REVERSE; ///< Concentrate pump control reverse. + /* * * @@ -183,6 +201,45 @@ bicarbConcentratePumpParkPersistenceClear = FALSE; ufPumpParkPersistenceClear = 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; + + 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;