blob: 1f048d92d4176f1f5306eef7ac8a83dc429bf4eb [file] [log] [blame]
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMAG5273_H_
#define ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMAG5273_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <zephyr/drivers/sensor.h>
/* --- Additional TMAG5273 definitions */
/** Additional channels supported by the TMAG5273 */
enum tmag5273_sensor_channel {
/**
* Magnitude measurement result between two axis in Gs.
*/
TMAG5273_CHAN_MAGNITUDE = SENSOR_CHAN_PRIV_START,
/**
* Magnitude measurement MSB as returned by the sensor.
*/
TMAG5273_CHAN_MAGNITUDE_MSB,
/**
* Angle result in deg, magnitude result in Gs and magnitude MSB between two axis.
*/
TMAG5273_CHAN_ANGLE_MAGNITUDE,
};
/** Additional attributes supported by the TMAG5273 */
enum tmag5273_attribute {
/**
* Define axis relation measurements.
* Supported values are:
* - \c TMAG5273_DT_ANGLE_MAG_NONE (0)
* - \c TMAG5273_DT_ANGLE_MAG_XY (1)
* - \c TMAG5273_DT_ANGLE_MAG_YZ (2)
* - \c TMAG5273_DT_ANGLE_MAG_XZ (3)
*
* Only available if calculation source can be changed during runtime.
*/
TMAG5273_ATTR_ANGLE_MAG_AXIS = SENSOR_ATTR_PRIV_START,
};
/**
* Supported values
*/
#define TMAG5273_ANGLE_CALC_NONE 0
#define TMAG5273_ANGLE_CALC_XY 1
#define TMAG5273_ANGLE_CALC_YZ 2
#define TMAG5273_ANGLE_CALC_XZ 3
#ifdef __cplusplus
}
#endif
#endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMAG5273_H_ */