Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Texas Instruments TMAG5273 Low-Power Linear 3D Hall-Effect Sensor. More...

Files

file  tmag5273.h
 Devicetree binding constants for the TI TMAG5273 3-axis Hall-effect sensor.

Enumerations

enum  tmag5273_sensor_channel { TMAG5273_CHAN_MAGNITUDE = SENSOR_CHAN_PRIV_START , TMAG5273_CHAN_MAGNITUDE_MSB , TMAG5273_CHAN_ANGLE_MAGNITUDE }
 Additional channels supported by the TMAG5273. More...
enum  tmag5273_attribute { TMAG5273_ATTR_ANGLE_MAG_AXIS = SENSOR_ATTR_PRIV_START }
 Additional attributes supported by the TMAG5273. More...

Angle calculation modes

#define TMAG5273_ANGLE_CALC_NONE   0
 No angle calculation.
#define TMAG5273_ANGLE_CALC_XY   1
 X first, Y second.
#define TMAG5273_ANGLE_CALC_YZ   2
 Y first, Z second.
#define TMAG5273_ANGLE_CALC_XZ   3
 X first, Z second.

Operating mode

Values for the operation-mode devicetree property.

#define TMAG5273_DT_OPER_MODE_CONTINUOUS   0
 Continuous conversion.
#define TMAG5273_DT_OPER_MODE_STANDBY   1
 Standby (conversion on request).

Magnetic axis selection

Values for the axis devicetree property.

#define TMAG5273_DT_AXIS_NONE   0x0
 No axis.
#define TMAG5273_DT_AXIS_X   0x1
 X axis.
#define TMAG5273_DT_AXIS_Y   0x2
 Y axis.
#define TMAG5273_DT_AXIS_Z   0x4
 Z axis.
#define TMAG5273_DT_AXIS_XY   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y)
 X and Y axes.
#define TMAG5273_DT_AXIS_XZ   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Z)
 X and Z axes.
#define TMAG5273_DT_AXIS_YZ   (TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
 Y and Z axes.
#define TMAG5273_DT_AXIS_XYZ   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
 All axes.
#define TMAG5273_DT_AXIS_XYX   0x8
 X, Y then X axes.
#define TMAG5273_DT_AXIS_YXY   0x9
 Y, X then Y axes.
#define TMAG5273_DT_AXIS_YZY   0xA
 Y, Z then Y axes.
#define TMAG5273_DT_AXIS_XZX   0xB
 X, Z then X axes.

Magnetic measurement range

Values for the range devicetree property.

#define TMAG5273_DT_AXIS_RANGE_LOW   0
 Low range.
#define TMAG5273_DT_AXIS_RANGE_HIGH   1
 High range.
#define TMAG5273_DT_AXIS_RANGE_RUNTIME   2
 Range selected at runtime.

Interrupt routing mode

Interrupt routing mode.

#define TMAG5273_DT_INT_THROUGH_INT   0
 Interrupt through the INT pin.
#define TMAG5273_DT_INT_THROUGH_INT_EXC_I2C   1
 INT pin, except during I2C bus access.
#define TMAG5273_DT_INT_THROUGH_SCL   2
 Interrupt through the SCL pin.
#define TMAG5273_DT_INT_THROUGH_SCL_EXC_I2C   3
 SCL pin, except during I2C bus access.

Threshold crossing count

Number of threshold crossings before an interrupt.

#define TMAG5273_DT_THRX_COUNT_1   0
 Trigger after 1 crossing.
#define TMAG5273_DT_THRX_COUNT_4   1
 Trigger after 4 crossings.

Threshold crossing direction

Threshold-crossing direction that triggers an interrupt.

#define TMAG5273_DT_THRX_ABOVE   0
 Field rises above the threshold.
#define TMAG5273_DT_THRX_BELOW   1
 Field falls below the threshold.
#define TMAG5273_DT_THRX_OUTSIDE   2
 Field leaves the threshold window.
#define TMAG5273_DT_THRX_INSIDE   3
 Field enters the threshold window.

Magnet temperature coefficient

Values for the temperature-coefficient devicetree property.

#define TMAG5273_DT_TEMP_COEFF_NONE   0
 No compensation.
#define TMAG5273_DT_TEMP_COEFF_NDBFE   1
 NdBFe magnet (0.12 %/°C).
#define TMAG5273_DT_TEMP_COEFF_CERAMIC   2
 Ceramic magnet (0.2 %/°C).

Angle and magnitude calculation

Values for the angle-magnitude-axis devicetree property.

#define TMAG5273_DT_ANGLE_MAG_NONE   0
 Disabled.
#define TMAG5273_DT_ANGLE_MAG_XY   1
 From the X and Y axes.
#define TMAG5273_DT_ANGLE_MAG_YZ   2
 From the Y and Z axes.
#define TMAG5273_DT_ANGLE_MAG_XZ   3
 From the X and Z axes.
#define TMAG5273_DT_ANGLE_MAG_RUNTIME   4
 Axis pair selected at runtime.

Magnitude gain correction channel

Values for the ch-mag-gain-correction devicetree property.

#define TMAG5273_DT_CORRECTION_CH_1   0
 Apply gain correction to channel 1.
#define TMAG5273_DT_CORRECTION_CH_2   1
 Apply gain correction to channel 2.

Sample averaging

Values for the average-mode devicetree property.

#define TMAG5273_DT_AVERAGING_NONE   0
 No averaging (1 sample).
#define TMAG5273_DT_AVERAGING_2X   1
 2 samples averaged
#define TMAG5273_DT_AVERAGING_4X   2
 4 samples averaged
#define TMAG5273_DT_AVERAGING_8X   3
 8 samples averaged
#define TMAG5273_DT_AVERAGING_16X   4
 16 samples averaged
#define TMAG5273_DT_AVERAGING_32X   5
 32 samples averaged

Sleep time between conversions

Sleep time between conversions in standby mode.

#define TMAG5273_DT_SLEEPTIME_1MS   0
 1 ms
#define TMAG5273_DT_SLEEPTIME_5MS   1
 5 ms
#define TMAG5273_DT_SLEEPTIME_10MS   2
 10 ms
#define TMAG5273_DT_SLEEPTIME_15MS   3
 15 ms
#define TMAG5273_DT_SLEEPTIME_20MS   4
 20 ms
#define TMAG5273_DT_SLEEPTIME_30MS   5
 30 ms
#define TMAG5273_DT_SLEEPTIME_50MS   6
 50 ms
#define TMAG5273_DT_SLEEPTIME_100MS   7
 100 ms
#define TMAG5273_DT_SLEEPTIME_500MS   8
 500 ms
#define TMAG5273_DT_SLEEPTIME_1000MS   9
 1000 ms
#define TMAG5273_DT_SLEEPTIME_2000MS   10
 2000 ms
#define TMAG5273_DT_SLEEPTIME_5000MS   11
 5000 ms
#define TMAG5273_DT_SLEEPTIME_20000MS   12
 20000 ms

Detailed Description

Texas Instruments TMAG5273 Low-Power Linear 3D Hall-Effect Sensor.

Macro Definition Documentation

◆ TMAG5273_ANGLE_CALC_NONE

#define TMAG5273_ANGLE_CALC_NONE   0

#include <zephyr/drivers/sensor/tmag5273.h>

No angle calculation.

◆ TMAG5273_ANGLE_CALC_XY

#define TMAG5273_ANGLE_CALC_XY   1

#include <zephyr/drivers/sensor/tmag5273.h>

X first, Y second.

◆ TMAG5273_ANGLE_CALC_XZ

#define TMAG5273_ANGLE_CALC_XZ   3

#include <zephyr/drivers/sensor/tmag5273.h>

X first, Z second.

◆ TMAG5273_ANGLE_CALC_YZ

#define TMAG5273_ANGLE_CALC_YZ   2

#include <zephyr/drivers/sensor/tmag5273.h>

Y first, Z second.

◆ TMAG5273_DT_ANGLE_MAG_NONE

#define TMAG5273_DT_ANGLE_MAG_NONE   0

◆ TMAG5273_DT_ANGLE_MAG_RUNTIME

#define TMAG5273_DT_ANGLE_MAG_RUNTIME   4

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Axis pair selected at runtime.

◆ TMAG5273_DT_ANGLE_MAG_XY

#define TMAG5273_DT_ANGLE_MAG_XY   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

From the X and Y axes.

◆ TMAG5273_DT_ANGLE_MAG_XZ

#define TMAG5273_DT_ANGLE_MAG_XZ   3

#include <zephyr/dt-bindings/sensor/tmag5273.h>

From the X and Z axes.

◆ TMAG5273_DT_ANGLE_MAG_YZ

#define TMAG5273_DT_ANGLE_MAG_YZ   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

From the Y and Z axes.

◆ TMAG5273_DT_AVERAGING_16X

#define TMAG5273_DT_AVERAGING_16X   4

#include <zephyr/dt-bindings/sensor/tmag5273.h>

16 samples averaged

◆ TMAG5273_DT_AVERAGING_2X

#define TMAG5273_DT_AVERAGING_2X   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

2 samples averaged

◆ TMAG5273_DT_AVERAGING_32X

#define TMAG5273_DT_AVERAGING_32X   5

#include <zephyr/dt-bindings/sensor/tmag5273.h>

32 samples averaged

◆ TMAG5273_DT_AVERAGING_4X

#define TMAG5273_DT_AVERAGING_4X   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

4 samples averaged

◆ TMAG5273_DT_AVERAGING_8X

#define TMAG5273_DT_AVERAGING_8X   3

#include <zephyr/dt-bindings/sensor/tmag5273.h>

8 samples averaged

◆ TMAG5273_DT_AVERAGING_NONE

#define TMAG5273_DT_AVERAGING_NONE   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

No averaging (1 sample).

◆ TMAG5273_DT_AXIS_NONE

#define TMAG5273_DT_AXIS_NONE   0x0

◆ TMAG5273_DT_AXIS_RANGE_HIGH

#define TMAG5273_DT_AXIS_RANGE_HIGH   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

High range.

◆ TMAG5273_DT_AXIS_RANGE_LOW

#define TMAG5273_DT_AXIS_RANGE_LOW   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Low range.

◆ TMAG5273_DT_AXIS_RANGE_RUNTIME

#define TMAG5273_DT_AXIS_RANGE_RUNTIME   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Range selected at runtime.

◆ TMAG5273_DT_AXIS_X

#define TMAG5273_DT_AXIS_X   0x1

◆ TMAG5273_DT_AXIS_XY

#define TMAG5273_DT_AXIS_XY   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y)

#include <zephyr/dt-bindings/sensor/tmag5273.h>

X and Y axes.

◆ TMAG5273_DT_AXIS_XYX

#define TMAG5273_DT_AXIS_XYX   0x8

#include <zephyr/dt-bindings/sensor/tmag5273.h>

X, Y then X axes.

◆ TMAG5273_DT_AXIS_XYZ

#define TMAG5273_DT_AXIS_XYZ   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)

◆ TMAG5273_DT_AXIS_XZ

#define TMAG5273_DT_AXIS_XZ   (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Z)

#include <zephyr/dt-bindings/sensor/tmag5273.h>

X and Z axes.

◆ TMAG5273_DT_AXIS_XZX

#define TMAG5273_DT_AXIS_XZX   0xB

#include <zephyr/dt-bindings/sensor/tmag5273.h>

X, Z then X axes.

◆ TMAG5273_DT_AXIS_Y

#define TMAG5273_DT_AXIS_Y   0x2

◆ TMAG5273_DT_AXIS_YXY

#define TMAG5273_DT_AXIS_YXY   0x9

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Y, X then Y axes.

◆ TMAG5273_DT_AXIS_YZ

#define TMAG5273_DT_AXIS_YZ   (TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Y and Z axes.

◆ TMAG5273_DT_AXIS_YZY

#define TMAG5273_DT_AXIS_YZY   0xA

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Y, Z then Y axes.

◆ TMAG5273_DT_AXIS_Z

#define TMAG5273_DT_AXIS_Z   0x4

◆ TMAG5273_DT_CORRECTION_CH_1

#define TMAG5273_DT_CORRECTION_CH_1   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Apply gain correction to channel 1.

◆ TMAG5273_DT_CORRECTION_CH_2

#define TMAG5273_DT_CORRECTION_CH_2   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Apply gain correction to channel 2.

◆ TMAG5273_DT_INT_THROUGH_INT

#define TMAG5273_DT_INT_THROUGH_INT   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Interrupt through the INT pin.

◆ TMAG5273_DT_INT_THROUGH_INT_EXC_I2C

#define TMAG5273_DT_INT_THROUGH_INT_EXC_I2C   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

INT pin, except during I2C bus access.

◆ TMAG5273_DT_INT_THROUGH_SCL

#define TMAG5273_DT_INT_THROUGH_SCL   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Interrupt through the SCL pin.

◆ TMAG5273_DT_INT_THROUGH_SCL_EXC_I2C

#define TMAG5273_DT_INT_THROUGH_SCL_EXC_I2C   3

#include <zephyr/dt-bindings/sensor/tmag5273.h>

SCL pin, except during I2C bus access.

◆ TMAG5273_DT_OPER_MODE_CONTINUOUS

#define TMAG5273_DT_OPER_MODE_CONTINUOUS   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Continuous conversion.

◆ TMAG5273_DT_OPER_MODE_STANDBY

#define TMAG5273_DT_OPER_MODE_STANDBY   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Standby (conversion on request).

◆ TMAG5273_DT_SLEEPTIME_1000MS

#define TMAG5273_DT_SLEEPTIME_1000MS   9

◆ TMAG5273_DT_SLEEPTIME_100MS

#define TMAG5273_DT_SLEEPTIME_100MS   7

◆ TMAG5273_DT_SLEEPTIME_10MS

#define TMAG5273_DT_SLEEPTIME_10MS   2

◆ TMAG5273_DT_SLEEPTIME_15MS

#define TMAG5273_DT_SLEEPTIME_15MS   3

◆ TMAG5273_DT_SLEEPTIME_1MS

#define TMAG5273_DT_SLEEPTIME_1MS   0

◆ TMAG5273_DT_SLEEPTIME_20000MS

#define TMAG5273_DT_SLEEPTIME_20000MS   12

◆ TMAG5273_DT_SLEEPTIME_2000MS

#define TMAG5273_DT_SLEEPTIME_2000MS   10

◆ TMAG5273_DT_SLEEPTIME_20MS

#define TMAG5273_DT_SLEEPTIME_20MS   4

◆ TMAG5273_DT_SLEEPTIME_30MS

#define TMAG5273_DT_SLEEPTIME_30MS   5

◆ TMAG5273_DT_SLEEPTIME_5000MS

#define TMAG5273_DT_SLEEPTIME_5000MS   11

◆ TMAG5273_DT_SLEEPTIME_500MS

#define TMAG5273_DT_SLEEPTIME_500MS   8

◆ TMAG5273_DT_SLEEPTIME_50MS

#define TMAG5273_DT_SLEEPTIME_50MS   6

◆ TMAG5273_DT_SLEEPTIME_5MS

#define TMAG5273_DT_SLEEPTIME_5MS   1

◆ TMAG5273_DT_TEMP_COEFF_CERAMIC

#define TMAG5273_DT_TEMP_COEFF_CERAMIC   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Ceramic magnet (0.2 %/°C).

◆ TMAG5273_DT_TEMP_COEFF_NDBFE

#define TMAG5273_DT_TEMP_COEFF_NDBFE   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

NdBFe magnet (0.12 %/°C).

◆ TMAG5273_DT_TEMP_COEFF_NONE

#define TMAG5273_DT_TEMP_COEFF_NONE   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

No compensation.

◆ TMAG5273_DT_THRX_ABOVE

#define TMAG5273_DT_THRX_ABOVE   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Field rises above the threshold.

◆ TMAG5273_DT_THRX_BELOW

#define TMAG5273_DT_THRX_BELOW   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Field falls below the threshold.

◆ TMAG5273_DT_THRX_COUNT_1

#define TMAG5273_DT_THRX_COUNT_1   0

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Trigger after 1 crossing.

◆ TMAG5273_DT_THRX_COUNT_4

#define TMAG5273_DT_THRX_COUNT_4   1

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Trigger after 4 crossings.

◆ TMAG5273_DT_THRX_INSIDE

#define TMAG5273_DT_THRX_INSIDE   3

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Field enters the threshold window.

◆ TMAG5273_DT_THRX_OUTSIDE

#define TMAG5273_DT_THRX_OUTSIDE   2

#include <zephyr/dt-bindings/sensor/tmag5273.h>

Field leaves the threshold window.

Enumeration Type Documentation

◆ tmag5273_attribute

#include <zephyr/drivers/sensor/tmag5273.h>

Additional attributes supported by the TMAG5273.

Enumerator
TMAG5273_ATTR_ANGLE_MAG_AXIS 

Define axis relation measurements.

Supported values are:

  • TMAG5273_DT_ANGLE_MAG_NONE (0)
  • TMAG5273_DT_ANGLE_MAG_XY (1)
  • TMAG5273_DT_ANGLE_MAG_YZ (2)
  • TMAG5273_DT_ANGLE_MAG_XZ (3)

Only available if calculation source can be changed during runtime.

◆ tmag5273_sensor_channel

#include <zephyr/drivers/sensor/tmag5273.h>

Additional channels supported by the TMAG5273.

Enumerator
TMAG5273_CHAN_MAGNITUDE 

Magnitude measurement result between two axis in Gs.

TMAG5273_CHAN_MAGNITUDE_MSB 

Magnitude measurement MSB as returned by the sensor.

TMAG5273_CHAN_ANGLE_MAGNITUDE 

Angle result in deg, magnitude result in Gs and magnitude MSB between two axis.