aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f4/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-04-23 17:42:56 +0000
committerGitHub <[email protected]>2024-04-23 17:42:56 +0000
commit4d4cbc0dd3e84dfd7d29d1ecdd2b388568be081f (patch)
tree6dd5a979f9a928b8a59f02668b6411009cf882cf /examples/stm32f4/src
parent1de44e7086e05b148dec5cbe38a3971c08dea742 (diff)
parentae4fb433aef33cfc7993516f880de85d87fa37d8 (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.rs14
-rw-r--r--examples/stm32f4/src/bin/usb_hid_mouse.rs12
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) {
171struct MyRequestHandler {} 171struct MyRequestHandler {}
172 172
173impl RequestHandler for MyRequestHandler { 173impl 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) {
139struct MyRequestHandler {} 139struct MyRequestHandler {}
140 140
141impl RequestHandler for MyRequestHandler { 141impl 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 }