diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c index 0add977ce499d9b029c92b62a3f13743000fa802..a1394bdfa154630e11d83b07a46401ee70ad2eea 100644 --- a/Bootloaders/CDC/BootloaderCDC.c +++ b/Bootloaders/CDC/BootloaderCDC.c @@ -52,7 +52,7 @@ CDC_Line_Coding_t LineCoding = { BaudRateBPS: 9600, * and is used when reading or writing to the AVRs memory (either FLASH or EEPROM depending on the issued * command.) */ -uint16_t CurrAddress; +uint32_t CurrAddress; /** Flag to indicate if the bootloader should be running, or should exit and allow the application code to run * via a soft reset. When cleared, the bootloader will abort, the USB interface will shut down and the application @@ -223,101 +223,101 @@ static void ReadWriteMemoryBlock(const uint8_t Command) MemoryType = FetchNextCommandByte(); - if ((MemoryType == 'E') || (MemoryType == 'F')) + if ((MemoryType != 'E') && (MemoryType != 'F')) { - /* Check if command is to read memory */ - if (Command == 'g') - { - /* Re-enable RWW section */ - boot_rww_enable(); + /* Send error byte back to the host */ + WriteNextResponseByte('?'); + + return; + } - while (BlockSize--) + /* Check if command is to read memory */ + if (Command == 'g') + { + /* Re-enable RWW section */ + boot_rww_enable(); + + while (BlockSize--) + { + if (MemoryType == 'E') { - if (MemoryType == 'E') - { - /* Read the next EEPROM byte into the endpoint */ - WriteNextResponseByte(eeprom_read_byte((uint8_t*)CurrAddress)); + /* Read the next EEPROM byte into the endpoint */ + WriteNextResponseByte(eeprom_read_byte((uint8_t*)(uint16_t)(CurrAddress >> 1))); - /* Increment the address counter after use */ - CurrAddress++; - } - else - { - /* Read the next FLASH byte from the current FLASH page */ - #if defined(RAMPZ) - WriteNextResponseByte(pgm_read_byte_far(((uint32_t)CurrAddress << 1) + HighByte)); - #else - WriteNextResponseByte(pgm_read_byte((CurrAddress << 1) + HighByte)); - #endif - - /* If both bytes in current word have been read, increment the address counter */ - if (HighByte) - CurrAddress++; - - HighByte ^= 1; - } + /* Increment the address counter after use */ + CurrAddress += 2; + } + else + { + /* Read the next FLASH byte from the current FLASH page */ + #if defined(RAMPZ) + WriteNextResponseByte(pgm_read_byte_far(CurrAddress | HighByte)); + #else + WriteNextResponseByte(pgm_read_byte(CurrAddress | HighByte)); + #endif + + /* If both bytes in current word have been read, increment the address counter */ + if (HighByte) + CurrAddress += 2; + + HighByte = !HighByte; } } - else + } + else + { + uint32_t PageStartAddress = CurrAddress; + + if (MemoryType == 'F') + { + boot_page_erase(PageStartAddress); + boot_spm_busy_wait(); + } + + while (BlockSize--) { - uint32_t PageStartAddress = ((uint32_t)CurrAddress << 1); - if (MemoryType == 'F') - { - boot_page_erase(PageStartAddress); - boot_spm_busy_wait(); - } - - while (BlockSize--) - { - if (MemoryType == 'E') + { + /* If both bytes in current word have been written, increment the address counter */ + if (HighByte) { - /* Write the next EEPROM byte from the endpoint */ - eeprom_write_byte((uint8_t*)CurrAddress, FetchNextCommandByte()); + /* Write the next FLASH word to the current FLASH page */ + boot_page_fill(CurrAddress, ((FetchNextCommandByte() << 8) | LowByte)); /* Increment the address counter after use */ - CurrAddress++; + CurrAddress += 2; + + HighByte = false; } else - { - /* If both bytes in current word have been written, increment the address counter */ - if (HighByte) - { - /* Write the next FLASH word to the current FLASH page */ - boot_page_fill(((uint32_t)CurrAddress << 1), ((FetchNextCommandByte() << 8) | LowByte)); - - HighByte = false; - - /* Increment the address counter after use */ - CurrAddress++; - } - else - { - LowByte = FetchNextCommandByte(); - - HighByte = true; - } + { + LowByte = FetchNextCommandByte(); + + HighByte = true; } } - - /* If in FLASH programming mode, commit the page after writing */ - if (MemoryType == 'F') + else { - /* Commit the flash page to memory */ - boot_page_write(PageStartAddress); - - /* Wait until write operation has completed */ - boot_spm_busy_wait(); + /* Write the next EEPROM byte from the endpoint */ + eeprom_write_byte((uint8_t*)(uint16_t)(CurrAddress >> 1), FetchNextCommandByte()); + + /* Increment the address counter after use */ + CurrAddress += 2; } - - /* Send response byte back to the host */ - WriteNextResponseByte('\r'); } - } - else - { - /* Send error byte back to the host */ - WriteNextResponseByte('?'); + + /* If in FLASH programming mode, commit the page after writing */ + if (MemoryType == 'F') + { + /* Commit the flash page to memory */ + boot_page_write(PageStartAddress); + + /* Wait until write operation has completed */ + boot_spm_busy_wait(); + } + + /* Send response byte back to the host */ + WriteNextResponseByte('\r'); } } @@ -402,8 +402,8 @@ TASK(CDC_Task) else if (Command == 'A') { /* Set the current address to that given by the host */ - CurrAddress = (FetchNextCommandByte() << 8); - CurrAddress |= FetchNextCommandByte(); + CurrAddress = (FetchNextCommandByte() << 9); + CurrAddress |= (FetchNextCommandByte() << 1); /* Send confirmation byte back to the host */ WriteNextResponseByte('\r'); @@ -426,9 +426,9 @@ TASK(CDC_Task) } else if (Command == 's') { - WriteNextResponseByte(boot_signature_byte_get(4)); - WriteNextResponseByte(boot_signature_byte_get(2)); - WriteNextResponseByte(boot_signature_byte_get(0)); + WriteNextResponseByte(SIGNATURE_0); + WriteNextResponseByte(SIGNATURE_1); + WriteNextResponseByte(SIGNATURE_2); } else if (Command == 'b') { @@ -478,24 +478,29 @@ TASK(CDC_Task) { WriteNextResponseByte(boot_lock_fuse_bits_get(GET_EXTENDED_FUSE_BITS)); } - else if ((Command == 'C') || (Command == 'c')) - { - if (Command == 'c') - { - /* Increment the address if the second byte is being written */ - CurrAddress++; - } - + else if (Command == 'C') + { /* Write the high byte to the current flash page */ - boot_page_fill(((uint32_t)CurrAddress << 1), FetchNextCommandByte()); + boot_page_fill(CurrAddress, FetchNextCommandByte()); + + /* Send confirmation byte back to the host */ + WriteNextResponseByte('\r'); + } + else if (Command == 'c') + { + /* Write the low byte to the current flash page */ + boot_page_fill(CurrAddress | 1, FetchNextCommandByte()); + /* Increment the address */ + CurrAddress += 2; + /* Send confirmation byte back to the host */ WriteNextResponseByte('\r'); } else if (Command == 'm') { /* Commit the flash page to memory */ - boot_page_write((uint32_t)CurrAddress << 1); + boot_page_write(CurrAddress); /* Wait until write operation has completed */ boot_spm_busy_wait(); @@ -511,9 +516,9 @@ TASK(CDC_Task) else if (Command == 'R') { #if defined(RAMPZ) - uint16_t ProgramWord = pgm_read_word_far(((uint32_t)CurrAddress << 1)); + uint16_t ProgramWord = pgm_read_word_far(CurrAddress); #else - uint16_t ProgramWord = pgm_read_word(CurrAddress << 1); + uint16_t ProgramWord = pgm_read_word(CurrAddress); #endif WriteNextResponseByte(ProgramWord >> 8); @@ -522,10 +527,10 @@ TASK(CDC_Task) else if (Command == 'D') { /* Read the byte from the endpoint and write it to the EEPROM */ - eeprom_write_byte((uint8_t*)CurrAddress, FetchNextCommandByte()); + eeprom_write_byte((uint8_t*)(uint16_t)(CurrAddress >> 1), FetchNextCommandByte()); /* Increment the address after use */ - CurrAddress++; + CurrAddress += 2; /* Send confirmation byte back to the host */ WriteNextResponseByte('\r'); @@ -533,10 +538,10 @@ TASK(CDC_Task) else if (Command == 'd') { /* Read the EEPROM byte and write it to the endpoint */ - WriteNextResponseByte(eeprom_read_byte((uint8_t*)CurrAddress)); + WriteNextResponseByte(eeprom_read_byte((uint8_t*)(uint16_t)(CurrAddress >> 1))); /* Increment the address after use */ - CurrAddress++; + CurrAddress += 2; } else if (Command == 27) { diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c index 9fff20c12d206ff688559d2576b3b4231371eb50..6bea9b25fd8fbedd8c127bf9e449c694b209229a 100644 --- a/Bootloaders/DFU/BootloaderDFU.c +++ b/Bootloaders/DFU/BootloaderDFU.c @@ -32,13 +32,6 @@ * * Main source file for the DFU class bootloader. This file contains the complete bootloader logic. */ - -/** Configuration define. Define this token to true to case the bootloader to reject all memory commands - * until a memory erase has been performed. When used in conjunction with the lockbits of the AVR, this - * can protect the AVR's firmware from being dumped from a secured AVR. When false, memory operations are - * allowed at any time. - */ -#define SECURE_MODE false #define INCLUDE_FROM_BOOTLOADER_C #include "BootloaderDFU.h" diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index 21e8fce71fbd6f11ba3c6e61bfad8ac4e1cc9cbe..5a83403dfbf90254e440714178335421b3f2b5a5 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.h @@ -50,6 +50,13 @@ #include <LUFA/Drivers/USB/USB.h> // USB Functionality /* Macros: */ + /** Configuration define. Define this token to true to case the bootloader to reject all memory commands + * until a memory erase has been performed. When used in conjunction with the lockbits of the AVR, this + * can protect the AVR's firmware from being dumped from a secured AVR. When false, memory operations are + * allowed at any time. + */ + #define SECURE_MODE false + /** Major bootloader version number. */ #define BOOTLOADER_VERSION_MINOR 2 diff --git a/Demos/Mouse/Mouse.c b/Demos/Mouse/Mouse.c index da8a4a809c8cf768bcc48c988b63faf6b91419c5..f8ec0a0f5bfa591d2fb9fca96f454f1c30f26483 100644 --- a/Demos/Mouse/Mouse.c +++ b/Demos/Mouse/Mouse.c @@ -113,6 +113,9 @@ EVENT_HANDLER(USB_Connect) /* Indicate USB enumerating */ UpdateStatus(Status_USBEnumerating); + + /* Default to report protocol on connect */ + UsingReportProtocol = true; } /** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via @@ -141,9 +144,6 @@ EVENT_HANDLER(USB_ConfigurationChanged) /* Indicate USB connected and ready */ UpdateStatus(Status_USBReady); - /* Default to report protocol on connect */ - UsingReportProtocol = true; - /* Start running mouse reporting task */ Scheduler_SetTaskMode(USB_Mouse_Report, TASK_RUN); } diff --git a/LUFA.pnproj b/LUFA.pnproj index 8c68c4895f69ab19a15ac910fe51822966db1332..6af35f58a411adf6675f6179ac1192efebb50a2b 100644 --- a/LUFA.pnproj +++ b/LUFA.pnproj @@ -1 +1 @@ -<Project name="LUFA"><Folder name="Demos"><Folder name="TestApp"><File path="Demos\TestApp\makefile"></File><File path="Demos\TestApp\TestApp.c"></File><File path="Demos\TestApp\TestApp.h"></File><File path="Demos\TestApp\TestEvents.c"></File><File path="Demos\TestApp\TestEvents.h"></File><File path="Demos\TestApp\Descriptors.c"></File><File path="Demos\TestApp\Descriptors.h"></File><File path="Demos\TestApp\TestApp.txt"></File><File path="Demos\TestApp\Doxygen.conf"></File></Folder><Folder name="Mouse"><File path="Demos\Mouse\makefile"></File><File path="Demos\Mouse\Descriptors.c"></File><File path="Demos\Mouse\Descriptors.h"></File><File path="Demos\Mouse\Mouse.h"></File><File path="Demos\Mouse\Mouse.c"></File><File path="Demos\Mouse\Mouse.txt"></File><File path="Demos\Mouse\Doxygen.conf"></File></Folder><Folder name="Keyboard"><File path="Demos\Keyboard\Descriptors.c"></File><File path="Demos\Keyboard\Keyboard.c"></File><File path="Demos\Keyboard\Descriptors.h"></File><File path="Demos\Keyboard\Keyboard.h"></File><File path="Demos\Keyboard\makefile"></File><File path="Demos\Keyboard\Keyboard.txt"></File><File path="Demos\Keyboard\Doxygen.conf"></File></Folder><Folder name="MouseHost"><File path="Demos\MouseHost\MouseHost.h"></File><File path="Demos\MouseHost\makefile"></File><File path="Demos\MouseHost\MouseHost.c"></File><File path="Demos\MouseHost\ConfigDescriptor.c"></File><File path="Demos\MouseHost\ConfigDescriptor.h"></File><File path="Demos\MouseHost\Doxygen.conf"></File><File path="Demos\MouseHost\MouseHost.txt"></File></Folder><Folder name="KeyboardHost"><File path="Demos\KeyboardHost\makefile"></File><File path="Demos\KeyboardHost\KeyboardHost.c"></File><File path="Demos\KeyboardHost\KeyboardHost.h"></File><File path="Demos\KeyboardHost\ConfigDescriptor.c"></File><File path="Demos\KeyboardHost\ConfigDescriptor.h"></File><File path="Demos\KeyboardHost\Doxygen.conf"></File><File path="Demos\KeyboardHost\KeyboardHost.txt"></File></Folder><Folder name="Joystick"><File path="Demos\Joystick\makefile"></File><File path="Demos\Joystick\Descriptors.c"></File><File path="Demos\Joystick\Descriptors.h"></File><File path="Demos\Joystick\Joystick.c"></File><File path="Demos\Joystick\Joystick.h"></File><File path="Demos\Joystick\Joystick.txt"></File><File path="Demos\Joystick\Doxygen.conf"></File></Folder><Folder name="CDC"><File path="Demos\CDC\makefile"></File><File path="Demos\CDC\CDC.c"></File><File path="Demos\CDC\CDC.h"></File><File path="Demos\CDC\Descriptors.c"></File><File path="Demos\CDC\Descriptors.h"></File><File path="Demos\CDC\CDC.txt"></File><File path="Demos\CDC\LUFA CDC.inf"></File><File path="Demos\CDC\Doxygen.conf"></File></Folder><Folder name="USBtoSerial"><File path="Demos\USBtoSerial\Descriptors.h"></File><File path="Demos\USBtoSerial\RingBuff.c"></File><File path="Demos\USBtoSerial\RingBuff.h"></File><File path="Demos\USBtoSerial\Descriptors.c"></File><File path="Demos\USBtoSerial\makefile"></File><File path="Demos\USBtoSerial\USBtoSerial.h"></File><File path="Demos\USBtoSerial\USBtoSerial.c"></File><File path="Demos\USBtoSerial\USBtoSerial.txt"></File><File path="Demos\USBtoSerial\LUFA USBtoSerial.inf"></File><File path="Demos\USBtoSerial\Doxygen.conf"></File></Folder><Folder name="MassStorage"><File path="Demos\MassStorage\MassStorage.h"></File><File path="Demos\MassStorage\Descriptors.c"></File><File path="Demos\MassStorage\Descriptors.h"></File><File path="Demos\MassStorage\makefile"></File><File path="Demos\MassStorage\MassStorage.c"></File><File path="Demos\MassStorage\SCSI.h"></File><File path="Demos\MassStorage\SCSI.c"></File><File path="Demos\MassStorage\DataflashManager.h"></File><File path="Demos\MassStorage\SCSI_Codes.h"></File><File path="Demos\MassStorage\MassStorage.txt"></File><File path="Demos\MassStorage\DataflashManager.c"></File><File path="Demos\MassStorage\Doxygen.conf"></File></Folder><Folder name="KeyboardHostViaInt"><File path="Demos\KeyboardHostViaInt\makefile"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.c"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.h"></File><File path="Demos\KeyboardHostViaInt\ConfigDescriptor.c"></File><File path="Demos\KeyboardHostViaInt\ConfigDescriptor.h"></File><File path="Demos\KeyboardHostViaInt\Doxygen.conf"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.txt"></File></Folder><Folder name="MouseHostViaInt"><File path="Demos\MouseHostViaInt\MouseHostViaInt.h"></File><File path="Demos\MouseHostViaInt\makefile"></File><File path="Demos\MouseHostViaInt\MouseHostViaInt.c"></File><File path="Demos\MouseHostViaInt\ConfigDescriptor.c"></File><File path="Demos\MouseHostViaInt\ConfigDescriptor.h"></File><File path="Demos\MouseHostViaInt\Doxygen.conf"></File><File path="Demos\MouseHostViaInt\MouseHostViaInt.txt"></File></Folder><Folder name="AudioOutput"><File path="Demos\AudioOutput\makefile"></File><File path="Demos\AudioOutput\AudioOutput.c"></File><File path="Demos\AudioOutput\AudioOutput.h"></File><File path="Demos\AudioOutput\Descriptors.c"></File><File path="Demos\AudioOutput\Descriptors.h"></File><File path="Demos\AudioOutput\Doxygen.conf"></File><File path="Demos\AudioOutput\AudioOutput.txt"></File></Folder><Folder name="MassStorageHost"><File path="Demos\MassStorageHost\MassStorageHost.h"></File><File path="Demos\MassStorageHost\makefile"></File><File path="Demos\MassStorageHost\MassStorageHost.c"></File><File path="Demos\MassStorageHost\MassStoreCommands.c"></File><File path="Demos\MassStorageHost\MassStoreCommands.h"></File><File path="Demos\MassStorageHost\ConfigDescriptor.c"></File><File path="Demos\MassStorageHost\ConfigDescriptor.h"></File><File path="Demos\MassStorageHost\Doxygen.conf"></File><File path="Demos\MassStorageHost\SCSI_Codes.h"></File><File path="Demos\MassStorageHost\MassStorageHost.txt"></File></Folder><Folder name="AudioInput"><File path="Demos\AudioInput\makefile"></File><File path="Demos\AudioInput\AudioInput.h"></File><File path="Demos\AudioInput\Descriptors.h"></File><File path="Demos\AudioInput\Descriptors.c"></File><File path="Demos\AudioInput\AudioInput.c"></File><File path="Demos\AudioInput\Doxygen.conf"></File><File path="Demos\AudioInput\AudioInput.txt"></File></Folder><Folder name="KeyboardViaInt"><File path="Demos\KeyboardViaInt\Descriptors.c"></File><File path="Demos\KeyboardViaInt\Descriptors.h"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.c"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.h"></File><File path="Demos\KeyboardViaInt\makefile"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.txt"></File><File path="Demos\KeyboardViaInt\Doxygen.conf"></File></Folder><Folder name="MouseViaInt"><File path="Demos\MouseViaInt\Descriptors.c"></File><File path="Demos\MouseViaInt\Descriptors.h"></File><File path="Demos\MouseViaInt\makefile"></File><File path="Demos\MouseViaInt\MouseViaInt.c"></File><File path="Demos\MouseViaInt\MouseViaInt.h"></File><File path="Demos\MouseViaInt\MouseViaInt.txt"></File><File path="Demos\MouseViaInt\Doxygen.conf"></File></Folder><Folder name="MouseFullInt"><File path="Demos\MouseFullInt\Descriptors.c"></File><File path="Demos\MouseFullInt\Descriptors.h"></File><File path="Demos\MouseFullInt\makefile"></File><File path="Demos\MouseFullInt\MouseFullInt.c"></File><File path="Demos\MouseFullInt\MouseFullInt.h"></File><File path="Demos\MouseFullInt\MouseFullInt.txt"></File><File path="Demos\MouseFullInt\Doxygen.conf"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\KeyboardHostWithParser\makefile"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\KeyboardHostWithParser\ConfigDescriptor.c"></File><File path="Demos\KeyboardHostWithParser\ConfigDescriptor.h"></File><File path="Demos\KeyboardHostWithParser\HIDReport.c"></File><File path="Demos\KeyboardHostWithParser\HIDReport.h"></File><File path="Demos\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\MouseHostWithParser\makefile"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\MouseHostWithParser\ConfigDescriptor.c"></File><File path="Demos\MouseHostWithParser\ConfigDescriptor.h"></File><File path="Demos\MouseHostWithParser\HIDReport.c"></File><File path="Demos\MouseHostWithParser\HIDReport.h"></File><File path="Demos\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.txt"></File></Folder><Folder name="MIDI"><File path="Demos\MIDI\Descriptors.c"></File><File path="Demos\MIDI\Descriptors.h"></File><File path="Demos\MIDI\makefile"></File><File path="Demos\MIDI\MIDI.c"></File><File path="Demos\MIDI\MIDI.h"></File><File path="Demos\MIDI\Doxygen.conf"></File><File path="Demos\MIDI\MIDI.txt"></File></Folder><Folder name="CDCHost"><File path="Demos\CDCHost\CDCHost.c"></File><File path="Demos\CDCHost\CDCHost.h"></File><File path="Demos\CDCHost\makefile"></File><File path="Demos\CDCHost\ConfigDescriptor.c"></File><File path="Demos\CDCHost\ConfigDescriptor.h"></File><File path="Demos\CDCHost\Doxygen.conf"></File><File path="Demos\CDCHost\CDCHost.txt"></File></Folder><Folder name="StillImageHost"><File path="Demos\StillImageHost\makefile"></File><File path="Demos\StillImageHost\PIMACodes.h"></File><File path="Demos\StillImageHost\StillImageCommands.c"></File><File path="Demos\StillImageHost\StillImageCommands.h"></File><File path="Demos\StillImageHost\StillImageHost.c"></File><File path="Demos\StillImageHost\StillImageHost.h"></File><File path="Demos\StillImageHost\ConfigDescriptor.c"></File><File path="Demos\StillImageHost\ConfigDescriptor.h"></File><File path="Demos\StillImageHost\Doxygen.conf"></File></Folder><Folder name="KeyboardFullInt"><File path="Demos\KeyboardFullInt\Descriptors.c"></File><File path="Demos\KeyboardFullInt\Descriptors.h"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.c"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.h"></File><File path="Demos\KeyboardFullInt\makefile"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.txt"></File><File path="Demos\KeyboardFullInt\Doxygen.conf"></File></Folder><Folder name="RNDISEthernet"><File path="Demos\RNDISEthernet\RNDIS.c"></File><File path="Demos\RNDISEthernet\Descriptors.c"></File><File path="Demos\RNDISEthernet\Webserver.h"></File><File path="Demos\RNDISEthernet\ARP.c"></File><File path="Demos\RNDISEthernet\ARP.h"></File><File path="Demos\RNDISEthernet\Descriptors.h"></File><File path="Demos\RNDISEthernet\DHCP.c"></File><File path="Demos\RNDISEthernet\DHCP.h"></File><File path="Demos\RNDISEthernet\Ethernet.c"></File><File path="Demos\RNDISEthernet\Ethernet.h"></File><File path="Demos\RNDISEthernet\EthernetProtocols.h"></File><File path="Demos\RNDISEthernet\ICMP.c"></File><File path="Demos\RNDISEthernet\ICMP.h"></File><File path="Demos\RNDISEthernet\IP.c"></File><File path="Demos\RNDISEthernet\IP.h"></File><File path="Demos\RNDISEthernet\makefile"></File><File path="Demos\RNDISEthernet\ProtocolDecoders.c"></File><File path="Demos\RNDISEthernet\ProtocolDecoders.h"></File><File path="Demos\RNDISEthernet\RNDIS.h"></File><File path="Demos\RNDISEthernet\RNDISEthernet.aps"></File><File path="Demos\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\RNDISEthernet\TCP.c"></File><File path="Demos\RNDISEthernet\TCP.h"></File><File path="Demos\RNDISEthernet\UDP.c"></File><File path="Demos\RNDISEthernet\UDP.h"></File><File path="Demos\RNDISEthernet\Webserver.c"></File><File path="Demos\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\RNDISEthernet\Doxygen.conf"></File><File path="Demos\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\RNDISEthernet\RNDISConstants.h"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\KeyboardMouse\Descriptors.c"></File><File path="Demos\KeyboardMouse\Descriptors.h"></File><File path="Demos\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\KeyboardMouse\makefile"></File><File path="Demos\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\KeyboardMouse\Doxygen.conf"></File></Folder><Folder name="DualCDC"><File path="Demos\DualCDC\Descriptors.c"></File><File path="Demos\DualCDC\Descriptors.h"></File><File path="Demos\DualCDC\makefile"></File><File path="Demos\DualCDC\DualCDC.c"></File><File path="Demos\DualCDC\DualCDC.h"></File><File path="Demos\DualCDC\DualCDC.txt"></File><File path="Demos\DualCDC\LUFA DualCDC.inf"></File><File path="Demos\DualCDC\Doxygen.conf"></File></Folder><Folder name="BluetoothHost"><File path="Demos\BluetoothHost\makefile"></File><File path="Demos\BluetoothHost\BluetoothHost.c"></File><File path="Demos\BluetoothHost\BluetoothHost.h"></File><File path="Demos\BluetoothHost\ConfigDescriptor.c"></File><File path="Demos\BluetoothHost\ConfigDescriptor.h"></File><File path="Demos\BluetoothHost\DeviceDescriptor.c"></File><File path="Demos\BluetoothHost\DeviceDescriptor.h"></File><File path="Demos\BluetoothHost\BluetoothStack.c"></File><File path="Demos\BluetoothHost\BluetoothStack.h"></File><File path="Demos\BluetoothHost\BluetoothClassCodes.h"></File><File path="Demos\BluetoothHost\BluetoothHCICommands.h"></File><File path="Demos\BluetoothHost\BluetoothHCICommands.c"></File><File path="Demos\BluetoothHost\BluetoothACLPackets.c"></File><File path="Demos\BluetoothHost\BluetoothACLPackets.h"></File></Folder><File path="Demos\makefile"></File></Folder><Folder name="LUFA"><Folder name="Common"><File path="LUFA\Common\Common.h"></File><File path="LUFA\Common\FunctionAttributes.h"></File><File path="LUFA\Common\ButtLoadTag.h"></File><File path="LUFA\Common\BoardTypes.h"></File></Folder><Folder name="Drivers"><Folder name="USB"><Folder name="LowLevel"><File path="LUFA\Drivers\USB\LowLevel\HostChapter9.h"></File><File path="LUFA\Drivers\USB\LowLevel\LowLevel.c"></File><File path="LUFA\Drivers\USB\LowLevel\LowLevel.h"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.c"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.h"></File><File path="LUFA\Drivers\USB\LowLevel\StdRequestType.h"></File><File path="LUFA\Drivers\USB\LowLevel\DevChapter9.c"></File><File path="LUFA\Drivers\USB\LowLevel\DevChapter9.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.h"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.c"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.h"></File><File path="LUFA\Drivers\USB\LowLevel\Host.c"></File><File path="LUFA\Drivers\USB\LowLevel\Host.h"></File><File path="LUFA\Drivers\USB\LowLevel\HostChapter9.c"></File><File path="LUFA\Drivers\USB\LowLevel\OTG.h"></File><File path="LUFA\Drivers\USB\LowLevel\USBMode.h"></File><File path="LUFA\Drivers\USB\LowLevel\StreamCallbacks.h"></File></Folder><Folder name="HighLevel"><File path="LUFA\Drivers\USB\HighLevel\USBTask.h"></File><File path="LUFA\Drivers\USB\HighLevel\Events.c"></File><File path="LUFA\Drivers\USB\HighLevel\Events.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBInterrupt.c"></File><File path="LUFA\Drivers\USB\HighLevel\USBInterrupt.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBTask.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.h"></File></Folder><Folder name="Class"><File path="LUFA\Drivers\USB\Class\HIDParser.c"></File><File path="LUFA\Drivers\USB\Class\HIDParser.h"></File><File path="LUFA\Drivers\USB\Class\HIDReportData.h"></File><File path="LUFA\Drivers\USB\Class\ConfigDescriptor.c"></File><File path="LUFA\Drivers\USB\Class\ConfigDescriptor.h"></File></Folder><File path="LUFA\Drivers\USB\USB.h"></File></Folder><Folder name="Misc"><File path="LUFA\Drivers\Misc\TerminalCodes.h"></File></Folder><Folder name="AT90USBXXX"><Folder name="AT90USBXXX67"><File path="LUFA\Drivers\AT90USBXXX\AT90USBXXX67\ADC.h"></File></Folder><File path="LUFA\Drivers\AT90USBXXX\Serial_Stream.h"></File><File path="LUFA\Drivers\AT90USBXXX\ADC.h"></File><File path="LUFA\Drivers\AT90USBXXX\Serial.c"></File><File path="LUFA\Drivers\AT90USBXXX\Serial.h"></File><File path="LUFA\Drivers\AT90USBXXX\Serial_Stream.c"></File><File path="LUFA\Drivers\AT90USBXXX\SPI.h"></File></Folder><Folder name="Board"><Folder name="USBKEY"><File path="LUFA\Drivers\Board\USBKEY\Dataflash.h"></File><File path="LUFA\Drivers\Board\USBKEY\Joystick.h"></File><File path="LUFA\Drivers\Board\USBKEY\HWB.h"></File><File path="LUFA\Drivers\Board\USBKEY\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\USBKEY\LEDs.h"></File></Folder><Folder name="STK526"><File path="LUFA\Drivers\Board\STK526\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK526\Joystick.h"></File><File path="LUFA\Drivers\Board\STK526\HWB.h"></File><File path="LUFA\Drivers\Board\STK526\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\STK526\LEDs.h"></File></Folder><Folder name="STK525"><File path="LUFA\Drivers\Board\STK525\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK525\Joystick.h"></File><File path="LUFA\Drivers\Board\STK525\HWB.h"></File><File path="LUFA\Drivers\Board\STK525\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\STK525\LEDs.h"></File></Folder><Folder name="RZUSBSTICK"><File path="LUFA\Drivers\Board\RZUSBSTICK\LEDs.h"></File></Folder><Folder name="ATAVRUSBRF01"><File path="LUFA\Drivers\Board\ATAVRUSBRF01\LEDs.h"></File><File path="LUFA\Drivers\Board\ATAVRUSBRF01\HWB.h"></File></Folder><File path="LUFA\Drivers\Board\Temperature.h"></File><File path="LUFA\Drivers\Board\Dataflash.h"></File><File path="LUFA\Drivers\Board\HWB.h"></File><File path="LUFA\Drivers\Board\Joystick.h"></File><File path="LUFA\Drivers\Board\Temperature.c"></File><File path="LUFA\Drivers\Board\LEDs.h"></File></Folder></Folder><Folder name="Scheduler"><File path="LUFA\Scheduler\Scheduler.h"></File><File path="LUFA\Scheduler\Scheduler.c"></File></Folder><Folder name="MemoryAllocator"><File path="LUFA\MemoryAllocator\DynAlloc.h"></File><File path="LUFA\MemoryAllocator\DynAlloc.c"></File></Folder><Folder name="DriverStubs"><File path="LUFA\DriverStubs\Dataflash.h"></File><File path="LUFA\DriverStubs\HWB.h"></File><File path="LUFA\DriverStubs\Joystick.h"></File><File path="LUFA\DriverStubs\LEDs.h"></File></Folder><File path="LUFA\makefile"></File><File path="LUFA\Version.h"></File><File path="LUFA\BuildingLinkableLibraries.txt"></File><File path="LUFA\GettingStarted.txt"></File><File path="LUFA\MainPage.txt"></File><File path="LUFA\SchedulerOverview.txt"></File><File path="LUFA\VIDAndPIDValues.txt"></File><File path="LUFA\ChangeLog.txt"></File><File path="LUFA\CompileTimeTokens.txt"></File><File path="LUFA\MigrationInformation.txt"></File><File path="LUFA\DirectorySummaries.txt"></File><File path="LUFA\Doxygen.conf"></File><File path="LUFA\WritingBoardDrivers.txt"></File></Folder><Folder name="Projects"><Folder name="MagStripe"><File path="Projects\Magstripe\Descriptors.c"></File><File path="Projects\Magstripe\Descriptors.h"></File><File path="Projects\Magstripe\Magstripe.c"></File><File path="Projects\Magstripe\Magstripe.h"></File><File path="Projects\Magstripe\MagstripeHW.h"></File><File path="Projects\Magstripe\makefile"></File><File path="Projects\Magstripe\Magstripe.txt"></File><File path="Projects\Magstripe\Doxygen.conf"></File><File path="Projects\Magstripe\CircularBitBuffer.c"></File><File path="Projects\Magstripe\CircularBitBuffer.h"></File></Folder><Folder name="AVRISP_Programmer"><File path="Projects\AVRISP_Programmer\AVRISP_Firmware_Design.txt"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.c"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.h"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.txt"></File><File path="Projects\AVRISP_Programmer\Descriptors.c"></File><File path="Projects\AVRISP_Programmer\makefile"></File><File path="Projects\AVRISP_Programmer\Sample_Programming_Session.txt"></File><File path="Projects\AVRISP_Programmer\RingBuff.c"></File><File path="Projects\AVRISP_Programmer\RingBuff.h"></File><File path="Projects\AVRISP_Programmer\Descriptors.h"></File></Folder><File path="Projects\makefile"></File></Folder><Folder name="Bootloaders"><Folder name="DFU"><File path="Bootloaders\DFU\BootloaderDFU.c"></File><File path="Bootloaders\DFU\BootloaderDFU.h"></File><File path="Bootloaders\DFU\Descriptors.c"></File><File path="Bootloaders\DFU\Descriptors.h"></File><File path="Bootloaders\DFU\makefile"></File><File path="Bootloaders\DFU\BootloaderDFU.txt"></File><File path="Bootloaders\DFU\Doxygen.conf"></File></Folder><Folder name="CDC"><File path="Bootloaders\CDC\BootloaderCDC.c"></File><File path="Bootloaders\CDC\BootloaderCDC.h"></File><File path="Bootloaders\CDC\Descriptors.c"></File><File path="Bootloaders\CDC\Descriptors.h"></File><File path="Bootloaders\CDC\makefile"></File><File path="Bootloaders\CDC\LUFA CDC Bootloader.inf"></File><File path="Bootloaders\CDC\Doxygen.conf"></File><File path="Bootloaders\CDC\BootloaderCDC.txt"></File></Folder><Folder name="TeensyHID"><File path="Bootloaders\TeensyHID\Descriptors.c"></File><File path="Bootloaders\TeensyHID\Descriptors.h"></File><File path="Bootloaders\TeensyHID\makefile"></File><File path="Bootloaders\TeensyHID\TeensyHID.c"></File><File path="Bootloaders\TeensyHID\TeensyHID.h"></File><File path="Bootloaders\TeensyHID\TeensyHID.txt"></File></Folder><File path="Bootloaders\makefile"></File></Folder><File path="makefile"></File></Project> \ No newline at end of file +<Project name="LUFA"><Folder name="Demos"><Folder name="TestApp"><File path="Demos\TestApp\makefile"></File><File path="Demos\TestApp\TestApp.c"></File><File path="Demos\TestApp\TestApp.h"></File><File path="Demos\TestApp\TestEvents.c"></File><File path="Demos\TestApp\TestEvents.h"></File><File path="Demos\TestApp\Descriptors.c"></File><File path="Demos\TestApp\Descriptors.h"></File><File path="Demos\TestApp\TestApp.txt"></File><File path="Demos\TestApp\Doxygen.conf"></File></Folder><Folder name="Mouse"><File path="Demos\Mouse\makefile"></File><File path="Demos\Mouse\Descriptors.c"></File><File path="Demos\Mouse\Descriptors.h"></File><File path="Demos\Mouse\Mouse.h"></File><File path="Demos\Mouse\Mouse.c"></File><File path="Demos\Mouse\Mouse.txt"></File><File path="Demos\Mouse\Doxygen.conf"></File></Folder><Folder name="Keyboard"><File path="Demos\Keyboard\Descriptors.c"></File><File path="Demos\Keyboard\Keyboard.c"></File><File path="Demos\Keyboard\Descriptors.h"></File><File path="Demos\Keyboard\Keyboard.h"></File><File path="Demos\Keyboard\makefile"></File><File path="Demos\Keyboard\Keyboard.txt"></File><File path="Demos\Keyboard\Doxygen.conf"></File></Folder><Folder name="MouseHost"><File path="Demos\MouseHost\MouseHost.h"></File><File path="Demos\MouseHost\makefile"></File><File path="Demos\MouseHost\MouseHost.c"></File><File path="Demos\MouseHost\ConfigDescriptor.c"></File><File path="Demos\MouseHost\ConfigDescriptor.h"></File><File path="Demos\MouseHost\Doxygen.conf"></File><File path="Demos\MouseHost\MouseHost.txt"></File></Folder><Folder name="KeyboardHost"><File path="Demos\KeyboardHost\makefile"></File><File path="Demos\KeyboardHost\KeyboardHost.c"></File><File path="Demos\KeyboardHost\KeyboardHost.h"></File><File path="Demos\KeyboardHost\ConfigDescriptor.c"></File><File path="Demos\KeyboardHost\ConfigDescriptor.h"></File><File path="Demos\KeyboardHost\Doxygen.conf"></File><File path="Demos\KeyboardHost\KeyboardHost.txt"></File></Folder><Folder name="Joystick"><File path="Demos\Joystick\makefile"></File><File path="Demos\Joystick\Descriptors.c"></File><File path="Demos\Joystick\Descriptors.h"></File><File path="Demos\Joystick\Joystick.c"></File><File path="Demos\Joystick\Joystick.h"></File><File path="Demos\Joystick\Joystick.txt"></File><File path="Demos\Joystick\Doxygen.conf"></File></Folder><Folder name="CDC"><File path="Demos\CDC\makefile"></File><File path="Demos\CDC\CDC.c"></File><File path="Demos\CDC\CDC.h"></File><File path="Demos\CDC\Descriptors.c"></File><File path="Demos\CDC\Descriptors.h"></File><File path="Demos\CDC\CDC.txt"></File><File path="Demos\CDC\LUFA CDC.inf"></File><File path="Demos\CDC\Doxygen.conf"></File></Folder><Folder name="USBtoSerial"><File path="Demos\USBtoSerial\Descriptors.h"></File><File path="Demos\USBtoSerial\RingBuff.c"></File><File path="Demos\USBtoSerial\RingBuff.h"></File><File path="Demos\USBtoSerial\Descriptors.c"></File><File path="Demos\USBtoSerial\makefile"></File><File path="Demos\USBtoSerial\USBtoSerial.h"></File><File path="Demos\USBtoSerial\USBtoSerial.c"></File><File path="Demos\USBtoSerial\USBtoSerial.txt"></File><File path="Demos\USBtoSerial\LUFA USBtoSerial.inf"></File><File path="Demos\USBtoSerial\Doxygen.conf"></File></Folder><Folder name="MassStorage"><File path="Demos\MassStorage\MassStorage.h"></File><File path="Demos\MassStorage\Descriptors.c"></File><File path="Demos\MassStorage\Descriptors.h"></File><File path="Demos\MassStorage\makefile"></File><File path="Demos\MassStorage\MassStorage.c"></File><File path="Demos\MassStorage\SCSI.h"></File><File path="Demos\MassStorage\SCSI.c"></File><File path="Demos\MassStorage\DataflashManager.h"></File><File path="Demos\MassStorage\SCSI_Codes.h"></File><File path="Demos\MassStorage\MassStorage.txt"></File><File path="Demos\MassStorage\DataflashManager.c"></File><File path="Demos\MassStorage\Doxygen.conf"></File></Folder><Folder name="KeyboardHostViaInt"><File path="Demos\KeyboardHostViaInt\makefile"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.c"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.h"></File><File path="Demos\KeyboardHostViaInt\ConfigDescriptor.c"></File><File path="Demos\KeyboardHostViaInt\ConfigDescriptor.h"></File><File path="Demos\KeyboardHostViaInt\Doxygen.conf"></File><File path="Demos\KeyboardHostViaInt\KeyboardHostViaInt.txt"></File></Folder><Folder name="MouseHostViaInt"><File path="Demos\MouseHostViaInt\MouseHostViaInt.h"></File><File path="Demos\MouseHostViaInt\makefile"></File><File path="Demos\MouseHostViaInt\MouseHostViaInt.c"></File><File path="Demos\MouseHostViaInt\ConfigDescriptor.c"></File><File path="Demos\MouseHostViaInt\ConfigDescriptor.h"></File><File path="Demos\MouseHostViaInt\Doxygen.conf"></File><File path="Demos\MouseHostViaInt\MouseHostViaInt.txt"></File></Folder><Folder name="AudioOutput"><File path="Demos\AudioOutput\makefile"></File><File path="Demos\AudioOutput\AudioOutput.c"></File><File path="Demos\AudioOutput\AudioOutput.h"></File><File path="Demos\AudioOutput\Descriptors.c"></File><File path="Demos\AudioOutput\Descriptors.h"></File><File path="Demos\AudioOutput\Doxygen.conf"></File><File path="Demos\AudioOutput\AudioOutput.txt"></File></Folder><Folder name="MassStorageHost"><File path="Demos\MassStorageHost\MassStorageHost.h"></File><File path="Demos\MassStorageHost\makefile"></File><File path="Demos\MassStorageHost\MassStorageHost.c"></File><File path="Demos\MassStorageHost\MassStoreCommands.c"></File><File path="Demos\MassStorageHost\MassStoreCommands.h"></File><File path="Demos\MassStorageHost\ConfigDescriptor.c"></File><File path="Demos\MassStorageHost\ConfigDescriptor.h"></File><File path="Demos\MassStorageHost\Doxygen.conf"></File><File path="Demos\MassStorageHost\SCSI_Codes.h"></File><File path="Demos\MassStorageHost\MassStorageHost.txt"></File></Folder><Folder name="AudioInput"><File path="Demos\AudioInput\makefile"></File><File path="Demos\AudioInput\AudioInput.h"></File><File path="Demos\AudioInput\Descriptors.h"></File><File path="Demos\AudioInput\Descriptors.c"></File><File path="Demos\AudioInput\AudioInput.c"></File><File path="Demos\AudioInput\Doxygen.conf"></File><File path="Demos\AudioInput\AudioInput.txt"></File></Folder><Folder name="KeyboardViaInt"><File path="Demos\KeyboardViaInt\Descriptors.c"></File><File path="Demos\KeyboardViaInt\Descriptors.h"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.c"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.h"></File><File path="Demos\KeyboardViaInt\makefile"></File><File path="Demos\KeyboardViaInt\KeyboardViaInt.txt"></File><File path="Demos\KeyboardViaInt\Doxygen.conf"></File></Folder><Folder name="MouseViaInt"><File path="Demos\MouseViaInt\Descriptors.c"></File><File path="Demos\MouseViaInt\Descriptors.h"></File><File path="Demos\MouseViaInt\makefile"></File><File path="Demos\MouseViaInt\MouseViaInt.c"></File><File path="Demos\MouseViaInt\MouseViaInt.h"></File><File path="Demos\MouseViaInt\MouseViaInt.txt"></File><File path="Demos\MouseViaInt\Doxygen.conf"></File></Folder><Folder name="MouseFullInt"><File path="Demos\MouseFullInt\Descriptors.c"></File><File path="Demos\MouseFullInt\Descriptors.h"></File><File path="Demos\MouseFullInt\makefile"></File><File path="Demos\MouseFullInt\MouseFullInt.c"></File><File path="Demos\MouseFullInt\MouseFullInt.h"></File><File path="Demos\MouseFullInt\MouseFullInt.txt"></File><File path="Demos\MouseFullInt\Doxygen.conf"></File></Folder><Folder name="KeyboardHostWithParser"><File path="Demos\KeyboardHostWithParser\makefile"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.c"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.h"></File><File path="Demos\KeyboardHostWithParser\ConfigDescriptor.c"></File><File path="Demos\KeyboardHostWithParser\ConfigDescriptor.h"></File><File path="Demos\KeyboardHostWithParser\HIDReport.c"></File><File path="Demos\KeyboardHostWithParser\HIDReport.h"></File><File path="Demos\KeyboardHostWithParser\Doxygen.conf"></File><File path="Demos\KeyboardHostWithParser\KeyboardHostWithParser.txt"></File></Folder><Folder name="MouseHostWithParser"><File path="Demos\MouseHostWithParser\makefile"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.c"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.h"></File><File path="Demos\MouseHostWithParser\ConfigDescriptor.c"></File><File path="Demos\MouseHostWithParser\ConfigDescriptor.h"></File><File path="Demos\MouseHostWithParser\HIDReport.c"></File><File path="Demos\MouseHostWithParser\HIDReport.h"></File><File path="Demos\MouseHostWithParser\Doxygen.conf"></File><File path="Demos\MouseHostWithParser\MouseHostWithParser.txt"></File></Folder><Folder name="MIDI"><File path="Demos\MIDI\Descriptors.c"></File><File path="Demos\MIDI\Descriptors.h"></File><File path="Demos\MIDI\makefile"></File><File path="Demos\MIDI\MIDI.c"></File><File path="Demos\MIDI\MIDI.h"></File><File path="Demos\MIDI\Doxygen.conf"></File><File path="Demos\MIDI\MIDI.txt"></File></Folder><Folder name="CDCHost"><File path="Demos\CDCHost\CDCHost.c"></File><File path="Demos\CDCHost\CDCHost.h"></File><File path="Demos\CDCHost\makefile"></File><File path="Demos\CDCHost\ConfigDescriptor.c"></File><File path="Demos\CDCHost\ConfigDescriptor.h"></File><File path="Demos\CDCHost\Doxygen.conf"></File><File path="Demos\CDCHost\CDCHost.txt"></File></Folder><Folder name="StillImageHost"><File path="Demos\StillImageHost\makefile"></File><File path="Demos\StillImageHost\PIMACodes.h"></File><File path="Demos\StillImageHost\StillImageCommands.c"></File><File path="Demos\StillImageHost\StillImageCommands.h"></File><File path="Demos\StillImageHost\StillImageHost.c"></File><File path="Demos\StillImageHost\StillImageHost.h"></File><File path="Demos\StillImageHost\ConfigDescriptor.c"></File><File path="Demos\StillImageHost\ConfigDescriptor.h"></File><File path="Demos\StillImageHost\Doxygen.conf"></File></Folder><Folder name="KeyboardFullInt"><File path="Demos\KeyboardFullInt\Descriptors.c"></File><File path="Demos\KeyboardFullInt\Descriptors.h"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.c"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.h"></File><File path="Demos\KeyboardFullInt\makefile"></File><File path="Demos\KeyboardFullInt\KeyboardFullInt.txt"></File><File path="Demos\KeyboardFullInt\Doxygen.conf"></File></Folder><Folder name="RNDISEthernet"><File path="Demos\RNDISEthernet\RNDIS.c"></File><File path="Demos\RNDISEthernet\Descriptors.c"></File><File path="Demos\RNDISEthernet\Webserver.h"></File><File path="Demos\RNDISEthernet\ARP.c"></File><File path="Demos\RNDISEthernet\ARP.h"></File><File path="Demos\RNDISEthernet\Descriptors.h"></File><File path="Demos\RNDISEthernet\DHCP.c"></File><File path="Demos\RNDISEthernet\DHCP.h"></File><File path="Demos\RNDISEthernet\Ethernet.c"></File><File path="Demos\RNDISEthernet\Ethernet.h"></File><File path="Demos\RNDISEthernet\EthernetProtocols.h"></File><File path="Demos\RNDISEthernet\ICMP.c"></File><File path="Demos\RNDISEthernet\ICMP.h"></File><File path="Demos\RNDISEthernet\IP.c"></File><File path="Demos\RNDISEthernet\IP.h"></File><File path="Demos\RNDISEthernet\makefile"></File><File path="Demos\RNDISEthernet\ProtocolDecoders.c"></File><File path="Demos\RNDISEthernet\ProtocolDecoders.h"></File><File path="Demos\RNDISEthernet\RNDIS.h"></File><File path="Demos\RNDISEthernet\RNDISEthernet.aps"></File><File path="Demos\RNDISEthernet\RNDISEthernet.c"></File><File path="Demos\RNDISEthernet\RNDISEthernet.h"></File><File path="Demos\RNDISEthernet\TCP.c"></File><File path="Demos\RNDISEthernet\TCP.h"></File><File path="Demos\RNDISEthernet\UDP.c"></File><File path="Demos\RNDISEthernet\UDP.h"></File><File path="Demos\RNDISEthernet\Webserver.c"></File><File path="Demos\RNDISEthernet\LUFA RNDIS.inf"></File><File path="Demos\RNDISEthernet\Doxygen.conf"></File><File path="Demos\RNDISEthernet\RNDISEthernet.txt"></File><File path="Demos\RNDISEthernet\RNDISConstants.h"></File></Folder><Folder name="KeyboardMouse"><File path="Demos\KeyboardMouse\Descriptors.c"></File><File path="Demos\KeyboardMouse\Descriptors.h"></File><File path="Demos\KeyboardMouse\KeyboardMouse.c"></File><File path="Demos\KeyboardMouse\KeyboardMouse.h"></File><File path="Demos\KeyboardMouse\makefile"></File><File path="Demos\KeyboardMouse\KeyboardMouse.txt"></File><File path="Demos\KeyboardMouse\Doxygen.conf"></File></Folder><Folder name="DualCDC"><File path="Demos\DualCDC\Descriptors.c"></File><File path="Demos\DualCDC\Descriptors.h"></File><File path="Demos\DualCDC\makefile"></File><File path="Demos\DualCDC\DualCDC.c"></File><File path="Demos\DualCDC\DualCDC.h"></File><File path="Demos\DualCDC\DualCDC.txt"></File><File path="Demos\DualCDC\LUFA DualCDC.inf"></File><File path="Demos\DualCDC\Doxygen.conf"></File></Folder><File path="Demos\makefile"></File></Folder><Folder name="LUFA"><Folder name="Common"><File path="LUFA\Common\Common.h"></File><File path="LUFA\Common\FunctionAttributes.h"></File><File path="LUFA\Common\ButtLoadTag.h"></File><File path="LUFA\Common\BoardTypes.h"></File></Folder><Folder name="Drivers"><Folder name="USB"><Folder name="LowLevel"><File path="LUFA\Drivers\USB\LowLevel\HostChapter9.h"></File><File path="LUFA\Drivers\USB\LowLevel\LowLevel.c"></File><File path="LUFA\Drivers\USB\LowLevel\LowLevel.h"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.c"></File><File path="LUFA\Drivers\USB\LowLevel\Pipe.h"></File><File path="LUFA\Drivers\USB\LowLevel\StdRequestType.h"></File><File path="LUFA\Drivers\USB\LowLevel\DevChapter9.c"></File><File path="LUFA\Drivers\USB\LowLevel\DevChapter9.h"></File><File path="LUFA\Drivers\USB\LowLevel\Device.h"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.c"></File><File path="LUFA\Drivers\USB\LowLevel\Endpoint.h"></File><File path="LUFA\Drivers\USB\LowLevel\Host.c"></File><File path="LUFA\Drivers\USB\LowLevel\Host.h"></File><File path="LUFA\Drivers\USB\LowLevel\HostChapter9.c"></File><File path="LUFA\Drivers\USB\LowLevel\OTG.h"></File><File path="LUFA\Drivers\USB\LowLevel\USBMode.h"></File><File path="LUFA\Drivers\USB\LowLevel\StreamCallbacks.h"></File></Folder><Folder name="HighLevel"><File path="LUFA\Drivers\USB\HighLevel\USBTask.h"></File><File path="LUFA\Drivers\USB\HighLevel\Events.c"></File><File path="LUFA\Drivers\USB\HighLevel\Events.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBInterrupt.c"></File><File path="LUFA\Drivers\USB\HighLevel\USBInterrupt.h"></File><File path="LUFA\Drivers\USB\HighLevel\USBTask.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.c"></File><File path="LUFA\Drivers\USB\HighLevel\StdDescriptors.h"></File></Folder><Folder name="Class"><File path="LUFA\Drivers\USB\Class\HIDParser.c"></File><File path="LUFA\Drivers\USB\Class\HIDParser.h"></File><File path="LUFA\Drivers\USB\Class\HIDReportData.h"></File><File path="LUFA\Drivers\USB\Class\ConfigDescriptor.c"></File><File path="LUFA\Drivers\USB\Class\ConfigDescriptor.h"></File></Folder><File path="LUFA\Drivers\USB\USB.h"></File></Folder><Folder name="Misc"><File path="LUFA\Drivers\Misc\TerminalCodes.h"></File></Folder><Folder name="AT90USBXXX"><Folder name="AT90USBXXX67"><File path="LUFA\Drivers\AT90USBXXX\AT90USBXXX67\ADC.h"></File></Folder><File path="LUFA\Drivers\AT90USBXXX\Serial_Stream.h"></File><File path="LUFA\Drivers\AT90USBXXX\ADC.h"></File><File path="LUFA\Drivers\AT90USBXXX\Serial.c"></File><File path="LUFA\Drivers\AT90USBXXX\Serial.h"></File><File path="LUFA\Drivers\AT90USBXXX\Serial_Stream.c"></File><File path="LUFA\Drivers\AT90USBXXX\SPI.h"></File></Folder><Folder name="Board"><Folder name="USBKEY"><File path="LUFA\Drivers\Board\USBKEY\Dataflash.h"></File><File path="LUFA\Drivers\Board\USBKEY\Joystick.h"></File><File path="LUFA\Drivers\Board\USBKEY\HWB.h"></File><File path="LUFA\Drivers\Board\USBKEY\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\USBKEY\LEDs.h"></File></Folder><Folder name="STK526"><File path="LUFA\Drivers\Board\STK526\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK526\Joystick.h"></File><File path="LUFA\Drivers\Board\STK526\HWB.h"></File><File path="LUFA\Drivers\Board\STK526\AT45DB642D.h"></File><File path="LUFA\Drivers\Board\STK526\LEDs.h"></File></Folder><Folder name="STK525"><File path="LUFA\Drivers\Board\STK525\Dataflash.h"></File><File path="LUFA\Drivers\Board\STK525\Joystick.h"></File><File path="LUFA\Drivers\Board\STK525\HWB.h"></File><File path="LUFA\Drivers\Board\STK525\AT45DB321C.h"></File><File path="LUFA\Drivers\Board\STK525\LEDs.h"></File></Folder><Folder name="RZUSBSTICK"><File path="LUFA\Drivers\Board\RZUSBSTICK\LEDs.h"></File></Folder><Folder name="ATAVRUSBRF01"><File path="LUFA\Drivers\Board\ATAVRUSBRF01\LEDs.h"></File><File path="LUFA\Drivers\Board\ATAVRUSBRF01\HWB.h"></File></Folder><File path="LUFA\Drivers\Board\Temperature.h"></File><File path="LUFA\Drivers\Board\Dataflash.h"></File><File path="LUFA\Drivers\Board\HWB.h"></File><File path="LUFA\Drivers\Board\Joystick.h"></File><File path="LUFA\Drivers\Board\Temperature.c"></File><File path="LUFA\Drivers\Board\LEDs.h"></File></Folder></Folder><Folder name="Scheduler"><File path="LUFA\Scheduler\Scheduler.h"></File><File path="LUFA\Scheduler\Scheduler.c"></File></Folder><Folder name="MemoryAllocator"><File path="LUFA\MemoryAllocator\DynAlloc.h"></File><File path="LUFA\MemoryAllocator\DynAlloc.c"></File></Folder><Folder name="DriverStubs"><File path="LUFA\DriverStubs\Dataflash.h"></File><File path="LUFA\DriverStubs\HWB.h"></File><File path="LUFA\DriverStubs\Joystick.h"></File><File path="LUFA\DriverStubs\LEDs.h"></File></Folder><File path="LUFA\makefile"></File><File path="LUFA\Version.h"></File><File path="LUFA\BuildingLinkableLibraries.txt"></File><File path="LUFA\GettingStarted.txt"></File><File path="LUFA\MainPage.txt"></File><File path="LUFA\SchedulerOverview.txt"></File><File path="LUFA\VIDAndPIDValues.txt"></File><File path="LUFA\ChangeLog.txt"></File><File path="LUFA\CompileTimeTokens.txt"></File><File path="LUFA\MigrationInformation.txt"></File><File path="LUFA\DirectorySummaries.txt"></File><File path="LUFA\Doxygen.conf"></File><File path="LUFA\WritingBoardDrivers.txt"></File></Folder><Folder name="Projects"><Folder name="MagStripe"><File path="Projects\Magstripe\Descriptors.c"></File><File path="Projects\Magstripe\Descriptors.h"></File><File path="Projects\Magstripe\Magstripe.c"></File><File path="Projects\Magstripe\Magstripe.h"></File><File path="Projects\Magstripe\MagstripeHW.h"></File><File path="Projects\Magstripe\makefile"></File><File path="Projects\Magstripe\Magstripe.txt"></File><File path="Projects\Magstripe\Doxygen.conf"></File><File path="Projects\Magstripe\CircularBitBuffer.c"></File><File path="Projects\Magstripe\CircularBitBuffer.h"></File></Folder><Folder name="AVRISP_Programmer"><File path="Projects\AVRISP_Programmer\AVRISP_Firmware_Design.txt"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.c"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.h"></File><File path="Projects\AVRISP_Programmer\AVRISP_Programmer.txt"></File><File path="Projects\AVRISP_Programmer\Descriptors.c"></File><File path="Projects\AVRISP_Programmer\makefile"></File><File path="Projects\AVRISP_Programmer\Sample_Programming_Session.txt"></File><File path="Projects\AVRISP_Programmer\RingBuff.c"></File><File path="Projects\AVRISP_Programmer\RingBuff.h"></File><File path="Projects\AVRISP_Programmer\Descriptors.h"></File></Folder><File path="Projects\makefile"></File></Folder><Folder name="Bootloaders"><Folder name="DFU"><File path="Bootloaders\DFU\BootloaderDFU.c"></File><File path="Bootloaders\DFU\BootloaderDFU.h"></File><File path="Bootloaders\DFU\Descriptors.c"></File><File path="Bootloaders\DFU\Descriptors.h"></File><File path="Bootloaders\DFU\makefile"></File><File path="Bootloaders\DFU\BootloaderDFU.txt"></File><File path="Bootloaders\DFU\Doxygen.conf"></File></Folder><Folder name="CDC"><File path="Bootloaders\CDC\BootloaderCDC.c"></File><File path="Bootloaders\CDC\BootloaderCDC.h"></File><File path="Bootloaders\CDC\Descriptors.c"></File><File path="Bootloaders\CDC\Descriptors.h"></File><File path="Bootloaders\CDC\makefile"></File><File path="Bootloaders\CDC\LUFA CDC Bootloader.inf"></File><File path="Bootloaders\CDC\Doxygen.conf"></File><File path="Bootloaders\CDC\BootloaderCDC.txt"></File></Folder><Folder name="TeensyHID"><File path="Bootloaders\TeensyHID\Descriptors.c"></File><File path="Bootloaders\TeensyHID\Descriptors.h"></File><File path="Bootloaders\TeensyHID\makefile"></File><File path="Bootloaders\TeensyHID\TeensyHID.c"></File><File path="Bootloaders\TeensyHID\TeensyHID.h"></File><File path="Bootloaders\TeensyHID\TeensyHID.txt"></File></Folder><File path="Bootloaders\makefile"></File></Folder><File path="makefile"></File></Project> \ No newline at end of file diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 6e837f36c5ba7934b2aa99a6ca785a24935dced2..721d5e864c6bed45692c3d1e626445610dc4aa21 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -38,6 +38,7 @@ * - Added DataflashManager_WriteBlocks_RAM() and DataflashManager_ReadBlocks_RAM() functions to the MassStorage demo, to allow for easy * interfacing with a FAT library for dataflash file level access * - Incomplete non-functional BluetoothHost demo removed until it has reached a stable state to prevent confusion + * - Corrected CDC class bootloader to fix a few bugs, changed address counter to store x2 addresses for convenience * * \section Sec_ChangeLog090209 Version 090209 *