aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGareth McMullin2010-11-06 19:05:57 +1300
committerGareth McMullin2010-11-06 19:05:57 +1300
commite0cd35299073e6bf2becadf42e6fbbeb1b47890e (patch)
tree1a160d9b076533deaf35656a11fdd334a374a985
parente35590634596acb288ad3e89cb1c4dc4a3f9fc93 (diff)
Fixed HID example to work with new control mechanism.
-rw-r--r--examples/other/usb_hid/usbhid.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/examples/other/usb_hid/usbhid.c b/examples/other/usb_hid/usbhid.c
index 32048a0..6226f32 100644
--- a/examples/other/usb_hid/usbhid.c
+++ b/examples/other/usb_hid/usbhid.c
@@ -171,7 +171,7 @@ static const char *usb_strings[] = {
"DEMO",
};
-static int hid_control_read(struct usb_setup_data *req, u8 **buf, u16 *len,
+static int hid_control_request(struct usb_setup_data *req, u8 **buf, u16 *len,
void (**complete)(struct usb_setup_data *req))
{
(void)complete;
@@ -200,9 +200,12 @@ static void dfu_detach_complete(struct usb_setup_data *req)
scb_reset_core();
}
-static int dfu_control_command(struct usb_setup_data *req,
+static int dfu_control_request(struct usb_setup_data *req, u8 **buf, u16 *len,
void (**complete)(struct usb_setup_data *req))
{
+ (void)buf;
+ (void)len;
+
if((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH))
return 0; /* Only accept class request */
@@ -218,9 +221,15 @@ static void hid_set_config(u16 wValue)
usbd_ep_setup(0x81, USB_ENDPOINT_ATTR_INTERRUPT, 4, NULL);
- usbd_register_control_read_callback(hid_control_read);
+ usbd_register_control_callback(
+ USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
+ hid_control_request);
#ifdef INCLUDE_DFU_INTERFACE
- usbd_register_control_command_callback(dfu_control_command);
+ usbd_register_control_callback(
+ USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
+ dfu_control_request);
#endif
systick_set_clocksource(STK_CTRL_CLKSOURCE_AHB_DIV8);