Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Google LLC
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_ATTRIBUTE_TYPES_H
7 : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_ATTRIBUTE_TYPES_H
8 :
9 : #include <zephyr/dsp/types.h>
10 : #include <zephyr/dsp/print_format.h>
11 :
12 : #include <inttypes.h>
13 :
14 : #ifdef __cplusplus
15 : extern "C" {
16 : #endif
17 :
18 : /**
19 : * Used by the following channel/attribute pairs:
20 : * - SENSOR_CHAN_ACCEL_XYZ
21 : * - SENSOR_ATTR_OFFSET
22 : * - SENSOR_CHAN_GYRO_XYZ
23 : * - SENSOR_ATTR_OFFSET
24 : * - SENSOR_CHAN_MAGN_XYZ
25 : * - SENSOR_ATTR_OFFSET
26 : */
27 1 : struct sensor_three_axis_attribute {
28 0 : int8_t shift;
29 : union {
30 : struct {
31 0 : q31_t x;
32 0 : q31_t y;
33 0 : q31_t z;
34 : };
35 0 : q31_t values[3];
36 0 : };
37 : };
38 :
39 : #ifdef __cplusplus
40 : }
41 : #endif
42 :
43 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_ATTRIBUTE_TYPES_H */
|