aboutsummaryrefslogtreecommitdiff
path: root/examples/rp/src/bin/usb_hid_mouse.rs
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/rp/src/bin/usb_hid_mouse.rs
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/rp/src/bin/usb_hid_mouse.rs')
-rw-r--r--examples/rp/src/bin/usb_hid_mouse.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs
index e8b399cb1..cce344fb0 100644
--- a/examples/rp/src/bin/usb_hid_mouse.rs
+++ b/examples/rp/src/bin/usb_hid_mouse.rs
@@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) {
44 // You can also add a Microsoft OS descriptor. 44 // You can also add a Microsoft OS descriptor.
45 let mut msos_descriptor = [0; 256]; 45 let mut msos_descriptor = [0; 256];
46 let mut control_buf = [0; 64]; 46 let mut control_buf = [0; 64];
47 let request_handler = MyRequestHandler {}; 47 let mut request_handler = MyRequestHandler {};
48 let mut device_handler = MyDeviceHandler::new(); 48 let mut device_handler = MyDeviceHandler::new();
49 49
50 let mut state = State::new(); 50 let mut state = State::new();
@@ -63,7 +63,7 @@ async fn main(_spawner: Spawner) {
63 // Create classes on the builder. 63 // Create classes on the builder.
64 let config = embassy_usb::class::hid::Config { 64 let config = embassy_usb::class::hid::Config {
65 report_descriptor: MouseReport::desc(), 65 report_descriptor: MouseReport::desc(),
66 request_handler: Some(&request_handler), 66 request_handler: None,
67 poll_ms: 60, 67 poll_ms: 60,
68 max_packet_size: 64, 68 max_packet_size: 64,
69 }; 69 };
@@ -106,7 +106,7 @@ async fn main(_spawner: Spawner) {
106 }; 106 };
107 107
108 let out_fut = async { 108 let out_fut = async {
109 reader.run(false, &request_handler).await; 109 reader.run(false, &mut request_handler).await;
110 }; 110 };
111 111
112 // Run everything concurrently. 112 // Run everything concurrently.
@@ -117,21 +117,21 @@ async fn main(_spawner: Spawner) {
117struct MyRequestHandler {} 117struct MyRequestHandler {}
118 118
119impl RequestHandler for MyRequestHandler { 119impl RequestHandler for MyRequestHandler {
120 fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { 120 fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> {
121 info!("Get report for {:?}", id); 121 info!("Get report for {:?}", id);
122 None 122 None
123 } 123 }
124 124
125 fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { 125 fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse {
126 info!("Set report for {:?}: {=[u8]}", id, data); 126 info!("Set report for {:?}: {=[u8]}", id, data);
127 OutResponse::Accepted 127 OutResponse::Accepted
128 } 128 }
129 129
130 fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { 130 fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) {
131 info!("Set idle rate for {:?} to {:?}", id, dur); 131 info!("Set idle rate for {:?} to {:?}", id, dur);
132 } 132 }
133 133
134 fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { 134 fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> {
135 info!("Get idle rate for {:?}", id); 135 info!("Get idle rate for {:?}", id);
136 None 136 None
137 } 137 }