Index: firmware/App/Controllers/Temperatures.c =================================================================== diff -u -r0c3533ac1aa509678a73a8177d648080fa567203 -r3f26385e0e67b8596b06c26533353c759f3ee996 --- firmware/App/Controllers/Temperatures.c (.../Temperatures.c) (revision 0c3533ac1aa509678a73a8177d648080fa567203) +++ firmware/App/Controllers/Temperatures.c (.../Temperatures.c) (revision 3f26385e0e67b8596b06c26533353c759f3ee996) @@ -124,17 +124,17 @@ // Read the sensors all the time switch ( temperaturesExecState ) { - case TEMPSENSORS_EXEC_STATE_START: + case TEMPERATURES_EXEC_STATE_START_STATE: temperaturesExecState = handleExecStart(); break; - case TEMPSENSORS_EXEC_STATE_GET_ADC_VALUES: + case TEMPERATURES_EXEC_STATE_GET_ADC_VALUES_STATE: temperaturesExecState = handleExecGetADCValues(); break; default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_TEMPERATURE_SENSORS_EXEC_INVALID_STATE, temperaturesExecState ); - temperaturesExecState = TEMPSENSORS_EXEC_STATE_GET_ADC_VALUES; + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_HD_TEMPERATURES_INALID_EXEC_STATE, temperaturesExecState ); + temperaturesExecState = TEMPERATURES_EXEC_STATE_GET_ADC_VALUES_STATE; break; } Index: firmware/App/Services/AlarmMgmtSWFaults.h =================================================================== diff -u -r9fdd42e75e67270808116d7d89f099939c13add7 -r3f26385e0e67b8596b06c26533353c759f3ee996 --- firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision 9fdd42e75e67270808116d7d89f099939c13add7) +++ firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision 3f26385e0e67b8596b06c26533353c759f3ee996) @@ -155,7 +155,7 @@ SW_FAULT_ID_INVALID_CONSUMABLE_SELF_TEST_STATE, SW_FAULT_ID_HD_INVALID_BUBBLE_STATE, // 125 SW_FAULT_ID_HD_INVALID_BUBBLE_ID, - SW_FAULT_ID_HD_INVALID_SWITCH_ID, + SW_FAULT_ID_HD_TEMPERATURES_INALID_EXEC_STATE, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T; Index: firmware/App/Services/FPGA.c =================================================================== diff -u -r44a100f8e5210a02c23b8fcc4527d8e96d577381 -r3f26385e0e67b8596b06c26533353c759f3ee996 --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision 44a100f8e5210a02c23b8fcc4527d8e96d577381) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision 3f26385e0e67b8596b06c26533353c759f3ee996) @@ -149,7 +149,7 @@ U32 adc1Channel0; ///< Reg 292. ADC1 channel 0 data. U32 adc1Channel1; ///< Reg 296. ADC1 channel 1 data. U32 bloodFlowSoundSpeedData; ///< Reg 300. Blood flow sensor - sound speed data. - U32 bloodFlowAccFlowData; ///< Reg 304. Blood flow sensor - accumualted flow data. + U32 bloodFlowAccFlowData; ///< Reg 304. Blood flow sensor - accumulated flow data. F32 bloodFlowSignalStrength; ///< Reg 308. Blood flow sensor - signal strength. U08 adc1SequenceCount; ///< Reg 312. ADC1 round robin channel sequence count. U08 adc1ErrorCount; ///< Reg 313. ADC1 error count. @@ -168,7 +168,7 @@ U16 dialInPumpHallSensorCount; ///< Reg 336. Dialysate inlet pump hall sensor count. U16 dialOutPumpHallSensorCount; ///< Reg 338. Dialysate outlet pump hall sensor count. U32 dialysateFlowSoundSpeedData; ///< Reg 340. Dialysate flow sensor - sound speed data. - U32 dialysateFlowAccFlowData; ///< Reg 344. Dialysate flow sensor - accumualted flow data. + U32 dialysateFlowAccFlowData; ///< Reg 344. Dialysate flow sensor - accumulated flow data. F32 dialysateFlowSignalStrength; ///< Reg 348. Dialysate flow sensor - signal strength. U16 fan1PulseTime; ///< Reg 352. Fan 1 pulse time in 2.5 uSec resolution. 0xFFFF if fan RPM < 500 RPM. U16 fan2PUlseTime; ///< Reg 354. Fan 2 pulse time in 2.5 uSec resolution. 0xFFFF if fan RPM < 500 RPM. @@ -201,8 +201,8 @@ U16 VDiSpeed; ///< Reg 406. VDi pinch valve current (Register VAUX9) U16 VDoSpeed; ///< Reg 408. VDo pinch valve speed (Register VAUX10) U16 VDiCurrent; ///< Reg 410. VDi pinch valve current (Register VAUX11) - U16 VSpareSpeed; ///< Reg 412. VSpare speed (Register VAUX5) - U16 VSpareCurrent; ///< Reg 414. VSpare current (Register VAUX13) + U16 fpgaBoardTemperature; ///< Reg 412. FPGA board temperature. + U16 VAUX13; ///< Reg 414. Register VAUX13. U16 fpgaTimerCount_ms; ///< Reg 416. Internal FPGA timer count in ms. } FPGA_SENSORS_T; @@ -2292,6 +2292,30 @@ return fpgaSensorReadings.VBACurrent; } +/*********************************************************************//** + * @brief + * The getFPGABoardTemperature function reads the FPGA board temperature. + * @details Inputs: none + * @details Outputs: fpgaSensorReadings + * @return Current FPGA board temperature + *************************************************************************/ +U16 getFPGABoardTemperature( void ) +{ + return fpgaSensorReadings.fpgaBoardTemperature; +} + +/*********************************************************************//** + * @brief + * The getFPGAPBAADCTemperature function reads the PBA ADC temperature. + * @details Inputs: none + * @details Outputs: fpgaSensorReadings + * @return PBA ADC temperature + *************************************************************************/ +U32 getFPGAPBAADCTemperature( void ) +{ + return fpgaSensorReadings.adc1Channel1; +} + #ifdef DEBUG_ENABLED /*********************************************************************//** * @brief Index: firmware/App/Services/FPGA.h =================================================================== diff -u -r44a100f8e5210a02c23b8fcc4527d8e96d577381 -r3f26385e0e67b8596b06c26533353c759f3ee996 --- firmware/App/Services/FPGA.h (.../FPGA.h) (revision 44a100f8e5210a02c23b8fcc4527d8e96d577381) +++ firmware/App/Services/FPGA.h (.../FPGA.h) (revision 3f26385e0e67b8596b06c26533353c759f3ee996) @@ -149,6 +149,8 @@ void setFPGAValveBloodArterialPosition( S16 setPoint ); S16 getFPGAValveBloodArterialPosition( void ); U16 getFPGAValveBloodArterialCurrentCounts( void ); +U16 getFPGABoardTemperature( void ); +U32 getFPGAPBAADCTemperature( void ); // The PWM functions are only used during debugging #ifdef DEBUG_ENABLED Index: firmware/source/sys_main.c =================================================================== diff -u -r796d5732ae78870d15ac5c86feee82229626034c -r3f26385e0e67b8596b06c26533353c759f3ee996 --- firmware/source/sys_main.c (.../sys_main.c) (revision 796d5732ae78870d15ac5c86feee82229626034c) +++ firmware/source/sys_main.c (.../sys_main.c) (revision 3f26385e0e67b8596b06c26533353c759f3ee996) @@ -77,6 +77,7 @@ #include "DialOutFlow.h" #include "FluidLeak.h" #include "FPGA.h" +#include "Integrity.h" #include "InternalADC.h" #include "Interrupts.h" #include "MsgQueues.h" @@ -88,8 +89,10 @@ #include "SyringePump.h" #include "SystemComm.h" #include "TaskBG.h" +#include "Temperatures.h" #include "Timers.h" #include "Valves.h" +#include "Voltages.h" #include "WatchdogMgmt.h" static void initProcessor( void ); @@ -178,9 +181,9 @@ initInternalADC(); initBattery(); initRTC(); - initNVDataMgmt(); // Initialize services initCommBuffers(); + initIntegrity(); initFPGA(); initMsgQueues(); initNVDataMgmt(); @@ -193,6 +196,8 @@ initButtons(); initFluidLeak(); initPresOccl(); + initVoltagesMonitor(); + initTemperatures(); // Initialize controllers initAirTrap(); initAlarmLamp();