|
|
@ -108,19 +108,19 @@
|
|
|
|
* index and language ID. This function MUST be overridden in the user application (added with full, identical
|
|
|
|
* index and language ID. This function MUST be overridden in the user application (added with full, identical
|
|
|
|
* prototype and name so that the library can call it to retrieve descriptor data.
|
|
|
|
* prototype and name so that the library can call it to retrieve descriptor data.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* \param[in] wValue The type of the descriptor to retrieve in the upper byte, and the index in the
|
|
|
|
* \param[in] wValue The type of the descriptor to retrieve in the upper byte, and the index in the
|
|
|
|
* lower byte (when more than one descriptor of the given type exists, such as the
|
|
|
|
* lower byte (when more than one descriptor of the given type exists, such as the
|
|
|
|
* case of string descriptors). The type may be one of the standard types defined
|
|
|
|
* case of string descriptors). The type may be one of the standard types defined
|
|
|
|
* in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
|
|
|
|
* in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
|
|
|
|
* \param[in] wIndex The language ID of the string to return if the \c wValue type indicates
|
|
|
|
* \param[in] wIndex The language ID of the string to return if the \c wValue type indicates
|
|
|
|
* \ref DTYPE_String, otherwise zero for standard descriptors, or as defined in a
|
|
|
|
* \ref DTYPE_String, otherwise zero for standard descriptors, or as defined in a
|
|
|
|
* class-specific standards.
|
|
|
|
* class-specific standards.
|
|
|
|
* \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
|
|
|
|
* \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
|
|
|
|
* the address of the descriptor.
|
|
|
|
* the address of the descriptor.
|
|
|
|
* \param[out] MemoryAddressSpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory
|
|
|
|
* \param[out] DescriptorMemorySpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory
|
|
|
|
* space in which the descriptor is stored. This parameter does not exist when one
|
|
|
|
* space in which the descriptor is stored. This parameter does not exist when one
|
|
|
|
* of the \c USE_*_DESCRIPTORS compile time options is used, or on architectures which
|
|
|
|
* of the \c USE_*_DESCRIPTORS compile time options is used, or on architectures which
|
|
|
|
* use a unified address space.
|
|
|
|
* use a unified address space.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* \note By default, the library expects all descriptors to be located in flash memory via the \c PROGMEM attribute.
|
|
|
|
* \note By default, the library expects all descriptors to be located in flash memory via the \c PROGMEM attribute.
|
|
|
|
* If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
|
|
|
|
* If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
|
|
|
@ -135,7 +135,7 @@
|
|
|
|
const void** const DescriptorAddress
|
|
|
|
const void** const DescriptorAddress
|
|
|
|
#if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) || defined(__DOXYGEN__)) && \
|
|
|
|
#if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) || defined(__DOXYGEN__)) && \
|
|
|
|
!(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))
|
|
|
|
!(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS))
|
|
|
|
, uint8_t* MemoryAddressSpace
|
|
|
|
, uint8_t* const DescriptorMemorySpace
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
|
|
|
|
) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
|
|
|
|
|
|
|
|
|
|
|
|