X-Git-Url: https://git.sommitrealweird.co.uk/barbilliards.git/blobdiff_plain/a2707754a28862d91ba00981753b40bfd832fa78..HEAD:/src/usb_cdcacm.c diff --git a/src/usb_cdcacm.c b/src/usb_cdcacm.c index 3117273..2dd1bc6 100644 --- a/src/usb_cdcacm.c +++ b/src/usb_cdcacm.c @@ -33,7 +33,7 @@ #include // USB CDC library #include // synchronisation utilities -#include "global.h" +#include "global.h" // global utilities #include "usb_cdcacm.h" // USB CDC ACM header and definitions /** USB CDC ACM device descriptor @@ -189,7 +189,7 @@ static const struct usb_config_descriptor config = { * @note starting with index 1 */ static const char *usb_strings[] = { - "BarBillards v1", + "CuVoodoo", "CDC-ACM", "STM32F1", }; @@ -242,7 +242,7 @@ static void usb_disconnect(void) * @return 0 if succeeded, error else * @note resets device when configured with 5 bits */ -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)) +static int 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)) { (void)complete; (void)buf; @@ -268,12 +268,11 @@ static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_d reply[8] = req->wValue & 3; reply[9] = 0; usbd_ep_write_packet(usbd_dev, 0x83, reply, LENGTH(reply)); - return USBD_REQ_HANDLED; break; case USB_CDC_REQ_SET_LINE_CODING: // ignore if length is wrong if (*len < sizeof(struct usb_cdc_line_coding)) { - return USBD_REQ_NOTSUPP; + return 0; } // get the line coding struct usb_cdc_line_coding *coding = (struct usb_cdc_line_coding *)*buf; @@ -286,12 +285,11 @@ static enum usbd_request_return_codes cdcacm_control_request(usbd_device *usbd_d scb_reset_system(); // reset device while (true); // wait for the reset to happen } - return USBD_REQ_HANDLED; break; default: - return USBD_REQ_HANDLED; + return 0; } - return USBD_REQ_NOTSUPP; + return 1; } /** USB CDC ACM data received callback @@ -367,7 +365,7 @@ void cdcacm_setup(void) /* enable interrupts (to not have to poll all the time) */ nvic_enable_irq(NVIC_USB_LP_CAN_RX0_IRQ); // without this USB isn't detected by the host - + /* reset buffer states */ rx_i = 0; rx_used = 0;