Driver for the AT30TSE75x temperature sensor with serial EEPROM.
More...
Driver for the AT30TSE75x temperature sensor with serial EEPROM.
- Author
- Daniel Krebs githu.nosp@m.b@da.nosp@m.niel-.nosp@m.kreb.nosp@m.s.net
Definition in file at30tse75x.h.
#include <stdint.h>
#include "periph/i2c.h"
Go to the source code of this file.
|
int | at30tse75x_init (at30tse75x_t *dev, i2c_t i2c, uint8_t addr) |
| Initialize a AT30TSE75x device. More...
|
|
int | at30tse75x_save_config (const at30tse75x_t *dev) |
| Save configuration register to non-volatile backup register. More...
|
|
int | at30tse75x_restore_config (const at30tse75x_t *dev) |
| Restore configuration register from non-volatile backup register. More...
|
|
int | at30tse75x_get_config (const at30tse75x_t *dev, uint8_t *data) |
| Get content of configuration register. More...
|
|
int | at30tse75x_set_config (const at30tse75x_t *dev, uint8_t data) |
| Set content of configuration register. More...
|
|
int | at30tse75x_set_resolution (const at30tse75x_t *dev, at30tse75x_resolution_t resolution) |
| Set temperature resolution. More...
|
|
int | at30tse75x_set_mode (const at30tse75x_t *dev, at30tse75x_mode_t mode) |
| Set operation mode. More...
|
|
int | at30tse75x_set_alarm_polarity (const at30tse75x_t *dev, at30tse75x_alarm_polatity_t polarity) |
| Set polarity of ALERT pin. More...
|
|
int | at30tse75x_set_fault_tolerance (const at30tse75x_t *dev, at30tse75x_fault_tolerance_t tolerance) |
| Set tolerance to outlying measurements. More...
|
|
int | at30tse75x_set_limit_low (const at30tse75x_t *dev, int8_t t_low) |
| Set T_Low limit. More...
|
|
int | at30tse75x_set_limit_high (const at30tse75x_t *dev, int8_t t_high) |
| Set T_High limit. More...
|
|
int | at30tse75x_get_temperature (const at30tse75x_t *dev, float *temperature) |
| Get measured temperature. More...
|
|
|
#define | AT30TSE75X_TEMP_ADDR (0x48) |
|
#define | AT30TSE75X_EEPROM_ADDR (0x50) |
|
|
#define | AT30TSE75X_REG__TEMPERATURE (0x00) |
|
#define | AT30TSE75X_REG__CONFIG (0x01) |
|
#define | AT30TSE75X_REG__LIMIT_LOW (0x02) |
|
#define | AT30TSE75X_REG__LIMIT_HIGH (0x03) |
|
#define | AT30TSE75X_REG__NV_CONFIG (0x11) |
|
#define | AT30TSE75X_REG__NV_LIMIT_LOW (0x12) |
|
#define | AT30TSE75X_REG__NV_LIMIR_HIGH (0x13) |
|
|
#define | AT30TSE75X_INTEGER_MASK (0x00ff) |
|
#define | AT30TSE75X_INTEGER_SHIFT (0) |
|
#define | AT30TSE75X_FRACTIONAL_MASK (0xf000) |
|
#define | AT30TSE75X_FRACTIONAL_SHIFT (12) |
|
#define | AT30TSE75X_FRACTIONAL_BASE (0.0625f) |
|
|
Only upper byte can be read/written, so treat as 8-bit register.
|
#define | AT30TSE75X_CONFIG__OS_BIT (1 << 7) |
|
#define | AT30TSE75X_CONFIG__RESOLUTION_MASK (0x60) |
|
#define | AT30TSE75X_CONFIG__RESOLUTION_SHIFT (5) |
|
#define | AT30TSE75X_CONFIG__FTQ_MASK (0x18) |
|
#define | AT30TSE75X_CONFIG__FTQ_SHIFT (3) |
|
#define | AT30TSE75X_CONFIG__ALERT_POL_BIT (1 << 2) |
|
#define | AT30TSE75X_CONFIG__ALARM_MODE_BIT (1 << 1) |
|
#define | AT30TSE75X_CONFIG__SHUTDOWN_BIT (1 << 0) |
|
|
#define | AT30TSE75X_CMD__SAVE_TO_NVRAM (0x48) |
|
#define | AT30TSE75X_CMD__RESTORE_FROM_NVRAM (0xb8) |
|
#define | AT30TSE75X_CMD__GENERAL_CALL_RESET (0x06) |
|
#define | AT30TSE75X_CMD__GENERAL_CALL_RELATCH (0x04) |
|
|
#define | AT30TSE75X_BUS_FREE_TIME_US (1U) |
|
|
enum | at30tse75x_resolution_t { AT30TSE75X_RESOLUTION_9BIT = 0,
AT30TSE75X_RESOLUTION_10BIT = 1,
AT30TSE75X_RESOLUTION_11BIT = 2,
AT30TSE75X_RESOLUTION_12BIT = 3
} |
| Temperature resolution.
|
|
enum | at30tse75x_mode_t { AT30TSE75X_MODE_COMPARATOR,
AT30TSE75X_MODE_INTERRUPT,
AT30TSE75X_MODE_ONE_SHOT
} |
| Operation mode. More...
|
|
enum | at30tse75x_fault_tolerance_t { AT30TSE75X_ALARM_AFTER_1 = 0,
AT30TSE75X_ALARM_AFTER_2 = 1,
AT30TSE75X_ALARM_AFTER_4 = 2,
AT30TSE75X_ALARM_AFTER_6 = 3
} |
| After how many limit exceeding measurements the ALERT pin is set.
|
|
enum | at30tse75x_alarm_polatity_t { AT30TSE75X_ALARM_ACTIVE_LOW,
AT30TSE75X_ALARM_ACTIVE_HIGH
} |
| Polarity of the ALERT pin.
|
|