mirror of
https://github.com/apache/nuttx.git
synced 2025-12-06 09:01:15 +08:00
Some checks failed
Build Documentation / build-html (push) Has been cancelled
Add complete driver support for the QST QMI8658 6-axis IMU sensor featuring 3-axis accelerometer and 3-axis gyroscope with I2C interface and uORB integration. Key features implemented: * Full I2C communication with configurable frequency (default 400kHz) * Multiple accelerometer ranges (±2g, ±4g, ±8g, ±16g) and ODR settings * Multiple gyroscope ranges (±16 to ±1024 dps) with high ODR support * Low-pass filter configuration for both sensors * Temperature sensing with 16-bit resolution * Self-test capability for both accelerometer and gyroscope * Calibration-on-demand support with offset registers * FIFO buffer management (framework ready) * Interrupt-driven and polling mode support * Complete uORB integration with sensor_accel and sensor_gyro topics Driver components added: * Core driver implementation (qmi8658_uorb.c) with register operations * Header file with register definitions and scale factors (qmi8658.h) * Kconfig options for driver configuration and polling mode * Build system integration (CMakeLists.txt, Make.defs) * Comprehensive documentation with API reference and usage examples The driver follows NuttX sensor framework conventions and provides robust error handling, mutex protection, and comprehensive debugging support through CONFIG_DEBUG_SENSORS. Signed-off-by: Huang Qi <huangqi3@xiaomi.com>