Line data Source code
1 1 : /*
2 : * Copyright (c) 2025 Meta Platforms
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief Header file for extended sensor API of BMM350 sensor
10 : * @ingroup bmm350_interface
11 : */
12 :
13 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_BMM350_H_
14 : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_BMM350_H_
15 :
16 : /**
17 : * @brief Bosch BMM350 3-Axis Magnetometer
18 : * @defgroup bmm350_interface BMM350
19 : * @ingroup sensor_interface_ext
20 : * @{
21 : */
22 :
23 : /**
24 : * @brief Performs a magnetic reset.
25 : *
26 : * The BMM350 has measures to recover from excessively strong
27 : * magnetic fields. A magnetic reset is trigged after reset by
28 : * the device itself, but if excessive field exposure has occurred
29 : * in suspend mode, the sensor can not detect that event. If a
30 : * large offset or sensitvity drift indicates that such an event
31 : * has occurred, then this function can be called by the
32 : * application.
33 : *
34 : * "Enhanced" Magnetic Reset supported by later BMM350 Revisions
35 : * is not yet implemented.
36 : *
37 : * @param dev Pointer to the sensor device
38 : *
39 : * @return 0 if successful, negative errno code if failure.
40 : */
41 1 : int bmm350_magnetic_reset(const struct device *dev);
42 :
43 : /**
44 : * @}
45 : */
46 :
47 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_BMM350_H_ */
|