Conversation
Nothing needs to be added, the trait was just not required for the tests done so far.
Initially, this uses a software implementation everywhere.
|
After running After trying for a bit I asked claude and he suggested add this on ariel-os #[cfg(context = "st-nucleo-wba55")]
{
use embassy_stm32::rcc::*;
// PLL1: HSI16 / 1 * 10 / 2 = 80 MHz sysclk.
// VoltageScale::RANGE1 is required for sysclk > 55 MHz.
rcc.pll1 = Some(Pll {
source: PllSource::HSI,
prediv: PllPreDiv::DIV1,
mul: PllMul::MUL10,
divp: Some(PllDiv::DIV2), // satisfies ClockMux default sai1sel = PLL1_P
divq: Some(PllDiv::DIV2),
divr: Some(PllDiv::DIV2),
frac: None,
});
rcc.sys = Sysclk::PLL1_R;
rcc.voltage_scale = VoltageScale::RANGE1;
} |
|
You can use the #[ariel_os::config(rcc)]
const RCC_CONFIG: embassy_stm32::rcc::Config = {
use embassy_stm32::rcc::*;
let mut rcc = embassy_stm32::rcc::Config::new();
// PLL1: HSI16 / 1 * 10 / 2 = 80 MHz sysclk.
// VoltageScale::RANGE1 is required for sysclk > 55 MHz.
rcc.pll1 = Some(Pll {
source: PllSource::HSI,
prediv: PllPreDiv::DIV1,
mul: PllMul::MUL10,
divp: Some(PllDiv::DIV2), // satisfies ClockMux default sai1sel = PLL1_P
divq: Some(PllDiv::DIV2),
divr: Some(PllDiv::DIV2),
frac: None,
});
rcc.sys = Sysclk::PLL1_R;
rcc.voltage_scale = VoltageScale::RANGE1;
rcc
};You'll need to enable the This may need some feature-gating so that |
This is a test shot at running on Ariel OS.
Current trouble is that I don't have hardware that both we have support for and that Ariel OS supports (I have an nRF54LM40A, but that's not in Ariel yet).
@WilliamTakeshi, could you see whether
laze build -b st-nucleo-wba55 runin the new folder runs through?