Skip to main content

Crate nucleus_compiler

Crate nucleus_compiler 

Source
Expand description

The Nucleus pinmux compiler.

Owns the stm32.toml → diagnostics pipeline: config parses the file, solver validates it against the nucleus_db constraint database, and check is the one-call entry point the CLI and (later) the LSP build on.

Phase 2 ships the parser and the constraint solver (four conflict classes). HAL code generation lands in Phase 3.

Re-exports§

pub use codegen::generate;
pub use codegen::Generated;
pub use config::Config;
pub use config::ParseError;
pub use solver::Conflict;

Modules§

codegen
HAL code generation.
config
Parsing of the stm32.toml project configuration.
model
The static peripheral model: how stm32.toml keys map to database signals, which pins a peripheral requires, and which bus clock domain feeds it.
solver
The hardware constraint solver.

Structs§

CheckReport
The outcome of checking one stm32.toml.
UnknownFamily
Returned when [device].family names an MCU the database doesn’t cover yet.

Functions§

check
Parse and validate stm32.toml text in one call.
check_family
Like check, but also reports an unsupported [device].family.