|
|
|
@ -108,19 +108,19 @@ |
|
|
|
|
* 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. |
|
|
|
|
* |
|
|
|
|
* \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 |
|
|
|
|
* 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. |
|
|
|
|
* \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 |
|
|
|
|
* class-specific standards. |
|
|
|
|
* \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to |
|
|
|
|
* the address of the descriptor. |
|
|
|
|
* \param[out] MemoryAddressSpace 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 |
|
|
|
|
* of the \c USE_*_DESCRIPTORS compile time options is used, or on architectures which |
|
|
|
|
* use a unified address space. |
|
|
|
|
* \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 |
|
|
|
|
* 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. |
|
|
|
|
* \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 |
|
|
|
|
* class-specific standards. |
|
|
|
|
* \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to |
|
|
|
|
* the address of the descriptor. |
|
|
|
|
* \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 |
|
|
|
|
* of the \c USE_*_DESCRIPTORS compile time options is used, or on architectures which |
|
|
|
|
* use a unified address space. |
|
|
|
|
* |
|
|
|
|
* \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 |
|
|
|
@ -135,7 +135,7 @@ |
|
|
|
|
const void** const DescriptorAddress |
|
|
|
|
#if (defined(ARCH_HAS_MULTI_ADDRESS_SPACE) || defined(__DOXYGEN__)) && \ |
|
|
|
|
!(defined(USE_FLASH_DESCRIPTORS) || defined(USE_EEPROM_DESCRIPTORS) || defined(USE_RAM_DESCRIPTORS)) |
|
|
|
|
, uint8_t* MemoryAddressSpace |
|
|
|
|
, uint8_t* const DescriptorMemorySpace |
|
|
|
|
#endif |
|
|
|
|
) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); |
|
|
|
|
|
|
|
|
|