1 /*
2  * Copyright (c) 2023 Kurtis Dinelle
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * @file
9  * @brief Extended public API for Memsic MMC56X3 magnetometer and temperature sensor
10  *
11  * This exposes attributes for the MMC56X3 which can be used for
12  * setting the continuous mode and bandwidth selection bits.
13  */
14 
15 #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_MMC56X3_H_
16 #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_MMC56X3_H_
17 
18 #include <zephyr/drivers/sensor.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 enum sensor_attribute_mmc56x3 {
25 	/* Bandwidth selection bit 0.
26 	 *
27 	 * Adjust length of decimation filter. Controls duration of
28 	 * each measurement. Affects ODR; see datasheet for details.
29 	 */
30 	SENSOR_ATTR_BANDWIDTH_SELECTION_BITS_0 = SENSOR_ATTR_PRIV_START + 1,
31 
32 	/* Bandwidth selection bit 1.
33 	 *
34 	 * Adjust length of decimation filter. Controls duration of
35 	 * each measurement. Affects ODR; see datasheet for details.
36 	 */
37 	SENSOR_ATTR_BANDWIDTH_SELECTION_BITS_1,
38 
39 	/* Automatic self reset.
40 	 *
41 	 * Enable automatic self-reset function.
42 	 * Affects ODR; see datasheet for details.
43 	 */
44 	SENSOR_ATTR_AUTOMATIC_SELF_RESET,
45 };
46 
47 #ifdef __cplusplus
48 }
49 #endif
50 
51 #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_MMC56X3_H_ */
52