Low voltage digital temperature sensor
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: X_NUCLEO_IKS01A3 X_NUCLEO_IKS01A3 X_NUCLEO_IKS01A3
Diff: stts751_reg.h
- Revision:
- 1:5859badee052
- Parent:
- 0:128dae13c732
diff -r 128dae13c732 -r 5859badee052 stts751_reg.h
--- a/stts751_reg.h Wed Mar 06 10:18:41 2019 +0000
+++ b/stts751_reg.h Wed Jul 24 14:20:10 2019 +0000
@@ -40,7 +40,7 @@
#define STTS751_REGS_H
#ifdef __cplusplus
- extern "C" {
+extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
@@ -72,24 +72,24 @@
*
*/
-typedef union{
- int16_t i16bit[3];
- uint8_t u8bit[6];
+typedef union {
+ int16_t i16bit[3];
+ uint8_t u8bit[6];
} axis3bit16_t;
-typedef union{
- int16_t i16bit;
- uint8_t u8bit[2];
+typedef union {
+ int16_t i16bit;
+ uint8_t u8bit[2];
} axis1bit16_t;
-typedef union{
- int32_t i32bit[3];
- uint8_t u8bit[12];
+typedef union {
+ int32_t i32bit[3];
+ uint8_t u8bit[12];
} axis3bit32_t;
-typedef union{
- int32_t i32bit;
- uint8_t u8bit[4];
+typedef union {
+ int32_t i32bit;
+ uint8_t u8bit[4];
} axis1bit32_t;
/**
@@ -97,15 +97,15 @@
*
*/
-typedef struct{
- uint8_t bit0 : 1;
- uint8_t bit1 : 1;
- uint8_t bit2 : 1;
- uint8_t bit3 : 1;
- uint8_t bit4 : 1;
- uint8_t bit5 : 1;
- uint8_t bit6 : 1;
- uint8_t bit7 : 1;
+typedef struct {
+ uint8_t bit0 : 1;
+ uint8_t bit1 : 1;
+ uint8_t bit2 : 1;
+ uint8_t bit3 : 1;
+ uint8_t bit4 : 1;
+ uint8_t bit5 : 1;
+ uint8_t bit6 : 1;
+ uint8_t bit7 : 1;
} bitwise_t;
#define PROPERTY_DISABLE (0U)
@@ -126,15 +126,15 @@
*
*/
-typedef int32_t (*stts751_write_ptr)(void *, uint8_t, uint8_t*, uint16_t);
-typedef int32_t (*stts751_read_ptr) (void *, uint8_t, uint8_t*, uint16_t);
+typedef int32_t (*stts751_write_ptr)(void *, uint8_t, uint8_t *, uint16_t);
+typedef int32_t (*stts751_read_ptr)(void *, uint8_t, uint8_t *, uint16_t);
typedef struct {
- /** Component mandatory fields **/
- stts751_write_ptr write_reg;
- stts751_read_ptr read_reg;
- /** Customizable optional pointer **/
- void *handle;
+ /** Component mandatory fields **/
+ stts751_write_ptr write_reg;
+ stts751_read_ptr read_reg;
+ /** Customizable optional pointer **/
+ void *handle;
} stts751_ctx_t;
/**
@@ -175,27 +175,27 @@
#define STTS751_TEMPERATURE_HIGH 0x00U
#define STTS751_STATUS 0x01U
typedef struct {
- uint8_t thrm : 1;
- uint8_t not_used_01 : 4;
- uint8_t t_low : 1;
- uint8_t t_high : 1;
- uint8_t busy : 1;
+ uint8_t thrm : 1;
+ uint8_t not_used_01 : 4;
+ uint8_t t_low : 1;
+ uint8_t t_high : 1;
+ uint8_t busy : 1;
} stts751_status_t;
#define STTS751_TEMPERATURE_LOW 0x02U
#define STTS751_CONFIGURATION 0x03U
typedef struct {
- uint8_t not_used_01 : 2;
- uint8_t tres : 2;
- uint8_t not_used_02 : 2;
- uint8_t stop : 1;
- uint8_t mask1 : 1;
+ uint8_t not_used_01 : 2;
+ uint8_t tres : 2;
+ uint8_t not_used_02 : 2;
+ uint8_t stop : 1;
+ uint8_t mask1 : 1;
} stts751_configuration_t;
#define STTS751_CONVERSION_RATE 0x04U
typedef struct {
- uint8_t conv : 4;
- uint8_t not_used_01 : 4;
+ uint8_t conv : 4;
+ uint8_t not_used_01 : 4;
} stts751_conversion_rate_t;
#define STTS751_TEMPERATURE_HIGH_LIMIT_HIGH 0x05U
@@ -207,8 +207,8 @@
#define STTS751_THERM_HYSTERESIS 0x21U
#define STTS751_SMBUS_TIMEOUT 0x22U
typedef struct {
- uint8_t not_used_01 : 7;
- uint8_t timeout : 1;
+ uint8_t not_used_01 : 7;
+ uint8_t timeout : 1;
} stts751_smbus_timeout_t;
#define STTS751_PRODUCT_ID 0xFDU
@@ -227,13 +227,13 @@
* @{
*
*/
-typedef union{
- stts751_status_t status;
- stts751_configuration_t configuration;
- stts751_conversion_rate_t conversion_rate;
- stts751_smbus_timeout_t smbus_timeout;
- bitwise_t bitwise;
- uint8_t byte;
+typedef union {
+ stts751_status_t status;
+ stts751_configuration_t configuration;
+ stts751_conversion_rate_t conversion_rate;
+ stts751_smbus_timeout_t smbus_timeout;
+ bitwise_t bitwise;
+ uint8_t byte;
} stts751_reg_t;
/**
@@ -241,36 +241,36 @@
*
*/
-int32_t stts751_read_reg(stts751_ctx_t *ctx, uint8_t reg, uint8_t* data,
+int32_t stts751_read_reg(stts751_ctx_t *ctx, uint8_t reg, uint8_t *data,
+ uint16_t len);
+int32_t stts751_write_reg(stts751_ctx_t *ctx, uint8_t reg, uint8_t *data,
uint16_t len);
-int32_t stts751_write_reg(stts751_ctx_t *ctx, uint8_t reg, uint8_t* data,
- uint16_t len);
extern float stts751_from_lsb_to_celsius(int16_t lsb);
extern int16_t stts751_from_celsius_to_lsb(float celsius);
typedef enum {
- STTS751_TEMP_ODR_OFF = 0x80,
- STTS751_TEMP_ODR_ONE_SHOT = 0x90,
- STTS751_TEMP_ODR_62mHz5 = 0x00,
- STTS751_TEMP_ODR_125mHz = 0x01,
- STTS751_TEMP_ODR_250mHz = 0x02,
- STTS751_TEMP_ODR_500mHz = 0x03,
- STTS751_TEMP_ODR_1Hz = 0x04,
- STTS751_TEMP_ODR_2Hz = 0x05,
- STTS751_TEMP_ODR_4Hz = 0x06,
- STTS751_TEMP_ODR_8Hz = 0x07,
- STTS751_TEMP_ODR_16Hz = 0x08, /* 9, 10, or 11-bit resolutions only */
- STTS751_TEMP_ODR_32Hz = 0x09, /* 9 or 10-bit resolutions only */
+ STTS751_TEMP_ODR_OFF = 0x80,
+ STTS751_TEMP_ODR_ONE_SHOT = 0x90,
+ STTS751_TEMP_ODR_62mHz5 = 0x00,
+ STTS751_TEMP_ODR_125mHz = 0x01,
+ STTS751_TEMP_ODR_250mHz = 0x02,
+ STTS751_TEMP_ODR_500mHz = 0x03,
+ STTS751_TEMP_ODR_1Hz = 0x04,
+ STTS751_TEMP_ODR_2Hz = 0x05,
+ STTS751_TEMP_ODR_4Hz = 0x06,
+ STTS751_TEMP_ODR_8Hz = 0x07,
+ STTS751_TEMP_ODR_16Hz = 0x08, /* 9, 10, or 11-bit resolutions only */
+ STTS751_TEMP_ODR_32Hz = 0x09, /* 9 or 10-bit resolutions only */
} stts751_odr_t;
int32_t stts751_temp_data_rate_set(stts751_ctx_t *ctx, stts751_odr_t val);
int32_t stts751_temp_data_rate_get(stts751_ctx_t *ctx, stts751_odr_t *val);
typedef enum {
- STTS751_9bit = 2,
- STTS751_10bit = 0,
- STTS751_11bit = 1,
- STTS751_12bit = 3,
+ STTS751_9bit = 2,
+ STTS751_10bit = 0,
+ STTS751_11bit = 1,
+ STTS751_12bit = 3,
} stts751_tres_t;
int32_t stts751_resolution_set(stts751_ctx_t *ctx, stts751_tres_t val);
int32_t stts751_resolution_get(stts751_ctx_t *ctx, stts751_tres_t *val);
@@ -305,9 +305,9 @@
int32_t stts751_smbus_timeout_get(stts751_ctx_t *ctx, uint8_t *val);
typedef struct {
- uint8_t product_id;
- uint8_t manufacturer_id;
- uint8_t revision_id;
+ uint8_t product_id;
+ uint8_t manufacturer_id;
+ uint8_t revision_id;
} stts751_id_t;
int32_t stts751_device_id_get(stts751_ctx_t *ctx, stts751_id_t *buff);