diff options
| author | Jim Mussared <jim.mussared@gmail.com> | 2023-09-01 16:03:27 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2023-09-29 16:36:45 +1000 |
| commit | da6f1e1d1e2feb4b7aa4ee6c84e7e2c816d2bead (patch) | |
| tree | 1bb67c86b43a90709e5cb12aacf7fa86e1cc1850 | |
| parent | 61f331374da150f0d9f42d694d56b6b0dc9ee498 (diff) | |
rp2/msc_disk: Allow configuring the USB MSC inquiry response.
This was previously hard-coded to "Micropy" / "Mass Storage" / "1.0".
Now allow it to be overridden by a board.
Also change "Micropy" to "MicroPy" and "1.0" to "1.00" to match stm32.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
| -rw-r--r-- | ports/rp2/msc_disk.c | 10 | ||||
| -rw-r--r-- | shared/tinyusb/tusb_config.h | 12 |
2 files changed, 15 insertions, 7 deletions
diff --git a/ports/rp2/msc_disk.c b/ports/rp2/msc_disk.c index 24bd51cec..0937eeddf 100644 --- a/ports/rp2/msc_disk.c +++ b/ports/rp2/msc_disk.c @@ -44,13 +44,9 @@ static bool ejected = false; // Invoked when received SCSI_CMD_INQUIRY // Application fill vendor id, product id and revision with string up to 8, 16, 4 characters respectively void tud_msc_inquiry_cb(uint8_t lun, uint8_t vendor_id[8], uint8_t product_id[16], uint8_t product_rev[4]) { - const char vid[] = "Micropy"; - const char pid[] = "Mass Storage"; - const char rev[] = "1.0"; - - strncpy((char *)vendor_id, vid, 8); - strncpy((char *)product_id, pid, 16); - strncpy((char *)product_rev, rev, 4); + memcpy(vendor_id, MICROPY_HW_USB_MSC_INQUIRY_VENDOR_STRING, MIN(strlen(MICROPY_HW_USB_MSC_INQUIRY_VENDOR_STRING), 8)); + memcpy(product_id, MICROPY_HW_USB_MSC_INQUIRY_PRODUCT_STRING, MIN(strlen(MICROPY_HW_USB_MSC_INQUIRY_PRODUCT_STRING), 16)); + memcpy(product_rev, MICROPY_HW_USB_MSC_INQUIRY_REVISION_STRING, MIN(strlen(MICROPY_HW_USB_MSC_INQUIRY_REVISION_STRING), 4)); } // Invoked when received Test Unit Ready command. diff --git a/shared/tinyusb/tusb_config.h b/shared/tinyusb/tusb_config.h index 96e883fc8..266cb88cc 100644 --- a/shared/tinyusb/tusb_config.h +++ b/shared/tinyusb/tusb_config.h @@ -43,6 +43,18 @@ #define MICROPY_HW_USB_CDC_INTERFACE_STRING "Board CDC" #endif +#ifndef MICROPY_HW_USB_MSC_INQUIRY_VENDOR_STRING +#define MICROPY_HW_USB_MSC_INQUIRY_VENDOR_STRING "MicroPy" +#endif + +#ifndef MICROPY_HW_USB_MSC_INQUIRY_PRODUCT_STRING +#define MICROPY_HW_USB_MSC_INQUIRY_PRODUCT_STRING "Mass Storage" +#endif + +#ifndef MICROPY_HW_USB_MSC_INQUIRY_REVISION_STRING +#define MICROPY_HW_USB_MSC_INQUIRY_REVISION_STRING "1.00" +#endif + #ifndef CFG_TUSB_RHPORT0_MODE #define CFG_TUSB_RHPORT0_MODE (OPT_MODE_DEVICE) #endif |
