1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * TMP75AIDGKR.h
- *
- * Created on: 2019. 5. 27.
- * Author: parkyj
- */
- #ifndef TMP75AIDGKR_H_
- #define TMP75AIDGKR_H_
- #include "main.h"
- /** Register addresses */
- #define TMP75_RTEMP 0x00 /// Temperature register
- #define TMP75_RCONF 0x01 /// Configuration register
- #define TMP75_RTEMPL 0x02 /// TLOW register
- #define TMP75_RTEMPH 0x03 /// THIGH register
- #define TMP75_RESOLUTION_9BITS 0
- #define TMP75_RESOLUTION_10BITS 1
- #define TMP75_RESOLUTION_11BITS 2
- #define TMP75_RESOLUTION_12BITS 3
- /** \brief Structure of Configuration register in TMP75
- */
- typedef union
- {
- struct
- {
- uint8_t SD :1; /*!< bit: 0 Shutdown Mode */
- uint8_t TM :1; /*!< bit: 1 Thermostat Mode */
- uint8_t POL :1; /*!< bit: 2 Polarity */
- uint8_t F :2; /*!< bit: 3...4 Fault Queue */
- uint8_t R :2; /*!< bit: 5...6 Converter Resolution */
- uint8_t OS :1; /*!< bit: 7 One-Shot */
- } b;
- uint8_t r;
- } Tmp75_regconf_t;
-
- typedef enum
- {
- Tmp75Addr_Zero,
- Tmp75Addr_One,
- Tmp75Addr_Float
- } Tmp75_AddressLine_t;
- /*!
- * \brief Convert address line state to slave address
- *
- * \retval slave address or 0xff if address line state combination is invalid
- */
- uint8_t Tmp75_SlaveAddress(Tmp75_AddressLine_t a2, Tmp75_AddressLine_t a1, Tmp75_AddressLine_t a0);
- HAL_StatusTypeDef Tmp75_Init(I2C_HandleTypeDef *hi2c, uint8_t adr,
- Tmp75_regconf_t cfg);
-
-
- HAL_StatusTypeDef Tmp75_Read_TempCelsius(I2C_HandleTypeDef *hi2c, uint8_t adr,
- float* receive_buffer);
-
-
-
- HAL_StatusTypeDef Tmp75_Read_TempEeprom(I2C_HandleTypeDef *hi2c, uint8_t adr,
- uint16_t* receive_buffer);
-
-
-
- HAL_StatusTypeDef Tmp75_One_ShotTemp(I2C_HandleTypeDef *hi2c, uint8_t adr);
- HAL_StatusTypeDef Tmp75_Read_Teperature(I2C_HandleTypeDef *hi2c, uint8_t adr,
- float* temperature);
- HAL_StatusTypeDef Tmp75_Read_Int_Teperature(I2C_HandleTypeDef *hi2c, uint8_t tmp75addr,
- int32_t* temperature) ;
- #endif /* TMP75AIDGKR_H_ */
|