Global variable to give and record information of the setup request management.
This global variable allows to decode and response a setup request. It can be updated by udc_process_setup() from UDC or *setup() from UDIs.
#include <udd.h>
Data Fields | |
void(* | callback )(void) |
Callback called after reception of ZLP from setup request. More... | |
bool(* | over_under_run )(void) |
Callback called when the buffer given (.payload) is full or empty. More... | |
uint8_t * | payload |
Point to buffer to send or fill with data following SETUP packet This buffer must be word align for DATA IN phase (use prefix COMPILER_WORD_ALIGNED for buffer) More... | |
uint16_t | payload_size |
Size of buffer to send or fill, and content the number of byte transfered. More... | |
usb_setup_req_t | req |
Data received in USB SETUP packet Note: The swap of "req.wValues" from uin16_t to le16_t is done by UDD. More... | |
void(* udd_ctrl_request_t::callback)(void) |
Callback called after reception of ZLP from setup request.
Referenced by udc_process_setup(), udc_req_std_dev_set_address(), udc_req_std_dev_set_feature(), and udi_hid_kbd_setreport().
bool(* udd_ctrl_request_t::over_under_run)(void) |
Callback called when the buffer given (.payload) is full or empty.
This one return false to abort data transfer, or true with a new buffer in .payload.
Referenced by udc_process_setup().
uint8_t* udd_ctrl_request_t::payload |
Point to buffer to send or fill with data following SETUP packet This buffer must be word align for DATA IN phase (use prefix COMPILER_WORD_ALIGNED for buffer)
Referenced by udc_req_std_dev_get_descriptor(), udi_hid_kbd_setreport(), udi_hid_reqstdifaceget_descriptor(), and udi_hid_setup().
uint16_t udd_ctrl_request_t::payload_size |
Size of buffer to send or fill, and content the number of byte transfered.
Referenced by udc_process_setup(), udc_req_std_dev_get_descriptor(), udi_hid_kbd_setreport(), udi_hid_reqstdifaceget_descriptor(), and udi_hid_setup().
usb_setup_req_t udd_ctrl_request_t::req |
Data received in USB SETUP packet Note: The swap of "req.wValues" from uin16_t to le16_t is done by UDD.
Referenced by udc_process_setup(), udc_req_ep(), udc_req_iface(), udc_req_std_dev_clear_feature(), udc_req_std_dev_get_configuration(), udc_req_std_dev_get_descriptor(), udc_req_std_dev_get_status(), udc_req_std_dev_get_str_desc(), udc_req_std_dev_set_address(), udc_req_std_dev_set_configuration(), udc_req_std_dev_set_feature(), udc_req_std_ep_clear_feature(), udc_req_std_ep_get_status(), udc_req_std_ep_set_feature(), udc_req_std_iface_get_setting(), udc_req_std_iface_set_setting(), udc_reqstd(), udc_valid_address(), udi_hid_kbd_setreport(), udi_hid_reqstdifaceget_descriptor(), and udi_hid_setup().