Index: firmware/App/Controllers/RinsePump.c =================================================================== diff -u -r19e7bd61fff3d243caecd59e83dd4b1782fa6621 -r97a3e2ca15b28aef843b1dee750d5a911afb0a18 --- firmware/App/Controllers/RinsePump.c (.../RinsePump.c) (revision 19e7bd61fff3d243caecd59e83dd4b1782fa6621) +++ firmware/App/Controllers/RinsePump.c (.../RinsePump.c) (revision 97a3e2ca15b28aef843b1dee750d5a911afb0a18) @@ -125,7 +125,7 @@ void calculateRinsePumpSpeed( void ) { // Pulse width in 10us resolution - U16 pumpPulseWidth = 0; //getFPGAD79RinsePumpSpeed(); // TODO ucomment + U16 pumpPulseWidth = getFPGAD79RinsePumpSpeed(); U32 pumpSpeedPerSec = US_PER_SECOND / ( pumpPulseWidth * RINSE_PUMP_PWM_PULSE_RESOLUTION_US ); //Speed in RPM @@ -246,9 +246,9 @@ { RINSE_PUMP_PAYLOAD_T data; - data.d79State = getRinsePumpState(); - data.d79PumpPWM = getF32OverrideValue( &rinsePumpPwmPercentage ); - data.d79PumpRPM = rinsePumpMeasuredSpeed; + data.d79State = getRinsePumpState(); + data.d79PumpPWM = getF32OverrideValue( &rinsePumpPwmPercentage ); + data.d79PumpRPM = rinsePumpMeasuredSpeed; broadcastData( MSG_ID_DD_RINSE_PUMP_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( RINSE_PUMP_PAYLOAD_T ) ); rinsePumpDataPublicationTimerCounter = 0; @@ -309,23 +309,26 @@ { BOOL result = FALSE; - if ( message->hdr.payloadLen == sizeof( U32 ) ) + if ( TRUE == isTestingActivated() ) { - U32 rinsePumpOnOff; - RINSE_PUMP_STATE_T rinsePumpState; + if ( message->hdr.payloadLen == sizeof( U32 ) ) + { + U32 rinsePumpOnOff; + RINSE_PUMP_STATE_T rinsePumpState; - U08* payloadPtr = message->payload; + U08* payloadPtr = message->payload; - memcpy( &rinsePumpOnOff, payloadPtr, sizeof( U32 ) ); + memcpy( &rinsePumpOnOff, payloadPtr, sizeof( U32 ) ); - if ( ( OFF == rinsePumpOnOff ) || ( ON == rinsePumpOnOff ) ) - { - // Only On or Off requests are accepted - rinsePumpState = ( OFF == rinsePumpOnOff ? RINSE_PUMP_STATE_OFF : RINSE_PUMP_STATE_ON ); + if ( ( OFF == rinsePumpOnOff ) || ( ON == rinsePumpOnOff ) ) + { + // Only On or Off requests are accepted + rinsePumpState = ( OFF == rinsePumpOnOff ? RINSE_PUMP_STATE_OFF : RINSE_PUMP_STATE_ON ); - setRinsePumpState( rinsePumpState ); + setRinsePumpState( rinsePumpState ); - result = TRUE; + result = TRUE; + } } } Index: firmware/App/Services/FpgaDD.c =================================================================== diff -u -r8c070c7bf525b5f7f5e3fbc9dba1873c1d7be545 -r97a3e2ca15b28aef843b1dee750d5a911afb0a18 --- firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 8c070c7bf525b5f7f5e3fbc9dba1873c1d7be545) +++ firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 97a3e2ca15b28aef843b1dee750d5a911afb0a18) @@ -235,7 +235,7 @@ U16 flowRateP7; ///< Reg 704. P7 flow sensor rate. U16 flowTempP7; ///< Reg 706. P7 flow sensor temperature. U16 p12PumpTachCount; ///< Reg 708. P12 pump tachometer counter. - U16 dsPumpTachCount; ///< Reg 710. DSP tachometer counter. + U16 d79SpeedFeedback; ///< Reg 710. D79 speed feedback. U16 flowIntTempP7; ///< Reg 712. P7 flow sensor internal temperature. U08 valveIOControlReadback; ///< Reg 714. IO Valve control bits read back. U08 valveFPControlReadback; ///< Reg 715. FP Valve control enable read back. @@ -3080,6 +3080,19 @@ /*********************************************************************//** * @brief + * The getFPGAD79RinsePumpSpeed function returns the 4-wire rinse pump + * speed. + * @details \b Inputs: d79SpeedFeedback + * @details \b Outputs: none + * @return fpgaSensorReadings.d79SpeedFeedback + *************************************************************************/ +U16 getFPGAD79RinsePumpSpeed( void ) +{ + return fpgaSensorReadings.d79SpeedFeedback; +} + +/*********************************************************************//** + * @brief * The setFPGAFPValveStates function sets the FP valve states with an 8-bit * mask of states - one bit per valve, with a 1 meaning "energized" and a 0 * meaning "de-energized". The bit positions for these bit states are as follows: Index: firmware/App/Services/FpgaDD.h =================================================================== diff -u -r8c070c7bf525b5f7f5e3fbc9dba1873c1d7be545 -r97a3e2ca15b28aef843b1dee750d5a911afb0a18 --- firmware/App/Services/FpgaDD.h (.../FpgaDD.h) (revision 8c070c7bf525b5f7f5e3fbc9dba1873c1d7be545) +++ firmware/App/Services/FpgaDD.h (.../FpgaDD.h) (revision 97a3e2ca15b28aef843b1dee750d5a911afb0a18) @@ -258,6 +258,7 @@ // Rinse pump void setFPGAD79RinsePumpControl( U08 value ); void setFPGAD79RinsePumpPWMControl( U08 value ); +U16 getFPGAD79RinsePumpSpeed( void ); //*************** IOFP *******************