Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -r5a61bccd959265c00e5276ba23391198ca82b6dd -r216bd924f989182e648ee5f33f4c91c43ac438ac --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 5a61bccd959265c00e5276ba23391198ca82b6dd) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 216bd924f989182e648ee5f33f4c91c43ac438ac) @@ -66,10 +66,14 @@ NUM_OF_DRAIN_PUMP_SELF_TEST_STATES } DRAIN_PUMP_SELF_TEST_STATE_T; +// pin assignment for pump enable +#define DRAIN_PUMP_ENABLE_SPI3_PORT_MASK 0x00000020 // (CS5 - re-purposed as input GPIO) +// drain pump enable macros +#define SET_DRAIN_PUMP_ENABLE() {mibspiREG3->PC3 |= DRAIN_PUMP_ENABLE_SPI3_PORT_MASK;} +#define CLR_DRAIN_PUMP_ENABLE() {mibspiREG3->PC3 &= ~DRAIN_PUMP_ENABLE_SPI3_PORT_MASK;} + // TODO - test code - remove later -// pin assignments for pump test DIP switch 2 #define DRAIN_PUMP_TEST2_SPI1_PORT_MASK 0x00000004 // (CS2 - re-purposed as input GPIO) -// dialIn pump stop and direction macros #define GET_DIP_SW2_TEST() ( ( mibspiREG1->PC2 & DRAIN_PUMP_TEST2_SPI1_PORT_MASK ) != 0 ) // ********** private data ********** @@ -222,12 +226,15 @@ // TODO - test code - remove later if ( GET_DIP_SW2_TEST() ) { + setFPGAValveStates( 0x014F ); // TODO - test code - remove later setDrainPumpTargetSpeed( 1000 ); } // if we've been given a pressure, transition to control to target state if ( getTargetDrainPumpSpeed() > 0 ) { + // set drain pump enable pin + SET_DRAIN_PUMP_ENABLE(); // set drain pump DAC drainPumpDACSet = drainPumpDAC; setFPGADrainPumpSpeed( drainPumpDACSet ); @@ -269,6 +276,8 @@ if ( !GET_DIP_SW2_TEST() ) { signalDrainPumpHardStop(); + setFPGAValveStates( 0x015F ); // TODO - test code - remove later + result = DRAIN_PUMP_OFF_STATE; } return result; @@ -288,7 +297,8 @@ isDrainPumpOn = FALSE; drainPumpDAC = 0; drainPumpDACSet = 0; - setDrainPumpTargetSpeed( drainPumpDACSet ); + setFPGADrainPumpSpeed( drainPumpDACSet ); + CLR_DRAIN_PUMP_ENABLE(); } /*********************************************************************//** @@ -315,14 +325,14 @@ /*********************************************************************//** * @brief - * The getTargetDrainPumpPressure function gets the current target Drain pump \n - * pressure. + * The getTargetDrainPumpSpeed function gets the current target Drain pump \n + * speed. * @details - * Inputs : targetDrainPumpPressure + * Inputs : targetDrainPumpSpeed * Outputs : none * @return the current target drain pump speed. *************************************************************************/ -U32 getTargetDrainPumpPressure( void ) +U32 getTargetDrainPumpSpeed( void ) { U32 result = targetDrainPumpSpeed.data;