nRF5 SDK v17.1.0
Data Structures | Macros | Enumerations | Functions
USBD string descriptors

nRF52840 only: USBD string descriptor management. More...

Data Structures

struct  app_usbd_strings_convert_t
 String ID conversion struct. More...
 

Macros

#define APP_USBD_LANG(lang)   ((app_usbd_langid_t) lang)
 USB Language identifier initialization. More...
 
#define APP_USBD_LANG_AND_SUBLANG(lang, sublang)   ((app_usbd_langid_t) lang | (app_usbd_langid_t) sublang)
 USB Language identifier with sublanguage initialization. More...
 
#define APP_USBD_STRING_DESC(str)   (const uint8_t *)(const char[]){str}
 USB string initialization. More...
 
#define APP_USBD_STRING_RAW8_DESC(...)
 USB raw 8-bit string initialization. More...
 
#define APP_USBD_STRING_RAW16_DESC(...)
 USB raw 16-bit string initialization. More...
 
#define APP_USBD_STRING_ID_MANUFACTURER_LEN   0
 
#define APP_USBD_STRING_ID_PRODUCT_LEN   0
 
#define APP_USBD_STRING_ID_SERIAL_LEN   0
 
#define APP_USBD_STRING_ID_CONFIGURATION_LEN   0
 
#define APP_USBD_STRINGS_NUM   ((APP_USBD_STRINGS_USER 0) + 1 + APP_USBD_STRING_ID_MANUFACTURER_LEN + APP_USBD_STRING_ID_PRODUCT_LEN + APP_USBD_STRING_ID_SERIAL_LEN + APP_USBD_STRING_ID_CONFIGURATION_LEN)
 Total number of USB strings.
 

Enumerations

enum  app_usbd_string_desc_idx_t {
  APP_USBD_STRING_ID_LANGIDS = 0,
  APP_USBD_STRINGS_USER
}
 USB string descriptors IDs. More...
 

Functions

uint16_t const * app_usbd_string_desc_get (uint8_t idx, uint16_t langid)
 Get string descriptor. More...
 
static size_t app_usbd_string_desc_length (uint16_t const *p_str)
 Get string length. More...
 

Detailed Description

nRF52840 only: USBD string descriptor management.

Macro Definition Documentation

#define APP_USBD_LANG (   lang)    ((app_usbd_langid_t) lang)

USB Language identifier initialization.

Parameters
[in]langLanguage identifier.
#define APP_USBD_LANG_AND_SUBLANG (   lang,
  sublang 
)    ((app_usbd_langid_t) lang | (app_usbd_langid_t) sublang)

USB Language identifier with sublanguage initialization.

Parameters
[in]langLanguage identifier.
[in]sublangSublanguage identifier.
#define APP_USBD_STRING_DESC (   str)    (const uint8_t *)(const char[]){str}

USB string initialization.

Macro that creates initialization values for the USB string. The string must be declared as a NULL-terminated string.

Parameters
[in]strNULL-terminated string.
Returns
String descriptor initialization data.
#define APP_USBD_STRING_RAW16_DESC (   ...)
Value:
(const uint8_t *) ((const uint16_t[]){ \
0x00, /* NULL character at start to differentiate from normal string */ \
(0xff & (sizeof((uint16_t[]){__VA_ARGS__}) + 2)) | \
((uint16_t)APP_USBD_DESCRIPTOR_STRING) << 8, \
__VA_ARGS__ })

USB raw 16-bit string initialization.

Macro that creates header for raw values passed into descriptor. Values must be of the uint16_t type and separated by commas.

Parameters
[in]...comma-separated values.
Returns
String descriptor initialization data.
#define APP_USBD_STRING_RAW8_DESC (   ...)
Value:
(const uint8_t[]){ \
0x00, 0x00, /* NULL character at start to differentiate from normal string */ \
(0xff & (sizeof((uint8_t[]){__VA_ARGS__}) + 2)), \
__VA_ARGS__ }

USB raw 8-bit string initialization.

Macro that creates header for raw values passed into descriptor. Values must be of the uint8_t type and separated by commas.

Parameters
[in]...comma-separated values.
Returns
String descriptor initialization data.

Enumeration Type Documentation

USB string descriptors IDs.

Enumerator
APP_USBD_STRING_ID_LANGIDS 

Supported language identifiers

Function Documentation

uint16_t const* app_usbd_string_desc_get ( uint8_t  idx,
uint16_t  langid 
)

Get string descriptor.

Parameters
[in]idxString descriptor index.
[in]langidSelected language for the string.
Returns
String descriptor, or NULL if it does not exist.
static size_t app_usbd_string_desc_length ( uint16_t const *  p_str)
inlinestatic

Get string length.

Function for getting string length from descriptor (descriptor returned by app_usbd_string_desc_get).

Parameters
[in]p_strString descriptor pointer.
Returns
Total descriptor length in bytes.

Documentation feedback | Developer Zone | Subscribe | Updated