aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-04-16 01:59:40 +0200
committerDario Nieuwenhuis <[email protected]>2022-04-16 01:59:40 +0200
commitc0de54a341dc40b600574a5009a3d4c54e52d5c8 (patch)
treea26059f90bfd8a2a1d204414415951593c6822a2 /examples/nrf/src
parent94090e068ec8c56e4fd6676330d87305c5dfee3e (diff)
usb-hid: Simplify API.
- Renamed structs to HidReaderWriter, HidReader, HidWriter. - Removed unused const generics on `State`. - Simplified generics on `HidReaderWriter`. The class type previously was `HidClass<D, Driver<'d, USBD>, ReportReader<'d, Driver<'d, USBD>, OUT_N>, IN_N>` It's now `HidClass<D, Driver<'d, USBD>, IN_N, OUT_N>`. Note that the driver type `Driver<'d, USBD>` is no longer repeated. - Constructors are now: `HidWriter::new()` for IN-only, `HidReaderWriter::new()` for IN+OUT. No complicated bounds. - HidReaderWriter has all the methods from HidReader, HidWriter.
Diffstat (limited to 'examples/nrf/src')
-rw-r--r--examples/nrf/src/bin/usb_hid_keyboard.rs14
-rw-r--r--examples/nrf/src/bin/usb_hid_mouse.rs8
2 files changed, 11 insertions, 11 deletions
diff --git a/examples/nrf/src/bin/usb_hid_keyboard.rs b/examples/nrf/src/bin/usb_hid_keyboard.rs
index 5f03f5126..4ed49d375 100644
--- a/examples/nrf/src/bin/usb_hid_keyboard.rs
+++ b/examples/nrf/src/bin/usb_hid_keyboard.rs
@@ -18,7 +18,7 @@ use embassy_nrf::usb::Driver;
18use embassy_nrf::Peripherals; 18use embassy_nrf::Peripherals;
19use embassy_usb::control::OutResponse; 19use embassy_usb::control::OutResponse;
20use embassy_usb::{Config, DeviceStateHandler, UsbDeviceBuilder}; 20use embassy_usb::{Config, DeviceStateHandler, UsbDeviceBuilder};
21use embassy_usb_hid::{HidClass, ReportId, RequestHandler, State}; 21use embassy_usb_hid::{HidReaderWriter, ReportId, RequestHandler, State};
22use futures::future::join; 22use futures::future::join;
23use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor}; 23use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor};
24 24
@@ -75,7 +75,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
75 let request_handler = MyRequestHandler {}; 75 let request_handler = MyRequestHandler {};
76 let device_state_handler = MyDeviceStateHandler::new(); 76 let device_state_handler = MyDeviceStateHandler::new();
77 77
78 let mut state = State::<8, 1>::new(); 78 let mut state = State::new();
79 79
80 let mut builder = UsbDeviceBuilder::new( 80 let mut builder = UsbDeviceBuilder::new(
81 driver, 81 driver,
@@ -88,7 +88,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
88 ); 88 );
89 89
90 // Create classes on the builder. 90 // Create classes on the builder.
91 let hid = HidClass::with_output_ep( 91 let hid = HidReaderWriter::<_, 1, 8>::new(
92 &mut builder, 92 &mut builder,
93 &mut state, 93 &mut state,
94 KeyboardReport::desc(), 94 KeyboardReport::desc(),
@@ -135,7 +135,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
135 135
136 let mut button = Input::new(p.P0_11.degrade(), Pull::Up); 136 let mut button = Input::new(p.P0_11.degrade(), Pull::Up);
137 137
138 let (mut hid_in, hid_out) = hid.split(); 138 let (reader, mut writer) = hid.split();
139 139
140 // Do stuff with the class! 140 // Do stuff with the class!
141 let in_fut = async { 141 let in_fut = async {
@@ -153,7 +153,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
153 modifier: 0, 153 modifier: 0,
154 reserved: 0, 154 reserved: 0,
155 }; 155 };
156 match hid_in.serialize(&report).await { 156 match writer.write_serialize(&report).await {
157 Ok(()) => {} 157 Ok(()) => {}
158 Err(e) => warn!("Failed to send report: {:?}", e), 158 Err(e) => warn!("Failed to send report: {:?}", e),
159 }; 159 };
@@ -167,7 +167,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
167 modifier: 0, 167 modifier: 0,
168 reserved: 0, 168 reserved: 0,
169 }; 169 };
170 match hid_in.serialize(&report).await { 170 match writer.write_serialize(&report).await {
171 Ok(()) => {} 171 Ok(()) => {}
172 Err(e) => warn!("Failed to send report: {:?}", e), 172 Err(e) => warn!("Failed to send report: {:?}", e),
173 }; 173 };
@@ -175,7 +175,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
175 }; 175 };
176 176
177 let out_fut = async { 177 let out_fut = async {
178 hid_out.run(false, &request_handler).await; 178 reader.run(false, &request_handler).await;
179 }; 179 };
180 180
181 let power_irq = interrupt::take!(POWER_CLOCK); 181 let power_irq = interrupt::take!(POWER_CLOCK);
diff --git a/examples/nrf/src/bin/usb_hid_mouse.rs b/examples/nrf/src/bin/usb_hid_mouse.rs
index fe27e76fb..bbdced745 100644
--- a/examples/nrf/src/bin/usb_hid_mouse.rs
+++ b/examples/nrf/src/bin/usb_hid_mouse.rs
@@ -13,7 +13,7 @@ use embassy_nrf::usb::Driver;
13use embassy_nrf::Peripherals; 13use embassy_nrf::Peripherals;
14use embassy_usb::control::OutResponse; 14use embassy_usb::control::OutResponse;
15use embassy_usb::{Config, UsbDeviceBuilder}; 15use embassy_usb::{Config, UsbDeviceBuilder};
16use embassy_usb_hid::{HidClass, ReportId, RequestHandler, State}; 16use embassy_usb_hid::{HidWriter, ReportId, RequestHandler, State};
17use futures::future::join; 17use futures::future::join;
18use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; 18use usbd_hid::descriptor::{MouseReport, SerializedDescriptor};
19 19
@@ -52,7 +52,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
52 let mut control_buf = [0; 16]; 52 let mut control_buf = [0; 16];
53 let request_handler = MyRequestHandler {}; 53 let request_handler = MyRequestHandler {};
54 54
55 let mut control = State::<5, 0>::new(); 55 let mut control = State::new();
56 56
57 let mut builder = UsbDeviceBuilder::new( 57 let mut builder = UsbDeviceBuilder::new(
58 driver, 58 driver,
@@ -65,7 +65,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
65 ); 65 );
66 66
67 // Create classes on the builder. 67 // Create classes on the builder.
68 let mut hid = HidClass::new( 68 let mut writer = HidWriter::<_, 5>::new(
69 &mut builder, 69 &mut builder,
70 &mut control, 70 &mut control,
71 MouseReport::desc(), 71 MouseReport::desc(),
@@ -94,7 +94,7 @@ async fn main(_spawner: Spawner, p: Peripherals) {
94 wheel: 0, 94 wheel: 0,
95 pan: 0, 95 pan: 0,
96 }; 96 };
97 match hid.input().serialize(&report).await { 97 match writer.write_serialize(&report).await {
98 Ok(()) => {} 98 Ok(()) => {}
99 Err(e) => warn!("Failed to send report: {:?}", e), 99 Err(e) => warn!("Failed to send report: {:?}", e),
100 } 100 }