aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-03-30 01:18:37 +0200
committerDario Nieuwenhuis <[email protected]>2022-04-06 05:38:11 +0200
commitd1e4b3d7d5a931cd6e04b7e2fe467945ef862477 (patch)
treeefe3199292133306c20b27da7442cadf8592f3b4 /embassy-nrf/src
parentc06488eb2978d9eaa8dc6a2669a6ce279638f4b2 (diff)
usb: add -usb-serial crate, fix warnings and stable build.
Diffstat (limited to 'embassy-nrf/src')
-rw-r--r--embassy-nrf/src/chips/nrf52820.rs1
-rw-r--r--embassy-nrf/src/chips/nrf52833.rs1
-rw-r--r--embassy-nrf/src/chips/nrf52840.rs1
-rw-r--r--embassy-nrf/src/chips/nrf5340_app.rs1
-rw-r--r--embassy-nrf/src/lib.rs1
-rw-r--r--embassy-nrf/src/usb.rs11
6 files changed, 12 insertions, 4 deletions
diff --git a/embassy-nrf/src/chips/nrf52820.rs b/embassy-nrf/src/chips/nrf52820.rs
index aa2b2e61d..136ef4ec9 100644
--- a/embassy-nrf/src/chips/nrf52820.rs
+++ b/embassy-nrf/src/chips/nrf52820.rs
@@ -125,6 +125,7 @@ embassy_hal_common::peripherals! {
125 TEMP, 125 TEMP,
126} 126}
127 127
128#[cfg(feature = "nightly")]
128impl_usb!(USBD, USBD, USBD); 129impl_usb!(USBD, USBD, USBD);
129 130
130impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 131impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
diff --git a/embassy-nrf/src/chips/nrf52833.rs b/embassy-nrf/src/chips/nrf52833.rs
index 498a3c307..35cf4224d 100644
--- a/embassy-nrf/src/chips/nrf52833.rs
+++ b/embassy-nrf/src/chips/nrf52833.rs
@@ -157,6 +157,7 @@ embassy_hal_common::peripherals! {
157 TEMP, 157 TEMP,
158} 158}
159 159
160#[cfg(feature = "nightly")]
160impl_usb!(USBD, USBD, USBD); 161impl_usb!(USBD, USBD, USBD);
161 162
162impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 163impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
diff --git a/embassy-nrf/src/chips/nrf52840.rs b/embassy-nrf/src/chips/nrf52840.rs
index 411768146..d20abbfbd 100644
--- a/embassy-nrf/src/chips/nrf52840.rs
+++ b/embassy-nrf/src/chips/nrf52840.rs
@@ -160,6 +160,7 @@ embassy_hal_common::peripherals! {
160 TEMP, 160 TEMP,
161} 161}
162 162
163#[cfg(feature = "nightly")]
163impl_usb!(USBD, USBD, USBD); 164impl_usb!(USBD, USBD, USBD);
164 165
165impl_uarte!(UARTE0, UARTE0, UARTE0_UART0); 166impl_uarte!(UARTE0, UARTE0, UARTE0_UART0);
diff --git a/embassy-nrf/src/chips/nrf5340_app.rs b/embassy-nrf/src/chips/nrf5340_app.rs
index ae6887b3c..89579b69f 100644
--- a/embassy-nrf/src/chips/nrf5340_app.rs
+++ b/embassy-nrf/src/chips/nrf5340_app.rs
@@ -348,6 +348,7 @@ embassy_hal_common::peripherals! {
348 P1_15, 348 P1_15,
349} 349}
350 350
351#[cfg(feature = "nightly")]
351impl_usb!(USBD, USBD, USBD); 352impl_usb!(USBD, USBD, USBD);
352 353
353impl_uarte!(UARTETWISPI0, UARTE0, SERIAL0); 354impl_uarte!(UARTETWISPI0, UARTE0, SERIAL0);
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs
index 06e8235e3..667e8ea38 100644
--- a/embassy-nrf/src/lib.rs
+++ b/embassy-nrf/src/lib.rs
@@ -91,6 +91,7 @@ pub mod uarte;
91 feature = "nrf52833", 91 feature = "nrf52833",
92 feature = "nrf52840" 92 feature = "nrf52840"
93))] 93))]
94#[cfg(feature = "nightly")]
94pub mod usb; 95pub mod usb;
95#[cfg(not(feature = "_nrf5340"))] 96#[cfg(not(feature = "_nrf5340"))]
96pub mod wdt; 97pub mod wdt;
diff --git a/embassy-nrf/src/usb.rs b/embassy-nrf/src/usb.rs
index 1cd5a9ebb..b26e40272 100644
--- a/embassy-nrf/src/usb.rs
+++ b/embassy-nrf/src/usb.rs
@@ -4,6 +4,7 @@ use core::marker::PhantomData;
4use core::mem::MaybeUninit; 4use core::mem::MaybeUninit;
5use core::sync::atomic::{compiler_fence, AtomicU32, Ordering}; 5use core::sync::atomic::{compiler_fence, AtomicU32, Ordering};
6use core::task::Poll; 6use core::task::Poll;
7use cortex_m::peripheral::NVIC;
7use embassy::interrupt::InterruptExt; 8use embassy::interrupt::InterruptExt;
8use embassy::time::{with_timeout, Duration}; 9use embassy::time::{with_timeout, Duration};
9use embassy::util::Unborrow; 10use embassy::util::Unborrow;
@@ -14,7 +15,6 @@ use embassy_usb::driver::{self, Event, ReadError, WriteError};
14use embassy_usb::types::{EndpointAddress, EndpointInfo, EndpointType, UsbDirection}; 15use embassy_usb::types::{EndpointAddress, EndpointInfo, EndpointType, UsbDirection};
15use futures::future::poll_fn; 16use futures::future::poll_fn;
16use futures::Future; 17use futures::Future;
17use pac::NVIC;
18 18
19pub use embassy_usb; 19pub use embassy_usb;
20 20
@@ -617,7 +617,7 @@ impl<'d, T: Instance> driver::ControlPipe for ControlPipe<'d, T> {
617 fn data_out<'a>(&'a mut self, buf: &'a mut [u8]) -> Self::DataOutFuture<'a> { 617 fn data_out<'a>(&'a mut self, buf: &'a mut [u8]) -> Self::DataOutFuture<'a> {
618 async move { 618 async move {
619 let req = self.request.unwrap(); 619 let req = self.request.unwrap();
620 assert_eq!(req.direction, UsbDirection::Out); 620 assert!(req.direction == UsbDirection::Out);
621 assert!(req.length > 0); 621 assert!(req.length > 0);
622 622
623 let req_length = usize::from(req.length); 623 let req_length = usize::from(req.length);
@@ -644,9 +644,12 @@ impl<'d, T: Instance> driver::ControlPipe for ControlPipe<'d, T> {
644 644
645 fn accept_in<'a>(&'a mut self, buf: &'a [u8]) -> Self::AcceptInFuture<'a> { 645 fn accept_in<'a>(&'a mut self, buf: &'a [u8]) -> Self::AcceptInFuture<'a> {
646 async move { 646 async move {
647 info!("control accept {=[u8]:x}", buf); 647 #[cfg(feature = "defmt")]
648 info!("control accept {:x}", buf);
649 #[cfg(not(feature = "defmt"))]
650 info!("control accept {:x?}", buf);
648 let req = self.request.unwrap(); 651 let req = self.request.unwrap();
649 assert_eq!(req.direction, UsbDirection::In); 652 assert!(req.direction == UsbDirection::In);
650 653
651 let req_len = usize::from(req.length); 654 let req_len = usize::from(req.length);
652 let len = buf.len().min(req_len); 655 let len = buf.len().min(req_len);