-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add Low Power Sensor Fusion (SFLP) support in lsm6dsv16x sensor driver #83094
add Low Power Sensor Fusion (SFLP) support in lsm6dsv16x sensor driver #83094
Conversation
15a1683
to
558af5f
Compare
Added DNM, because I reminded that this PR is dependent to stmemsc module which has not been modified yet. |
8a0009c
558af5f
to
8a0009c
Compare
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
@teburd @XenuIsWatching @XenuIsWatching |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see comment
6a3e6ac
to
1ec862d
Compare
CI fixed by #83429 EDIT: |
1ec862d
to
2cfd4bb
Compare
@avisconti this will need a rebase |
Add three new channels and relative data: - SENSOR_CHAN_GAME_ROTATION_VECTOR The "game rotation vector" reports the four components x/y/z/w (quaternions) of the unit vector representing a 3D spatial rotation or orientation. - SENSOR_CHAN_GRAVITY_VECTOR The "gravity vector" reports the three axis x/y/z of the gravity vector separated from the linear acceleration components. The measurement unit is m/s^2. - SENSOR_CHAN_GBIAS_XYZ The "gbias" reports the gyroscope offset x/y/z components. The measurement unit is radians/s. Signed-off-by: Armando Visconti <armando.visconti@st.com>
Align all sensor drivers that are using stmemsc (STdC) HAL i/f to new APIs of stmemsc v2.8 Requires zephyrproject-rtos/hal_st#24 Signed-off-by: Armando Visconti <armando.visconti@st.com>
In case I3C IBI interrupt is not used do not skip reading the status register, otherwise the interrupt event will not get cleared. Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add the Sensor Fusion Low Power (SFLP) FIFO streaming capability, using RTIO. The decode function is now aware of parsing following FIFO tags: - LSM6DSV16X_SFLP_GAME_ROTATION_VECTOR_TAG - LSM6DSV16X_SFLP_GYROSCOPE_BIAS_TAG - LSM6DSV16X_SFLP_GRAVITY_VECTOR_TAG To activate SFLP the user should put in DT the proper configuration. For example, to activate a 60Hz SFLP FIFO batching rate of game rotation vector, gravity vector and gbias components, the user should add in DT the following: sflp-odr = <LSM6DSV16X_DT_SFLP_ODR_AT_60Hz>; sflp-fifo-enable = <LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GRAVITY_GBIAS>; Signed-off-by: Armando Visconti <armando.visconti@st.com>
2cfd4bb
to
ee72ad8
Compare
@teburd @XenuIsWatching |
@avisconti Feel free to re-assign, assignee being the author probably isn't conducive to getting on the merge-able PR list |
No it's fine :) just needs two "non-author" +1's in this case, which it now has! |
For completeness, though, it would have probably been better to let Zephyr Bot deal with the assignment |
Add the Sensor Fusion Low Power (SFLP) FIFO streaming capability, using RTIO. The decode function is now aware of parsing following FIFO tags:
To activate SFLP the user should put in DT the proper configuration. For example, to activate a 60Hz SFLP FIFO batching rate of game rotation vector, gravity vector and gbias components, the user should add in DT the following:
The data are accessed thru three new sensor channels:
Tested on a nucleo_h503rb board plus a x_nucleo_iks4a1 shield, and an improved version of the sample in the #82342