serial descriptor clean up
This commit is contained in:
parent
126115a2cb
commit
c6d02901b3
@ -40,9 +40,6 @@
|
||||
// MACRO TYPEDEF CONSTANT ENUM DECLARATION
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
// Serial string using unique Device ID
|
||||
extern char usb_desc_str_serial[1+16];
|
||||
|
||||
/* tinyusb function that handles power event (detected, ready, removed)
|
||||
* We must call it within SD's SOC event handler, or set it as power event handler if SD is not enabled. */
|
||||
extern void tusb_hal_nrf_power_event(uint32_t event);
|
||||
@ -90,12 +87,9 @@ void usb_init(bool cdc_only)
|
||||
tusb_hal_nrf_power_event(NRFX_POWER_USB_EVT_READY);
|
||||
}
|
||||
|
||||
usb_desc_set_mode(cdc_only);
|
||||
usb_desc_init(cdc_only);
|
||||
|
||||
// Create Serial string descriptor
|
||||
sprintf(usb_desc_str_serial, "%08lX%08lX", NRF_FICR->DEVICEID[1], NRF_FICR->DEVICEID[0]);
|
||||
|
||||
// Init tusb stack
|
||||
// Init TinyUSB stack
|
||||
tusb_init();
|
||||
}
|
||||
|
||||
|
@ -33,8 +33,12 @@ enum {
|
||||
ITF_STR_MSC
|
||||
};
|
||||
|
||||
// CDC + MSC or CDC only mode
|
||||
static bool _cdc_only = false;
|
||||
|
||||
// Serial is 64-bit DeviceID -> 16 chars len
|
||||
static char desc_str_serial[1+16];
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Device Descriptor
|
||||
//--------------------------------------------------------------------+
|
||||
@ -112,7 +116,7 @@ uint8_t const * tud_descriptor_configuration_cb(uint8_t index)
|
||||
}
|
||||
|
||||
// Enumerate as CDC + MSC or CDC only
|
||||
void usb_desc_set_mode(bool cdc_only)
|
||||
void usb_desc_init(bool cdc_only)
|
||||
{
|
||||
_cdc_only = cdc_only;
|
||||
|
||||
@ -121,6 +125,9 @@ void usb_desc_set_mode(bool cdc_only)
|
||||
// Change PID to CDC only
|
||||
desc_device.idProduct = USB_DESC_CDC_ONLY_PID;
|
||||
}
|
||||
|
||||
// Create Serial string descriptor
|
||||
sprintf(desc_str_serial, "%08lX%08lX", NRF_FICR->DEVICEID[1], NRF_FICR->DEVICEID[0]);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
@ -149,8 +156,6 @@ void usb_desc_set_mode(bool cdc_only)
|
||||
}
|
||||
#endif
|
||||
|
||||
// Serial is 64-bit DeviceID -> 16 chars len
|
||||
char usb_desc_str_serial[1+16];
|
||||
|
||||
// array of pointer to string descriptors
|
||||
char const* string_desc_arr [] =
|
||||
@ -158,7 +163,7 @@ char const* string_desc_arr [] =
|
||||
(const char[]) { 0x09, 0x04 }, // 0: is supported language is English (0x0409)
|
||||
"Adafruit Industries", // 1: Manufacturer
|
||||
"Bluefruit DFU", // 2: Product
|
||||
usb_desc_str_serial, // 3: Serials, should use chip ID
|
||||
desc_str_serial, // 3: Serials, should use chip ID
|
||||
"Bluefruit Serial", // 4: CDC Interface
|
||||
"Bluefruit UF2", // 5: MSC Interface
|
||||
};
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "tusb.h"
|
||||
#include "boards.h"
|
||||
|
||||
void usb_desc_set_mode(bool cdc_only);
|
||||
void usb_desc_init(bool cdc_only);
|
||||
|
||||
#ifndef USB_DESC_VID
|
||||
#define USB_DESC_VID 0x239A
|
||||
|
Loading…
Reference in New Issue
Block a user