zephyr/drivers/sensor/ti/tmp435/tmp435.h
Jaakko Rautiainen 516e5d61c6 drivers: sensor: ti: tmp435: added driver for TMP435
The TMP435 is a remote temperature sensor monitor
with a built-in local temperature sensor.

Signed-off-by: Jaakko Rautiainen <jaakko.rautiainen@bittium.com>
2025-01-21 19:26:32 +01:00

44 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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_ */