-
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
ext: st: move ST HAL to its own repo #16044
Conversation
Adds https://github.com/zephyrproject-rtos/hal_qmsi as a module managed by west. Signed-off-by: Anas Nashif <[email protected]>
Move ST HAL out of the tree and use zephyr module under https://github.com/zephyrproject-rtos/hal_st instead. Signed-off-by: Anas Nashif <[email protected]>
276a580
to
692b3ab
Compare
@nashif, I totally understand the need for this change, but inside
This is impressive! |
we could also put them in their own module. Would they actually make sense on their own without the ST hal? |
@avisconti, What is your opinion on this? What about a st_mems project which would include current ext/hal/st/libs and the new ST MEMS HAL you're pushing in #14111.
These are totally independent products, so it definitely makes sense. One can use a ST MEMS sensor on any hw.
Not a problem to me for sure, but I'm thinking about other people that'd need to pull the 10 stm32cube packages to compile one ST sensor driver on a non STM32 product. I can already hear them complaining. |
@nashif, one question, is there a change related to this one that will update west.yml and set a default revision for each hal_xxx in default manifest for zephyr main repo? |
yes. it is in the PR |
Ok, I can see there a .yml file in the change, but github won't let me see it. Will see when pulling the change then. |
Yes, #14111 is impacted. Not sure now what is the right thing to do. I mean whether to get it merged now or wait until the multi repository model approach is consolidated and then push it in the new separate repo. How long would it take to do this transition?
Correct! They are used to control different sensor chips which may be attached thru I2C/SPI to different MCUs. The ST sensors can be motion, environmental, proximity, microphones.
Maybe you are right Erwan, but I'm a little bit worried about the fact that we may have too many modules here. Currently I can count 4 different modules: stm32, stmems, lib/microphone, lib/imaging. EDIT::
In the latter module we may mix stmemsc (ext/hal/st/stmemsc), microphone (ext/hal/st/lib/audio) and imaging (ext/hal/st/lib/sensor). This may also work. |
no, you are correct. This is not downloaded for every build, pretty much the same as we have it right now, just not under zephyr/ext/... |
too many modules is not a problem. Giving people the flexibility to pull just what they need for their products is a huge advantage. If I do not need the ST HAL and just need the stmems library, I should not be forced to pull everything (Users should be able to customize the west.yml file for their needs and applications and just pull and maintain the modules they use in their code) |
@nashif, as part of this change you'd need to update CODEOWNERS as well. |
I think you and Erwan are both right: if a user is not interested into stm32cube stuff because is using a different MCU, then it should not pull that code. So, to finalize the discussion I think that we may have two separate modules as suggested by Erwan: hal_stm32cube and hal_stsensors. Inside the hal_stsensors repo I would organize following HALs:
|
@avisconti , I'm fine with this. |
yes, works for me. |
@nashif, do you expect us to do some preparation work for what has been discussed above? |
Maybe we should prepare hal_stm32cube and hal_stsensors repos under |
Before going further, we need to elaborate a bit the proposal: So we need to add a layer to the proposed hierarchy:
With:
@avisconti, what is your feedback on this? And finally, a last question for @nashif:
|
Yes sure, but for the sake of precision I think that the hal_st is slightly wrong in the sense that stmemsc will cover only motion and environmental mems, leaving out proximity and audio which will be handled by different HALs. So picture may become: hal_st But maybe, thining more on this, we can separate sensors with the RF stuff. Is it big enough to leave it in a separate repo? |
This could be the way eventually, but for now, I'd prefer not spreading ST stuff too much. |
OK, fine. |
Fine with me! |
Hi, good to know there is a specific repo for ST stuff, cause ST has vast product lines, different kinds of sensors, wireless, audio and so on. It makes sense for users find them in one single repo. |
@overheat , there will be 2 repos actually, one for eveything dedicated to STM32 MCUs (mostl hals) and one for ST components (sensors, rf and stuff), which should be lighter to pull for users not interested into the Cube HAL. |
@erwango ok, for me, it’s one for MCD, one for others. Also good for me, maybe also easier for maintenance. Sent with GitHawk |
will open a new PR for this. |
Move ST HAL out of the tree and use zephyr module under
https://github.com/zephyrproject-rtos/hal_st instead.
Also includes #16039