/* * Copyright (c) 2024 Bittium Corporation * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_DRIVERS_SENSOR_TMP435_H_ #define ZEPHYR_DRIVERS_SENSOR_TMP435_H_ #define TMP435_CONF_REG_1 0x03 #define TMP435_CONF_REG_1_DATA 0xc4 /* [7]=1 ALERT Masked, [6]=1 Shut Down (one shot mode), [2]=1 −55 C to +150 C */ #define TMP435_CONF_REG_2 0x1a #define TMP435_CONF_REG_2_REN 0x10 /* [4]=1 External channel 1 enabled */ #define TMP435_CONF_REG_2_RC 0x04 /* [2]=1 Resistance correction enabled */ #define TMP435_CONF_REG_2_DATA 0x08 /* [3]=1 Local channel enabled */ #define TMP435_BETA_RANGE_REG 0x25 #define TMP435_STATUS_REG 0x02 #define TMP435_STATUS_REG_BUSY 0x80 /* conv not ready */ #define TMP435_SOFTWARE_RESET_REG 0xfc #define TMP435_ONE_SHOT_START_REG 0x0f #define TMP435_LOCAL_TEMP_H_REG 0x00 #define TMP435_LOCAL_TEMP_L_REG 0x15 #define TMP435_REMOTE_TEMP_H_REG 0x01 #define TMP435_REMOTE_TEMP_L_REG 0x10 #define TMP435_CONV_LOOP_LIMIT 50 /* max 50*10 ms */ #define TMP435_FRACTION_INC 0x80 /* 0.5000 */ static const int32_t tmp435_temp_offset = -64; struct tmp435_data { int32_t temp_die; /* Celsius degrees */ int32_t temp_ambient; /* Celsius degrees */ }; struct tmp435_config { struct i2c_dt_spec i2c; bool external_channel; bool resistance_correction; uint8_t beta_compensation; }; #endif /* ZEPHYR_DRIVERS_SENSOR_TMP435_H_ */