From 0320500f0f14d03aecfe3ee7482a5cf76ec8844c Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Thu, 10 Mar 2022 01:05:33 +0100 Subject: Working CDC-ACM device->host --- examples/nrf/src/bin/usb/main.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'examples/nrf/src') 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; use core::mem; use defmt::*; use embassy::executor::Spawner; +use embassy::time::{Duration, Timer}; use embassy_nrf::interrupt; use embassy_nrf::pac; -use embassy_nrf::usb::{self, Driver}; +use embassy_nrf::usb::Driver; use embassy_nrf::Peripherals; -use embassy_usb::driver::EndpointOut; +use embassy_usb::driver::{EndpointIn, EndpointOut}; use embassy_usb::{Config, UsbDeviceBuilder}; -use futures::future::{join, select}; +use futures::future::join3; use crate::cdc_acm::CdcAcmClass; @@ -61,6 +62,15 @@ async fn main(_spawner: Spawner, p: Peripherals) { info!("data: {:x}", data); } }; + let fut3 = async { + loop { + info!("writing..."); + class.write_ep.write(b"Hello World!\r\n").await.unwrap(); + info!("written"); + + Timer::after(Duration::from_secs(1)).await; + } + }; - join(fut1, fut2).await; + join3(fut1, fut2, fut3).await; } -- cgit