You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DMP.md
+9-4Lines changed: 9 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -25,8 +25,9 @@ It does however support:
25
25
- Raw and calibrated accelerometer, gyro and compass data and accuracy
26
26
- 6-axis and 9-axis Quaternion data (including Game Rotation Vector data)
27
27
- Geomagnetic Rotation Vector data
28
+
- and [more...](#which-dmp-features-are-currently-supported)
28
29
29
-
We have added [three new examples](https://github.com/sparkfun/SparkFun_ICM-20948_ArduinoLibrary/tree/master/examples/Arduino) to show how to configure the DMP and read:
30
+
We have added [five new examples](https://github.com/sparkfun/SparkFun_ICM-20948_ArduinoLibrary/tree/master/examples/Arduino) to show how to configure the DMP and read:
30
31
9-axis Quaternion data; 6-axis Quaternion converted to Euler angles (roll, pitch & yaw); raw accelerometer data.
31
32
32
33
## Is DMP support enabled by default?
@@ -127,15 +128,19 @@ You will find the definitions in ```ICM_20948_DMP.h```.
127
128
128
129
That file also includes the definition for the ```icm_20948_DMP_data_t``` struct which is loaded with DMP data from the FIFO.
129
130
131
+
```const int``` declarations (including the DMP firmware image) are in ```ICM_20948_C.c```
132
+
130
133
## Can the DMP generate interrupts?
131
134
132
135
Yes it can, but you might find that they are not fully supported as we have not tested them. The main functions you will need to experiment with are ```intEnableDMP``` and ```enableDMPSensorInt```.
133
136
134
137
## How is the DMP data rate set?
135
138
136
-
We don't know the complete answer to this. As we understand it, it is a _combination_ of the raw sensor rate (set by ```setSampleRate```) and the multiple DMP Output Data Rate (ODR) registers
137
-
(set by ```setDMPODRrate```). The documentation says that the "DMP is capable of outputting multiple sensor data at different rates to FIFO". So, in theory, you can have (e.g.) raw accelerometer
138
-
data and Quaternion data arriving at different rates, but we have not tested that.
139
+
It is a _combination_ of the raw sensor rate (set by ```setSampleRate```) and the multiple DMP Output Data Rate (ODR) registers
140
+
(set by ```setDMPODRrate```). There are other settings that need to be changed to match the sample rate too.
141
+
Please see [examples 9 & 10](https://github.com/sparkfun/SparkFun_ICM-20948_ArduinoLibrary/tree/master/examples/Arduino) for more details.
142
+
143
+
The DMP is capable of outputting multiple sensor data at different rates to the FIFO.
0 commit comments