| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /**
- * @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 -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - 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 *********************************/
|