diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-03-05 21:50:15 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-03-06 00:17:51 +0100 |
| commit | d113fcfe326bd338df2db7733fcf0ae9f230c594 (patch) | |
| tree | 3f7ee9082c6185a4e14adeeeffaecc98ef3c86fc /examples/nrf52840/src/bin/usb_ethernet.rs | |
| parent | 96788ac93a1e98ef8d9d5e8d80d5102aef34d45d (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.rs | 8 |
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; | |||
| 10 | use embassy_net::{Stack, StackResources}; | 10 | use embassy_net::{Stack, StackResources}; |
| 11 | use embassy_nrf::rng::Rng; | 11 | use embassy_nrf::rng::Rng; |
| 12 | use embassy_nrf::usb::{Driver, HardwareVbusDetect}; | 12 | use embassy_nrf::usb::{Driver, HardwareVbusDetect}; |
| 13 | use embassy_nrf::{interrupt, pac, peripherals}; | 13 | use embassy_nrf::{bind_interrupts, interrupt, pac, peripherals, rng}; |
| 14 | use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState}; | 14 | use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState}; |
| 15 | use embassy_usb::class::cdc_ncm::{CdcNcmClass, State}; | 15 | use embassy_usb::class::cdc_ncm::{CdcNcmClass, State}; |
| 16 | use embassy_usb::{Builder, Config, UsbDevice}; | 16 | use embassy_usb::{Builder, Config, UsbDevice}; |
| @@ -18,6 +18,10 @@ use embedded_io::asynch::Write; | |||
| 18 | use static_cell::StaticCell; | 18 | use static_cell::StaticCell; |
| 19 | use {defmt_rtt as _, panic_probe as _}; | 19 | use {defmt_rtt as _, panic_probe as _}; |
| 20 | 20 | ||
| 21 | bind_interrupts!(struct Irqs { | ||
| 22 | RNG => rng::InterruptHandler<peripherals::RNG>; | ||
| 23 | }); | ||
| 24 | |||
| 21 | type MyDriver = Driver<'static, peripherals::USBD, HardwareVbusDetect>; | 25 | type MyDriver = Driver<'static, peripherals::USBD, HardwareVbusDetect>; |
| 22 | 26 | ||
| 23 | macro_rules! singleton { | 27 | macro_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); |
