From 0ac0af5d522c75e9f8aa22e25264412a5346210f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sat, 28 Apr 2018 12:21:32 +0200 Subject: [PATCH] update code to libopencm3 API change --- lib/usb_cdcacm.c | 12 ++++++------ lib/usb_dfu.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/usb_cdcacm.c b/lib/usb_cdcacm.c index c5c9631..4a74832 100644 --- a/lib/usb_cdcacm.c +++ b/lib/usb_cdcacm.c @@ -285,10 +285,10 @@ static void usb_dfu_detach(usbd_device *usbd_dev, struct usb_setup_data *req) * @param[in] buf control request data * @param[in] len control request data length * @param[in] complete function to run after request completed - * @return 0 if succeeded, error else + * @return USBD_REQ_HANDLED if handled correctly, USBD_REQ_NOTSUPP else * @note resets device when configured with 5 bits */ -static int usb_cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) +static enum usbd_request_return_codes usb_cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) { if (usb_dfu_interface.bInterfaceNumber==req->wIndex) { // check if request is for DFU switch (req->bRequest) { @@ -305,7 +305,7 @@ static int usb_cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_da *len = 6; // set length of buffer to return break; default: // other requests are not supported - return 0; + return USBD_REQ_NOTSUPP; } } else if (usb_cdcacm_communication_interface.bInterfaceNumber==req->wIndex) { // check if request is for CDC switch (req->bRequest) { @@ -332,17 +332,17 @@ static int usb_cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_da case USB_CDC_REQ_SET_LINE_CODING: // ignore if length is wrong if (*len < sizeof(struct usb_cdc_line_coding)) { - return 0; + return USBD_REQ_NOTSUPP; } // line coding is ignored // to get the line coding // struct usb_cdc_line_coding *coding = (struct usb_cdc_line_coding *)*buf; break; default: - return 0; + return USBD_REQ_NOTSUPP; } } - return 1; + return USBD_REQ_HANDLED; } /** USB CDC ACM communication callback diff --git a/lib/usb_dfu.c b/lib/usb_dfu.c index a34f951..f71940b 100644 --- a/lib/usb_dfu.c +++ b/lib/usb_dfu.c @@ -187,21 +187,21 @@ static void usb_dfu_reset(usbd_device *usbd_dev, struct usb_setup_data *req) * @param[in] buf control request data * @param[in] len control request data length * @param[in] complete not used - * @return 0 if succeeded, error else + * @return USBD_REQ_HANDLED if handled correctly, USBD_REQ_NOTSUPP else * @note resets device when configured with 5 bits */ -static int usb_dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) +static enum usbd_request_return_codes usb_dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) { (void)complete; (void)usbd_dev; // device is not used // DFU only requires handling class requests if ((req->bmRequestType & USB_REQ_TYPE_TYPE)!=USB_REQ_TYPE_CLASS) { - return 0; + return USBD_REQ_NOTSUPP; } led_off(); // indicate we are processing request - int to_return = 1; // value to return + int to_return = USBD_REQ_HANDLED; // value to return switch (req->bRequest) { case DFU_DETACH: // USB detach requested *complete = usb_dfu_reset; // reset after reply @@ -243,7 +243,7 @@ static int usb_dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data } break; case DFU_UPLOAD: // upload firmware from flash - to_return = 0; // upload no supported + to_return = USBD_REQ_NOTSUPP; // upload no supported break; case DFU_GETSTATUS: // get status (*buf)[0] = usb_dfu_status; // set status @@ -276,7 +276,7 @@ static int usb_dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data flash_pointer = (uint32_t)&__application_beginning; // reset download location break; default: - to_return = 0; + to_return = USBD_REQ_NOTSUPP; } led_on(); // indicate we finished processing