Skip to content

Commit

Permalink
riot-rs-embassy: move Config handling into arch modules (#293)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaspar030 authored May 24, 2024
2 parents 9de46ca + 63d67ed commit 61c839e
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 16 deletions.
5 changes: 1 addition & 4 deletions src/riot-rs-embassy/src/arch/dummy/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ impl From<Peripherals> for OptionalPeripherals {
}
}

#[derive(Default)]
pub struct Config;

pub fn init(_config: Config) -> OptionalPeripherals {
pub fn init() -> OptionalPeripherals {
unimplemented!();
}

Expand Down
5 changes: 1 addition & 4 deletions src/riot-rs-embassy/src/arch/esp/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@ pub use esp_hal::{
peripherals::{OptionalPeripherals, Peripherals},
};

#[derive(Default)]
pub struct Config {}

pub fn init(_config: Config) -> OptionalPeripherals {
pub fn init() -> OptionalPeripherals {
let mut peripherals = OptionalPeripherals::from(Peripherals::take());
let system = peripherals.SYSTEM.take().unwrap().split();
let clocks = ClockControl::max(system.clock_control).freeze();
Expand Down
8 changes: 5 additions & 3 deletions src/riot-rs-embassy/src/arch/nrf/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ crate::executor_swi!(SWI0_EGU0);
#[cfg(context = "nrf5340")]
crate::executor_swi!(EGU0);

pub use embassy_nrf::{config::Config, interrupt, peripherals, OptionalPeripherals};
use embassy_nrf::config::Config;

pub fn init(config: Config) -> OptionalPeripherals {
let peripherals = embassy_nrf::init(config);
pub use embassy_nrf::{interrupt, peripherals, OptionalPeripherals};

pub fn init() -> OptionalPeripherals {
let peripherals = embassy_nrf::init(Config::default());
OptionalPeripherals::from(peripherals)
}
8 changes: 5 additions & 3 deletions src/riot-rs-embassy/src/arch/rp2040/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,19 @@ pub mod gpio;
#[cfg(feature = "usb")]
pub mod usb;

use embassy_rp::config::Config;

pub(crate) use embassy_executor::InterruptExecutor as Executor;
pub use embassy_rp::interrupt;
pub use embassy_rp::{config::Config, peripherals, OptionalPeripherals};
pub use embassy_rp::{peripherals, OptionalPeripherals};

crate::executor_swi!(SWI_IRQ_1);

pub fn init(config: Config) -> OptionalPeripherals {
pub fn init() -> OptionalPeripherals {
// SWI & DMA priority need to match. DMA is hard-coded to P3 by upstream.
use embassy_rp::interrupt::{InterruptExt, Priority};
SWI.set_priority(Priority::P3);

let peripherals = embassy_rp::init(config);
let peripherals = embassy_rp::init(Config::default());
OptionalPeripherals::from(peripherals)
}
4 changes: 2 additions & 2 deletions src/riot-rs-embassy/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ pub static EXECUTOR: arch::Executor = arch::Executor::new();
#[distributed_slice(riot_rs_rt::INIT_FUNCS)]
pub(crate) fn init() {
println!("riot-rs-embassy::init()");
let p = arch::init(Default::default());
let p = arch::init();

#[cfg(any(context = "nrf", context = "rp2040"))]
{
Expand All @@ -94,7 +94,7 @@ pub(crate) fn init() {
#[export_name = "riot_rs_embassy_init"]
fn init() -> ! {
println!("riot-rs-embassy::init()");
let p = arch::init(Default::default());
let p = arch::init();

println!("riot-rs-embassy::init() done");

Expand Down

0 comments on commit 61c839e

Please sign in to comment.