summaryrefslogtreecommitdiff
path: root/tinyusb/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-05-31 18:21:31 +0700
committerhathach <[email protected]>2013-05-31 18:21:31 +0700
commit03d85acfc7cb18a5469146f98c210a5747218cb3 (patch)
treecf1f4ffac5cf99befadb1ee34f4ada66c78a1504 /tinyusb/device
parentabf105474529a9831851ea78bcc06d1e5ad4e173 (diff)
refractor string descriptors, allow one-stop configure descriptor for
- manufacturer, product etc ... (only english now)
Diffstat (limited to 'tinyusb/device')
-rw-r--r--tinyusb/device/usbd.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c
index efcf29ced..bed745985 100644
--- a/tinyusb/device/usbd.c
+++ b/tinyusb/device/usbd.c
@@ -46,6 +46,7 @@
// INCLUDE
//--------------------------------------------------------------------+
#include "tusb.h"
+#include "tusb_descriptors.h" // TODO callback include
//--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF
@@ -66,6 +67,30 @@
//--------------------------------------------------------------------+
tusb_error_t usbd_init (void)
{
+ ASSERT_INT( USB_STRING_LEN(sizeof(TUSB_CFG_DEVICE_STRING_MANUFACTURER)-1),
+ app_tusb_desc_strings.manufacturer.bLength, TUSB_ERROR_USBD_DESCRIPTOR_STRING);
+
+ ASSERT_INT( USB_STRING_LEN(sizeof(TUSB_CFG_DEVICE_STRING_PRODUCT)-1) ,
+ app_tusb_desc_strings.product.bLength , TUSB_ERROR_USBD_DESCRIPTOR_STRING);
+
+ ASSERT_INT( USB_STRING_LEN(sizeof(TUSB_CFG_DEVICE_STRING_SERIAL)-1) ,
+ app_tusb_desc_strings.serial.bLength , TUSB_ERROR_USBD_DESCRIPTOR_STRING);
+
+ for(uint32_t i=0; i < sizeof(TUSB_CFG_DEVICE_STRING_MANUFACTURER)-1; i++)
+ {
+ app_tusb_desc_strings.manufacturer.unicode_string[i] = TUSB_CFG_DEVICE_STRING_MANUFACTURER[i];
+ }
+
+ for(uint32_t i=0; i < sizeof(TUSB_CFG_DEVICE_STRING_PRODUCT)-1; i++)
+ {
+ app_tusb_desc_strings.product.unicode_string[i] = TUSB_CFG_DEVICE_STRING_PRODUCT[i];
+ }
+
+ for(uint32_t i=0; i < sizeof(TUSB_CFG_DEVICE_STRING_SERIAL)-1; i++)
+ {
+ app_tusb_desc_strings.serial.unicode_string[i] = TUSB_CFG_DEVICE_STRING_SERIAL[i];
+ }
+
ASSERT_STATUS ( dcd_init() );
return TUSB_ERROR_NONE;