/************************************************************************** * * Copyright (c) 2024-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 Temperature.h * * @author (last) Vinayakam Mani * @date (last) 23-Sep-2024 * * @author (original) Vinayakam Mani * @date (original) 23-Sep-2024 * ***************************************************************************/ #ifndef __TEMPERATURE_H__ #define __TEMPERATURE_H__ #include "DDCommon.h" #include "TemperatureSensors.h" /** * @defgroup Temperature Temperature * @brief Temperature Monitor unit. Reads and processes the temperature sensors. * * @addtogroup Temperature * @{ */ // ********** public definitions ********** /// Temperature sensors data structure. typedef struct { F32 d1Temp; ///< Inlet heat exchanger temperature sensor F32 d78Temp; ///< Outlet heat exchanger temperature sensor F32 d4Temp; ///< Hydraulics primary heater temperature sensor F32 d50Temp; ///< Trimmer heater temperature sensor F32 boardTemp; ///< Board temperature sensor F32 baroTemp; ///< Barometric temperature sensor F32 d16CondTemp; ///< D16 temperature value F32 d28CondTemp; ///< D28 temperature value F32 d30CondTemp; ///< D30 temperature value F32 d44CondTemp; ///< D44 temperature value F32 d75CondTemp; ///< D75 temperature value F32 d4AvgTemp; ///< D4 moving average temperature value F32 d50AvgTemp; ///< D50 moving average temperature value F32 d28AvgTemp; ///< D28 moving average temperature value F32 d30AvgTemp; ///< D30 moving average temperature value F32 d9PresTemp; ///< Hydraulics outlet pressure temperature F32 d66PresTemp; ///< Bicarb bag temperature F32 d51PresTemp; ///< Spent Dialysate temperature F32 d18PresTemp; ///< Fresh Dialysate temperature F32 d41PresTemp; ///< Transmembrane temperature } TEMPERATURE_SENSORS_DD_DATA_T; /// Temperature sensors data structure. typedef struct { F32 m3Temp; ///< Temperature after pressure regulator (M3) F32 p10Temp; ///< P10 temperature from inlet conductivity sensor. F32 p19Temp; ///< P19 temperature from outlet conductivity sensor. F32 p8Temp; ///< Temperature before inlet conductivity sensor (P8) F32 p13Temp; ///< Temperature before RO filter (P13) F32 p17Temp; ///< Temperature after RO filter (P17) F32 p7Temp; ///< Temperature RO inlet F32 p16Temp; ///< Temperature RO outlet F32 p46Temp; ///< Temperature after sediment filter (P46) } TEMPERATURE_SENSORS_FP_DATA_T; // ********** public function prototypes ********** void initTemperature( void ); SELF_TEST_STATUS_T execTemperatureSensorsSelfTest( void ); void execTemperatureSensors( void ); F32 getD4AverageTemperature( void ); F32 getD50AverageTemperature( void ); void checkDialysateTemperatureSensors( void ); BOOL testDDTemperatureSensorsDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testIOFPTemperatureSensorsDataPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif