auto enable interrupts (#1014)

* auto enable interrupts

* changelog

* cfgs
This commit is contained in:
Scott Mabin 2023-12-12 17:55:37 +00:00 committed by GitHub
parent 6288e6421d
commit 19c9cef9a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 67 additions and 356 deletions

View File

@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- S2 / S3: Don't require GPIO 18 to create a USB peripheral driver instance (#990)
- Updated to latest release candidate (`1.0.0-rc.2`) for `embedded-hal{-async,-nb}` (#994)
- Explicit panic when hitting the `DefaultHandler` (#1005)
- Relevant interrupts are now auto enabled in `embassy::init` (#1014).
### Fixed

View File

@ -67,8 +67,8 @@ ufmt-write = { version = "0.1.0", optional = true }
esp32 = { version = "0.28.0", features = ["critical-section"], optional = true }
esp32c2 = { version = "0.16.0", features = ["critical-section"], optional = true }
esp32c3 = { version = "0.19.0", features = ["critical-section"], optional = true }
esp32c6 = { version = "0.9.0", features = ["critical-section"], optional = true }
esp32h2 = { version = "0.5.0", features = ["critical-section"], optional = true }
esp32c6 = { version = "0.10.0", features = ["critical-section"], optional = true }
esp32h2 = { version = "0.6.0", features = ["critical-section"], optional = true }
esp32s2 = { version = "0.19.0", features = ["critical-section"], optional = true }
esp32s3 = { version = "0.23.0", features = ["critical-section"], optional = true }

View File

@ -82,6 +82,8 @@ use core::cell::Cell;
use embassy_time::driver::{AlarmHandle, Driver};
use crate::{interrupt::Priority, peripherals::Interrupt};
#[cfg_attr(
all(systimer, feature = "embassy-time-systick"),
path = "time_driver_systimer.rs"
@ -96,7 +98,69 @@ use time_driver::EmbassyTimer;
use crate::clock::Clocks;
/// Initialise embassy, including setting up interrupts for the DMA and async
/// enabled peripherals.
pub fn init(clocks: &Clocks, td: time_driver::TimerType) {
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_IN_CH0, Priority::max()).unwrap();
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_OUT_CH0, Priority::max()).unwrap();
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_IN_CH1, Priority::max()).unwrap();
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_OUT_CH1, Priority::max()).unwrap();
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_IN_CH2, Priority::max()).unwrap();
#[cfg(any(esp32s3, esp32c6, esp32h2))]
crate::interrupt::enable(Interrupt::DMA_OUT_CH2, Priority::max()).unwrap();
#[cfg(esp32s3)]
crate::interrupt::enable(Interrupt::DMA_IN_CH3, Priority::max()).unwrap();
#[cfg(esp32s3)]
crate::interrupt::enable(Interrupt::DMA_OUT_CH3, Priority::max()).unwrap();
#[cfg(any(esp32c3, esp32c2))]
crate::interrupt::enable(Interrupt::DMA_CH0, Priority::max()).unwrap();
#[cfg(esp32c3)]
crate::interrupt::enable(Interrupt::DMA_CH1, Priority::max()).unwrap();
#[cfg(esp32c3)]
crate::interrupt::enable(Interrupt::DMA_CH2, Priority::max()).unwrap();
#[cfg(any(esp32))]
crate::interrupt::enable(Interrupt::SPI1_DMA, Priority::max()).unwrap();
#[cfg(any(esp32, esp32s2))]
crate::interrupt::enable(Interrupt::SPI2_DMA, Priority::max()).unwrap();
#[cfg(any(esp32, esp32s2))]
crate::interrupt::enable(Interrupt::SPI3_DMA, Priority::max()).unwrap();
#[cfg(esp32s2)]
crate::interrupt::enable(Interrupt::SPI4_DMA, Priority::max()).unwrap();
#[cfg(i2s0)]
crate::interrupt::enable(Interrupt::I2S0, Priority::min()).unwrap();
#[cfg(i2s1)]
crate::interrupt::enable(Interrupt::I2S1, Priority::min()).unwrap();
#[cfg(rmt)]
crate::interrupt::enable(Interrupt::RMT, Priority::min()).unwrap();
#[cfg(usb_device)]
crate::interrupt::enable(Interrupt::USB_DEVICE, Priority::min()).unwrap();
#[cfg(all(parl_io, not(esp32h2)))]
crate::interrupt::enable(Interrupt::PARL_IO, Priority::min()).unwrap();
#[cfg(all(parl_io, esp32h2))]
crate::interrupt::enable(Interrupt::PARL_IO_RX, Priority::min()).unwrap();
#[cfg(all(parl_io, esp32h2))]
crate::interrupt::enable(Interrupt::PARL_IO_TX, Priority::min()).unwrap();
#[cfg(uart0)]
crate::interrupt::enable(Interrupt::UART0, Priority::min()).unwrap();
#[cfg(uart1)]
crate::interrupt::enable(Interrupt::UART1, Priority::min()).unwrap();
crate::interrupt::enable(Interrupt::I2C_EXT0, Priority::min()).unwrap();
crate::interrupt::enable(Interrupt::GPIO, Priority::min()).unwrap();
EmbassyTimer::init(clocks, td)
}

View File

@ -48,8 +48,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -70,13 +70,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio14)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::I2S0,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -94,13 +94,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio14)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::I2S0,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -67,13 +67,6 @@ async fn main(spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::RMT,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
spawner
.spawn(signal_task(io.pins.gpio15.into_push_pull_output()))
.unwrap();

View File

@ -49,13 +49,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::RMT,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -47,12 +47,6 @@ async fn main(_spawner: Spawner) {
let timer_group0 = TimerGroup::new(peripherals.TIMG0, &clocks);
embassy::init(&clocks, timer_group0.timer0);
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::SPI2_DMA,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio19;
let miso = io.pins.gpio25;

View File

@ -33,13 +33,6 @@ async fn main(_spawner: Spawner) {
// GPIO 0 as input
let mut input = io.pins.gpio0.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32_hal::interrupt::enable(
esp32_hal::peripherals::Interrupt::GPIO,
esp32_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,12 +55,6 @@ async fn main(_spawner: Spawner) {
esp32c2_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
esp32c2_hal::interrupt::enable(
esp32c2_hal::peripherals::Interrupt::DMA_CH0,
esp32c2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio6;
let miso = io.pins.gpio2;

View File

@ -35,13 +35,6 @@ async fn main(_spawner: Spawner) {
// GPIO 9 as input
let mut input = io.pins.gpio9.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32c2_hal::interrupt::enable(
esp32c2_hal::peripherals::Interrupt::GPIO,
esp32c2_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -80,13 +80,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio5)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::DMA_CH0,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -104,13 +104,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio3)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::DMA_CH0,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -59,13 +59,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::RMT,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 1,

View File

@ -55,13 +55,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::RMT,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,12 +55,6 @@ async fn main(_spawner: Spawner) {
esp32c3_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::DMA_CH0,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio6;
let miso = io.pins.gpio2;

View File

@ -38,12 +38,6 @@ async fn main(_spawner: Spawner) -> ! {
esp32c3_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
interrupt::enable(
peripherals::Interrupt::USB_DEVICE,
interrupt::Priority::Priority1,
)
.unwrap();
let mut usb_serial = UsbSerialJtag::new(peripherals.USB_DEVICE);
loop {

View File

@ -35,13 +35,6 @@ async fn main(_spawner: Spawner) {
// GPIO 9 as input
let mut input = io.pins.gpio9.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32c3_hal::interrupt::enable(
esp32c3_hal::peripherals::Interrupt::GPIO,
esp32c3_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -80,13 +80,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio5)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -104,13 +104,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio3)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -71,13 +71,6 @@ async fn main(_spawner: Spawner) {
.with_config(rx_pins, NoClkPin, BitPackOrder::Msb, Some(0xfff))
.unwrap();
// you need to manually enable the DMA channel's interrupt!
interrupt::enable(
peripherals::Interrupt::DMA_IN_CH0,
interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
loop {
parl_io_rx.read_dma_async(buffer).await.unwrap();

View File

@ -92,13 +92,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you need to manually enable the DMA channel's interrupt!
interrupt::enable(
peripherals::Interrupt::PARL_IO,
interrupt::Priority::Priority1,
)
.unwrap();
let buffer = tx_buffer;
for i in 0..buffer.len() {
buffer[i] = (i % 255) as u8;

View File

@ -59,13 +59,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::RMT,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 1,

View File

@ -55,13 +55,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::RMT,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,17 +55,6 @@ async fn main(_spawner: Spawner) {
embassy::init(&clocks, timer_group0.timer0);
}
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio6;
let miso = io.pins.gpio2;

View File

@ -37,12 +37,6 @@ async fn main(_spawner: Spawner) -> ! {
esp32c6_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
interrupt::enable(
peripherals::Interrupt::USB_DEVICE,
interrupt::Priority::Priority1,
)
.unwrap();
let mut usb_serial = UsbSerialJtag::new(peripherals.USB_DEVICE);
loop {

View File

@ -35,13 +35,6 @@ async fn main(_spawner: Spawner) {
// GPIO 9 as input
let mut input = io.pins.gpio9.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32c6_hal::interrupt::enable(
esp32c6_hal::peripherals::Interrupt::GPIO,
esp32c6_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -80,13 +80,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio5)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -104,13 +104,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio3)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -71,13 +71,6 @@ async fn main(_spawner: Spawner) {
.with_config(rx_pins, NoClkPin, BitPackOrder::Msb, Some(0xfff))
.unwrap();
// you need to manually enable the DMA channel's interrupt!
interrupt::enable(
peripherals::Interrupt::DMA_IN_CH0,
interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
loop {
parl_io_rx.read_dma_async(buffer).await.unwrap();

View File

@ -92,13 +92,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you need to manually enable the DMA channel's interrupt!
interrupt::enable(
peripherals::Interrupt::PARL_IO_TX,
interrupt::Priority::Priority1,
)
.unwrap();
let buffer = tx_buffer;
for i in 0..buffer.len() {
buffer[i] = (i % 255) as u8;

View File

@ -59,13 +59,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::RMT,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 1,

View File

@ -55,13 +55,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::RMT,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,17 +55,6 @@ async fn main(_spawner: Spawner) {
embassy::init(&clocks, timer_group0.timer0);
}
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio1;
let miso = io.pins.gpio2;

View File

@ -37,12 +37,6 @@ async fn main(_spawner: Spawner) -> ! {
esp32h2_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
interrupt::enable(
peripherals::Interrupt::USB_DEVICE,
interrupt::Priority::Priority1,
)
.unwrap();
let mut usb_serial = UsbSerialJtag::new(peripherals.USB_DEVICE);
loop {

View File

@ -35,13 +35,6 @@ async fn main(_spawner: Spawner) {
// GPIO 9 as input
let mut input = io.pins.gpio9.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32h2_hal::interrupt::enable(
esp32h2_hal::peripherals::Interrupt::GPIO,
esp32h2_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -78,13 +78,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio5)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::I2S0,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -103,13 +103,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio3)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::I2S0,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -73,13 +73,6 @@ async fn main(spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::RMT,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
spawner
.spawn(signal_task(io.pins.gpio15.into_push_pull_output()))
.ok();

View File

@ -55,13 +55,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::RMT,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,12 +55,6 @@ async fn main(_spawner: Spawner) {
embassy::init(&clocks, timer_group0.timer0);
}
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::SPI2_DMA,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio36;
let miso = io.pins.gpio37;

View File

@ -41,13 +41,6 @@ async fn main(_spawner: Spawner) {
// GPIO 0 as input
let mut input = io.pins.gpio0.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32s2_hal::interrupt::enable(
esp32s2_hal::peripherals::Interrupt::GPIO,
esp32s2_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();

View File

@ -56,8 +56,6 @@ async fn main(_spawner: Spawner) {
&clocks,
);
interrupt::enable(Interrupt::I2C_EXT0, interrupt::Priority::Priority1).unwrap();
let mut lis3dh = Lis3dh::new_i2c(i2c0, SlaveAddr::Alternate).await.unwrap();
lis3dh.set_range(Range::G8).await.unwrap();

View File

@ -80,13 +80,6 @@ async fn main(_spawner: Spawner) {
.with_din(io.pins.gpio5)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let buffer = rx_buffer;
println!("Start");

View File

@ -104,13 +104,6 @@ async fn main(_spawner: Spawner) {
.with_dout(io.pins.gpio3)
.build();
// you need to manually enable the DMA channel's interrupt!
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let data =
unsafe { core::slice::from_raw_parts(&SINE as *const _ as *const u8, SINE.len() * 2) };

View File

@ -59,13 +59,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::RMT,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 1,

View File

@ -55,13 +55,6 @@ async fn main(_spawner: Spawner) {
)
.unwrap();
// you have to enable the interrupt for async to work
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::RMT,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let mut data = [PulseCode {
level1: true,
length1: 200,

View File

@ -90,8 +90,6 @@ async fn main(spawner: Spawner) {
.unwrap();
let (tx, rx) = uart0.split();
interrupt::enable(Interrupt::UART0, interrupt::Priority::Priority1).unwrap();
let signal = &*make_static!(Signal::new());
spawner.spawn(reader(rx, &signal)).ok();

View File

@ -55,17 +55,6 @@ async fn main(_spawner: Spawner) {
embassy::init(&clocks, timer_group0.timer0);
}
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::DMA_IN_CH0,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::DMA_OUT_CH0,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let sclk = io.pins.gpio6;
let miso = io.pins.gpio2;

View File

@ -37,12 +37,6 @@ async fn main(_spawner: Spawner) -> ! {
esp32s3_hal::timer::TimerGroup::new(peripherals.TIMG0, &clocks).timer0,
);
interrupt::enable(
peripherals::Interrupt::USB_DEVICE,
interrupt::Priority::Priority1,
)
.unwrap();
let mut usb_serial = UsbSerialJtag::new(peripherals.USB_DEVICE);
loop {

View File

@ -41,13 +41,6 @@ async fn main(_spawner: Spawner) {
// GPIO 0 as input
let mut input = io.pins.gpio0.into_pull_down_input();
// Async requires the GPIO interrupt to wake futures
esp32s3_hal::interrupt::enable(
esp32s3_hal::peripherals::Interrupt::GPIO,
esp32s3_hal::interrupt::Priority::Priority1,
)
.unwrap();
loop {
esp_println::println!("Waiting...");
input.wait_for_rising_edge().await.unwrap();