aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorCaleb Jamison <[email protected]>2024-08-08 21:54:21 -0400
committerCaleb Jamison <[email protected]>2024-08-08 21:54:21 -0400
commit6f03c40516b49104b33a51f6e189a7fc812c1068 (patch)
treef5ff626d24e418f0f32bd4b83f1e3e1bc06502cb /examples
parentb185e02a42ad751ec6c31ffa6a1b87503f15489d (diff)
cargo fmt
Diffstat (limited to 'examples')
-rw-r--r--examples/rp23/src/bin/adc.rs3
-rw-r--r--examples/rp23/src/bin/adc_dma.rs3
-rw-r--r--examples/rp23/src/bin/assign_resources.rs3
-rw-r--r--examples/rp23/src/bin/blinky.rs2
-rw-r--r--examples/rp23/src/bin/blinky_two_channels.rs3
-rw-r--r--examples/rp23/src/bin/blinky_two_tasks.rs3
-rw-r--r--examples/rp23/src/bin/button.rs3
-rw-r--r--examples/rp23/src/bin/debounce.rs3
-rw-r--r--examples/rp23/src/bin/flash.rs3
-rw-r--r--examples/rp23/src/bin/gpio_async.rs3
-rw-r--r--examples/rp23/src/bin/gpout.rs3
-rw-r--r--examples/rp23/src/bin/i2c_async.rs3
-rw-r--r--examples/rp23/src/bin/i2c_async_embassy.rs3
-rw-r--r--examples/rp23/src/bin/i2c_blocking.rs3
-rw-r--r--examples/rp23/src/bin/i2c_slave.rs2
-rw-r--r--examples/rp23/src/bin/interrupt.rs3
-rw-r--r--examples/rp23/src/bin/multicore.rs3
-rw-r--r--examples/rp23/src/bin/multiprio.rs3
-rw-r--r--examples/rp23/src/bin/pio_async.rs3
-rw-r--r--examples/rp23/src/bin/pio_dma.rs3
-rw-r--r--examples/rp23/src/bin/pio_hd44780.rs3
-rw-r--r--examples/rp23/src/bin/pio_i2s.rs3
-rw-r--r--examples/rp23/src/bin/pio_pwm.rs3
-rw-r--r--examples/rp23/src/bin/pio_rotary_encoder.rs3
-rw-r--r--examples/rp23/src/bin/pio_servo.rs3
-rw-r--r--examples/rp23/src/bin/pio_stepper.rs3
-rw-r--r--examples/rp23/src/bin/pio_ws2812.rs3
-rw-r--r--examples/rp23/src/bin/pwm.rs3
-rw-r--r--examples/rp23/src/bin/pwm_input.rs3
-rw-r--r--examples/rp23/src/bin/rosc.rs3
-rw-r--r--examples/rp23/src/bin/shared_bus.rs3
-rw-r--r--examples/rp23/src/bin/sharing.rs5
-rw-r--r--examples/rp23/src/bin/spi.rs3
-rw-r--r--examples/rp23/src/bin/spi_async.rs3
-rw-r--r--examples/rp23/src/bin/spi_display.rs3
-rw-r--r--examples/rp23/src/bin/spi_sdmmc.rs3
-rw-r--r--examples/rp23/src/bin/uart.rs2
-rw-r--r--examples/rp23/src/bin/uart_buffered_split.rs3
-rw-r--r--examples/rp23/src/bin/uart_r503.rs3
-rw-r--r--examples/rp23/src/bin/uart_unidir.rs3
-rw-r--r--examples/rp23/src/bin/usb_webusb.rs3
-rw-r--r--examples/rp23/src/bin/watchdog.rs3
-rw-r--r--examples/rp23/src/bin/zerocopy.rs3
43 files changed, 44 insertions, 84 deletions
diff --git a/examples/rp23/src/bin/adc.rs b/examples/rp23/src/bin/adc.rs
index a1a94ca47..19872607e 100644
--- a/examples/rp23/src/bin/adc.rs
+++ b/examples/rp23/src/bin/adc.rs
@@ -8,10 +8,10 @@ use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; 9use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler};
10use embassy_rp::bind_interrupts; 10use embassy_rp::bind_interrupts;
11use embassy_rp::block::ImageDef;
11use embassy_rp::gpio::Pull; 12use embassy_rp::gpio::Pull;
12use embassy_time::Timer; 13use embassy_time::Timer;
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31bind_interrupts!(struct Irqs { 30bind_interrupts!(struct Irqs {
32 ADC_IRQ_FIFO => InterruptHandler; 31 ADC_IRQ_FIFO => InterruptHandler;
33}); 32});
diff --git a/examples/rp23/src/bin/adc_dma.rs b/examples/rp23/src/bin/adc_dma.rs
index 887c8500a..d538ddaa2 100644
--- a/examples/rp23/src/bin/adc_dma.rs
+++ b/examples/rp23/src/bin/adc_dma.rs
@@ -8,10 +8,10 @@ use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; 9use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler};
10use embassy_rp::bind_interrupts; 10use embassy_rp::bind_interrupts;
11use embassy_rp::block::ImageDef;
11use embassy_rp::gpio::Pull; 12use embassy_rp::gpio::Pull;
12use embassy_time::{Duration, Ticker}; 13use embassy_time::{Duration, Ticker};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31bind_interrupts!(struct Irqs { 30bind_interrupts!(struct Irqs {
32 ADC_IRQ_FIFO => InterruptHandler; 31 ADC_IRQ_FIFO => InterruptHandler;
33}); 32});
diff --git a/examples/rp23/src/bin/assign_resources.rs b/examples/rp23/src/bin/assign_resources.rs
index 8aea2f35d..923c13514 100644
--- a/examples/rp23/src/bin/assign_resources.rs
+++ b/examples/rp23/src/bin/assign_resources.rs
@@ -14,11 +14,11 @@
14use assign_resources::assign_resources; 14use assign_resources::assign_resources;
15use defmt::*; 15use defmt::*;
16use embassy_executor::Spawner; 16use embassy_executor::Spawner;
17use embassy_rp::block::ImageDef;
17use embassy_rp::gpio::{Level, Output}; 18use embassy_rp::gpio::{Level, Output};
18use embassy_rp::peripherals::{self, PIN_20, PIN_21}; 19use embassy_rp::peripherals::{self, PIN_20, PIN_21};
19use embassy_time::Timer; 20use embassy_time::Timer;
20use {defmt_rtt as _, panic_probe as _}; 21use {defmt_rtt as _, panic_probe as _};
21use embassy_rp::block::ImageDef;
22 22
23#[link_section = ".start_block"] 23#[link_section = ".start_block"]
24#[used] 24#[used]
@@ -34,7 +34,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
34 embassy_rp::binary_info_rp_program_build_attribute!(), 34 embassy_rp::binary_info_rp_program_build_attribute!(),
35]; 35];
36 36
37
38#[embassy_executor::main] 37#[embassy_executor::main]
39async fn main(spawner: Spawner) { 38async fn main(spawner: Spawner) {
40 // initialize the peripherals 39 // initialize the peripherals
diff --git a/examples/rp23/src/bin/blinky.rs b/examples/rp23/src/bin/blinky.rs
index 1e3a52085..02bdf9b3d 100644
--- a/examples/rp23/src/bin/blinky.rs
+++ b/examples/rp23/src/bin/blinky.rs
@@ -7,11 +7,11 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio; 11use embassy_rp::gpio;
11use embassy_time::Timer; 12use embassy_time::Timer;
12use gpio::{Level, Output}; 13use gpio::{Level, Output};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
diff --git a/examples/rp23/src/bin/blinky_two_channels.rs b/examples/rp23/src/bin/blinky_two_channels.rs
index aae0283cf..4d7dc89fa 100644
--- a/examples/rp23/src/bin/blinky_two_channels.rs
+++ b/examples/rp23/src/bin/blinky_two_channels.rs
@@ -7,13 +7,13 @@
7/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) 7/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats)
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio; 11use embassy_rp::gpio;
11use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; 12use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex;
12use embassy_sync::channel::{Channel, Sender}; 13use embassy_sync::channel::{Channel, Sender};
13use embassy_time::{Duration, Ticker}; 14use embassy_time::{Duration, Ticker};
14use gpio::{AnyPin, Level, Output}; 15use gpio::{AnyPin, Level, Output};
15use {defmt_rtt as _, panic_probe as _}; 16use {defmt_rtt as _, panic_probe as _};
16use embassy_rp::block::ImageDef;
17 17
18#[link_section = ".start_block"] 18#[link_section = ".start_block"]
19#[used] 19#[used]
@@ -29,7 +29,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
29 embassy_rp::binary_info_rp_program_build_attribute!(), 29 embassy_rp::binary_info_rp_program_build_attribute!(),
30]; 30];
31 31
32
33enum LedState { 32enum LedState {
34 Toggle, 33 Toggle,
35} 34}
diff --git a/examples/rp23/src/bin/blinky_two_tasks.rs b/examples/rp23/src/bin/blinky_two_tasks.rs
index aeabb238f..24b960242 100644
--- a/examples/rp23/src/bin/blinky_two_tasks.rs
+++ b/examples/rp23/src/bin/blinky_two_tasks.rs
@@ -7,13 +7,13 @@
7/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) 7/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats)
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio; 11use embassy_rp::gpio;
11use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; 12use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex;
12use embassy_sync::mutex::Mutex; 13use embassy_sync::mutex::Mutex;
13use embassy_time::{Duration, Ticker}; 14use embassy_time::{Duration, Ticker};
14use gpio::{AnyPin, Level, Output}; 15use gpio::{AnyPin, Level, Output};
15use {defmt_rtt as _, panic_probe as _}; 16use {defmt_rtt as _, panic_probe as _};
16use embassy_rp::block::ImageDef;
17 17
18#[link_section = ".start_block"] 18#[link_section = ".start_block"]
19#[used] 19#[used]
@@ -29,7 +29,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
29 embassy_rp::binary_info_rp_program_build_attribute!(), 29 embassy_rp::binary_info_rp_program_build_attribute!(),
30]; 30];
31 31
32
33type LedType = Mutex<ThreadModeRawMutex, Option<Output<'static>>>; 32type LedType = Mutex<ThreadModeRawMutex, Option<Output<'static>>>;
34static LED: LedType = Mutex::new(None); 33static LED: LedType = Mutex::new(None);
35 34
diff --git a/examples/rp23/src/bin/button.rs b/examples/rp23/src/bin/button.rs
index 2a78a19db..0a0559397 100644
--- a/examples/rp23/src/bin/button.rs
+++ b/examples/rp23/src/bin/button.rs
@@ -6,9 +6,9 @@
6#![no_main] 6#![no_main]
7 7
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::block::ImageDef;
9use embassy_rp::gpio::{Input, Level, Output, Pull}; 10use embassy_rp::gpio::{Input, Level, Output, Pull};
10use {defmt_rtt as _, panic_probe as _}; 11use {defmt_rtt as _, panic_probe as _};
11use embassy_rp::block::ImageDef;
12 12
13#[link_section = ".start_block"] 13#[link_section = ".start_block"]
14#[used] 14#[used]
@@ -24,7 +24,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
24 embassy_rp::binary_info_rp_program_build_attribute!(), 24 embassy_rp::binary_info_rp_program_build_attribute!(),
25]; 25];
26 26
27
28#[embassy_executor::main] 27#[embassy_executor::main]
29async fn main(_spawner: Spawner) { 28async fn main(_spawner: Spawner) {
30 let p = embassy_rp::init(Default::default()); 29 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/debounce.rs b/examples/rp23/src/bin/debounce.rs
index 0e3b5cb54..e82e71f61 100644
--- a/examples/rp23/src/bin/debounce.rs
+++ b/examples/rp23/src/bin/debounce.rs
@@ -6,10 +6,10 @@
6 6
7use defmt::info; 7use defmt::info;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::block::ImageDef;
9use embassy_rp::gpio::{Input, Level, Pull}; 10use embassy_rp::gpio::{Input, Level, Pull};
10use embassy_time::{with_deadline, Duration, Instant, Timer}; 11use embassy_time::{with_deadline, Duration, Instant, Timer};
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29pub struct Debouncer<'a> { 28pub struct Debouncer<'a> {
30 input: Input<'a>, 29 input: Input<'a>,
31 debounce: Duration, 30 debounce: Duration,
diff --git a/examples/rp23/src/bin/flash.rs b/examples/rp23/src/bin/flash.rs
index 42620ca93..2917dda0b 100644
--- a/examples/rp23/src/bin/flash.rs
+++ b/examples/rp23/src/bin/flash.rs
@@ -5,11 +5,11 @@
5 5
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_rp::block::ImageDef;
8use embassy_rp::flash::{Async, ERASE_SIZE, FLASH_BASE}; 9use embassy_rp::flash::{Async, ERASE_SIZE, FLASH_BASE};
9use embassy_rp::peripherals::FLASH; 10use embassy_rp::peripherals::FLASH;
10use embassy_time::Timer; 11use embassy_time::Timer;
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29const ADDR_OFFSET: u32 = 0x100000; 28const ADDR_OFFSET: u32 = 0x100000;
30const FLASH_SIZE: usize = 2 * 1024 * 1024; 29const FLASH_SIZE: usize = 2 * 1024 * 1024;
31 30
diff --git a/examples/rp23/src/bin/gpio_async.rs b/examples/rp23/src/bin/gpio_async.rs
index 360932d62..1618f7c8b 100644
--- a/examples/rp23/src/bin/gpio_async.rs
+++ b/examples/rp23/src/bin/gpio_async.rs
@@ -7,11 +7,11 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio; 11use embassy_rp::gpio;
11use embassy_time::Timer; 12use embassy_time::Timer;
12use gpio::{Input, Level, Output, Pull}; 13use gpio::{Input, Level, Output, Pull};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31/// It requires an external signal to be manually triggered on PIN 16. For 30/// It requires an external signal to be manually triggered on PIN 16. For
32/// example, this could be accomplished using an external power source with a 31/// example, this could be accomplished using an external power source with a
33/// button so that it is possible to toggle the signal from low to high. 32/// button so that it is possible to toggle the signal from low to high.
diff --git a/examples/rp23/src/bin/gpout.rs b/examples/rp23/src/bin/gpout.rs
index 8d1e4d05f..b15963f02 100644
--- a/examples/rp23/src/bin/gpout.rs
+++ b/examples/rp23/src/bin/gpout.rs
@@ -7,10 +7,10 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::clocks; 11use embassy_rp::clocks;
11use embassy_time::Timer; 12use embassy_time::Timer;
12use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
13use embassy_rp::block::ImageDef;
14 14
15#[link_section = ".start_block"] 15#[link_section = ".start_block"]
16#[used] 16#[used]
@@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
26 embassy_rp::binary_info_rp_program_build_attribute!(), 26 embassy_rp::binary_info_rp_program_build_attribute!(),
27]; 27];
28 28
29
30#[embassy_executor::main] 29#[embassy_executor::main]
31async fn main(_spawner: Spawner) { 30async fn main(_spawner: Spawner) {
32 let p = embassy_rp::init(Default::default()); 31 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/i2c_async.rs b/examples/rp23/src/bin/i2c_async.rs
index 64f103849..2528fe1d2 100644
--- a/examples/rp23/src/bin/i2c_async.rs
+++ b/examples/rp23/src/bin/i2c_async.rs
@@ -9,12 +9,12 @@
9use defmt::*; 9use defmt::*;
10use embassy_executor::Spawner; 10use embassy_executor::Spawner;
11use embassy_rp::bind_interrupts; 11use embassy_rp::bind_interrupts;
12use embassy_rp::block::ImageDef;
12use embassy_rp::i2c::{self, Config, InterruptHandler}; 13use embassy_rp::i2c::{self, Config, InterruptHandler};
13use embassy_rp::peripherals::I2C1; 14use embassy_rp::peripherals::I2C1;
14use embassy_time::Timer; 15use embassy_time::Timer;
15use embedded_hal_async::i2c::I2c; 16use embedded_hal_async::i2c::I2c;
16use {defmt_rtt as _, panic_probe as _}; 17use {defmt_rtt as _, panic_probe as _};
17use embassy_rp::block::ImageDef;
18 18
19#[link_section = ".start_block"] 19#[link_section = ".start_block"]
20#[used] 20#[used]
@@ -30,7 +30,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
30 embassy_rp::binary_info_rp_program_build_attribute!(), 30 embassy_rp::binary_info_rp_program_build_attribute!(),
31]; 31];
32 32
33
34bind_interrupts!(struct Irqs { 33bind_interrupts!(struct Irqs {
35 I2C1_IRQ => InterruptHandler<I2C1>; 34 I2C1_IRQ => InterruptHandler<I2C1>;
36}); 35});
diff --git a/examples/rp23/src/bin/i2c_async_embassy.rs b/examples/rp23/src/bin/i2c_async_embassy.rs
index 4b14ec6f6..461b1d171 100644
--- a/examples/rp23/src/bin/i2c_async_embassy.rs
+++ b/examples/rp23/src/bin/i2c_async_embassy.rs
@@ -7,9 +7,9 @@
7#![no_main] 7#![no_main]
8 8
9use defmt::*; 9use defmt::*;
10use embassy_rp::block::ImageDef;
10use embassy_rp::i2c::InterruptHandler; 11use embassy_rp::i2c::InterruptHandler;
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29// Our anonymous hypotetical temperature sensor could be: 28// Our anonymous hypotetical temperature sensor could be:
30// a 12-bit sensor, with 100ms startup time, range of -40*C - 125*C, and precision 0.25*C 29// a 12-bit sensor, with 100ms startup time, range of -40*C - 125*C, and precision 0.25*C
31// It requires no configuration or calibration, works with all i2c bus speeds, 30// It requires no configuration or calibration, works with all i2c bus speeds,
diff --git a/examples/rp23/src/bin/i2c_blocking.rs b/examples/rp23/src/bin/i2c_blocking.rs
index d2cccf09b..6d36d1890 100644
--- a/examples/rp23/src/bin/i2c_blocking.rs
+++ b/examples/rp23/src/bin/i2c_blocking.rs
@@ -8,11 +8,11 @@
8 8
9use defmt::*; 9use defmt::*;
10use embassy_executor::Spawner; 10use embassy_executor::Spawner;
11use embassy_rp::block::ImageDef;
11use embassy_rp::i2c::{self, Config}; 12use embassy_rp::i2c::{self, Config};
12use embassy_time::Timer; 13use embassy_time::Timer;
13use embedded_hal_1::i2c::I2c; 14use embedded_hal_1::i2c::I2c;
14use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
15use embassy_rp::block::ImageDef;
16 16
17#[link_section = ".start_block"] 17#[link_section = ".start_block"]
18#[used] 18#[used]
@@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
28 embassy_rp::binary_info_rp_program_build_attribute!(), 28 embassy_rp::binary_info_rp_program_build_attribute!(),
29]; 29];
30 30
31
32#[allow(dead_code)] 31#[allow(dead_code)]
33mod mcp23017 { 32mod mcp23017 {
34 pub const ADDR: u8 = 0x20; // default addr 33 pub const ADDR: u8 = 0x20; // default addr
diff --git a/examples/rp23/src/bin/i2c_slave.rs b/examples/rp23/src/bin/i2c_slave.rs
index 4bf407bcc..1f3408cf3 100644
--- a/examples/rp23/src/bin/i2c_slave.rs
+++ b/examples/rp23/src/bin/i2c_slave.rs
@@ -4,12 +4,12 @@
4 4
5use defmt::*; 5use defmt::*;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_rp::block::ImageDef;
7use embassy_rp::peripherals::{I2C0, I2C1}; 8use embassy_rp::peripherals::{I2C0, I2C1};
8use embassy_rp::{bind_interrupts, i2c, i2c_slave}; 9use embassy_rp::{bind_interrupts, i2c, i2c_slave};
9use embassy_time::Timer; 10use embassy_time::Timer;
10use embedded_hal_async::i2c::I2c; 11use embedded_hal_async::i2c::I2c;
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::{block::ImageDef};
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
diff --git a/examples/rp23/src/bin/interrupt.rs b/examples/rp23/src/bin/interrupt.rs
index f46117f95..6184b1bd7 100644
--- a/examples/rp23/src/bin/interrupt.rs
+++ b/examples/rp23/src/bin/interrupt.rs
@@ -13,6 +13,7 @@ use core::cell::{Cell, RefCell};
13use defmt::*; 13use defmt::*;
14use embassy_executor::Spawner; 14use embassy_executor::Spawner;
15use embassy_rp::adc::{self, Adc, Blocking}; 15use embassy_rp::adc::{self, Adc, Blocking};
16use embassy_rp::block::ImageDef;
16use embassy_rp::gpio::Pull; 17use embassy_rp::gpio::Pull;
17use embassy_rp::interrupt; 18use embassy_rp::interrupt;
18use embassy_rp::pwm::{Config, Pwm}; 19use embassy_rp::pwm::{Config, Pwm};
@@ -23,7 +24,6 @@ use embassy_time::{Duration, Ticker};
23use portable_atomic::{AtomicU32, Ordering}; 24use portable_atomic::{AtomicU32, Ordering};
24use static_cell::StaticCell; 25use static_cell::StaticCell;
25use {defmt_rtt as _, panic_probe as _}; 26use {defmt_rtt as _, panic_probe as _};
26use embassy_rp::block::ImageDef;
27 27
28#[link_section = ".start_block"] 28#[link_section = ".start_block"]
29#[used] 29#[used]
@@ -39,7 +39,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
39 embassy_rp::binary_info_rp_program_build_attribute!(), 39 embassy_rp::binary_info_rp_program_build_attribute!(),
40]; 40];
41 41
42
43static COUNTER: AtomicU32 = AtomicU32::new(0); 42static COUNTER: AtomicU32 = AtomicU32::new(0);
44static PWM: Mutex<CriticalSectionRawMutex, RefCell<Option<Pwm>>> = Mutex::new(RefCell::new(None)); 43static PWM: Mutex<CriticalSectionRawMutex, RefCell<Option<Pwm>>> = Mutex::new(RefCell::new(None));
45static ADC: Mutex<CriticalSectionRawMutex, RefCell<Option<(Adc<Blocking>, adc::Channel)>>> = 44static ADC: Mutex<CriticalSectionRawMutex, RefCell<Option<(Adc<Blocking>, adc::Channel)>>> =
diff --git a/examples/rp23/src/bin/multicore.rs b/examples/rp23/src/bin/multicore.rs
index 0b20ecaae..8649143e1 100644
--- a/examples/rp23/src/bin/multicore.rs
+++ b/examples/rp23/src/bin/multicore.rs
@@ -7,6 +7,7 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Executor; 9use embassy_executor::Executor;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio::{Level, Output}; 11use embassy_rp::gpio::{Level, Output};
11use embassy_rp::multicore::{spawn_core1, Stack}; 12use embassy_rp::multicore::{spawn_core1, Stack};
12use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; 13use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex;
@@ -14,7 +15,6 @@ use embassy_sync::channel::Channel;
14use embassy_time::Timer; 15use embassy_time::Timer;
15use static_cell::StaticCell; 16use static_cell::StaticCell;
16use {defmt_rtt as _, panic_probe as _}; 17use {defmt_rtt as _, panic_probe as _};
17use embassy_rp::block::ImageDef;
18 18
19#[link_section = ".start_block"] 19#[link_section = ".start_block"]
20#[used] 20#[used]
@@ -30,7 +30,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
30 embassy_rp::binary_info_rp_program_build_attribute!(), 30 embassy_rp::binary_info_rp_program_build_attribute!(),
31]; 31];
32 32
33
34static mut CORE1_STACK: Stack<4096> = Stack::new(); 33static mut CORE1_STACK: Stack<4096> = Stack::new();
35static EXECUTOR0: StaticCell<Executor> = StaticCell::new(); 34static EXECUTOR0: StaticCell<Executor> = StaticCell::new();
36static EXECUTOR1: StaticCell<Executor> = StaticCell::new(); 35static EXECUTOR1: StaticCell<Executor> = StaticCell::new();
diff --git a/examples/rp23/src/bin/multiprio.rs b/examples/rp23/src/bin/multiprio.rs
index 52c801973..7590fb431 100644
--- a/examples/rp23/src/bin/multiprio.rs
+++ b/examples/rp23/src/bin/multiprio.rs
@@ -59,12 +59,12 @@
59use cortex_m_rt::entry; 59use cortex_m_rt::entry;
60use defmt::{info, unwrap}; 60use defmt::{info, unwrap};
61use embassy_executor::{Executor, InterruptExecutor}; 61use embassy_executor::{Executor, InterruptExecutor};
62use embassy_rp::block::ImageDef;
62use embassy_rp::interrupt; 63use embassy_rp::interrupt;
63use embassy_rp::interrupt::{InterruptExt, Priority}; 64use embassy_rp::interrupt::{InterruptExt, Priority};
64use embassy_time::{Instant, Timer, TICK_HZ}; 65use embassy_time::{Instant, Timer, TICK_HZ};
65use static_cell::StaticCell; 66use static_cell::StaticCell;
66use {defmt_rtt as _, panic_probe as _}; 67use {defmt_rtt as _, panic_probe as _};
67use embassy_rp::block::ImageDef;
68 68
69#[link_section = ".start_block"] 69#[link_section = ".start_block"]
70#[used] 70#[used]
@@ -80,7 +80,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
80 embassy_rp::binary_info_rp_program_build_attribute!(), 80 embassy_rp::binary_info_rp_program_build_attribute!(),
81]; 81];
82 82
83
84#[embassy_executor::task] 83#[embassy_executor::task]
85async fn run_high() { 84async fn run_high() {
86 loop { 85 loop {
diff --git a/examples/rp23/src/bin/pio_async.rs b/examples/rp23/src/bin/pio_async.rs
index f3a48bbce..005708bc2 100644
--- a/examples/rp23/src/bin/pio_async.rs
+++ b/examples/rp23/src/bin/pio_async.rs
@@ -5,12 +5,12 @@
5use defmt::info; 5use defmt::info;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_rp::bind_interrupts; 7use embassy_rp::bind_interrupts;
8use embassy_rp::block::ImageDef;
8use embassy_rp::peripherals::PIO0; 9use embassy_rp::peripherals::PIO0;
9use embassy_rp::pio::{Common, Config, InterruptHandler, Irq, Pio, PioPin, ShiftDirection, StateMachine}; 10use embassy_rp::pio::{Common, Config, InterruptHandler, Irq, Pio, PioPin, ShiftDirection, StateMachine};
10use fixed::traits::ToFixed; 11use fixed::traits::ToFixed;
11use fixed_macro::types::U56F8; 12use fixed_macro::types::U56F8;
12use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
13use embassy_rp::block::ImageDef;
14 14
15#[link_section = ".start_block"] 15#[link_section = ".start_block"]
16#[used] 16#[used]
@@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
26 embassy_rp::binary_info_rp_program_build_attribute!(), 26 embassy_rp::binary_info_rp_program_build_attribute!(),
27]; 27];
28 28
29
30bind_interrupts!(struct Irqs { 29bind_interrupts!(struct Irqs {
31 PIO0_IRQ_0 => InterruptHandler<PIO0>; 30 PIO0_IRQ_0 => InterruptHandler<PIO0>;
32}); 31});
diff --git a/examples/rp23/src/bin/pio_dma.rs b/examples/rp23/src/bin/pio_dma.rs
index d5a831d09..48fd9123f 100644
--- a/examples/rp23/src/bin/pio_dma.rs
+++ b/examples/rp23/src/bin/pio_dma.rs
@@ -5,13 +5,13 @@
5use defmt::info; 5use defmt::info;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_futures::join::join; 7use embassy_futures::join::join;
8use embassy_rp::block::ImageDef;
8use embassy_rp::peripherals::PIO0; 9use embassy_rp::peripherals::PIO0;
9use embassy_rp::pio::{Config, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; 10use embassy_rp::pio::{Config, InterruptHandler, Pio, ShiftConfig, ShiftDirection};
10use embassy_rp::{bind_interrupts, Peripheral}; 11use embassy_rp::{bind_interrupts, Peripheral};
11use fixed::traits::ToFixed; 12use fixed::traits::ToFixed;
12use fixed_macro::types::U56F8; 13use fixed_macro::types::U56F8;
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31bind_interrupts!(struct Irqs { 30bind_interrupts!(struct Irqs {
32 PIO0_IRQ_0 => InterruptHandler<PIO0>; 31 PIO0_IRQ_0 => InterruptHandler<PIO0>;
33}); 32});
diff --git a/examples/rp23/src/bin/pio_hd44780.rs b/examples/rp23/src/bin/pio_hd44780.rs
index f601bbc66..fc658267d 100644
--- a/examples/rp23/src/bin/pio_hd44780.rs
+++ b/examples/rp23/src/bin/pio_hd44780.rs
@@ -7,6 +7,7 @@
7use core::fmt::Write; 7use core::fmt::Write;
8 8
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::dma::{AnyChannel, Channel}; 11use embassy_rp::dma::{AnyChannel, Channel};
11use embassy_rp::peripherals::PIO0; 12use embassy_rp::peripherals::PIO0;
12use embassy_rp::pio::{ 13use embassy_rp::pio::{
@@ -16,7 +17,6 @@ use embassy_rp::pwm::{self, Pwm};
16use embassy_rp::{bind_interrupts, into_ref, Peripheral, PeripheralRef}; 17use embassy_rp::{bind_interrupts, into_ref, Peripheral, PeripheralRef};
17use embassy_time::{Instant, Timer}; 18use embassy_time::{Instant, Timer};
18use {defmt_rtt as _, panic_probe as _}; 19use {defmt_rtt as _, panic_probe as _};
19use embassy_rp::block::ImageDef;
20 20
21#[link_section = ".start_block"] 21#[link_section = ".start_block"]
22#[used] 22#[used]
@@ -32,7 +32,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
32 embassy_rp::binary_info_rp_program_build_attribute!(), 32 embassy_rp::binary_info_rp_program_build_attribute!(),
33]; 33];
34 34
35
36bind_interrupts!(pub struct Irqs { 35bind_interrupts!(pub struct Irqs {
37 PIO0_IRQ_0 => InterruptHandler<PIO0>; 36 PIO0_IRQ_0 => InterruptHandler<PIO0>;
38}); 37});
diff --git a/examples/rp23/src/bin/pio_i2s.rs b/examples/rp23/src/bin/pio_i2s.rs
index b12b050e6..5a3bde759 100644
--- a/examples/rp23/src/bin/pio_i2s.rs
+++ b/examples/rp23/src/bin/pio_i2s.rs
@@ -13,13 +13,13 @@
13use core::mem; 13use core::mem;
14 14
15use embassy_executor::Spawner; 15use embassy_executor::Spawner;
16use embassy_rp::block::ImageDef;
16use embassy_rp::peripherals::PIO0; 17use embassy_rp::peripherals::PIO0;
17use embassy_rp::pio::{Config, FifoJoin, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; 18use embassy_rp::pio::{Config, FifoJoin, InterruptHandler, Pio, ShiftConfig, ShiftDirection};
18use embassy_rp::{bind_interrupts, Peripheral}; 19use embassy_rp::{bind_interrupts, Peripheral};
19use fixed::traits::ToFixed; 20use fixed::traits::ToFixed;
20use static_cell::StaticCell; 21use static_cell::StaticCell;
21use {defmt_rtt as _, panic_probe as _}; 22use {defmt_rtt as _, panic_probe as _};
22use embassy_rp::block::ImageDef;
23 23
24#[link_section = ".start_block"] 24#[link_section = ".start_block"]
25#[used] 25#[used]
@@ -35,7 +35,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
35 embassy_rp::binary_info_rp_program_build_attribute!(), 35 embassy_rp::binary_info_rp_program_build_attribute!(),
36]; 36];
37 37
38
39bind_interrupts!(struct Irqs { 38bind_interrupts!(struct Irqs {
40 PIO0_IRQ_0 => InterruptHandler<PIO0>; 39 PIO0_IRQ_0 => InterruptHandler<PIO0>;
41}); 40});
diff --git a/examples/rp23/src/bin/pio_pwm.rs b/examples/rp23/src/bin/pio_pwm.rs
index c8e834eae..7c5eefc45 100644
--- a/examples/rp23/src/bin/pio_pwm.rs
+++ b/examples/rp23/src/bin/pio_pwm.rs
@@ -5,6 +5,7 @@
5use core::time::Duration; 5use core::time::Duration;
6 6
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_rp::block::ImageDef;
8use embassy_rp::gpio::Level; 9use embassy_rp::gpio::Level;
9use embassy_rp::peripherals::PIO0; 10use embassy_rp::peripherals::PIO0;
10use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; 11use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine};
@@ -12,7 +13,6 @@ use embassy_rp::{bind_interrupts, clocks};
12use embassy_time::Timer; 13use embassy_time::Timer;
13use pio::InstructionOperands; 14use pio::InstructionOperands;
14use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
15use embassy_rp::block::ImageDef;
16 16
17#[link_section = ".start_block"] 17#[link_section = ".start_block"]
18#[used] 18#[used]
@@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
28 embassy_rp::binary_info_rp_program_build_attribute!(), 28 embassy_rp::binary_info_rp_program_build_attribute!(),
29]; 29];
30 30
31
32const REFRESH_INTERVAL: u64 = 20000; 31const REFRESH_INTERVAL: u64 = 20000;
33 32
34bind_interrupts!(struct Irqs { 33bind_interrupts!(struct Irqs {
diff --git a/examples/rp23/src/bin/pio_rotary_encoder.rs b/examples/rp23/src/bin/pio_rotary_encoder.rs
index 971b55c9e..287992a83 100644
--- a/examples/rp23/src/bin/pio_rotary_encoder.rs
+++ b/examples/rp23/src/bin/pio_rotary_encoder.rs
@@ -5,13 +5,13 @@
5 5
6use defmt::info; 6use defmt::info;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_rp::block::ImageDef;
8use embassy_rp::gpio::Pull; 9use embassy_rp::gpio::Pull;
9use embassy_rp::peripherals::PIO0; 10use embassy_rp::peripherals::PIO0;
10use embassy_rp::{bind_interrupts, pio}; 11use embassy_rp::{bind_interrupts, pio};
11use fixed::traits::ToFixed; 12use fixed::traits::ToFixed;
12use pio::{Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftDirection, StateMachine}; 13use pio::{Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftDirection, StateMachine};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31bind_interrupts!(struct Irqs { 30bind_interrupts!(struct Irqs {
32 PIO0_IRQ_0 => InterruptHandler<PIO0>; 31 PIO0_IRQ_0 => InterruptHandler<PIO0>;
33}); 32});
diff --git a/examples/rp23/src/bin/pio_servo.rs b/examples/rp23/src/bin/pio_servo.rs
index 67e52019a..1dec86927 100644
--- a/examples/rp23/src/bin/pio_servo.rs
+++ b/examples/rp23/src/bin/pio_servo.rs
@@ -5,6 +5,7 @@
5use core::time::Duration; 5use core::time::Duration;
6 6
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_rp::block::ImageDef;
8use embassy_rp::gpio::Level; 9use embassy_rp::gpio::Level;
9use embassy_rp::peripherals::PIO0; 10use embassy_rp::peripherals::PIO0;
10use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; 11use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine};
@@ -12,7 +13,6 @@ use embassy_rp::{bind_interrupts, clocks};
12use embassy_time::Timer; 13use embassy_time::Timer;
13use pio::InstructionOperands; 14use pio::InstructionOperands;
14use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
15use embassy_rp::block::ImageDef;
16 16
17#[link_section = ".start_block"] 17#[link_section = ".start_block"]
18#[used] 18#[used]
@@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
28 embassy_rp::binary_info_rp_program_build_attribute!(), 28 embassy_rp::binary_info_rp_program_build_attribute!(),
29]; 29];
30 30
31
32const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo 31const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo
33const DEFAULT_MAX_PULSE_WIDTH: u64 = 2000; // uncalibrated default, the longest duty cycle sent to a servo 32const DEFAULT_MAX_PULSE_WIDTH: u64 = 2000; // uncalibrated default, the longest duty cycle sent to a servo
34const DEFAULT_MAX_DEGREE_ROTATION: u64 = 160; // 160 degrees is typical 33const DEFAULT_MAX_DEGREE_ROTATION: u64 = 160; // 160 degrees is typical
diff --git a/examples/rp23/src/bin/pio_stepper.rs b/examples/rp23/src/bin/pio_stepper.rs
index 9cbf0bd92..8b52dc37a 100644
--- a/examples/rp23/src/bin/pio_stepper.rs
+++ b/examples/rp23/src/bin/pio_stepper.rs
@@ -8,6 +8,7 @@ use core::mem::{self, MaybeUninit};
8use defmt::info; 8use defmt::info;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::bind_interrupts; 10use embassy_rp::bind_interrupts;
11use embassy_rp::block::ImageDef;
11use embassy_rp::peripherals::PIO0; 12use embassy_rp::peripherals::PIO0;
12use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Irq, Pio, PioPin, StateMachine}; 13use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Irq, Pio, PioPin, StateMachine};
13use embassy_time::{with_timeout, Duration, Timer}; 14use embassy_time::{with_timeout, Duration, Timer};
@@ -15,7 +16,6 @@ use fixed::traits::ToFixed;
15use fixed::types::extra::U8; 16use fixed::types::extra::U8;
16use fixed::FixedU32; 17use fixed::FixedU32;
17use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
18use embassy_rp::block::ImageDef;
19 19
20#[link_section = ".start_block"] 20#[link_section = ".start_block"]
21#[used] 21#[used]
@@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
31 embassy_rp::binary_info_rp_program_build_attribute!(), 31 embassy_rp::binary_info_rp_program_build_attribute!(),
32]; 32];
33 33
34
35bind_interrupts!(struct Irqs { 34bind_interrupts!(struct Irqs {
36 PIO0_IRQ_0 => InterruptHandler<PIO0>; 35 PIO0_IRQ_0 => InterruptHandler<PIO0>;
37}); 36});
diff --git a/examples/rp23/src/bin/pio_ws2812.rs b/examples/rp23/src/bin/pio_ws2812.rs
index 2e62a3d97..99d9cf7e6 100644
--- a/examples/rp23/src/bin/pio_ws2812.rs
+++ b/examples/rp23/src/bin/pio_ws2812.rs
@@ -6,6 +6,7 @@
6 6
7use defmt::*; 7use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::block::ImageDef;
9use embassy_rp::dma::{AnyChannel, Channel}; 10use embassy_rp::dma::{AnyChannel, Channel};
10use embassy_rp::peripherals::PIO0; 11use embassy_rp::peripherals::PIO0;
11use embassy_rp::pio::{ 12use embassy_rp::pio::{
@@ -17,7 +18,6 @@ use fixed::types::U24F8;
17use fixed_macro::fixed; 18use fixed_macro::fixed;
18use smart_leds::RGB8; 19use smart_leds::RGB8;
19use {defmt_rtt as _, panic_probe as _}; 20use {defmt_rtt as _, panic_probe as _};
20use embassy_rp::block::ImageDef;
21 21
22#[link_section = ".start_block"] 22#[link_section = ".start_block"]
23#[used] 23#[used]
@@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
33 embassy_rp::binary_info_rp_program_build_attribute!(), 33 embassy_rp::binary_info_rp_program_build_attribute!(),
34]; 34];
35 35
36
37bind_interrupts!(struct Irqs { 36bind_interrupts!(struct Irqs {
38 PIO0_IRQ_0 => InterruptHandler<PIO0>; 37 PIO0_IRQ_0 => InterruptHandler<PIO0>;
39}); 38});
diff --git a/examples/rp23/src/bin/pwm.rs b/examples/rp23/src/bin/pwm.rs
index ab38a03bb..4cd3b3eb4 100644
--- a/examples/rp23/src/bin/pwm.rs
+++ b/examples/rp23/src/bin/pwm.rs
@@ -7,10 +7,10 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::pwm::{Config, Pwm}; 11use embassy_rp::pwm::{Config, Pwm};
11use embassy_time::Timer; 12use embassy_time::Timer;
12use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
13use embassy_rp::block::ImageDef;
14 14
15#[link_section = ".start_block"] 15#[link_section = ".start_block"]
16#[used] 16#[used]
@@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
26 embassy_rp::binary_info_rp_program_build_attribute!(), 26 embassy_rp::binary_info_rp_program_build_attribute!(),
27]; 27];
28 28
29
30#[embassy_executor::main] 29#[embassy_executor::main]
31async fn main(_spawner: Spawner) { 30async fn main(_spawner: Spawner) {
32 let p = embassy_rp::init(Default::default()); 31 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/pwm_input.rs b/examples/rp23/src/bin/pwm_input.rs
index fcb561cfd..b75d04963 100644
--- a/examples/rp23/src/bin/pwm_input.rs
+++ b/examples/rp23/src/bin/pwm_input.rs
@@ -5,11 +5,11 @@
5 5
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_rp::block::ImageDef;
8use embassy_rp::gpio::Pull; 9use embassy_rp::gpio::Pull;
9use embassy_rp::pwm::{Config, InputMode, Pwm}; 10use embassy_rp::pwm::{Config, InputMode, Pwm};
10use embassy_time::{Duration, Ticker}; 11use embassy_time::{Duration, Ticker};
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29#[embassy_executor::main] 28#[embassy_executor::main]
30async fn main(_spawner: Spawner) { 29async fn main(_spawner: Spawner) {
31 let p = embassy_rp::init(Default::default()); 30 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/rosc.rs b/examples/rp23/src/bin/rosc.rs
index 051b4710f..28c778f51 100644
--- a/examples/rp23/src/bin/rosc.rs
+++ b/examples/rp23/src/bin/rosc.rs
@@ -7,11 +7,11 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::{clocks, gpio}; 11use embassy_rp::{clocks, gpio};
11use embassy_time::Timer; 12use embassy_time::Timer;
12use gpio::{Level, Output}; 13use gpio::{Level, Output};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31#[embassy_executor::main] 30#[embassy_executor::main]
32async fn main(_spawner: Spawner) { 31async fn main(_spawner: Spawner) {
33 let mut config = embassy_rp::config::Config::default(); 32 let mut config = embassy_rp::config::Config::default();
diff --git a/examples/rp23/src/bin/shared_bus.rs b/examples/rp23/src/bin/shared_bus.rs
index e3213cd91..00e65f80d 100644
--- a/examples/rp23/src/bin/shared_bus.rs
+++ b/examples/rp23/src/bin/shared_bus.rs
@@ -8,6 +8,7 @@ use embassy_embedded_hal::shared_bus::asynch::i2c::I2cDevice;
8use embassy_embedded_hal::shared_bus::asynch::spi::SpiDevice; 8use embassy_embedded_hal::shared_bus::asynch::spi::SpiDevice;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::bind_interrupts; 10use embassy_rp::bind_interrupts;
11use embassy_rp::block::ImageDef;
11use embassy_rp::gpio::{AnyPin, Level, Output}; 12use embassy_rp::gpio::{AnyPin, Level, Output};
12use embassy_rp::i2c::{self, I2c, InterruptHandler}; 13use embassy_rp::i2c::{self, I2c, InterruptHandler};
13use embassy_rp::peripherals::{I2C1, SPI1}; 14use embassy_rp::peripherals::{I2C1, SPI1};
@@ -17,7 +18,6 @@ use embassy_sync::mutex::Mutex;
17use embassy_time::Timer; 18use embassy_time::Timer;
18use static_cell::StaticCell; 19use static_cell::StaticCell;
19use {defmt_rtt as _, panic_probe as _}; 20use {defmt_rtt as _, panic_probe as _};
20use embassy_rp::block::ImageDef;
21 21
22#[link_section = ".start_block"] 22#[link_section = ".start_block"]
23#[used] 23#[used]
@@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
33 embassy_rp::binary_info_rp_program_build_attribute!(), 33 embassy_rp::binary_info_rp_program_build_attribute!(),
34]; 34];
35 35
36
37type Spi1Bus = Mutex<NoopRawMutex, Spi<'static, SPI1, spi::Async>>; 36type Spi1Bus = Mutex<NoopRawMutex, Spi<'static, SPI1, spi::Async>>;
38type I2c1Bus = Mutex<NoopRawMutex, I2c<'static, I2C1, i2c::Async>>; 37type I2c1Bus = Mutex<NoopRawMutex, I2c<'static, I2C1, i2c::Async>>;
39 38
diff --git a/examples/rp23/src/bin/sharing.rs b/examples/rp23/src/bin/sharing.rs
index 10f064947..b5ef08147 100644
--- a/examples/rp23/src/bin/sharing.rs
+++ b/examples/rp23/src/bin/sharing.rs
@@ -19,8 +19,9 @@ use core::sync::atomic::{AtomicU32, Ordering};
19use cortex_m_rt::entry; 19use cortex_m_rt::entry;
20use defmt::info; 20use defmt::info;
21use embassy_executor::{Executor, InterruptExecutor}; 21use embassy_executor::{Executor, InterruptExecutor};
22use embassy_rp::block::ImageDef;
22use embassy_rp::clocks::RoscRng; 23use embassy_rp::clocks::RoscRng;
23use embassy_rp::interrupt::{Priority, InterruptExt}; 24use embassy_rp::interrupt::{InterruptExt, Priority};
24use embassy_rp::peripherals::UART0; 25use embassy_rp::peripherals::UART0;
25use embassy_rp::uart::{self, InterruptHandler, UartTx}; 26use embassy_rp::uart::{self, InterruptHandler, UartTx};
26use embassy_rp::{bind_interrupts, interrupt}; 27use embassy_rp::{bind_interrupts, interrupt};
@@ -30,7 +31,6 @@ use embassy_time::{Duration, Ticker};
30use rand::RngCore; 31use rand::RngCore;
31use static_cell::{ConstStaticCell, StaticCell}; 32use static_cell::{ConstStaticCell, StaticCell};
32use {defmt_rtt as _, panic_probe as _}; 33use {defmt_rtt as _, panic_probe as _};
33use embassy_rp::block::ImageDef;
34 34
35#[link_section = ".start_block"] 35#[link_section = ".start_block"]
36#[used] 36#[used]
@@ -46,7 +46,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
46 embassy_rp::binary_info_rp_program_build_attribute!(), 46 embassy_rp::binary_info_rp_program_build_attribute!(),
47]; 47];
48 48
49
50type UartAsyncMutex = mutex::Mutex<CriticalSectionRawMutex, UartTx<'static, UART0, uart::Async>>; 49type UartAsyncMutex = mutex::Mutex<CriticalSectionRawMutex, UartTx<'static, UART0, uart::Async>>;
51 50
52struct MyType { 51struct MyType {
diff --git a/examples/rp23/src/bin/spi.rs b/examples/rp23/src/bin/spi.rs
index bcf356188..98aa7622c 100644
--- a/examples/rp23/src/bin/spi.rs
+++ b/examples/rp23/src/bin/spi.rs
@@ -7,11 +7,11 @@
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::spi::Spi; 11use embassy_rp::spi::Spi;
11use embassy_rp::{gpio, spi}; 12use embassy_rp::{gpio, spi};
12use gpio::{Level, Output}; 13use gpio::{Level, Output};
13use {defmt_rtt as _, panic_probe as _}; 14use {defmt_rtt as _, panic_probe as _};
14use embassy_rp::block::ImageDef;
15 15
16#[link_section = ".start_block"] 16#[link_section = ".start_block"]
17#[used] 17#[used]
@@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
27 embassy_rp::binary_info_rp_program_build_attribute!(), 27 embassy_rp::binary_info_rp_program_build_attribute!(),
28]; 28];
29 29
30
31#[embassy_executor::main] 30#[embassy_executor::main]
32async fn main(_spawner: Spawner) { 31async fn main(_spawner: Spawner) {
33 let p = embassy_rp::init(Default::default()); 32 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/spi_async.rs b/examples/rp23/src/bin/spi_async.rs
index 7a43995d2..71eaa5c05 100644
--- a/examples/rp23/src/bin/spi_async.rs
+++ b/examples/rp23/src/bin/spi_async.rs
@@ -6,10 +6,10 @@
6 6
7use defmt::*; 7use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::block::ImageDef;
9use embassy_rp::spi::{Config, Spi}; 10use embassy_rp::spi::{Config, Spi};
10use embassy_time::Timer; 11use embassy_time::Timer;
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29#[embassy_executor::main] 28#[embassy_executor::main]
30async fn main(_spawner: Spawner) { 29async fn main(_spawner: Spawner) {
31 let p = embassy_rp::init(Default::default()); 30 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/spi_display.rs b/examples/rp23/src/bin/spi_display.rs
index 25368bb94..2441b1186 100644
--- a/examples/rp23/src/bin/spi_display.rs
+++ b/examples/rp23/src/bin/spi_display.rs
@@ -11,6 +11,7 @@ use core::cell::RefCell;
11use defmt::*; 11use defmt::*;
12use embassy_embedded_hal::shared_bus::blocking::spi::SpiDeviceWithConfig; 12use embassy_embedded_hal::shared_bus::blocking::spi::SpiDeviceWithConfig;
13use embassy_executor::Spawner; 13use embassy_executor::Spawner;
14use embassy_rp::block::ImageDef;
14use embassy_rp::gpio::{Level, Output}; 15use embassy_rp::gpio::{Level, Output};
15use embassy_rp::spi; 16use embassy_rp::spi;
16use embassy_rp::spi::{Blocking, Spi}; 17use embassy_rp::spi::{Blocking, Spi};
@@ -26,7 +27,6 @@ use embedded_graphics::primitives::{PrimitiveStyleBuilder, Rectangle};
26use embedded_graphics::text::Text; 27use embedded_graphics::text::Text;
27use st7789::{Orientation, ST7789}; 28use st7789::{Orientation, ST7789};
28use {defmt_rtt as _, panic_probe as _}; 29use {defmt_rtt as _, panic_probe as _};
29use embassy_rp::block::ImageDef;
30 30
31#[link_section = ".start_block"] 31#[link_section = ".start_block"]
32#[used] 32#[used]
@@ -42,7 +42,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
42 embassy_rp::binary_info_rp_program_build_attribute!(), 42 embassy_rp::binary_info_rp_program_build_attribute!(),
43]; 43];
44 44
45
46use crate::my_display_interface::SPIDeviceInterface; 45use crate::my_display_interface::SPIDeviceInterface;
47use crate::touch::Touch; 46use crate::touch::Touch;
48 47
diff --git a/examples/rp23/src/bin/spi_sdmmc.rs b/examples/rp23/src/bin/spi_sdmmc.rs
index 992215b0d..d7af77a30 100644
--- a/examples/rp23/src/bin/spi_sdmmc.rs
+++ b/examples/rp23/src/bin/spi_sdmmc.rs
@@ -9,13 +9,13 @@
9use defmt::*; 9use defmt::*;
10use embassy_embedded_hal::SetConfig; 10use embassy_embedded_hal::SetConfig;
11use embassy_executor::Spawner; 11use embassy_executor::Spawner;
12use embassy_rp::block::ImageDef;
12use embassy_rp::spi::Spi; 13use embassy_rp::spi::Spi;
13use embassy_rp::{gpio, spi}; 14use embassy_rp::{gpio, spi};
14use embedded_hal_bus::spi::ExclusiveDevice; 15use embedded_hal_bus::spi::ExclusiveDevice;
15use embedded_sdmmc::sdcard::{DummyCsPin, SdCard}; 16use embedded_sdmmc::sdcard::{DummyCsPin, SdCard};
16use gpio::{Level, Output}; 17use gpio::{Level, Output};
17use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
18use embassy_rp::block::ImageDef;
19 19
20#[link_section = ".start_block"] 20#[link_section = ".start_block"]
21#[used] 21#[used]
@@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
31 embassy_rp::binary_info_rp_program_build_attribute!(), 31 embassy_rp::binary_info_rp_program_build_attribute!(),
32]; 32];
33 33
34
35struct DummyTimesource(); 34struct DummyTimesource();
36 35
37impl embedded_sdmmc::TimeSource for DummyTimesource { 36impl embedded_sdmmc::TimeSource for DummyTimesource {
diff --git a/examples/rp23/src/bin/uart.rs b/examples/rp23/src/bin/uart.rs
index 7b82fa350..ae00f36dc 100644
--- a/examples/rp23/src/bin/uart.rs
+++ b/examples/rp23/src/bin/uart.rs
@@ -8,9 +8,9 @@
8#![no_main] 8#![no_main]
9 9
10use embassy_executor::Spawner; 10use embassy_executor::Spawner;
11use embassy_rp::block::ImageDef;
11use embassy_rp::uart; 12use embassy_rp::uart;
12use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
13use embassy_rp::block::ImageDef;
14 14
15#[link_section = ".start_block"] 15#[link_section = ".start_block"]
16#[used] 16#[used]
diff --git a/examples/rp23/src/bin/uart_buffered_split.rs b/examples/rp23/src/bin/uart_buffered_split.rs
index f7acdade9..2b14520d5 100644
--- a/examples/rp23/src/bin/uart_buffered_split.rs
+++ b/examples/rp23/src/bin/uart_buffered_split.rs
@@ -10,13 +10,13 @@
10use defmt::*; 10use defmt::*;
11use embassy_executor::Spawner; 11use embassy_executor::Spawner;
12use embassy_rp::bind_interrupts; 12use embassy_rp::bind_interrupts;
13use embassy_rp::block::ImageDef;
13use embassy_rp::peripherals::UART0; 14use embassy_rp::peripherals::UART0;
14use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config}; 15use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config};
15use embassy_time::Timer; 16use embassy_time::Timer;
16use embedded_io_async::{Read, Write}; 17use embedded_io_async::{Read, Write};
17use static_cell::StaticCell; 18use static_cell::StaticCell;
18use {defmt_rtt as _, panic_probe as _}; 19use {defmt_rtt as _, panic_probe as _};
19use embassy_rp::block::ImageDef;
20 20
21#[link_section = ".start_block"] 21#[link_section = ".start_block"]
22#[used] 22#[used]
@@ -32,7 +32,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
32 embassy_rp::binary_info_rp_program_build_attribute!(), 32 embassy_rp::binary_info_rp_program_build_attribute!(),
33]; 33];
34 34
35
36bind_interrupts!(struct Irqs { 35bind_interrupts!(struct Irqs {
37 UART0_IRQ => BufferedInterruptHandler<UART0>; 36 UART0_IRQ => BufferedInterruptHandler<UART0>;
38}); 37});
diff --git a/examples/rp23/src/bin/uart_r503.rs b/examples/rp23/src/bin/uart_r503.rs
index 69f6dbbff..39a17d305 100644
--- a/examples/rp23/src/bin/uart_r503.rs
+++ b/examples/rp23/src/bin/uart_r503.rs
@@ -4,12 +4,12 @@
4use defmt::{debug, error, info}; 4use defmt::{debug, error, info};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_rp::bind_interrupts; 6use embassy_rp::bind_interrupts;
7use embassy_rp::block::ImageDef;
7use embassy_rp::peripherals::UART0; 8use embassy_rp::peripherals::UART0;
8use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart}; 9use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart};
9use embassy_time::{with_timeout, Duration, Timer}; 10use embassy_time::{with_timeout, Duration, Timer};
10use heapless::Vec; 11use heapless::Vec;
11use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
12use embassy_rp::block::ImageDef;
13 13
14#[link_section = ".start_block"] 14#[link_section = ".start_block"]
15#[used] 15#[used]
@@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
25 embassy_rp::binary_info_rp_program_build_attribute!(), 25 embassy_rp::binary_info_rp_program_build_attribute!(),
26]; 26];
27 27
28
29bind_interrupts!(pub struct Irqs { 28bind_interrupts!(pub struct Irqs {
30 UART0_IRQ => UARTInterruptHandler<UART0>; 29 UART0_IRQ => UARTInterruptHandler<UART0>;
31}); 30});
diff --git a/examples/rp23/src/bin/uart_unidir.rs b/examples/rp23/src/bin/uart_unidir.rs
index 4d3163285..38210a8d0 100644
--- a/examples/rp23/src/bin/uart_unidir.rs
+++ b/examples/rp23/src/bin/uart_unidir.rs
@@ -11,11 +11,11 @@
11use defmt::*; 11use defmt::*;
12use embassy_executor::Spawner; 12use embassy_executor::Spawner;
13use embassy_rp::bind_interrupts; 13use embassy_rp::bind_interrupts;
14use embassy_rp::block::ImageDef;
14use embassy_rp::peripherals::UART1; 15use embassy_rp::peripherals::UART1;
15use embassy_rp::uart::{Async, Config, InterruptHandler, UartRx, UartTx}; 16use embassy_rp::uart::{Async, Config, InterruptHandler, UartRx, UartTx};
16use embassy_time::Timer; 17use embassy_time::Timer;
17use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
18use embassy_rp::block::ImageDef;
19 19
20#[link_section = ".start_block"] 20#[link_section = ".start_block"]
21#[used] 21#[used]
@@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
31 embassy_rp::binary_info_rp_program_build_attribute!(), 31 embassy_rp::binary_info_rp_program_build_attribute!(),
32]; 32];
33 33
34
35bind_interrupts!(struct Irqs { 34bind_interrupts!(struct Irqs {
36 UART1_IRQ => InterruptHandler<UART1>; 35 UART1_IRQ => InterruptHandler<UART1>;
37}); 36});
diff --git a/examples/rp23/src/bin/usb_webusb.rs b/examples/rp23/src/bin/usb_webusb.rs
index c9cab45c1..f4ecde30e 100644
--- a/examples/rp23/src/bin/usb_webusb.rs
+++ b/examples/rp23/src/bin/usb_webusb.rs
@@ -21,6 +21,7 @@ use defmt::info;
21use embassy_executor::Spawner; 21use embassy_executor::Spawner;
22use embassy_futures::join::join; 22use embassy_futures::join::join;
23use embassy_rp::bind_interrupts; 23use embassy_rp::bind_interrupts;
24use embassy_rp::block::ImageDef;
24use embassy_rp::peripherals::USB; 25use embassy_rp::peripherals::USB;
25use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler}; 26use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler};
26use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb}; 27use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb};
@@ -28,7 +29,6 @@ use embassy_usb::driver::{Driver, Endpoint, EndpointIn, EndpointOut};
28use embassy_usb::msos::{self, windows_version}; 29use embassy_usb::msos::{self, windows_version};
29use embassy_usb::{Builder, Config}; 30use embassy_usb::{Builder, Config};
30use {defmt_rtt as _, panic_probe as _}; 31use {defmt_rtt as _, panic_probe as _};
31use embassy_rp::block::ImageDef;
32 32
33#[link_section = ".start_block"] 33#[link_section = ".start_block"]
34#[used] 34#[used]
@@ -44,7 +44,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
44 embassy_rp::binary_info_rp_program_build_attribute!(), 44 embassy_rp::binary_info_rp_program_build_attribute!(),
45]; 45];
46 46
47
48bind_interrupts!(struct Irqs { 47bind_interrupts!(struct Irqs {
49 USBCTRL_IRQ => InterruptHandler<USB>; 48 USBCTRL_IRQ => InterruptHandler<USB>;
50}); 49});
diff --git a/examples/rp23/src/bin/watchdog.rs b/examples/rp23/src/bin/watchdog.rs
index 8cc723150..3ac457219 100644
--- a/examples/rp23/src/bin/watchdog.rs
+++ b/examples/rp23/src/bin/watchdog.rs
@@ -7,12 +7,12 @@
7 7
8use defmt::info; 8use defmt::info;
9use embassy_executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_rp::block::ImageDef;
10use embassy_rp::gpio; 11use embassy_rp::gpio;
11use embassy_rp::watchdog::*; 12use embassy_rp::watchdog::*;
12use embassy_time::{Duration, Timer}; 13use embassy_time::{Duration, Timer};
13use gpio::{Level, Output}; 14use gpio::{Level, Output};
14use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
15use embassy_rp::block::ImageDef;
16 16
17#[link_section = ".start_block"] 17#[link_section = ".start_block"]
18#[used] 18#[used]
@@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
28 embassy_rp::binary_info_rp_program_build_attribute!(), 28 embassy_rp::binary_info_rp_program_build_attribute!(),
29]; 29];
30 30
31
32#[embassy_executor::main] 31#[embassy_executor::main]
33async fn main(_spawner: Spawner) { 32async fn main(_spawner: Spawner) {
34 let p = embassy_rp::init(Default::default()); 33 let p = embassy_rp::init(Default::default());
diff --git a/examples/rp23/src/bin/zerocopy.rs b/examples/rp23/src/bin/zerocopy.rs
index e379d9c00..d04e1bf2a 100644
--- a/examples/rp23/src/bin/zerocopy.rs
+++ b/examples/rp23/src/bin/zerocopy.rs
@@ -10,6 +10,7 @@ use defmt::*;
10use embassy_executor::Spawner; 10use embassy_executor::Spawner;
11use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler}; 11use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler};
12use embassy_rp::bind_interrupts; 12use embassy_rp::bind_interrupts;
13use embassy_rp::block::ImageDef;
13use embassy_rp::gpio::Pull; 14use embassy_rp::gpio::Pull;
14use embassy_rp::peripherals::DMA_CH0; 15use embassy_rp::peripherals::DMA_CH0;
15use embassy_sync::blocking_mutex::raw::NoopRawMutex; 16use embassy_sync::blocking_mutex::raw::NoopRawMutex;
@@ -17,7 +18,6 @@ use embassy_sync::zerocopy_channel::{Channel, Receiver, Sender};
17use embassy_time::{Duration, Ticker, Timer}; 18use embassy_time::{Duration, Ticker, Timer};
18use static_cell::StaticCell; 19use static_cell::StaticCell;
19use {defmt_rtt as _, panic_probe as _}; 20use {defmt_rtt as _, panic_probe as _};
20use embassy_rp::block::ImageDef;
21 21
22#[link_section = ".start_block"] 22#[link_section = ".start_block"]
23#[used] 23#[used]
@@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [
33 embassy_rp::binary_info_rp_program_build_attribute!(), 33 embassy_rp::binary_info_rp_program_build_attribute!(),
34]; 34];
35 35
36
37type SampleBuffer = [u16; 512]; 36type SampleBuffer = [u16; 512];
38 37
39bind_interrupts!(struct Irqs { 38bind_interrupts!(struct Irqs {