diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-04-23 17:42:56 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-23 17:42:56 +0000 |
| commit | 4d4cbc0dd3e84dfd7d29d1ecdd2b388568be081f (patch) | |
| tree | 6dd5a979f9a928b8a59f02668b6411009cf882cf /examples/stm32f4/src | |
| parent | 1de44e7086e05b148dec5cbe38a3971c08dea742 (diff) | |
| parent | ae4fb433aef33cfc7993516f880de85d87fa37d8 (diff) | |
Merge pull request #2812 from borisfaure/mut-hid-request-handler
usb::hid::RequestHandler::set_report(&mut self, ...)
Diffstat (limited to 'examples/stm32f4/src')
| -rw-r--r-- | examples/stm32f4/src/bin/usb_hid_keyboard.rs | 14 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_hid_mouse.rs | 12 |
2 files changed, 13 insertions, 13 deletions
diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 7067d15a3..d48ae4a17 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs | |||
| @@ -88,7 +88,7 @@ async fn main(_spawner: Spawner) { | |||
| 88 | let mut msos_descriptor = [0; 256]; | 88 | let mut msos_descriptor = [0; 256]; |
| 89 | let mut control_buf = [0; 64]; | 89 | let mut control_buf = [0; 64]; |
| 90 | 90 | ||
| 91 | let request_handler = MyRequestHandler {}; | 91 | let mut request_handler = MyRequestHandler {}; |
| 92 | let mut device_handler = MyDeviceHandler::new(); | 92 | let mut device_handler = MyDeviceHandler::new(); |
| 93 | 93 | ||
| 94 | let mut state = State::new(); | 94 | let mut state = State::new(); |
| @@ -107,7 +107,7 @@ async fn main(_spawner: Spawner) { | |||
| 107 | // Create classes on the builder. | 107 | // Create classes on the builder. |
| 108 | let config = embassy_usb::class::hid::Config { | 108 | let config = embassy_usb::class::hid::Config { |
| 109 | report_descriptor: KeyboardReport::desc(), | 109 | report_descriptor: KeyboardReport::desc(), |
| 110 | request_handler: Some(&request_handler), | 110 | request_handler: None, |
| 111 | poll_ms: 60, | 111 | poll_ms: 60, |
| 112 | max_packet_size: 8, | 112 | max_packet_size: 8, |
| 113 | }; | 113 | }; |
| @@ -160,7 +160,7 @@ async fn main(_spawner: Spawner) { | |||
| 160 | }; | 160 | }; |
| 161 | 161 | ||
| 162 | let out_fut = async { | 162 | let out_fut = async { |
| 163 | reader.run(false, &request_handler).await; | 163 | reader.run(false, &mut request_handler).await; |
| 164 | }; | 164 | }; |
| 165 | 165 | ||
| 166 | // Run everything concurrently. | 166 | // Run everything concurrently. |
| @@ -171,21 +171,21 @@ async fn main(_spawner: Spawner) { | |||
| 171 | struct MyRequestHandler {} | 171 | struct MyRequestHandler {} |
| 172 | 172 | ||
| 173 | impl RequestHandler for MyRequestHandler { | 173 | impl RequestHandler for MyRequestHandler { |
| 174 | fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { | 174 | fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { |
| 175 | info!("Get report for {:?}", id); | 175 | info!("Get report for {:?}", id); |
| 176 | None | 176 | None |
| 177 | } | 177 | } |
| 178 | 178 | ||
| 179 | fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { | 179 | fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { |
| 180 | info!("Set report for {:?}: {=[u8]}", id, data); | 180 | info!("Set report for {:?}: {=[u8]}", id, data); |
| 181 | OutResponse::Accepted | 181 | OutResponse::Accepted |
| 182 | } | 182 | } |
| 183 | 183 | ||
| 184 | fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { | 184 | fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) { |
| 185 | info!("Set idle rate for {:?} to {:?}", id, dur); | 185 | info!("Set idle rate for {:?} to {:?}", id, dur); |
| 186 | } | 186 | } |
| 187 | 187 | ||
| 188 | fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { | 188 | fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> { |
| 189 | info!("Get idle rate for {:?}", id); | 189 | info!("Get idle rate for {:?}", id); |
| 190 | None | 190 | None |
| 191 | } | 191 | } |
diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0d04d2a9c..c35f4b002 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs | |||
| @@ -81,7 +81,7 @@ async fn main(_spawner: Spawner) { | |||
| 81 | let mut bos_descriptor = [0; 256]; | 81 | let mut bos_descriptor = [0; 256]; |
| 82 | let mut control_buf = [0; 64]; | 82 | let mut control_buf = [0; 64]; |
| 83 | 83 | ||
| 84 | let request_handler = MyRequestHandler {}; | 84 | let mut request_handler = MyRequestHandler {}; |
| 85 | 85 | ||
| 86 | let mut state = State::new(); | 86 | let mut state = State::new(); |
| 87 | 87 | ||
| @@ -97,7 +97,7 @@ async fn main(_spawner: Spawner) { | |||
| 97 | // Create classes on the builder. | 97 | // Create classes on the builder. |
| 98 | let config = embassy_usb::class::hid::Config { | 98 | let config = embassy_usb::class::hid::Config { |
| 99 | report_descriptor: MouseReport::desc(), | 99 | report_descriptor: MouseReport::desc(), |
| 100 | request_handler: Some(&request_handler), | 100 | request_handler: Some(&mut request_handler), |
| 101 | poll_ms: 60, | 101 | poll_ms: 60, |
| 102 | max_packet_size: 8, | 102 | max_packet_size: 8, |
| 103 | }; | 103 | }; |
| @@ -139,21 +139,21 @@ async fn main(_spawner: Spawner) { | |||
| 139 | struct MyRequestHandler {} | 139 | struct MyRequestHandler {} |
| 140 | 140 | ||
| 141 | impl RequestHandler for MyRequestHandler { | 141 | impl RequestHandler for MyRequestHandler { |
| 142 | fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { | 142 | fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { |
| 143 | info!("Get report for {:?}", id); | 143 | info!("Get report for {:?}", id); |
| 144 | None | 144 | None |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { | 147 | fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { |
| 148 | info!("Set report for {:?}: {=[u8]}", id, data); | 148 | info!("Set report for {:?}: {=[u8]}", id, data); |
| 149 | OutResponse::Accepted | 149 | OutResponse::Accepted |
| 150 | } | 150 | } |
| 151 | 151 | ||
| 152 | fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { | 152 | fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) { |
| 153 | info!("Set idle rate for {:?} to {:?}", id, dur); | 153 | info!("Set idle rate for {:?} to {:?}", id, dur); |
| 154 | } | 154 | } |
| 155 | 155 | ||
| 156 | fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { | 156 | fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> { |
| 157 | info!("Get idle rate for {:?}", id); | 157 | info!("Get idle rate for {:?}", id); |
| 158 | None | 158 | None |
| 159 | } | 159 | } |
