Description
From its inception, the esp-hal
repository has contained separate packages for each supported device. The thought early on was that there would be enough device-specific code to justify putting it in these packages rather than esp-hal-common
. As time went on and additional devices were supported, it has been increasingly clear that this is not really the case.
Thanks to some recent refactoring, there is actually very little in each of these device-specific HAL packages now. It wouldn't require a lot of work to unify all of these packages into simply the esp-hal
package. This additionall reduces duplicated code in the form of linker scripts. Making these changes (and as the repo stands now) this would leave us with the esp-hal
, esp-hal-procmacros
, and esp-hal-smartled
packages in this repository.
This approach greatly simplifies the release process, and may make maintaining this repository easier overall. This would, unfortunately, put us in a position where the esp-hal
package has a large number of features, not all of which play nicely together. I'm sure this could be solved with documentation and the build script with little work, though.
I would like to begin some conversation regarding these changes, and am mostly interested if there's any reason not to make these changes at this point.
It's time to begin the unification:
- Refactor peripheral drivers as needed to improve consistency across devices
- Rename the
esp-hal-common
package toesp-hal
- Eliminate the chip-specific HAL packages, add a new
examples
package - Update documentation as needed, come up with a solution for deploying
Metadata
Metadata
Assignees
Type
Projects
Status