-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Add sensor firmware upload API support #93340
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
base: main
Are you sure you want to change the base?
Conversation
The following west manifest projects have changed revision in this Pull Request:
Additional metadata changed:
⛔ DNM label due to: 1 project with PR revision and 1 project with metadata changes Note: This message is automatically posted and updated by the Manifest GitHub Action. |
update hal_st to get embedded_cores support. Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add Firmware upload API Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add support to upload_fw API in order to be able to upload a ISPU configuration. Signed-off-by: Armando Visconti <armando.visconti@st.com>
8c9a97e
to
2b12ac2
Compare
Add lsm6dso16is ISPU example. Signed-off-by: Armando Visconti <armando.visconti@st.com>
2b12ac2
to
504006c
Compare
|
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.
This is using blobs right, where it is using the zephyr blobs feature? https://docs.zephyrproject.org/latest/contribute/bin_blobs.html
Well, no, it it is not using blobs. The purpose of this PR is to introduce a new sensor API to upload a "firmware" (please note the quotes) to a sensor. In ST case this is just a register configuration in a .h file, which will be visible in hal_st module (but not as binary blobs). For other sensor drivers which decide to use the fw_upload API, it might be implemented as binary blobs. |
https://github.com/STMicroelectronics/st-mems-ispu/tree/master/host_firmware/nucleo_ispu_stedgeai_validate/binary this is binary https://github.com/STMicroelectronics/st-mems-machine-learning-core/blob/main/examples/6d_position_recognition/iis2dulpx/iis2dulpx_six_d_position.h#L165 and https://github.com/STMicroelectronics/st-mems-finite-state-machine/blob/main/examples/flip_down_detection/lsm6dsr/lsm6dsr_flip_down.h#L161 what are these if not binary blobs? |
host_firmware is part of the repo but is not relevant inside zephyr. Would that be an issue anyway?
OK, these two examples are in fact what it has to be uploaded. |
It can't be hosted on a zephyr repo
But they're binary blobs right? Like I can't take them and use them on some other device? |
Add sensor API to perform a "firmware upload". This new driver API is then used as a vehicle to upload a ISPU configuration into lsm6dso16is sensor (see ST ISPU for more details).
This PR is also changing the lsm6dso16is driver and modifying the x_nucleo_iks4a1 shield sample.