so figured most of it out (I think) but the device does not enumerate so I'm missing something.
I swapped theses guys out
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
then change
const USB_Descriptor_Device_t PROGMEM DeviceDescriptor
ro
USB_Descriptor_Device_t DeviceDescriptor and defined it in the h file.
and that allows this
DeviceDescriptor.ProductID = 0x16D0 ;
but it does not enumerate.
That's correct; you need to enable USE_RAM_DESCRIPTORS, as well
as remove the `const` and `PROGMEM` qualifiers on all the
descriptors (if you want to retain some of them in Flash, you can
undefine all the `USE_*_DESCRIPTORS` options and instead indicate
the memory space in the `CALLBACK_USB_GetDescriptor` descriptor
callback via the additional output parameter that will be enabled.
The last step for using all-RAM descriptors, which I think you may have missed, is to remove the `pgm_read_byte()` calls inside `CALLBACK_USB_GetDescriptor`. Currently it will still be trying to read the descriptor length from flash, rather than RAM. Just replace the `pgm_read_byte(&SomeDescriptor.Header.Size);` instances with plain `SomeDescriptor.Header.Size;`.
Cheers,
- Dean
--
You received this message because you are subscribed to the Google Groups "LUFA Library Support List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lufa-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lufa-support/249b0c78-bce7-4836-b0c1-fc55575762a1n%40googlegroups.com.