Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rf08afb101ec9f209412551c485e7b2faed0aa900 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision f08afb101ec9f209412551c485e7b2faed0aa900) @@ -22,6 +22,7 @@ #include "PersistentAlarm.h" #include "TaskGeneral.h" #include "Timers.h" +#include "FpgaTD.h" /** * @addtogroup AirPump @@ -46,6 +47,7 @@ static AIR_PUMP_STATE_T currentAirPumpState; ///< Current air pump control state. static U08 currentAirPumpPowerLevel; ///< Current air pump power level setting. +static U16 currentAirPumpRPM; ///< Current air pump RPM. static U32 airPumpDataPublicationTimerCounter; ///< Air pump data broadcast timer counter. static OVERRIDE_U32_T airPumpDataPublishInterval; ///< Air pump data broadcast interval (in ms). @@ -72,6 +74,7 @@ airPumpDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; currentAirPumpState = AIR_PUMP_STATE_INIT; currentAirPumpPowerLevel = AIR_PUMP_MOTOR_OFF; + currentAirPumpRPM = 0; airPumpDataPublishInterval.data = AIR_PUMP_DATA_PUB_INTERVAL; airPumpDataPublishInterval.ovData = AIR_PUMP_DATA_PUB_INTERVAL; airPumpDataPublishInterval.ovInitData = AIR_PUMP_DATA_PUB_INTERVAL; @@ -147,6 +150,7 @@ break; } + currentAirPumpRPM = getAirPumpRPM(); publishAirPumpData(); } @@ -222,6 +226,7 @@ data.h12State = getAirPumpState(); data.h12Power = (U32)currentAirPumpPowerLevel; + data.h12Rpm = (U32)currentAirPumpRPM; broadcastData( MSG_ID_TD_AIR_PUMP_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)&data, sizeof( AIR_PUMP_PAYLOAD_T ) ); airPumpDataPublicationTimerCounter = 0; Index: firmware/App/Controllers/AirPump.h =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rf08afb101ec9f209412551c485e7b2faed0aa900 --- firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision f08afb101ec9f209412551c485e7b2faed0aa900) @@ -39,6 +39,7 @@ { U32 h12State; ///< Air pump state status U32 h12Power; ///< Air pump power level setting + U32 h12Rpm; ///< Air pump speed in RPM } AIR_PUMP_PAYLOAD_T; #pragma pack(pop) Index: firmware/App/Monitors/Bubbles.c =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rf08afb101ec9f209412551c485e7b2faed0aa900 --- firmware/App/Monitors/Bubbles.c (.../Bubbles.c) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Monitors/Bubbles.c (.../Bubbles.c) (revision f08afb101ec9f209412551c485e7b2faed0aa900) @@ -324,7 +324,7 @@ else if ( TRUE == didTimeout( bubblesSelfTestStartTime[ bubble ], BUBBLE_TIMEOUT_MS ) ) { bubblesSelfTestStatus[ bubble ] = SELF_TEST_STATUS_FAILED; -// activateAlarmNoData( ALARM_ID_TD_VENOUS_BUBBLE_SELF_TEST_FAILURE ); + activateAlarmNoData( ALARM_ID_TD_VENOUS_BUBBLE_SELF_TEST_FAILURE ); } } else Index: firmware/App/Services/FpgaTD.c =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rf08afb101ec9f209412551c485e7b2faed0aa900 --- firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision f08afb101ec9f209412551c485e7b2faed0aa900) @@ -923,6 +923,8 @@ fpgaActuatorSetPoints.h12Control = power; } + + /*********************************************************************//** * @brief * The setH12AirPumpMotorPWMCntTime function sets the air pump motor PWM count @@ -1266,6 +1268,18 @@ /*********************************************************************//** * @brief + * The getAirPumpRPM function reads the air pump RPM from FPGA. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return air pump RPM value + *************************************************************************/ +U16 getAirPumpRPM( void ) +{ + return fpgaSensorReadings.h12Speed; +} + +/*********************************************************************//** + * @brief * The checkFPGACommFailure function increments the FPGA comm failure * windowed timer and returns whether or not the number of failures in * the window have been reached. Index: firmware/App/Services/FpgaTD.h =================================================================== diff -u -r395522dffef1348e176564925656012f529c1910 -rf08afb101ec9f209412551c485e7b2faed0aa900 --- firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision 395522dffef1348e176564925656012f529c1910) +++ firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision f08afb101ec9f209412551c485e7b2faed0aa900) @@ -145,6 +145,7 @@ U16 getFPGABoardTemperature( void ); U32 getFPGAPBAADCTemperature( void ); U16 getFPGAInletFan1TogglePeriod( void ); +U16 getAirPumpRPM( void ); BOOL getH9FrontDoorClosedStatus( void ); U32 getFPGAEjectorRetractOpticalSensor( void );