diff options
Diffstat (limited to 'examples/nrf/src/bin')
| -rw-r--r-- | examples/nrf/src/bin/usb/main.rs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/examples/nrf/src/bin/usb/main.rs b/examples/nrf/src/bin/usb/main.rs index d175766bb..014ad5c6e 100644 --- a/examples/nrf/src/bin/usb/main.rs +++ b/examples/nrf/src/bin/usb/main.rs | |||
| @@ -10,13 +10,14 @@ mod cdc_acm; | |||
| 10 | use core::mem; | 10 | use core::mem; |
| 11 | use defmt::*; | 11 | use defmt::*; |
| 12 | use embassy::executor::Spawner; | 12 | use embassy::executor::Spawner; |
| 13 | use embassy::time::{Duration, Timer}; | ||
| 13 | use embassy_nrf::interrupt; | 14 | use embassy_nrf::interrupt; |
| 14 | use embassy_nrf::pac; | 15 | use embassy_nrf::pac; |
| 15 | use embassy_nrf::usb::{self, Driver}; | 16 | use embassy_nrf::usb::Driver; |
| 16 | use embassy_nrf::Peripherals; | 17 | use embassy_nrf::Peripherals; |
| 17 | use embassy_usb::driver::EndpointOut; | 18 | use embassy_usb::driver::{EndpointIn, EndpointOut}; |
| 18 | use embassy_usb::{Config, UsbDeviceBuilder}; | 19 | use embassy_usb::{Config, UsbDeviceBuilder}; |
| 19 | use futures::future::{join, select}; | 20 | use futures::future::join3; |
| 20 | 21 | ||
| 21 | use crate::cdc_acm::CdcAcmClass; | 22 | use crate::cdc_acm::CdcAcmClass; |
| 22 | 23 | ||
| @@ -61,6 +62,15 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 61 | info!("data: {:x}", data); | 62 | info!("data: {:x}", data); |
| 62 | } | 63 | } |
| 63 | }; | 64 | }; |
| 65 | let fut3 = async { | ||
| 66 | loop { | ||
| 67 | info!("writing..."); | ||
| 68 | class.write_ep.write(b"Hello World!\r\n").await.unwrap(); | ||
| 69 | info!("written"); | ||
| 70 | |||
| 71 | Timer::after(Duration::from_secs(1)).await; | ||
| 72 | } | ||
| 73 | }; | ||
| 64 | 74 | ||
| 65 | join(fut1, fut2).await; | 75 | join3(fut1, fut2, fut3).await; |
| 66 | } | 76 | } |
