/** * @file MAX31865_ATY.h * * @param Project DEVICE_GENERAL_ATY_LIB * * @author ATY * * @copyright * - Copyright 2017 - 2026 MZ-ATY * - This code follows: * - MZ-ATY Various Contents Joint Statement - * * https://mengze.top/MZ-ATY_VCJS * - CC 4.0 BY-NC-SA - * * https://creativecommons.org/licenses/by-nc-sa/4.0/ * - Your use will be deemed to have accepted the terms of this statement. * * @brief functions of MAX31865 platinum resistance temperature detector for C platform * * @version * - 1_01_251216 > ATY * -# Preliminary version, first Release ******************************************************************************** */ #ifndef __MAX31865_ATY_H #define __MAX31865_ATY_H #include "INCLUDE_ATY.h" /******************************* For user *************************************/ /******************************************************************************/ // MAX31865 Register Addresses #define MAX31865_REG_CONFIG 0x00 #define MAX31865_REG_RTD_MSB 0x01 #define MAX31865_REG_RTD_LSB 0x02 #define MAX31865_REG_HFAULT_MSB 0x03 #define MAX31865_REG_HFAULT_LSB 0x04 #define MAX31865_REG_LFAULT_MSB 0x05 #define MAX31865_REG_LFAULT_LSB 0x06 #define MAX31865_REG_FAULT_STATUS 0x07 // Configuration Register Bit Definitions #define MAX31865_CONFIG_BIAS 0x80 #define MAX31865_CONFIG_MODEAUTO 0x40 #define MAX31865_CONFIG_1SHOT 0x20 #define MAX31865_CONFIG_3WIRE 0x10 #define MAX31865_CONFIG_FAULTCTR 0x04 #define MAX31865_CONFIG_FAULTSTAT 0x02 #define MAX31865_CONFIG_FILT50HZ 0x01 // Fault Status Register Bit Definitions #define MAX31865_FAULT_HIGH_THRESH 0x80 #define MAX31865_FAULT_LOW_THRESH 0x40 #define MAX31865_FAULT_REFIN_HIGH 0x20 #define MAX31865_FAULT_REFIN_LOW 0x10 #define MAX31865_FAULT_RTDIN_LOW 0x08 #define MAX31865_FAULT_OVUV 0x04 struct MAX31865_ATY_Dev{ void (*nssSet)(uint8_t level); uint8_t (*spiProcess)(uint8_t* data_t, uint16_t len, uint8_t rw); uint8_t rtdWires; // RTD wire count (2, 3, 4) uint8_t filter50Hz; // Filter 50Hz (1) or 60Hz (0) uint8_t bias; // Bias on (1) or off (0) uint8_t autoConvert; // Auto conversion enabled (1) or disabled (0) uint8_t faultControl; float rtdNominal; // RTD nominal resistance (typically 100.0 ohm for PT100) float refResistor; // Reference resistor value (typically 430.0 ohm for PT100) uint8_t initFlag; uint16_t rtdValue; uint8_t faultStatus; uint8_t lock; }; uint8_t MAX31865_Init(struct MAX31865_ATY_Dev* dev); uint8_t MAX31865_ReadConfig(struct MAX31865_ATY_Dev* dev); uint8_t MAX31865_ReadRTD(struct MAX31865_ATY_Dev* dev); uint8_t MAX31865_ReadFault(struct MAX31865_ATY_Dev* dev); uint8_t MAX31865_ClearFaults(struct MAX31865_ATY_Dev* dev); uint8_t MAX31865_OneShot(struct MAX31865_ATY_Dev* dev); float MAX31865_CalculateResistance(struct MAX31865_ATY_Dev* dev, uint16_t rtd); float MAX31865_CalculateTemperature(struct MAX31865_ATY_Dev* dev, uint16_t rtd); #endif /* __MAX31865_ATY_H */ /******************************** End Of File *********************************/