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