aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src/control.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-usb/src/control.rs')
-rw-r--r--embassy-usb/src/control.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/embassy-usb/src/control.rs b/embassy-usb/src/control.rs
index d6d0c6565..39b499f03 100644
--- a/embassy-usb/src/control.rs
+++ b/embassy-usb/src/control.rs
@@ -126,17 +126,23 @@ impl Request {
126 } 126 }
127} 127}
128 128
129/// Response for a CONTROL OUT request.
129#[derive(Copy, Clone, Eq, PartialEq, Debug)] 130#[derive(Copy, Clone, Eq, PartialEq, Debug)]
130#[cfg_attr(feature = "defmt", derive(defmt::Format))] 131#[cfg_attr(feature = "defmt", derive(defmt::Format))]
131pub enum OutResponse { 132pub enum OutResponse {
133 /// The request was accepted.
132 Accepted, 134 Accepted,
135 /// The request was rejected.
133 Rejected, 136 Rejected,
134} 137}
135 138
139/// Response for a CONTROL IN request.
136#[derive(Copy, Clone, Eq, PartialEq, Debug)] 140#[derive(Copy, Clone, Eq, PartialEq, Debug)]
137#[cfg_attr(feature = "defmt", derive(defmt::Format))] 141#[cfg_attr(feature = "defmt", derive(defmt::Format))]
138pub enum InResponse<'a> { 142pub enum InResponse<'a> {
143 /// The request was accepted. The buffer contains the response data.
139 Accepted(&'a [u8]), 144 Accepted(&'a [u8]),
145 /// The request was rejected.
140 Rejected, 146 Rejected,
141} 147}
142 148
@@ -148,6 +154,7 @@ pub trait ControlHandler {
148 /// Called after a USB reset after the bus reset sequence is complete. 154 /// Called after a USB reset after the bus reset sequence is complete.
149 fn reset(&mut self) {} 155 fn reset(&mut self) {}
150 156
157 /// Called when a "set alternate setting" control request is done on the interface.
151 fn set_alternate_setting(&mut self, alternate_setting: u8) { 158 fn set_alternate_setting(&mut self, alternate_setting: u8) {
152 let _ = alternate_setting; 159 let _ = alternate_setting;
153 } 160 }