diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-06-01 01:32:11 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-06-01 01:42:34 +0200 |
| commit | 1d8321b821d114b369d5a087a1a7a6600228b032 (patch) | |
| tree | 605b3eb96ea10120f7e8bf0741bcc34daab8e9ec /examples/rp/src/bin/uart_buffered_split.rs | |
| parent | d7d66bd74f2ef1bc8903b15df630ddbb8fe97df4 (diff) | |
Use make_static! from static-cell v1.1
Diffstat (limited to 'examples/rp/src/bin/uart_buffered_split.rs')
| -rw-r--r-- | examples/rp/src/bin/uart_buffered_split.rs | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/examples/rp/src/bin/uart_buffered_split.rs b/examples/rp/src/bin/uart_buffered_split.rs index d6f01b4de..9df99bd58 100644 --- a/examples/rp/src/bin/uart_buffered_split.rs +++ b/examples/rp/src/bin/uart_buffered_split.rs | |||
| @@ -4,34 +4,25 @@ | |||
| 4 | 4 | ||
| 5 | use defmt::*; | 5 | use defmt::*; |
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_executor::_export::StaticCell; | ||
| 8 | use embassy_rp::bind_interrupts; | 7 | use embassy_rp::bind_interrupts; |
| 9 | use embassy_rp::peripherals::UART0; | 8 | use embassy_rp::peripherals::UART0; |
| 10 | use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config}; | 9 | use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config}; |
| 11 | use embassy_time::{Duration, Timer}; | 10 | use embassy_time::{Duration, Timer}; |
| 12 | use embedded_io::asynch::{Read, Write}; | 11 | use embedded_io::asynch::{Read, Write}; |
| 12 | use static_cell::make_static; | ||
| 13 | use {defmt_rtt as _, panic_probe as _}; | 13 | use {defmt_rtt as _, panic_probe as _}; |
| 14 | 14 | ||
| 15 | bind_interrupts!(struct Irqs { | 15 | bind_interrupts!(struct Irqs { |
| 16 | UART0_IRQ => BufferedInterruptHandler<UART0>; | 16 | UART0_IRQ => BufferedInterruptHandler<UART0>; |
| 17 | }); | 17 | }); |
| 18 | 18 | ||
| 19 | macro_rules! singleton { | ||
| 20 | ($val:expr) => {{ | ||
| 21 | type T = impl Sized; | ||
| 22 | static STATIC_CELL: StaticCell<T> = StaticCell::new(); | ||
| 23 | let (x,) = STATIC_CELL.init(($val,)); | ||
| 24 | x | ||
| 25 | }}; | ||
| 26 | } | ||
| 27 | |||
| 28 | #[embassy_executor::main] | 19 | #[embassy_executor::main] |
| 29 | async fn main(spawner: Spawner) { | 20 | async fn main(spawner: Spawner) { |
| 30 | let p = embassy_rp::init(Default::default()); | 21 | let p = embassy_rp::init(Default::default()); |
| 31 | let (tx_pin, rx_pin, uart) = (p.PIN_0, p.PIN_1, p.UART0); | 22 | let (tx_pin, rx_pin, uart) = (p.PIN_0, p.PIN_1, p.UART0); |
| 32 | 23 | ||
| 33 | let tx_buf = &mut singleton!([0u8; 16])[..]; | 24 | let tx_buf = &mut make_static!([0u8; 16])[..]; |
| 34 | let rx_buf = &mut singleton!([0u8; 16])[..]; | 25 | let rx_buf = &mut make_static!([0u8; 16])[..]; |
| 35 | let uart = BufferedUart::new(uart, Irqs, tx_pin, rx_pin, tx_buf, rx_buf, Config::default()); | 26 | let uart = BufferedUart::new(uart, Irqs, tx_pin, rx_pin, tx_buf, rx_buf, Config::default()); |
| 36 | let (rx, mut tx) = uart.split(); | 27 | let (rx, mut tx) = uart.split(); |
| 37 | 28 | ||
