aboutsummaryrefslogtreecommitdiff
path: root/examples
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
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')
-rw-r--r--examples/nrf52840/src/bin/usb_hid_keyboard.rs14
-rw-r--r--examples/nrf52840/src/bin/usb_hid_mouse.rs12
-rw-r--r--examples/rp/src/bin/usb_hid_keyboard.rs14
-rw-r--r--examples/rp/src/bin/usb_hid_mouse.rs14
-rw-r--r--examples/stm32f4/src/bin/usb_hid_keyboard.rs14
-rw-r--r--examples/stm32f4/src/bin/usb_hid_mouse.rs12
-rw-r--r--examples/stm32l5/src/bin/usb_hid_mouse.rs12
7 files changed, 46 insertions, 46 deletions
diff --git a/examples/nrf52840/src/bin/usb_hid_keyboard.rs b/examples/nrf52840/src/bin/usb_hid_keyboard.rs
index 52f081487..e33ee5866 100644
--- a/examples/nrf52840/src/bin/usb_hid_keyboard.rs
+++ b/examples/nrf52840/src/bin/usb_hid_keyboard.rs
@@ -54,7 +54,7 @@ async fn main(_spawner: Spawner) {
54 let mut bos_descriptor = [0; 256]; 54 let mut bos_descriptor = [0; 256];
55 let mut msos_descriptor = [0; 256]; 55 let mut msos_descriptor = [0; 256];
56 let mut control_buf = [0; 64]; 56 let mut control_buf = [0; 64];
57 let request_handler = MyRequestHandler {}; 57 let mut request_handler = MyRequestHandler {};
58 let mut device_handler = MyDeviceHandler::new(); 58 let mut device_handler = MyDeviceHandler::new();
59 59
60 let mut state = State::new(); 60 let mut state = State::new();
@@ -73,7 +73,7 @@ async fn main(_spawner: Spawner) {
73 // Create classes on the builder. 73 // Create classes on the builder.
74 let config = embassy_usb::class::hid::Config { 74 let config = embassy_usb::class::hid::Config {
75 report_descriptor: KeyboardReport::desc(), 75 report_descriptor: KeyboardReport::desc(),
76 request_handler: Some(&request_handler), 76 request_handler: None,
77 poll_ms: 60, 77 poll_ms: 60,
78 max_packet_size: 64, 78 max_packet_size: 64,
79 }; 79 };
@@ -137,7 +137,7 @@ async fn main(_spawner: Spawner) {
137 }; 137 };
138 138
139 let out_fut = async { 139 let out_fut = async {
140 reader.run(false, &request_handler).await; 140 reader.run(false, &mut request_handler).await;
141 }; 141 };
142 142
143 // Run everything concurrently. 143 // Run everything concurrently.
@@ -148,21 +148,21 @@ async fn main(_spawner: Spawner) {
148struct MyRequestHandler {} 148struct MyRequestHandler {}
149 149
150impl RequestHandler for MyRequestHandler { 150impl RequestHandler for MyRequestHandler {
151 fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { 151 fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> {
152 info!("Get report for {:?}", id); 152 info!("Get report for {:?}", id);
153 None 153 None
154 } 154 }
155 155
156 fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { 156 fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse {
157 info!("Set report for {:?}: {=[u8]}", id, data); 157 info!("Set report for {:?}: {=[u8]}", id, data);
158 OutResponse::Accepted 158 OutResponse::Accepted
159 } 159 }
160 160
161 fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { 161 fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) {
162 info!("Set idle rate for {:?} to {:?}", id, dur); 162 info!("Set idle rate for {:?} to {:?}", id, dur);
163 } 163 }
164 164
165 fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { 165 fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> {
166 info!("Get idle rate for {:?}", id); 166 info!("Get idle rate for {:?}", id);
167 None 167 None
168 } 168 }
diff --git a/examples/nrf52840/src/bin/usb_hid_mouse.rs b/examples/nrf52840/src/bin/usb_hid_mouse.rs
index 5d2837793..8076ac283 100644
--- a/examples/nrf52840/src/bin/usb_hid_mouse.rs
+++ b/examples/nrf52840/src/bin/usb_hid_mouse.rs
@@ -47,7 +47,7 @@ async fn main(_spawner: Spawner) {
47 let mut bos_descriptor = [0; 256]; 47 let mut bos_descriptor = [0; 256];
48 let mut msos_descriptor = [0; 256]; 48 let mut msos_descriptor = [0; 256];
49 let mut control_buf = [0; 64]; 49 let mut control_buf = [0; 64];
50 let request_handler = MyRequestHandler {}; 50 let mut request_handler = MyRequestHandler {};
51 51
52 let mut state = State::new(); 52 let mut state = State::new();
53 53
@@ -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: Some(&mut request_handler),
67 poll_ms: 60, 67 poll_ms: 60,
68 max_packet_size: 8, 68 max_packet_size: 8,
69 }; 69 };
@@ -105,21 +105,21 @@ async fn main(_spawner: Spawner) {
105struct MyRequestHandler {} 105struct MyRequestHandler {}
106 106
107impl RequestHandler for MyRequestHandler { 107impl RequestHandler for MyRequestHandler {
108 fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { 108 fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> {
109 info!("Get report for {:?}", id); 109 info!("Get report for {:?}", id);
110 None 110 None
111 } 111 }
112 112
113 fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { 113 fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse {
114 info!("Set report for {:?}: {=[u8]}", id, data); 114 info!("Set report for {:?}: {=[u8]}", id, data);
115 OutResponse::Accepted 115 OutResponse::Accepted
116 } 116 }
117 117
118 fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { 118 fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) {
119 info!("Set idle rate for {:?} to {:?}", id, dur); 119 info!("Set idle rate for {:?} to {:?}", id, dur);
120 } 120 }
121 121
122 fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { 122 fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> {
123 info!("Get idle rate for {:?}", id); 123 info!("Get idle rate for {:?}", id);
124 None 124 None
125 } 125 }
diff --git a/examples/rp/src/bin/usb_hid_keyboard.rs b/examples/rp/src/bin/usb_hid_keyboard.rs
index 710be8d13..a7cb322d8 100644
--- a/examples/rp/src/bin/usb_hid_keyboard.rs
+++ b/examples/rp/src/bin/usb_hid_keyboard.rs
@@ -41,7 +41,7 @@ async fn main(_spawner: Spawner) {
41 // You can also add a Microsoft OS descriptor. 41 // You can also add a Microsoft OS descriptor.
42 let mut msos_descriptor = [0; 256]; 42 let mut msos_descriptor = [0; 256];
43 let mut control_buf = [0; 64]; 43 let mut control_buf = [0; 64];
44 let request_handler = MyRequestHandler {}; 44 let mut request_handler = MyRequestHandler {};
45 let mut device_handler = MyDeviceHandler::new(); 45 let mut device_handler = MyDeviceHandler::new();
46 46
47 let mut state = State::new(); 47 let mut state = State::new();
@@ -60,7 +60,7 @@ async fn main(_spawner: Spawner) {
60 // Create classes on the builder. 60 // Create classes on the builder.
61 let config = embassy_usb::class::hid::Config { 61 let config = embassy_usb::class::hid::Config {
62 report_descriptor: KeyboardReport::desc(), 62 report_descriptor: KeyboardReport::desc(),
63 request_handler: Some(&request_handler), 63 request_handler: None,
64 poll_ms: 60, 64 poll_ms: 60,
65 max_packet_size: 64, 65 max_packet_size: 64,
66 }; 66 };
@@ -114,7 +114,7 @@ async fn main(_spawner: Spawner) {
114 }; 114 };
115 115
116 let out_fut = async { 116 let out_fut = async {
117 reader.run(false, &request_handler).await; 117 reader.run(false, &mut request_handler).await;
118 }; 118 };
119 119
120 // Run everything concurrently. 120 // Run everything concurrently.
@@ -125,21 +125,21 @@ async fn main(_spawner: Spawner) {
125struct MyRequestHandler {} 125struct MyRequestHandler {}
126 126
127impl RequestHandler for MyRequestHandler { 127impl RequestHandler for MyRequestHandler {
128 fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { 128 fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> {
129 info!("Get report for {:?}", id); 129 info!("Get report for {:?}", id);
130 None 130 None
131 } 131 }
132 132
133 fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { 133 fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse {
134 info!("Set report for {:?}: {=[u8]}", id, data); 134 info!("Set report for {:?}: {=[u8]}", id, data);
135 OutResponse::Accepted 135 OutResponse::Accepted
136 } 136 }
137 137
138 fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { 138 fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) {
139 info!("Set idle rate for {:?} to {:?}", id, dur); 139 info!("Set idle rate for {:?} to {:?}", id, dur);
140 } 140 }
141 141
142 fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { 142 fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> {
143 info!("Get idle rate for {:?}", id); 143 info!("Get idle rate for {:?}", id);
144 None 144 None
145 } 145 }
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 }
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 }
diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs
index 9d30205bb..3f8c52b82 100644
--- a/examples/stm32l5/src/bin/usb_hid_mouse.rs
+++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs
@@ -54,7 +54,7 @@ async fn main(_spawner: Spawner) {
54 let mut config_descriptor = [0; 256]; 54 let mut config_descriptor = [0; 256];
55 let mut bos_descriptor = [0; 256]; 55 let mut bos_descriptor = [0; 256];
56 let mut control_buf = [0; 64]; 56 let mut control_buf = [0; 64];
57 let request_handler = MyRequestHandler {}; 57 let mut request_handler = MyRequestHandler {};
58 58
59 let mut state = State::new(); 59 let mut state = State::new();
60 60
@@ -70,7 +70,7 @@ async fn main(_spawner: Spawner) {
70 // Create classes on the builder. 70 // Create classes on the builder.
71 let config = embassy_usb::class::hid::Config { 71 let config = embassy_usb::class::hid::Config {
72 report_descriptor: MouseReport::desc(), 72 report_descriptor: MouseReport::desc(),
73 request_handler: Some(&request_handler), 73 request_handler: Some(&mut request_handler),
74 poll_ms: 60, 74 poll_ms: 60,
75 max_packet_size: 8, 75 max_packet_size: 8,
76 }; 76 };
@@ -112,21 +112,21 @@ async fn main(_spawner: Spawner) {
112struct MyRequestHandler {} 112struct MyRequestHandler {}
113 113
114impl RequestHandler for MyRequestHandler { 114impl RequestHandler for MyRequestHandler {
115 fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option<usize> { 115 fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option<usize> {
116 info!("Get report for {:?}", id); 116 info!("Get report for {:?}", id);
117 None 117 None
118 } 118 }
119 119
120 fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { 120 fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse {
121 info!("Set report for {:?}: {=[u8]}", id, data); 121 info!("Set report for {:?}: {=[u8]}", id, data);
122 OutResponse::Accepted 122 OutResponse::Accepted
123 } 123 }
124 124
125 fn set_idle_ms(&self, id: Option<ReportId>, dur: u32) { 125 fn set_idle_ms(&mut self, id: Option<ReportId>, dur: u32) {
126 info!("Set idle rate for {:?} to {:?}", id, dur); 126 info!("Set idle rate for {:?} to {:?}", id, dur);
127 } 127 }
128 128
129 fn get_idle_ms(&self, id: Option<ReportId>) -> Option<u32> { 129 fn get_idle_ms(&mut self, id: Option<ReportId>) -> Option<u32> {
130 info!("Get idle rate for {:?}", id); 130 info!("Get idle rate for {:?}", id);
131 None 131 None
132 } 132 }