From 092f82e06fc64436fd957b4b6b8d5ce33532efae Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 24 Aug 2010 13:02:38 +0000 Subject: Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove the need for extra casting inside the callback (thanks to Jonathan Kollasch). --- Projects/TempDataLogger/Descriptors.c | 20 ++++++++++---------- Projects/TempDataLogger/Descriptors.h | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'Projects/TempDataLogger') diff --git a/Projects/TempDataLogger/Descriptors.c b/Projects/TempDataLogger/Descriptors.c index 564d5ee83..d6e89603c 100644 --- a/Projects/TempDataLogger/Descriptors.c +++ b/Projects/TempDataLogger/Descriptors.c @@ -239,48 +239,48 @@ USB_Descriptor_String_t PROGMEM ProductString = */ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, - void** const DescriptorAddress) + const void** const DescriptorAddress) { const uint8_t DescriptorType = (wValue >> 8); const uint8_t DescriptorNumber = (wValue & 0xFF); - void* Address = NULL; - uint16_t Size = NO_DESCRIPTOR; + const void* Address = NULL; + uint16_t Size = NO_DESCRIPTOR; switch (DescriptorType) { case DTYPE_Device: - Address = (void*)&DeviceDescriptor; + Address = &DeviceDescriptor; Size = sizeof(USB_Descriptor_Device_t); break; case DTYPE_Configuration: - Address = (void*)&ConfigurationDescriptor; + Address = &ConfigurationDescriptor; Size = sizeof(USB_Descriptor_Configuration_t); break; case DTYPE_String: switch (DescriptorNumber) { case 0x00: - Address = (void*)&LanguageString; + Address = &LanguageString; Size = pgm_read_byte(&LanguageString.Header.Size); break; case 0x01: - Address = (void*)&ManufacturerString; + Address = &ManufacturerString; Size = pgm_read_byte(&ManufacturerString.Header.Size); break; case 0x02: - Address = (void*)&ProductString; + Address = &ProductString; Size = pgm_read_byte(&ProductString.Header.Size); break; } break; case DTYPE_HID: - Address = (void*)&ConfigurationDescriptor.HID_GenericHID; + Address = &ConfigurationDescriptor.HID_GenericHID; Size = sizeof(USB_HID_Descriptor_t); break; case DTYPE_Report: - Address = (void*)&GenericReport; + Address = &GenericReport; Size = sizeof(GenericReport); break; } diff --git a/Projects/TempDataLogger/Descriptors.h b/Projects/TempDataLogger/Descriptors.h index ff0d25cff..7f65cab33 100644 --- a/Projects/TempDataLogger/Descriptors.h +++ b/Projects/TempDataLogger/Descriptors.h @@ -56,6 +56,7 @@ /* Function Prototypes: */ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, - void** const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); + const void** const DescriptorAddress) + ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); #endif -- cgit v1.2.3