Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ntkot/icm20948_i2c
Library package for communication using I2C with ICM20948 IMU sensor
https://github.com/ntkot/icm20948_i2c
cpp i2c icm20948 imu mraa raspberry-pi sparkfun-imu
Last synced: about 2 months ago
JSON representation
Library package for communication using I2C with ICM20948 IMU sensor
- Host: GitHub
- URL: https://github.com/ntkot/icm20948_i2c
- Owner: NTkot
- License: mit
- Created: 2024-08-19T19:38:37.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-26T18:50:03.000Z (4 months ago)
- Last Synced: 2024-10-31T13:04:41.539Z (about 2 months ago)
- Topics: cpp, i2c, icm20948, imu, mraa, raspberry-pi, sparkfun-imu
- Language: C++
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ICM20948 - I2C
This is a C++ library meant for communication using I2C with the IMU sensor ICM20948, like the one found in the popular [Sparkfun 9DoF IMU Breakout](https://www.sparkfun.com/products/15335). Suitable for use with Raspberry Pi and similar projects.
All the necessary registers and values have been taken from the sensor's [manual](https://invensense.tdk.com/wp-content/uploads/2016/06/DS-000189-ICM-20948-v1.3.pdf).
## Config
The library contains YAML parsing functionality to configure the sensor. Options include:
- Accelerometer settings
- Measurement range
- Inner sample rate (the frequency the inner microprocessor samples new values and stores them into its registers)
- Digital Low-Pass Filter settings
- Gyroscope settings
- Measurement range
- Inner sample rate (the frequency the inner microprocessor samples new values and stores them into its registers)
- Digital Low-Pass Filter settings
- Magnetometer settings
- Inner sample rate (the frequency the inner microprocessor samples new values and stores them into its registers)## Dependencies
- For parsing YAML files package uses [yaml-cpp](https://github.com/jbeder/yaml-cpp). It can be installed either following the steps on the repo link, or by running:
```bash
sudo apt-get install libyaml-cpp-dev
```- Dependency for I2C communication is [mraa](https://github.com/eclipse/mraa). Installation instruction can be found on the repo link.
## Examples
Example files and usage can be found under **examples** folder. Just run `make` command inside it and executables will be generated.