Add init
fn. Initializes hw and returns Peripherals.
This commit is contained in:
@ -17,8 +17,7 @@ use embassy_nrf::Peripherals;
|
||||
use embedded_hal::digital::v2::OutputPin;
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard);
|
||||
|
||||
loop {
|
||||
|
@ -17,9 +17,7 @@ use example_common::*;
|
||||
use futures::pin_mut;
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
let mut config = uarte::Config::default();
|
||||
config.parity = uarte::Parity::EXCLUDED;
|
||||
config.baudrate = uarte::Baudrate::BAUD115200;
|
||||
|
@ -13,7 +13,7 @@ use core::task::Poll;
|
||||
use defmt::panic;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy::time::{Duration, Instant, Timer};
|
||||
use embassy_nrf::interrupt;
|
||||
use embassy_nrf::{interrupt, Peripherals};
|
||||
|
||||
#[embassy::task]
|
||||
async fn run1() {
|
||||
@ -40,7 +40,7 @@ async fn run3() {
|
||||
}
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
unwrap!(spawner.spawn(run1()));
|
||||
unwrap!(spawner.spawn(run2()));
|
||||
unwrap!(spawner.spawn(run3()));
|
||||
|
@ -12,13 +12,11 @@ use example_common::*;
|
||||
use defmt::panic;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy_nrf::gpio::{Input, Pull};
|
||||
use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity};
|
||||
use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity};
|
||||
use embassy_nrf::{interrupt, Peripherals};
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
info!("Starting!");
|
||||
|
||||
let ch1 = InputChannel::new(
|
||||
|
@ -28,9 +28,7 @@ async fn button_task(n: usize, mut pin: PortInput<'static, AnyPin>) {
|
||||
}
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
info!("Starting!");
|
||||
|
||||
let btn1 = PortInput::new(Input::new(p.P0_11.degrade(), Pull::Up));
|
||||
|
@ -126,9 +126,8 @@ static EXECUTOR_LOW: Forever<Executor> = Forever::new();
|
||||
fn main() -> ! {
|
||||
info!("Hello World!");
|
||||
|
||||
let p = unwrap!(embassy_nrf::Peripherals::take());
|
||||
let p = embassy_nrf::init(Default::default());
|
||||
|
||||
unsafe { embassy_nrf::system::configure(Default::default()) };
|
||||
let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1)));
|
||||
rtc.start();
|
||||
unsafe { embassy::time::set_clock(rtc) };
|
||||
|
@ -19,9 +19,7 @@ use embassy_nrf::{interrupt, Peripherals};
|
||||
use gpiote::{OutputChannel, OutputChannelPolarity};
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
info!("Starting!");
|
||||
|
||||
let button1 = InputChannel::new(
|
||||
|
@ -23,9 +23,7 @@ const PAGE_SIZE: usize = 4096;
|
||||
struct AlignedBuf([u8; 4096]);
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
let csn = p.P0_17;
|
||||
let sck = p.P0_19;
|
||||
let io0 = p.P0_20;
|
||||
|
@ -37,9 +37,8 @@ static EXECUTOR: Forever<Executor> = Forever::new();
|
||||
fn main() -> ! {
|
||||
info!("Hello World!");
|
||||
|
||||
let p = unwrap!(embassy_nrf::Peripherals::take());
|
||||
let p = embassy_nrf::init(Default::default());
|
||||
|
||||
unsafe { embassy_nrf::system::configure(Default::default()) };
|
||||
let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1)));
|
||||
rtc.start();
|
||||
unsafe { embassy::time::set_clock(rtc) };
|
||||
|
@ -19,11 +19,9 @@ use embedded_hal::digital::v2::*;
|
||||
use example_common::*;
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
info!("running!");
|
||||
|
||||
let p = unsafe { Peripherals::steal() };
|
||||
|
||||
let mut config = spim::Config::default();
|
||||
config.frequency = spim::Frequency::M16;
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#[path = "../example_common.rs"]
|
||||
mod example_common;
|
||||
use embassy_nrf::Peripherals;
|
||||
use example_common::*;
|
||||
|
||||
use defmt::panic;
|
||||
@ -30,7 +31,7 @@ async fn run2() {
|
||||
}
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
unwrap!(spawner.spawn(run1()));
|
||||
unwrap!(spawner.spawn(run2()));
|
||||
}
|
||||
|
@ -17,9 +17,7 @@ use embassy_nrf::gpio::NoPin;
|
||||
use embassy_nrf::{interrupt, uarte, Peripherals};
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = unsafe { Peripherals::steal() };
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
let mut config = uarte::Config::default();
|
||||
config.parity = uarte::Parity::EXCLUDED;
|
||||
config.baudrate = uarte::Baudrate::BAUD115200;
|
||||
@ -42,33 +40,5 @@ async fn main(spawner: Spawner) {
|
||||
unwrap!(uart.read(&mut buf).await);
|
||||
info!("writing...");
|
||||
unwrap!(uart.write(&buf).await);
|
||||
|
||||
/*
|
||||
// `receive()` doesn't return until the buffer has been completely filled with
|
||||
// incoming data, which in this case is 8 bytes.
|
||||
//
|
||||
// This example shows how to use `select` to run an uart receive concurrently with a
|
||||
// 1 second timer, effectively adding a timeout to the receive operation.
|
||||
let recv_fut = uart.read(&mut buf);
|
||||
let timer_fut = Timer::after(Duration::from_millis(1000));
|
||||
let received_len = match select(recv_fut, timer_fut).await {
|
||||
// recv_fut completed first, so we've received `buf_len` bytes.
|
||||
Either::Left(_) => buf_len,
|
||||
// timer_fut completed first. `select` gives us back the future that didn't complete, which
|
||||
// is `recv_fut` in this case, so we can do further stuff with it.
|
||||
//
|
||||
// The recv_fut would stop the uart read automatically when dropped. However, we want to know how
|
||||
// many bytes have been received, so we have to "gracefully stop" it with `.stop()`.
|
||||
Either::Right((_, recv_fut)) => recv_fut.stop().await,
|
||||
};
|
||||
let received = &mut buf[..received_len];
|
||||
|
||||
if !received.is_empty() {
|
||||
info!("read done, got {}", received);
|
||||
|
||||
// Echo back received data
|
||||
unwrap!(uart.write(received).await);
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
@ -18,9 +18,7 @@ use embassy_nrf::gpio::NoPin;
|
||||
use embassy_nrf::{interrupt, uarte, Peripherals};
|
||||
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = unsafe { Peripherals::steal() };
|
||||
|
||||
async fn main(spawner: Spawner, p: Peripherals) {
|
||||
let mut config = uarte::Config::default();
|
||||
config.parity = uarte::Parity::EXCLUDED;
|
||||
config.baudrate = uarte::Baudrate::BAUD115200;
|
||||
|
Reference in New Issue
Block a user