@@ -112,7 +112,7 @@ static const pbdrv_usb_dev_desc_t pbdrv_usb_nxt_device_descriptor = {
112112 .bcdDevice = 0x0200 , /* Product revision: 2.0.0. */
113113 .iManufacturer = 1 ,
114114 .iProduct = 2 ,
115- .iSerialNumber = 0 ,
115+ .iSerialNumber = 0 , // TODO: implement a serial number
116116 .bNumConfigurations = 1 ,
117117};
118118
@@ -303,7 +303,8 @@ static void pbdrv_usb_nxt_csr_set_flag(uint8_t endpoint, uint32_t flags) {
303303 * single USB packet, the data is split and scheduled to be sent in
304304 * several packets.
305305 */
306- static void pbdrv_usb_nxt_write_data (int endpoint , const uint8_t * ptr , uint32_t length ) {
306+ static void pbdrv_usb_nxt_write_data (int endpoint , const void * ptr_ , uint32_t length ) {
307+ const uint8_t * ptr = ptr_ ;
307308 uint32_t packet_size ;
308309 int tx ;
309310
@@ -438,7 +439,7 @@ static void pbdrv_usb_handle_std_request(pbdrv_usb_nxt_setup_packet_t *packet) {
438439 response = 0 ;
439440 }
440441
441- pbdrv_usb_nxt_write_data (0 , ( uint8_t * ) & response , 2 );
442+ pbdrv_usb_nxt_write_data (0 , & response , 2 );
442443 }
443444 break ;
444445
@@ -478,12 +479,12 @@ static void pbdrv_usb_handle_std_request(pbdrv_usb_nxt_setup_packet_t *packet) {
478479 switch ((packet -> value & USB_WVALUE_TYPE ) >> 8 ) {
479480 case USB_DESC_TYPE_DEVICE : /* Device descriptor */
480481 size = pbdrv_usb_nxt_device_descriptor .bLength ;
481- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_nxt_device_descriptor ,
482+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_nxt_device_descriptor ,
482483 MIN (size , packet -> length ));
483484 break ;
484485
485486 case USB_DESC_TYPE_CONFIG : /* Configuration descriptor */
486- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_nxt_full_config ,
487+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_nxt_full_config ,
487488 MIN (pbdrv_usb_nxt_full_config .conf_desc .wTotalLength , packet -> length ));
488489
489490 /* TODO: Why? This is not specified in the USB specs. */
@@ -507,13 +508,13 @@ static void pbdrv_usb_handle_std_request(pbdrv_usb_nxt_setup_packet_t *packet) {
507508
508509 case USB_DESC_TYPE_DEVICE_QUALIFIER : /* Device qualifier descriptor. */
509510 size = pbdrv_usb_nxt_dev_qualifier_desc .bLength ;
510- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_nxt_dev_qualifier_desc ,
511+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_nxt_dev_qualifier_desc ,
511512 MIN (size , packet -> length ));
512513 break ;
513514
514515 case USB_DESC_TYPE_BOS : /* BOS descriptor */
515516 size = pbdrv_usb_bos_desc_set .s .bos .wTotalLength ;
516- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_bos_desc_set , MIN (size , packet -> length ));
517+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_bos_desc_set , MIN (size , packet -> length ));
517518 break ;
518519
519520 default : /* Unknown descriptor, tell the host by stalling. */
@@ -582,19 +583,19 @@ static void pbdrv_usb_nxt_handle_class_request(pbdrv_usb_nxt_setup_packet_t *pac
582583 switch (packet -> value ) {
583584 case 0x2A00 : { // device name
584585 const char * name = pbdrv_bluetooth_get_hub_name ();
585- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) name ,
586+ pbdrv_usb_nxt_write_data (0 , name ,
586587 MIN (strlen (name ), packet -> length ));
587588 break ;
588589 }
589590 case 0x2A26 : { // firmware revision
590591 const char * fw = PBIO_VERSION_STR ;
591- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) fw ,
592+ pbdrv_usb_nxt_write_data (0 , fw ,
592593 MIN (strlen (fw ), packet -> length ));
593594 break ;
594595 }
595596 case 0x2A28 : { // software revision
596597 const char * sw = PBIO_PROTOCOL_VERSION_STR ;
597- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) sw ,
598+ pbdrv_usb_nxt_write_data (0 , sw ,
598599 MIN (strlen (sw ), packet -> length ));
599600 break ;
600601 }
@@ -660,12 +661,12 @@ static uint32_t pbdrv_usb_nxt_manage_setup_packet(void) {
660661 switch (packet .request ) {
661662 case PBDRV_USB_VENDOR_REQ_WEBUSB :
662663 // Since there is only one WebUSB descriptor, we ignore the index.
663- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_webusb_landing_page ,
664+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_webusb_landing_page ,
664665 MIN (pbdrv_usb_webusb_landing_page .s .bLength , packet .length ));
665666 break ;
666667 case PBDRV_USB_VENDOR_REQ_MS_20 :
667668 // Since there is only one MS descriptor, we ignore the index.
668- pbdrv_usb_nxt_write_data (0 , ( const uint8_t * ) & pbdrv_usb_ms_20_desc_set ,
669+ pbdrv_usb_nxt_write_data (0 , & pbdrv_usb_ms_20_desc_set ,
669670 MIN (pbdrv_usb_ms_20_desc_set .s .desc_set_hdr .wTotalLength , packet .length ));
670671 break ;
671672 default :
0 commit comments