X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/ac61b81a0b20b86a4865d5e2802f704ad1075541..41c1fb38434c006fa88b0071f81d65b2330940fc:/Projects/TempDataLogger/Descriptors.c diff --git a/Projects/TempDataLogger/Descriptors.c b/Projects/TempDataLogger/Descriptors.c index 8ca6b6e27..1b8a4a2f9 100644 --- a/Projects/TempDataLogger/Descriptors.c +++ b/Projects/TempDataLogger/Descriptors.c @@ -119,7 +119,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = .ConfigurationNumber = 1, .ConfigurationStrIndex = NO_DESCRIPTOR, - .ConfigAttributes = USB_CONFIG_ATTR_BUSPOWERED, + .ConfigAttributes = (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED), .MaxPowerConsumption = USB_CONFIG_POWER_MA(100) }, @@ -178,7 +178,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = .HID_GenericHID = { - .Header = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID}, + .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = DTYPE_HID}, .HIDSpec = VERSION_BCD(01.11), .CountryCode = 0x00, @@ -237,48 +237,50 @@ USB_Descriptor_String_t PROGMEM ProductString = * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the * USB host. */ -uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress) +uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, + const uint8_t wIndex, + 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; - Size = sizeof(USB_HID_Descriptor_t); + Address = &ConfigurationDescriptor.HID_GenericHID; + Size = sizeof(USB_HID_Descriptor_HID_t); break; case DTYPE_Report: - Address = (void*)&GenericReport; + Address = &GenericReport; Size = sizeof(GenericReport); break; }