update usb enum return codes

Should have been fixed in commit 85be1e5e7b when we updated the library, but was... missed.
travis caught it after the fact at least.
This commit is contained in:
Karl Palsson
2018-03-04 13:57:29 +00:00
parent a4eec6026b
commit 301b4f9194
16 changed files with 89 additions and 93 deletions

View File

@@ -192,15 +192,15 @@ static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_d
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) if (*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -174,39 +174,38 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
} }
} }
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes usbdfu_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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)usbd_dev; (void)usbd_dev;
if ((req->bmRequestType & 0x7F) != 0x21) if ((req->bmRequestType & 0x7F) != 0x21)
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
switch (req->bRequest) { switch (req->bRequest) {
case DFU_DNLOAD: case DFU_DNLOAD:
if ((len == NULL) || (*len == 0)) { if ((len == NULL) || (*len == 0)) {
usbdfu_state = STATE_DFU_MANIFEST_SYNC; usbdfu_state = STATE_DFU_MANIFEST_SYNC;
return 1;
} else { } else {
/* Copy download data for use on GET_STATUS. */ /* Copy download data for use on GET_STATUS. */
prog.blocknum = req->wValue; prog.blocknum = req->wValue;
prog.len = *len; prog.len = *len;
memcpy(prog.buf, *buf, *len); memcpy(prog.buf, *buf, *len);
usbdfu_state = STATE_DFU_DNLOAD_SYNC; usbdfu_state = STATE_DFU_DNLOAD_SYNC;
return 1;
} }
return USBD_REQ_HANDLED;
case DFU_CLRSTATUS: case DFU_CLRSTATUS:
/* Clear error and return to dfuIDLE. */ /* Clear error and return to dfuIDLE. */
if (usbdfu_state == STATE_DFU_ERROR) if (usbdfu_state == STATE_DFU_ERROR)
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_ABORT: case DFU_ABORT:
/* Abort returns to dfuIDLE state. */ /* Abort returns to dfuIDLE state. */
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_UPLOAD: case DFU_UPLOAD:
/* Upload not supported for now. */ /* Upload not supported for now. */
return 0; return USBD_REQ_NOTSUPP;
case DFU_GETSTATUS: { case DFU_GETSTATUS: {
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */ uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
(*buf)[0] = usbdfu_getstatus(&bwPollTimeout); (*buf)[0] = usbdfu_getstatus(&bwPollTimeout);
@@ -217,16 +216,16 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
(*buf)[5] = 0; /* iString not used here */ (*buf)[5] = 0; /* iString not used here */
*len = 6; *len = 6;
*complete = usbdfu_getstatus_complete; *complete = usbdfu_getstatus_complete;
return 1; return USBD_REQ_HANDLED;
} }
case DFU_GETSTATE: case DFU_GETSTATE:
/* Return state with no state transision. */ /* Return state with no state transision. */
*buf[0] = usbdfu_state; *buf[0] = usbdfu_state;
*len = 1; *len = 1;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue) static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue)

View File

@@ -214,13 +214,13 @@ static enum usbd_request_return_codes hid_control_request(usbd_device *dev, stru
if((req->bmRequestType != 0x81) || if((req->bmRequestType != 0x81) ||
(req->bRequest != USB_REQ_GET_DESCRIPTOR) || (req->bRequest != USB_REQ_GET_DESCRIPTOR) ||
(req->wValue != 0x2200)) (req->wValue != 0x2200))
return 0; return USBD_REQ_NOTSUPP;
/* Handle the HID report descriptor. */ /* Handle the HID report descriptor. */
*buf = (uint8_t *)hid_report_descriptor; *buf = (uint8_t *)hid_report_descriptor;
*len = sizeof(hid_report_descriptor); *len = sizeof(hid_report_descriptor);
return 1; return USBD_REQ_HANDLED;
} }
#ifdef INCLUDE_DFU_INTERFACE #ifdef INCLUDE_DFU_INTERFACE
@@ -244,11 +244,11 @@ static enum usbd_request_return_codes dfu_control_request(usbd_device *dev, stru
(void)dev; (void)dev;
if ((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH)) if ((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH))
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
*complete = dfu_detach_complete; *complete = dfu_detach_complete;
return 1; return USBD_REQ_HANDLED;
} }
#endif #endif

View File

@@ -166,7 +166,7 @@ static const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes 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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)complete; (void)complete;
@@ -192,15 +192,15 @@ static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if(*len < sizeof(struct usb_cdc_line_coding)) if(*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -174,39 +174,38 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
} }
} }
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes usbdfu_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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)usbd_dev; (void)usbd_dev;
if ((req->bmRequestType & 0x7F) != 0x21) if ((req->bmRequestType & 0x7F) != 0x21)
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
switch (req->bRequest) { switch (req->bRequest) {
case DFU_DNLOAD: case DFU_DNLOAD:
if ((len == NULL) || (*len == 0)) { if ((len == NULL) || (*len == 0)) {
usbdfu_state = STATE_DFU_MANIFEST_SYNC; usbdfu_state = STATE_DFU_MANIFEST_SYNC;
return 1;
} else { } else {
/* Copy download data for use on GET_STATUS. */ /* Copy download data for use on GET_STATUS. */
prog.blocknum = req->wValue; prog.blocknum = req->wValue;
prog.len = *len; prog.len = *len;
memcpy(prog.buf, *buf, *len); memcpy(prog.buf, *buf, *len);
usbdfu_state = STATE_DFU_DNLOAD_SYNC; usbdfu_state = STATE_DFU_DNLOAD_SYNC;
return 1;
} }
return USBD_REQ_HANDLED;
case DFU_CLRSTATUS: case DFU_CLRSTATUS:
/* Clear error and return to dfuIDLE. */ /* Clear error and return to dfuIDLE. */
if (usbdfu_state == STATE_DFU_ERROR) if (usbdfu_state == STATE_DFU_ERROR)
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_ABORT: case DFU_ABORT:
/* Abort returns to dfuIDLE state. */ /* Abort returns to dfuIDLE state. */
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_UPLOAD: case DFU_UPLOAD:
/* Upload not supported for now. */ /* Upload not supported for now. */
return 0; return USBD_REQ_NOTSUPP;
case DFU_GETSTATUS: { case DFU_GETSTATUS: {
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */ uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
(*buf)[0] = usbdfu_getstatus(&bwPollTimeout); (*buf)[0] = usbdfu_getstatus(&bwPollTimeout);
@@ -217,16 +216,16 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
(*buf)[5] = 0; /* iString not used here */ (*buf)[5] = 0; /* iString not used here */
*len = 6; *len = 6;
*complete = usbdfu_getstatus_complete; *complete = usbdfu_getstatus_complete;
return 1; return USBD_REQ_HANDLED;
} }
case DFU_GETSTATE: case DFU_GETSTATE:
/* Return state with no state transision. */ /* Return state with no state transision. */
*buf[0] = usbdfu_state; *buf[0] = usbdfu_state;
*len = 1; *len = 1;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue) static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue)

View File

@@ -201,7 +201,7 @@ static const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int hid_control_request(usbd_device *dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, static enum usbd_request_return_codes hid_control_request(usbd_device *dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *, struct usb_setup_data *)) void (**complete)(usbd_device *, struct usb_setup_data *))
{ {
(void)complete; (void)complete;
@@ -210,13 +210,13 @@ static int hid_control_request(usbd_device *dev, struct usb_setup_data *req, uin
if((req->bmRequestType != 0x81) || if((req->bmRequestType != 0x81) ||
(req->bRequest != USB_REQ_GET_DESCRIPTOR) || (req->bRequest != USB_REQ_GET_DESCRIPTOR) ||
(req->wValue != 0x2200)) (req->wValue != 0x2200))
return 0; return USBD_REQ_NOTSUPP;
/* Handle the HID report descriptor. */ /* Handle the HID report descriptor. */
*buf = (uint8_t *)hid_report_descriptor; *buf = (uint8_t *)hid_report_descriptor;
*len = sizeof(hid_report_descriptor); *len = sizeof(hid_report_descriptor);
return 1; return USBD_REQ_HANDLED;
} }
#ifdef INCLUDE_DFU_INTERFACE #ifdef INCLUDE_DFU_INTERFACE
@@ -231,7 +231,7 @@ static void dfu_detach_complete(usbd_device *dev, struct usb_setup_data *req)
scb_reset_core(); scb_reset_core();
} }
static int dfu_control_request(usbd_device *dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, static enum usbd_request_return_codes dfu_control_request(usbd_device *dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *, struct usb_setup_data *)) void (**complete)(usbd_device *, struct usb_setup_data *))
{ {
(void)buf; (void)buf;
@@ -239,11 +239,11 @@ static int dfu_control_request(usbd_device *dev, struct usb_setup_data *req, uin
(void)dev; (void)dev;
if ((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH)) if ((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH))
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
*complete = dfu_detach_complete; *complete = dfu_detach_complete;
return 1; return USBD_REQ_HANDLED;
} }
#endif #endif

View File

@@ -166,7 +166,7 @@ static const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes 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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)complete; (void)complete;
@@ -192,14 +192,14 @@ static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) if (*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -176,37 +176,36 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
} }
} }
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes usbdfu_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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
if ((req->bmRequestType & 0x7F) != 0x21) if ((req->bmRequestType & 0x7F) != 0x21)
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
switch (req->bRequest) { switch (req->bRequest) {
case DFU_DNLOAD: case DFU_DNLOAD:
if ((len == NULL) || (*len == 0)) { if ((len == NULL) || (*len == 0)) {
usbdfu_state = STATE_DFU_MANIFEST_SYNC; usbdfu_state = STATE_DFU_MANIFEST_SYNC;
return 1;
} else { } else {
/* Copy download data for use on GET_STATUS. */ /* Copy download data for use on GET_STATUS. */
prog.blocknum = req->wValue; prog.blocknum = req->wValue;
prog.len = *len; prog.len = *len;
memcpy(prog.buf, *buf, *len); memcpy(prog.buf, *buf, *len);
usbdfu_state = STATE_DFU_DNLOAD_SYNC; usbdfu_state = STATE_DFU_DNLOAD_SYNC;
return 1;
} }
return USBD_REQ_HANDLED;
case DFU_CLRSTATUS: case DFU_CLRSTATUS:
/* Clear error and return to dfuIDLE. */ /* Clear error and return to dfuIDLE. */
if (usbdfu_state == STATE_DFU_ERROR) if (usbdfu_state == STATE_DFU_ERROR)
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_ABORT: case DFU_ABORT:
/* Abort returns to dfuIDLE state. */ /* Abort returns to dfuIDLE state. */
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_UPLOAD: case DFU_UPLOAD:
/* Upload not supported for now. */ /* Upload not supported for now. */
return 0; return USBD_REQ_NOTSUPP;
case DFU_GETSTATUS: { case DFU_GETSTATUS: {
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */ uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
(*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout); (*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout);
@@ -217,16 +216,16 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
(*buf)[5] = 0; /* iString not used here */ (*buf)[5] = 0; /* iString not used here */
*len = 6; *len = 6;
*complete = usbdfu_getstatus_complete; *complete = usbdfu_getstatus_complete;
return 1; return USBD_REQ_HANDLED;
} }
case DFU_GETSTATE: case DFU_GETSTATE:
/* Return state with no state transision. */ /* Return state with no state transision. */
*buf[0] = usbdfu_state; *buf[0] = usbdfu_state;
*len = 1; *len = 1;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue) static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue)

View File

@@ -176,37 +176,36 @@ static void usbdfu_getstatus_complete(usbd_device *usbd_dev, struct usb_setup_da
} }
} }
static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes usbdfu_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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
if ((req->bmRequestType & 0x7F) != 0x21) if ((req->bmRequestType & 0x7F) != 0x21)
return 0; /* Only accept class request. */ return USBD_REQ_NOTSUPP; /* Only accept class request. */
switch (req->bRequest) { switch (req->bRequest) {
case DFU_DNLOAD: case DFU_DNLOAD:
if ((len == NULL) || (*len == 0)) { if ((len == NULL) || (*len == 0)) {
usbdfu_state = STATE_DFU_MANIFEST_SYNC; usbdfu_state = STATE_DFU_MANIFEST_SYNC;
return 1;
} else { } else {
/* Copy download data for use on GET_STATUS. */ /* Copy download data for use on GET_STATUS. */
prog.blocknum = req->wValue; prog.blocknum = req->wValue;
prog.len = *len; prog.len = *len;
memcpy(prog.buf, *buf, *len); memcpy(prog.buf, *buf, *len);
usbdfu_state = STATE_DFU_DNLOAD_SYNC; usbdfu_state = STATE_DFU_DNLOAD_SYNC;
return 1;
} }
return USBD_REQ_HANDLED;
case DFU_CLRSTATUS: case DFU_CLRSTATUS:
/* Clear error and return to dfuIDLE. */ /* Clear error and return to dfuIDLE. */
if (usbdfu_state == STATE_DFU_ERROR) if (usbdfu_state == STATE_DFU_ERROR)
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_ABORT: case DFU_ABORT:
/* Abort returns to dfuIDLE state. */ /* Abort returns to dfuIDLE state. */
usbdfu_state = STATE_DFU_IDLE; usbdfu_state = STATE_DFU_IDLE;
return 1; return USBD_REQ_HANDLED;
case DFU_UPLOAD: case DFU_UPLOAD:
/* Upload not supported for now. */ /* Upload not supported for now. */
return 0; return USBD_REQ_NOTSUPP;
case DFU_GETSTATUS: { case DFU_GETSTATUS: {
uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */ uint32_t bwPollTimeout = 0; /* 24-bit integer in DFU class spec */
(*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout); (*buf)[0] = usbdfu_getstatus(usbd_dev, &bwPollTimeout);
@@ -217,16 +216,16 @@ static int usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *
(*buf)[5] = 0; /* iString not used here */ (*buf)[5] = 0; /* iString not used here */
*len = 6; *len = 6;
*complete = usbdfu_getstatus_complete; *complete = usbdfu_getstatus_complete;
return 1; return USBD_REQ_HANDLED;
} }
case DFU_GETSTATE: case DFU_GETSTATE:
/* Return state with no state transision. */ /* Return state with no state transision. */
*buf[0] = usbdfu_state; *buf[0] = usbdfu_state;
*len = 1; *len = 1;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue) static void usbdfu_set_config(usbd_device *usbd_dev, uint16_t wValue)

View File

@@ -77,7 +77,7 @@ const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int simple_control_callback(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes simple_control_callback(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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)buf; (void)buf;
@@ -86,14 +86,14 @@ static int simple_control_callback(usbd_device *usbd_dev, struct usb_setup_data
(void)usbd_dev; (void)usbd_dev;
if (req->bmRequestType != 0x40) if (req->bmRequestType != 0x40)
return 0; /* Only accept vendor request. */ return USBD_REQ_NOTSUPP; /* Only accept vendor request. */
if (req->wValue & 1) if (req->wValue & 1)
gpio_set(GPIOC, GPIO6); gpio_set(GPIOC, GPIO6);
else else
gpio_clear(GPIOC, GPIO6); gpio_clear(GPIOC, GPIO6);
return 1; return USBD_REQ_HANDLED;
} }
static void usb_set_config_cb(usbd_device *usbd_dev, uint16_t wValue) static void usb_set_config_cb(usbd_device *usbd_dev, uint16_t wValue)

View File

@@ -167,7 +167,7 @@ static const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, static enum usbd_request_return_codes 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)) uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
(void)complete; (void)complete;
@@ -193,14 +193,14 @@ static int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) if (*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -205,13 +205,13 @@ static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_d
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if(*len < sizeof(struct usb_cdc_line_coding)) { if(*len < sizeof(struct usb_cdc_line_coding)) {
return 0; return USBD_REQ_NOTSUPP;
} }
return 1; return USBD_REQ_HANDLED;
} }
return 0; return 0;
} }

View File

@@ -192,14 +192,14 @@ static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_d
local_buf[8] = req->wValue & 3; local_buf[8] = req->wValue & 3;
local_buf[9] = 0; local_buf[9] = 0;
// usbd_ep_write_packet(0x83, buf, 10); // usbd_ep_write_packet(0x83, buf, 10);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) if (*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -167,7 +167,7 @@ static const char * usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int cdcacm_control_request(usbd_device *usbd_dev, static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_dev,
struct usb_setup_data *req, uint8_t **buf, uint16_t *len, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
@@ -182,16 +182,16 @@ static int cdcacm_control_request(usbd_device *usbd_dev,
* even though it's optional in the CDC spec, and we don't * even though it's optional in the CDC spec, and we don't
* advertise it in the ACM functional descriptor. * advertise it in the ACM functional descriptor.
*/ */
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) { if (*len < sizeof(struct usb_cdc_line_coding)) {
return 0; return USBD_REQ_NOTSUPP;
} }
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -168,7 +168,7 @@ static const char *usb_strings[] = {
/* Buffer to be used for control requests. */ /* Buffer to be used for control requests. */
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
static int cdcacm_control_request(usbd_device *usbd_dev, static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_dev,
struct usb_setup_data *req, uint8_t **buf, uint16_t *len, struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)) void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
{ {
@@ -183,16 +183,16 @@ static int cdcacm_control_request(usbd_device *usbd_dev,
* even though it's optional in the CDC spec, and we don't * even though it's optional in the CDC spec, and we don't
* advertise it in the ACM functional descriptor. * advertise it in the ACM functional descriptor.
*/ */
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING: case USB_CDC_REQ_SET_LINE_CODING:
if (*len < sizeof(struct usb_cdc_line_coding)) { if (*len < sizeof(struct usb_cdc_line_coding)) {
return 0; return USBD_REQ_NOTSUPP;
} }
return 1; return USBD_REQ_HANDLED;
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)

View File

@@ -173,7 +173,7 @@ usbd_device *acm_dev;
uint8_t usbd_control_buffer[128]; uint8_t usbd_control_buffer[128];
extern usbd_driver lm4f_usb_driver; extern usbd_driver lm4f_usb_driver;
static int cdcacm_control_request(usbd_device * usbd_dev, static enum usbd_request_return_codes cdcacm_control_request(usbd_device * usbd_dev,
struct usb_setup_data *req, uint8_t ** buf, struct usb_setup_data *req, uint8_t ** buf,
uint16_t * len, uint16_t * len,
void (**complete) (usbd_device * usbd_dev, void (**complete) (usbd_device * usbd_dev,
@@ -199,13 +199,13 @@ static int cdcacm_control_request(usbd_device * usbd_dev,
glue_set_line_state_cb(dtr, rts); glue_set_line_state_cb(dtr, rts);
return 1; return USBD_REQ_HANDLED;
} }
case USB_CDC_REQ_SET_LINE_CODING:{ case USB_CDC_REQ_SET_LINE_CODING:{
struct usb_cdc_line_coding *coding; struct usb_cdc_line_coding *coding;
if (*len < sizeof(struct usb_cdc_line_coding)) if (*len < sizeof(struct usb_cdc_line_coding))
return 0; return USBD_REQ_NOTSUPP;
coding = (struct usb_cdc_line_coding *)*buf; coding = (struct usb_cdc_line_coding *)*buf;
return glue_set_line_coding_cb(coding->dwDTERate, return glue_set_line_coding_cb(coding->dwDTERate,
@@ -214,7 +214,7 @@ static int cdcacm_control_request(usbd_device * usbd_dev,
coding->bCharFormat); coding->bCharFormat);
} }
} }
return 0; return USBD_REQ_NOTSUPP;
} }
static void cdcacm_data_rx_cb(usbd_device * usbd_dev, uint8_t ep) static void cdcacm_data_rx_cb(usbd_device * usbd_dev, uint8_t ep)