diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/nrf/src/bin/usb_hid.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/examples/nrf/src/bin/usb_hid.rs b/examples/nrf/src/bin/usb_hid.rs index 1fd056d00..11c2d71ad 100644 --- a/examples/nrf/src/bin/usb_hid.rs +++ b/examples/nrf/src/bin/usb_hid.rs | |||
| @@ -14,6 +14,7 @@ use embassy_nrf::interrupt; | |||
| 14 | use embassy_nrf::pac; | 14 | use embassy_nrf::pac; |
| 15 | use embassy_nrf::usb::Driver; | 15 | use embassy_nrf::usb::Driver; |
| 16 | use embassy_nrf::Peripherals; | 16 | use embassy_nrf::Peripherals; |
| 17 | use embassy_usb::control::OutResponse; | ||
| 17 | use embassy_usb::{Config, UsbDeviceBuilder}; | 18 | use embassy_usb::{Config, UsbDeviceBuilder}; |
| 18 | use embassy_usb_hid::{HidClass, ReportId, RequestHandler, State}; | 19 | use embassy_usb_hid::{HidClass, ReportId, RequestHandler, State}; |
| 19 | use futures::future::join; | 20 | use futures::future::join; |
| @@ -51,7 +52,7 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 51 | let mut control_buf = [0; 16]; | 52 | let mut control_buf = [0; 16]; |
| 52 | let request_handler = MyRequestHandler {}; | 53 | let request_handler = MyRequestHandler {}; |
| 53 | 54 | ||
| 54 | let mut state = State::<5, 0, 0>::new(); | 55 | let mut state = State::<5, 0>::new(); |
| 55 | 56 | ||
| 56 | let mut builder = UsbDeviceBuilder::new( | 57 | let mut builder = UsbDeviceBuilder::new( |
| 57 | driver, | 58 | driver, |
| @@ -63,8 +64,7 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 63 | ); | 64 | ); |
| 64 | 65 | ||
| 65 | // Create classes on the builder. | 66 | // Create classes on the builder. |
| 66 | // let mut class = CdcAcmClass::new(&mut builder, &mut state, 64); | 67 | let mut hid = HidClass::new_ep_in( |
| 67 | let mut hid = HidClass::new( | ||
| 68 | &mut builder, | 68 | &mut builder, |
| 69 | &mut state, | 69 | &mut state, |
| 70 | MouseReport::desc(), | 70 | MouseReport::desc(), |
| @@ -120,6 +120,11 @@ impl RequestHandler for MyRequestHandler { | |||
| 120 | None | 120 | None |
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { | ||
| 124 | info!("Set report for {:?}: {=[u8]}", id, data); | ||
| 125 | OutResponse::Accepted | ||
| 126 | } | ||
| 127 | |||
| 123 | fn set_idle(&self, id: Option<ReportId>, dur: Duration) { | 128 | fn set_idle(&self, id: Option<ReportId>, dur: Duration) { |
| 124 | info!("Set idle rate for {:?} to {:?}", id, dur); | 129 | info!("Set idle rate for {:?} to {:?}", id, dur); |
| 125 | } | 130 | } |
