diff --git a/Bootloaders/CDC/BootloaderCDC.h b/Bootloaders/CDC/BootloaderCDC.h index dce84a5f84..7669b836c1 100644 --- a/Bootloaders/CDC/BootloaderCDC.h +++ b/Bootloaders/CDC/BootloaderCDC.h @@ -48,6 +48,11 @@ #include // USB Functionality + /* Preprocessor Checks: */ + #if !defined(SIGNATURE_0) || !defined(SIGNATURE_1) || !defined(SIGNATURE_2) + #error Device signature byte constants are not defined due to outdated avr-libc version. See demo documentation. + #endif + /* Macros: */ /** CDC Class Specific request to get the line encoding on a CDC-ACM virtual serial port, including the * baud rate, parity, stop bits and data bits. diff --git a/Bootloaders/CDC/BootloaderCDC.txt b/Bootloaders/CDC/BootloaderCDC.txt index 1f8970d57e..1122e73ae8 100644 --- a/Bootloaders/CDC/BootloaderCDC.txt +++ b/Bootloaders/CDC/BootloaderCDC.txt @@ -50,9 +50,16 @@ * * * - * + * + * + * + * + * + * + * + * * *
- * None - * Define Name:Location:Description:
SIGNATURE_0, SIGNATURE_1, SIGNATURE_2Makefile CDEFSAVR part signature bytes. These are normally defined as part of the AVR device header files in recent avr-libc + * distributions. If your avr-libc library is out of date and does not define these values, you can define them + * manually in the makefile CDEFS.
*/ \ No newline at end of file diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index d0a8254438..e996f2b79c 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.h @@ -48,7 +48,12 @@ #include "Descriptors.h" #include // USB Functionality - + + /* Preprocessor Checks: */ + #if !defined(SIGNATURE_0) || !defined(SIGNATURE_1) || !defined(SIGNATURE_2) + #error Device signature byte constants are not defined due to outdated avr-libc version. See demo documentation. + #endif + /* 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 diff --git a/Bootloaders/DFU/BootloaderDFU.txt b/Bootloaders/DFU/BootloaderDFU.txt index 7107cc1232..44158ed074 100644 --- a/Bootloaders/DFU/BootloaderDFU.txt +++ b/Bootloaders/DFU/BootloaderDFU.txt @@ -73,5 +73,12 @@ * erase has been perfomed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from * being dumped by unauthorized persons. * + * + * SIGNATURE_0, SIGNATURE_1, SIGNATURE_2 + * Makefile CDEFS + * AVR part signature bytes. These are normally defined as part of the AVR device header files in recent avr-libc + * distributions. If your avr-libc library is out of date and does not define these values, you can define them + * manually in the makefile CDEFS. + * * */ \ No newline at end of file diff --git a/Demos/Device/MassStorage/MassStorage.c b/Demos/Device/MassStorage/MassStorage.c index 4032648358..56bc19a943 100644 --- a/Demos/Device/MassStorage/MassStorage.c +++ b/Demos/Device/MassStorage/MassStorage.c @@ -386,7 +386,7 @@ STREAM_CALLBACK(AbortOnMassStoreReset) /** ISR for the general Pipe/Endpoint interrupt vector. This ISR fires when a control request has been issued to the control endpoint, * so that the request can be processed. As several elements of the Mass Storage implementation require asynchronous control requests * (such as endpoint stall clearing and Mass Storage Reset requests during data transfers) this is done via interrupts rather than - * polling. + * polling so that they can be processed regardless of the rest of the application's state. */ ISR(ENDPOINT_PIPE_vect, ISR_BLOCK) { diff --git a/Demos/Device/RNDISEthernet/RNDIS.h b/Demos/Device/RNDISEthernet/RNDIS.h index 0d240ac4eb..88c9a9eb95 100644 --- a/Demos/Device/RNDISEthernet/RNDIS.h +++ b/Demos/Device/RNDISEthernet/RNDIS.h @@ -55,10 +55,10 @@ #define REMOTE_NDIS_VERSION_MINOR 0x00 /** RNDIS request to issue a host-to-device NDIS command */ - #define SEND_ENCAPSULATED_COMMAND 0x00 + #define REQ_SendEncapsulatedCommand 0x00 /** RNDIS request to issue a device-to-host NDIS response */ - #define GET_ENCAPSULATED_RESPONSE 0x01 + #define REQ_GetEncapsulatedResponse 0x01 /* Enums: */ /** Enum for the possible NDIS adapter states. */ diff --git a/Demos/Device/RNDISEthernet/RNDISEthernet.c b/Demos/Device/RNDISEthernet/RNDISEthernet.c index 98863a1130..78c77c8eb7 100644 --- a/Demos/Device/RNDISEthernet/RNDISEthernet.c +++ b/Demos/Device/RNDISEthernet/RNDISEthernet.c @@ -158,7 +158,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket) /* Process RNDIS class commands */ switch (bRequest) { - case SEND_ENCAPSULATED_COMMAND: + case REQ_SendEncapsulatedCommand: if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE)) { /* Clear the SETUP packet, ready for data transfer */ @@ -175,7 +175,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket) } break; - case GET_ENCAPSULATED_RESPONSE: + case REQ_GetEncapsulatedResponse: if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)) { /* Check if a response to the last message is ready */ diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index b4ecc89515..0b15df0b27 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -17,11 +17,13 @@ * - Added new PIMA_DATA_SIZE() define to the Still Image Host demo * - Add call to MassStore_WaitForDataReceived() in MassStore_GetReturnedStatus() to ensure that the CSW has been received in the * extended MSC timeout period before continuing, to prevent long processing delays from causing the MassStore_GetReturnedStatus() - * to early-abort + * to early-abort (thanks to Dmitry Maksimov) * - Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory, * where they are more suited * - Removed all binary constants and replaced with decimal or hexadecimal constants so that unpatched GCC compilers can still build the * code without having to be itself patched and recompiled first + * - Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to + * outdated avr-libc versions. * * \section Sec_ChangeLog090401 Version 090401 *