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);