aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf52840/src/bin/usb_ethernet.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-03-05 21:50:15 +0100
committerDario Nieuwenhuis <[email protected]>2023-03-06 00:17:51 +0100
commitd113fcfe326bd338df2db7733fcf0ae9f230c594 (patch)
tree3f7ee9082c6185a4e14adeeeffaecc98ef3c86fc /examples/nrf52840/src/bin/usb_ethernet.rs
parent96788ac93a1e98ef8d9d5e8d80d5102aef34d45d (diff)
nrf/rng: make available on all chips, use Instance trait, switch to new interrupt binding.
Diffstat (limited to 'examples/nrf52840/src/bin/usb_ethernet.rs')
-rw-r--r--examples/nrf52840/src/bin/usb_ethernet.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/examples/nrf52840/src/bin/usb_ethernet.rs b/examples/nrf52840/src/bin/usb_ethernet.rs
index 979780896..083a1cbb0 100644
--- a/examples/nrf52840/src/bin/usb_ethernet.rs
+++ b/examples/nrf52840/src/bin/usb_ethernet.rs
@@ -10,7 +10,7 @@ use embassy_net::tcp::TcpSocket;
10use embassy_net::{Stack, StackResources}; 10use embassy_net::{Stack, StackResources};
11use embassy_nrf::rng::Rng; 11use embassy_nrf::rng::Rng;
12use embassy_nrf::usb::{Driver, HardwareVbusDetect}; 12use embassy_nrf::usb::{Driver, HardwareVbusDetect};
13use embassy_nrf::{interrupt, pac, peripherals}; 13use embassy_nrf::{bind_interrupts, interrupt, pac, peripherals, rng};
14use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState}; 14use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState};
15use embassy_usb::class::cdc_ncm::{CdcNcmClass, State}; 15use embassy_usb::class::cdc_ncm::{CdcNcmClass, State};
16use embassy_usb::{Builder, Config, UsbDevice}; 16use embassy_usb::{Builder, Config, UsbDevice};
@@ -18,6 +18,10 @@ use embedded_io::asynch::Write;
18use static_cell::StaticCell; 18use static_cell::StaticCell;
19use {defmt_rtt as _, panic_probe as _}; 19use {defmt_rtt as _, panic_probe as _};
20 20
21bind_interrupts!(struct Irqs {
22 RNG => rng::InterruptHandler<peripherals::RNG>;
23});
24
21type MyDriver = Driver<'static, peripherals::USBD, HardwareVbusDetect>; 25type MyDriver = Driver<'static, peripherals::USBD, HardwareVbusDetect>;
22 26
23macro_rules! singleton { 27macro_rules! singleton {
@@ -108,7 +112,7 @@ async fn main(spawner: Spawner) {
108 //}); 112 //});
109 113
110 // Generate random seed 114 // Generate random seed
111 let mut rng = Rng::new(p.RNG, interrupt::take!(RNG)); 115 let mut rng = Rng::new(p.RNG, Irqs);
112 let mut seed = [0; 8]; 116 let mut seed = [0; 8];
113 rng.blocking_fill_bytes(&mut seed); 117 rng.blocking_fill_bytes(&mut seed);
114 let seed = u64::from_le_bytes(seed); 118 let seed = u64::from_le_bytes(seed);