Commit 152b2764 authored by Dean Camera's avatar Dean Camera
Browse files

Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type,...

Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead.
parent e95c96ea
......@@ -85,7 +85,9 @@ F_CPU = 8000000
F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader
# Starting byte address of the bootloader, as a byte address. Note that the address given
# in the AVRStudio fuse programming dialogue uses word addresses, which will have to be
# doubled to obtain the starting byte address of the bootloader section.
BOOT_START = 0x1E000
......
......@@ -85,7 +85,9 @@ F_CPU = 8000000
F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader
# Starting byte address of the bootloader, as a byte address. Note that the address given
# in the AVRStudio fuse programming dialogue uses word addresses, which will have to be
# doubled to obtain the starting byte address of the bootloader section.
BOOT_START = 0x1E000
......
......@@ -114,17 +114,17 @@ void USB_GetNextDescriptorOfTypeAfter(uint16_t* const BytesRem,
USB_GetNextDescriptorOfType(BytesRem, CurrConfigLoc, Type);
}
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t ComparatorRoutine)
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine)
{
uint8_t ErrorCode;
while (*BytesRem)
{
uint8_t* PrevDescLoc = *CurrConfigLoc;
uint16_t PrevBytesRem = *BytesRem;
void* PrevDescLoc = *CurrConfigLoc;
uint16_t PrevBytesRem = *BytesRem;
USB_GetNextDescriptor(BytesRem, CurrConfigLoc);
if ((ErrorCode = ComparatorRoutine(*CurrConfigLoc)) != DESCRIPTOR_SEARCH_NotFound)
{
if (ErrorCode == DESCRIPTOR_SEARCH_Fail)
......
......@@ -118,7 +118,7 @@
*
* \see \ref USB_GetNextDescriptorComp function for more details
*/
typedef uint8_t (* const ConfigComparatorPtr_t)(void*);
typedef uint8_t (* ConfigComparatorPtr_t)(void*);
/* Function Prototypes: */
/** Searches for the next descriptor in the given configuration descriptor using a premade comparator
......@@ -161,7 +161,7 @@
* }
* \endcode
*/
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t ComparatorRoutine);
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine);
/* Enums: */
/** Enum for the possible return codes of the \ref USB_Host_GetDeviceConfigDescriptor() function. */
......@@ -264,11 +264,9 @@
* \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor
* \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor
*/
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
void** const CurrConfigLoc)
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem, void** CurrConfigLoc)
ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
void** const CurrConfigLoc)
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem, void** CurrConfigLoc)
{
uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment