refactor: build system auto-discovery, updated docs

- build.rs discovers boards by content (implements LoRaBoard), not exclusion lists
- build.rs auto-discovers helper modules by scanning board files for use super::<helper>
- Jinja template dynamically generates cfg gates for helpers
- Updated PORTING.md for new architecture (hal/, driver/, BoardParts, associated types)
- Zero manual template editing needed when adding boards to existing MCU families
This commit is contained in:
swaits committed 2026-04-07 09:54:32 -06:00
1 parent ecc451affe
commit 18b509344c
3 files changed
+94 -46

No files matched your search

+4 -3
View File
@@ -2,9 +2,10 @@
pub mod traits;
pub use traits::*;
#[cfg(any(feature = "heltec_v3", feature = "heltec_v4"))]
mod esp32s3;
{% for helper, helper_features in helpers|items -%}
#[cfg(any({% for f in helper_features %}feature = "{{ f }}"{% if not loop.last %}, {% endif %}{% endfor %}))]
mod {{ helper }};
{% endfor %}
cfg_if::cfg_if! {
{%- for board in boards %}
{% if loop.first %}if{% else %}else if{% endif %} #[cfg(feature = "{{ board }}")] {