aboutsummaryrefslogtreecommitdiff
path: root/tests/nrf/src
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nrf/src')
-rw-r--r--tests/nrf/src/bin/buffered_uart.rs14
-rw-r--r--tests/nrf/src/bin/buffered_uart_full.rs2
-rw-r--r--tests/nrf/src/bin/buffered_uart_halves.rs16
-rw-r--r--tests/nrf/src/bin/buffered_uart_spam.rs20
-rw-r--r--tests/nrf/src/bin/ethernet_enc28j60_perf.rs11
-rw-r--r--tests/nrf/src/bin/gpio.rs2
-rw-r--r--tests/nrf/src/bin/spim.rs42
-rw-r--r--tests/nrf/src/bin/uart_halves.rs14
-rw-r--r--tests/nrf/src/bin/uart_split.rs6
-rw-r--r--tests/nrf/src/bin/wifi_esp_hosted_perf.rs13
-rw-r--r--tests/nrf/src/common.rs35
11 files changed, 123 insertions, 52 deletions
diff --git a/tests/nrf/src/bin/buffered_uart.rs b/tests/nrf/src/bin/buffered_uart.rs
index 04f32832f..8c4827464 100644
--- a/tests/nrf/src/bin/buffered_uart.rs
+++ b/tests/nrf/src/bin/buffered_uart.rs
@@ -25,14 +25,14 @@ async fn main(_spawner: Spawner) {
25 // test teardown + recreate of the buffereduarte works fine. 25 // test teardown + recreate of the buffereduarte works fine.
26 for _ in 0..2 { 26 for _ in 0..2 {
27 let u = BufferedUarte::new( 27 let u = BufferedUarte::new(
28 &mut peri!(p, UART0), 28 peri!(p, UART0).reborrow(),
29 &mut p.TIMER0, 29 p.TIMER0.reborrow(),
30 &mut p.PPI_CH0, 30 p.PPI_CH0.reborrow(),
31 &mut p.PPI_CH1, 31 p.PPI_CH1.reborrow(),
32 &mut p.PPI_GROUP0, 32 p.PPI_GROUP0.reborrow(),
33 peri!(p, PIN_A).reborrow(),
34 peri!(p, PIN_B).reborrow(),
33 irqs!(UART0_BUFFERED), 35 irqs!(UART0_BUFFERED),
34 &mut peri!(p, PIN_A),
35 &mut peri!(p, PIN_B),
36 config.clone(), 36 config.clone(),
37 &mut rx_buffer, 37 &mut rx_buffer,
38 &mut tx_buffer, 38 &mut tx_buffer,
diff --git a/tests/nrf/src/bin/buffered_uart_full.rs b/tests/nrf/src/bin/buffered_uart_full.rs
index 09353bbe8..e0f41b891 100644
--- a/tests/nrf/src/bin/buffered_uart_full.rs
+++ b/tests/nrf/src/bin/buffered_uart_full.rs
@@ -28,9 +28,9 @@ async fn main(_spawner: Spawner) {
28 p.PPI_CH0, 28 p.PPI_CH0,
29 p.PPI_CH1, 29 p.PPI_CH1,
30 p.PPI_GROUP0, 30 p.PPI_GROUP0,
31 irqs!(UART0_BUFFERED),
32 peri!(p, PIN_A), 31 peri!(p, PIN_A),
33 peri!(p, PIN_B), 32 peri!(p, PIN_B),
33 irqs!(UART0_BUFFERED),
34 config.clone(), 34 config.clone(),
35 &mut rx_buffer, 35 &mut rx_buffer,
36 &mut tx_buffer, 36 &mut tx_buffer,
diff --git a/tests/nrf/src/bin/buffered_uart_halves.rs b/tests/nrf/src/bin/buffered_uart_halves.rs
index bdf5ad726..e6debd76e 100644
--- a/tests/nrf/src/bin/buffered_uart_halves.rs
+++ b/tests/nrf/src/bin/buffered_uart_halves.rs
@@ -27,21 +27,21 @@ async fn main(_spawner: Spawner) {
27 const COUNT: usize = 40_000; 27 const COUNT: usize = 40_000;
28 28
29 let mut tx = BufferedUarteTx::new( 29 let mut tx = BufferedUarteTx::new(
30 &mut peri!(p, UART1), 30 peri!(p, UART1).reborrow(),
31 peri!(p, PIN_A).reborrow(),
31 irqs!(UART1_BUFFERED), 32 irqs!(UART1_BUFFERED),
32 &mut peri!(p, PIN_A),
33 config.clone(), 33 config.clone(),
34 &mut tx_buffer, 34 &mut tx_buffer,
35 ); 35 );
36 36
37 let mut rx = BufferedUarteRx::new( 37 let mut rx = BufferedUarteRx::new(
38 &mut peri!(p, UART0), 38 peri!(p, UART0).reborrow(),
39 &mut p.TIMER0, 39 p.TIMER0.reborrow(),
40 &mut p.PPI_CH0, 40 p.PPI_CH0.reborrow(),
41 &mut p.PPI_CH1, 41 p.PPI_CH1.reborrow(),
42 &mut p.PPI_GROUP0, 42 p.PPI_GROUP0.reborrow(),
43 irqs!(UART0_BUFFERED), 43 irqs!(UART0_BUFFERED),
44 &mut peri!(p, PIN_B), 44 peri!(p, PIN_B).reborrow(),
45 config.clone(), 45 config.clone(),
46 &mut rx_buffer, 46 &mut rx_buffer,
47 ); 47 );
diff --git a/tests/nrf/src/bin/buffered_uart_spam.rs b/tests/nrf/src/bin/buffered_uart_spam.rs
index e8fca452e..24ddd06f3 100644
--- a/tests/nrf/src/bin/buffered_uart_spam.rs
+++ b/tests/nrf/src/bin/buffered_uart_spam.rs
@@ -27,7 +27,11 @@ async fn main(_spawner: Spawner) {
27 27
28 let mut rx_buffer = [0u8; 1024]; 28 let mut rx_buffer = [0u8; 1024];
29 29
30 mem::forget(Output::new(&mut peri!(p, PIN_A), Level::High, OutputDrive::Standard)); 30 mem::forget(Output::new(
31 peri!(p, PIN_A).reborrow(),
32 Level::High,
33 OutputDrive::Standard,
34 ));
31 35
32 let mut u = BufferedUarteRx::new( 36 let mut u = BufferedUarteRx::new(
33 peri!(p, UART0), 37 peri!(p, UART0),
@@ -50,15 +54,15 @@ async fn main(_spawner: Spawner) {
50 const NSPAM: usize = 17; 54 const NSPAM: usize = 17;
51 static mut TX_BUF: [u8; NSPAM] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; 55 static mut TX_BUF: [u8; NSPAM] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
52 let _spam = UarteTx::new(peri!(p, UART1), irqs!(UART1), peri!(p, PIN_A), config.clone()); 56 let _spam = UarteTx::new(peri!(p, UART1), irqs!(UART1), peri!(p, PIN_A), config.clone());
53 let spam_peri: pac::UARTE1 = unsafe { mem::transmute(()) }; 57 let spam_peri = pac::UARTE1;
54 let event = unsafe { Event::new_unchecked(NonNull::new_unchecked(&spam_peri.events_endtx as *const _ as _)) }; 58 let event = unsafe { Event::new_unchecked(NonNull::new_unchecked(spam_peri.events_endtx().as_ptr())) };
55 let task = unsafe { Task::new_unchecked(NonNull::new_unchecked(&spam_peri.tasks_starttx as *const _ as _)) }; 59 let task = unsafe { Task::new_unchecked(NonNull::new_unchecked(spam_peri.tasks_starttx().as_ptr())) };
56 let mut spam_ppi = Ppi::new_one_to_one(p.PPI_CH2, event, task); 60 let mut spam_ppi = Ppi::new_one_to_one(p.PPI_CH2, event, task);
57 spam_ppi.enable(); 61 spam_ppi.enable();
58 let p = unsafe { TX_BUF.as_mut_ptr() }; 62 let p = (&raw mut TX_BUF) as *mut u8;
59 spam_peri.txd.ptr.write(|w| unsafe { w.ptr().bits(p as u32) }); 63 spam_peri.txd().ptr().write_value(p as u32);
60 spam_peri.txd.maxcnt.write(|w| unsafe { w.maxcnt().bits(NSPAM as _) }); 64 spam_peri.txd().maxcnt().write(|w| w.set_maxcnt(NSPAM as _));
61 spam_peri.tasks_starttx.write(|w| unsafe { w.bits(1) }); 65 spam_peri.tasks_starttx().write_value(1);
62 66
63 let mut i = 0; 67 let mut i = 0;
64 let mut total = 0; 68 let mut total = 0;
diff --git a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
index 304754c0e..ed58627f1 100644
--- a/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
+++ b/tests/nrf/src/bin/ethernet_enc28j60_perf.rs
@@ -6,7 +6,7 @@ teleprobe_meta::timeout!(120);
6 6
7use defmt::{info, unwrap}; 7use defmt::{info, unwrap};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Stack, StackResources}; 9use embassy_net::StackResources;
10use embassy_net_enc28j60::Enc28j60; 10use embassy_net_enc28j60::Enc28j60;
11use embassy_nrf::gpio::{Level, Output, OutputDrive}; 11use embassy_nrf::gpio::{Level, Output, OutputDrive};
12use embassy_nrf::rng::Rng; 12use embassy_nrf::rng::Rng;
@@ -25,8 +25,8 @@ bind_interrupts!(struct Irqs {
25type MyDriver = Enc28j60<ExclusiveDevice<Spim<'static, peripherals::SPI3>, Output<'static>, Delay>, Output<'static>>; 25type MyDriver = Enc28j60<ExclusiveDevice<Spim<'static, peripherals::SPI3>, Output<'static>, Delay>, Output<'static>>;
26 26
27#[embassy_executor::task] 27#[embassy_executor::task]
28async fn net_task(stack: &'static Stack<MyDriver>) -> ! { 28async fn net_task(mut runner: embassy_net::Runner<'static, MyDriver>) -> ! {
29 stack.run().await 29 runner.run().await
30} 30}
31 31
32#[embassy_executor::main] 32#[embassy_executor::main]
@@ -65,11 +65,10 @@ async fn main(spawner: Spawner) {
65 let seed = u64::from_le_bytes(seed); 65 let seed = u64::from_le_bytes(seed);
66 66
67 // Init network stack 67 // Init network stack
68 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new();
69 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 68 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
70 let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); 69 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
71 70
72 unwrap!(spawner.spawn(net_task(stack))); 71 unwrap!(spawner.spawn(net_task(runner)));
73 72
74 perf_client::run( 73 perf_client::run(
75 stack, 74 stack,
diff --git a/tests/nrf/src/bin/gpio.rs b/tests/nrf/src/bin/gpio.rs
index 9e809a694..4995d244c 100644
--- a/tests/nrf/src/bin/gpio.rs
+++ b/tests/nrf/src/bin/gpio.rs
@@ -17,10 +17,12 @@ async fn main(_spawner: Spawner) {
17 let mut output = Output::new(peri!(p, PIN_B), Level::Low, OutputDrive::Standard); 17 let mut output = Output::new(peri!(p, PIN_B), Level::Low, OutputDrive::Standard);
18 18
19 output.set_low(); 19 output.set_low();
20 assert!(output.is_set_low());
20 Timer::after_millis(10).await; 21 Timer::after_millis(10).await;
21 assert!(input.is_low()); 22 assert!(input.is_low());
22 23
23 output.set_high(); 24 output.set_high();
25 assert!(output.is_set_high());
24 Timer::after_millis(10).await; 26 Timer::after_millis(10).await;
25 assert!(input.is_high()); 27 assert!(input.is_high());
26 28
diff --git a/tests/nrf/src/bin/spim.rs b/tests/nrf/src/bin/spim.rs
new file mode 100644
index 000000000..2b38f0409
--- /dev/null
+++ b/tests/nrf/src/bin/spim.rs
@@ -0,0 +1,42 @@
1// required-features: easydma
2#![no_std]
3#![no_main]
4
5#[path = "../common.rs"]
6mod common;
7
8use defmt::{assert_eq, *};
9use embassy_executor::Spawner;
10use embassy_nrf::spim::Spim;
11use embassy_nrf::{peripherals, spim};
12use {defmt_rtt as _, panic_probe as _};
13
14#[embassy_executor::main]
15async fn main(_spawner: Spawner) {
16 let mut p = embassy_nrf::init(Default::default());
17 let mut config = spim::Config::default();
18 config.frequency = spim::Frequency::M1;
19 let mut spim = Spim::new(
20 peri!(p, SPIM0).reborrow(),
21 irqs!(SPIM0),
22 peri!(p, PIN_X).reborrow(),
23 peri!(p, PIN_A).reborrow(), // MISO
24 peri!(p, PIN_B).reborrow(), // MOSI
25 config.clone(),
26 );
27 let data = [
28 0x42, 0x43, 0x44, 0x45, 0x66, 0x12, 0x23, 0x34, 0x45, 0x19, 0x91, 0xaa, 0xff, 0xa5, 0x5a, 0x77,
29 ];
30 let mut buf = [0u8; 16];
31
32 buf.fill(0);
33 spim.blocking_transfer(&mut buf, &data).unwrap();
34 assert_eq!(data, buf);
35
36 buf.fill(0);
37 spim.transfer(&mut buf, &data).await.unwrap();
38 assert_eq!(data, buf);
39
40 info!("Test OK");
41 cortex_m::asm::bkpt();
42}
diff --git a/tests/nrf/src/bin/uart_halves.rs b/tests/nrf/src/bin/uart_halves.rs
index f48ea43a1..a462f80ce 100644
--- a/tests/nrf/src/bin/uart_halves.rs
+++ b/tests/nrf/src/bin/uart_halves.rs
@@ -19,8 +19,18 @@ async fn main(_spawner: Spawner) {
19 config.parity = uarte::Parity::EXCLUDED; 19 config.parity = uarte::Parity::EXCLUDED;
20 config.baudrate = uarte::Baudrate::BAUD1M; 20 config.baudrate = uarte::Baudrate::BAUD1M;
21 21
22 let mut tx = UarteTx::new(&mut peri!(p, UART0), irqs!(UART0), &mut peri!(p, PIN_A), config.clone()); 22 let mut tx = UarteTx::new(
23 let mut rx = UarteRx::new(&mut peri!(p, UART1), irqs!(UART1), &mut peri!(p, PIN_B), config.clone()); 23 peri!(p, UART0).reborrow(),
24 irqs!(UART0),
25 peri!(p, PIN_A).reborrow(),
26 config.clone(),
27 );
28 let mut rx = UarteRx::new(
29 peri!(p, UART1).reborrow(),
30 irqs!(UART1),
31 peri!(p, PIN_B).reborrow(),
32 config.clone(),
33 );
24 34
25 let data = [ 35 let data = [
26 0x42, 0x43, 0x44, 0x45, 0x66, 0x12, 0x23, 0x34, 0x45, 0x19, 0x91, 0xaa, 0xff, 0xa5, 0x5a, 0x77, 36 0x42, 0x43, 0x44, 0x45, 0x66, 0x12, 0x23, 0x34, 0x45, 0x19, 0x91, 0xaa, 0xff, 0xa5, 0x5a, 0x77,
diff --git a/tests/nrf/src/bin/uart_split.rs b/tests/nrf/src/bin/uart_split.rs
index 70d8b2e33..8fe710068 100644
--- a/tests/nrf/src/bin/uart_split.rs
+++ b/tests/nrf/src/bin/uart_split.rs
@@ -21,10 +21,10 @@ async fn main(_spawner: Spawner) {
21 config.baudrate = uarte::Baudrate::BAUD9600; 21 config.baudrate = uarte::Baudrate::BAUD9600;
22 22
23 let uarte = Uarte::new( 23 let uarte = Uarte::new(
24 &mut peri!(p, UART0), 24 peri!(p, UART0).reborrow(),
25 peri!(p, PIN_A).reborrow(),
26 peri!(p, PIN_B).reborrow(),
25 irqs!(UART0), 27 irqs!(UART0),
26 &mut peri!(p, PIN_A),
27 &mut peri!(p, PIN_B),
28 config.clone(), 28 config.clone(),
29 ); 29 );
30 let (mut tx, mut rx) = uarte.split(); 30 let (mut tx, mut rx) = uarte.split();
diff --git a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
index 6632442f1..34fb8103b 100644
--- a/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
+++ b/tests/nrf/src/bin/wifi_esp_hosted_perf.rs
@@ -6,7 +6,7 @@ teleprobe_meta::timeout!(120);
6 6
7use defmt::{info, unwrap}; 7use defmt::{info, unwrap};
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_net::{Config, Stack, StackResources}; 9use embassy_net::{Config, StackResources};
10use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; 10use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull};
11use embassy_nrf::rng::Rng; 11use embassy_nrf::rng::Rng;
12use embassy_nrf::spim::{self, Spim}; 12use embassy_nrf::spim::{self, Spim};
@@ -40,8 +40,8 @@ async fn wifi_task(
40type MyDriver = hosted::NetDriver<'static>; 40type MyDriver = hosted::NetDriver<'static>;
41 41
42#[embassy_executor::task] 42#[embassy_executor::task]
43async fn net_task(stack: &'static Stack<MyDriver>) -> ! { 43async fn net_task(mut runner: embassy_net::Runner<'static, MyDriver>) -> ! {
44 stack.run().await 44 runner.run().await
45} 45}
46 46
47#[embassy_executor::main] 47#[embassy_executor::main]
@@ -86,16 +86,15 @@ async fn main(spawner: Spawner) {
86 let seed = u64::from_le_bytes(seed); 86 let seed = u64::from_le_bytes(seed);
87 87
88 // Init network stack 88 // Init network stack
89 static STACK: StaticCell<Stack<MyDriver>> = StaticCell::new();
90 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new(); 89 static RESOURCES: StaticCell<StackResources<2>> = StaticCell::new();
91 let stack = &*STACK.init(Stack::new( 90 let (stack, runner) = embassy_net::new(
92 device, 91 device,
93 Config::dhcpv4(Default::default()), 92 Config::dhcpv4(Default::default()),
94 RESOURCES.init(StackResources::new()), 93 RESOURCES.init(StackResources::new()),
95 seed, 94 seed,
96 )); 95 );
97 96
98 unwrap!(spawner.spawn(net_task(stack))); 97 unwrap!(spawner.spawn(net_task(runner)));
99 98
100 perf_client::run( 99 perf_client::run(
101 stack, 100 stack,
diff --git a/tests/nrf/src/common.rs b/tests/nrf/src/common.rs
index ff5299b0f..ebd332d15 100644
--- a/tests/nrf/src/common.rs
+++ b/tests/nrf/src/common.rs
@@ -52,51 +52,66 @@ define_peris!(PIN_A = P0_13, PIN_B = P0_14,);
52#[cfg(feature = "nrf52832")] 52#[cfg(feature = "nrf52832")]
53define_peris!( 53define_peris!(
54 PIN_A = P0_11, PIN_B = P0_12, 54 PIN_A = P0_11, PIN_B = P0_12,
55 PIN_X = P0_13,
55 UART0 = UARTE0, 56 UART0 = UARTE0,
56 @irq UART0 = {UARTE0_UART0 => uarte::InterruptHandler<peripherals::UARTE0>;}, 57 SPIM0 = TWISPI0,
57 @irq UART0_BUFFERED = {UARTE0_UART0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;}, 58 @irq UART0 = {UARTE0 => uarte::InterruptHandler<peripherals::UARTE0>;},
59 @irq UART0_BUFFERED = {UARTE0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;},
60 @irq SPIM0 = {TWISPI0 => spim::InterruptHandler<peripherals::TWISPI0>;},
58); 61);
59 62
60#[cfg(feature = "nrf52833")] 63#[cfg(feature = "nrf52833")]
61define_peris!( 64define_peris!(
62 PIN_A = P1_01, PIN_B = P1_02, 65 PIN_A = P1_01, PIN_B = P1_02,
66 PIN_X = P1_03,
63 UART0 = UARTE0, 67 UART0 = UARTE0,
64 UART1 = UARTE1, 68 UART1 = UARTE1,
65 @irq UART0 = {UARTE0_UART0 => uarte::InterruptHandler<peripherals::UARTE0>;}, 69 SPIM0 = TWISPI0,
70 @irq UART0 = {UARTE0 => uarte::InterruptHandler<peripherals::UARTE0>;},
66 @irq UART1 = {UARTE1 => uarte::InterruptHandler<peripherals::UARTE1>;}, 71 @irq UART1 = {UARTE1 => uarte::InterruptHandler<peripherals::UARTE1>;},
67 @irq UART0_BUFFERED = {UARTE0_UART0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;}, 72 @irq UART0_BUFFERED = {UARTE0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;},
68 @irq UART1_BUFFERED = {UARTE1 => buffered_uarte::InterruptHandler<peripherals::UARTE1>;}, 73 @irq UART1_BUFFERED = {UARTE1 => buffered_uarte::InterruptHandler<peripherals::UARTE1>;},
74 @irq SPIM0 = {TWISPI0 => spim::InterruptHandler<peripherals::TWISPI0>;},
69); 75);
70 76
71#[cfg(feature = "nrf52840")] 77#[cfg(feature = "nrf52840")]
72define_peris!( 78define_peris!(
73 PIN_A = P1_02, PIN_B = P1_03, 79 PIN_A = P1_02, PIN_B = P1_03,
80 PIN_X = P1_04,
74 UART0 = UARTE0, 81 UART0 = UARTE0,
75 UART1 = UARTE1, 82 UART1 = UARTE1,
76 @irq UART0 = {UARTE0_UART0 => uarte::InterruptHandler<peripherals::UARTE0>;}, 83 SPIM0 = TWISPI0,
84 @irq UART0 = {UARTE0 => uarte::InterruptHandler<peripherals::UARTE0>;},
77 @irq UART1 = {UARTE1 => uarte::InterruptHandler<peripherals::UARTE1>;}, 85 @irq UART1 = {UARTE1 => uarte::InterruptHandler<peripherals::UARTE1>;},
78 @irq UART0_BUFFERED = {UARTE0_UART0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;}, 86 @irq UART0_BUFFERED = {UARTE0 => buffered_uarte::InterruptHandler<peripherals::UARTE0>;},
79 @irq UART1_BUFFERED = {UARTE1 => buffered_uarte::InterruptHandler<peripherals::UARTE1>;}, 87 @irq UART1_BUFFERED = {UARTE1 => buffered_uarte::InterruptHandler<peripherals::UARTE1>;},
88 @irq SPIM0 = {TWISPI0 => spim::InterruptHandler<peripherals::TWISPI0>;},
80); 89);
81 90
82#[cfg(feature = "nrf5340")] 91#[cfg(feature = "nrf5340")]
83define_peris!( 92define_peris!(
84 PIN_A = P1_08, PIN_B = P1_09, 93 PIN_A = P1_08, PIN_B = P1_09,
94 PIN_X = P1_10,
85 UART0 = SERIAL0, 95 UART0 = SERIAL0,
86 UART1 = SERIAL1, 96 UART1 = SERIAL1,
97 SPIM0 = SERIAL0,
87 @irq UART0 = {SERIAL0 => uarte::InterruptHandler<peripherals::SERIAL0>;}, 98 @irq UART0 = {SERIAL0 => uarte::InterruptHandler<peripherals::SERIAL0>;},
88 @irq UART1 = {SERIAL1 => uarte::InterruptHandler<peripherals::SERIAL1>;}, 99 @irq UART1 = {SERIAL1 => uarte::InterruptHandler<peripherals::SERIAL1>;},
89 @irq UART0_BUFFERED = {SERIAL0 => buffered_uarte::InterruptHandler<peripherals::SERIAL0>;}, 100 @irq UART0_BUFFERED = {SERIAL0 => buffered_uarte::InterruptHandler<peripherals::SERIAL0>;},
90 @irq UART1_BUFFERED = {SERIAL1 => buffered_uarte::InterruptHandler<peripherals::SERIAL1>;}, 101 @irq UART1_BUFFERED = {SERIAL1 => buffered_uarte::InterruptHandler<peripherals::SERIAL1>;},
102 @irq SPIM0 = {SERIAL0 => spim::InterruptHandler<peripherals::SERIAL0>;},
91); 103);
92 104
93#[cfg(feature = "nrf9160")] 105#[cfg(feature = "nrf9160")]
94define_peris!( 106define_peris!(
95 PIN_A = P0_00, PIN_B = P0_01, 107 PIN_A = P0_00, PIN_B = P0_01,
108 PIN_X = P0_02,
96 UART0 = SERIAL0, 109 UART0 = SERIAL0,
97 UART1 = SERIAL1, 110 UART1 = SERIAL1,
98 @irq UART0 = {UARTE0_SPIM0_SPIS0_TWIM0_TWIS0 => uarte::InterruptHandler<peripherals::SERIAL0>;}, 111 SPIM0 = SERIAL0,
99 @irq UART1 = {UARTE1_SPIM1_SPIS1_TWIM1_TWIS1 => uarte::InterruptHandler<peripherals::SERIAL1>;}, 112 @irq UART0 = {SERIAL0 => uarte::InterruptHandler<peripherals::SERIAL0>;},
100 @irq UART0_BUFFERED = {UARTE0_SPIM0_SPIS0_TWIM0_TWIS0 => buffered_uarte::InterruptHandler<peripherals::SERIAL0>;}, 113 @irq UART1 = {SERIAL1 => uarte::InterruptHandler<peripherals::SERIAL1>;},
101 @irq UART1_BUFFERED = {UARTE1_SPIM1_SPIS1_TWIM1_TWIS1 => buffered_uarte::InterruptHandler<peripherals::SERIAL1>;}, 114 @irq UART0_BUFFERED = {SERIAL0 => buffered_uarte::InterruptHandler<peripherals::SERIAL0>;},
115 @irq UART1_BUFFERED = {SERIAL1 => buffered_uarte::InterruptHandler<peripherals::SERIAL1>;},
116 @irq SPIM0 = {SERIAL0 => spim::InterruptHandler<peripherals::SERIAL0>;},
102); 117);