Commit cb7884da authored by Dean Camera's avatar Dean Camera
Browse files

Added preprocessor checks and documentation to the bootloaders giving...

Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions.
parent 557a945b
......@@ -48,6 +48,11 @@
#include <LUFA/Drivers/USB/USB.h> // 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.
......
......@@ -50,9 +50,16 @@
*
* <table>
* <tr>
* <td>
* None
* </td>
* <td><b>Define Name:</b></td>
* <td><b>Location:</b></td>
* <td><b>Description:</b></td>
* </tr>
* <tr>
* <td>SIGNATURE_0, SIGNATURE_1, SIGNATURE_2</td>
* <td>Makefile CDEFS</td>
* <td>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.</td>
* </tr>
* </table>
*/
\ No newline at end of file
......@@ -48,7 +48,12 @@
#include "Descriptors.h"
#include <LUFA/Drivers/USB/USB.h> // 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
......
......@@ -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.</td>
* </tr>
* <tr>
* <td>SIGNATURE_0, SIGNATURE_1, SIGNATURE_2</td>
* <td>Makefile CDEFS</td>
* <td>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.</td>
* </tr>
* </table>
*/
\ No newline at end of file
......@@ -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)
{
......
......@@ -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. */
......
......@@ -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 */
......
......@@ -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
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment