esp-hal/xtensa-lx-rt/interrupt_level_masks.rs.template
Dániel Buga 2438d03b21
Simplify generated code to save on build time, yeet a few dependencies (#3643)
* Reduce use of iter::chain

* Cache all symbols

* Trim xtensa-lx-rt deps

* Remove unused dep

* Replace chrono with jiff

* Yeet minijinja

* Save a bit on toml_edit

* Disable some default features

* Disable regex log filters

* Reduce xtensa-lx-rt build script

* Remove unnecessary dependencies

* Remove darling

* Update embedded-test

* lol

* Clean up

* Only validate loaded config once

* fmt

* Changelog
2025-06-17 20:35:00 +00:00

24 lines
717 B
Plaintext

pub enum CpuInterruptLevel {
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
}
impl CpuInterruptLevel {
pub fn mask(&self) -> u32 {
match &self {
CpuInterruptLevel::Level1 => {{ XCHAL_INTLEVEL1_MASK }}u32,
CpuInterruptLevel::Level2 => {{ XCHAL_INTLEVEL2_MASK }}u32,
CpuInterruptLevel::Level3 => {{ XCHAL_INTLEVEL3_MASK }}u32,
CpuInterruptLevel::Level4 => {{ XCHAL_INTLEVEL4_MASK }}u32,
CpuInterruptLevel::Level5 => {{ XCHAL_INTLEVEL5_MASK }}u32,
CpuInterruptLevel::Level6 => {{ XCHAL_INTLEVEL6_MASK }}u32,
CpuInterruptLevel::Level7 => {{ XCHAL_INTLEVEL7_MASK }}u32,
}
}
}