/************************************************************************** * * Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file TemperatureSensors.h * * @author (last) Bill Bracken * @date (last) 17-Jan-2023 * * @author (original) Dara Navaei * @date (original) 08-Apr-2020 * ***************************************************************************/ #ifndef __TEMPERATURESENSORS_H__ #define __TEMPERATURESENSORS_H__ #include "DGCommon.h" #include "NVDataMgmt.h" /** * @defgroup TemperatureSensors TemperatureSensors * @brief Temperature Sensors driver module. Reads and processes the temperature sensors. * TODO add the sensors hardware * * @addtogroup TemperatureSensors * @{ */ // ********** public definitions ********** /// Enumeration of temperature sensors. typedef enum SENSORS_NAME { TEMPSENSORS_FIRST = 0, ///< First temp sensor to scan TEMPSENSORS_INLET_PRIMARY_HEATER = TEMPSENSORS_FIRST, ///< Inlet primary heaters temperature sensor TEMPSENSORS_HEAT_DISINFECT, ///< Heat disinfect temperature sensor TEMPSENSORS_OUTLET_PRIMARY_HEATER, ///< Outlet primary heaters temperature sensor TEMPSENSORS_CONDUCTIVITY_SENSOR_1, ///< Conductivity sensor 1 temperature sensor TEMPSENSORS_CONDUCTIVITY_SENSOR_2, ///< Conductivity sensor 2 temperature sensor TEMPSENSORS_OUTLET_REDUNDANT, ///< Outlet redundant temperature sensor TEMPSENSORS_INLET_DIALYSATE, ///< Inlet dialysate temperature sensor TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE, ///< Primary heaters internal temperature sensor TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE, ///< Trimmer heater internal temperature sensor TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION, ///< Primary heaters cold junction temperature sensor TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION, ///< Trimmer heater cold junction temperature sensor TEMPSENSORS_PRIMARY_HEATER_INTERNAL, ///< Primary heaters internal temperature TEMPSENSORS_TRIMMER_HEATER_INTERNAL, ///< Trimmer heater internal temperature TEMPSENSORS_FPGA_BOARD_SENSOR, ///< FPGA board temperature sensor TEMPSENSORS_LOAD_CELL_A1_B1, ///< Load cell A1/B1 temperature sensor TEMPSENSORS_LOAD_CELL_A2_B2, ///< Load cell A2/B2 temperature sensor TEMPSENSORS_INTERNAL_TRO_RTD, ///< TRo RTD internal temperature sensor TEMPSENSORS_INTERNAL_TDI_RTD, ///< TDi RTD internal temperature sensor TEMPSENSORS_INTERNAL_THD_RTD, ///< THd RTD internal temperature sensor TEMPSENSORS_INTERNAL_COND_TEMP_SENSOR, ///< Conductivity sensor temperature sensor TEMPSENSORS_BAROMETRIC_TEMP_SENSOR, ///< Barometric temperature sensor NUM_OF_TEMPERATURE_SENSORS ///< Number of temperature sensors } TEMPERATURE_SENSORS_T; // ********** public function prototypes ********** void initTemperatureSensors( void ); SELF_TEST_STATUS_T execTemperatureSensorsSelfTest( void ); void execTemperatureSensors( void ); void checkInletWaterTemperature( void ); F32 getTemperatureValue( U32 sensorIndex ); S32 getBaroSensorTemperatureDiff( void ); void checkDialysateTemperatureSensors( void ); void requestBaroSensorMFGInfoCheck( void ); BOOL testSetMeasuredTemperatureOverride( U32 sensorIndex, F32 temperature ); BOOL testResetMeasuredTemperatureOverride( U32 sensorIndex ); BOOL testSetTemperatureSensorsPublishIntervalOverride( U32 value ); BOOL testResetTemperatureSensorsPublishIntervalOverride( void ); /**@}*/ #endif