forked from mfulz_github/qmk_firmware
Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions.
This commit is contained in:
parent
557a945ba1
commit
cb7884da50
|
@ -48,6 +48,11 @@
|
||||||
|
|
||||||
#include <LUFA/Drivers/USB/USB.h> // USB Functionality
|
#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: */
|
/* Macros: */
|
||||||
/** CDC Class Specific request to get the line encoding on a CDC-ACM virtual serial port, including the
|
/** 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.
|
* baud rate, parity, stop bits and data bits.
|
||||||
|
|
|
@ -50,9 +50,16 @@
|
||||||
*
|
*
|
||||||
* <table>
|
* <table>
|
||||||
* <tr>
|
* <tr>
|
||||||
* <td>
|
* <td><b>Define Name:</b></td>
|
||||||
* None
|
* <td><b>Location:</b></td>
|
||||||
* </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>
|
* </tr>
|
||||||
* </table>
|
* </table>
|
||||||
*/
|
*/
|
|
@ -49,6 +49,11 @@
|
||||||
|
|
||||||
#include <LUFA/Drivers/USB/USB.h> // USB Functionality
|
#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: */
|
/* Macros: */
|
||||||
/** Configuration define. Define this token to true to case the bootloader to reject all memory commands
|
/** 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
|
* 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
|
* 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>
|
* being dumped by unauthorized persons.</td>
|
||||||
* </tr>
|
* </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>
|
* </table>
|
||||||
*/
|
*/
|
|
@ -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,
|
/** 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
|
* 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
|
* (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)
|
ISR(ENDPOINT_PIPE_vect, ISR_BLOCK)
|
||||||
{
|
{
|
||||||
|
|
|
@ -55,10 +55,10 @@
|
||||||
#define REMOTE_NDIS_VERSION_MINOR 0x00
|
#define REMOTE_NDIS_VERSION_MINOR 0x00
|
||||||
|
|
||||||
/** RNDIS request to issue a host-to-device NDIS command */
|
/** 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 */
|
/** RNDIS request to issue a device-to-host NDIS response */
|
||||||
#define GET_ENCAPSULATED_RESPONSE 0x01
|
#define REQ_GetEncapsulatedResponse 0x01
|
||||||
|
|
||||||
/* Enums: */
|
/* Enums: */
|
||||||
/** Enum for the possible NDIS adapter states. */
|
/** Enum for the possible NDIS adapter states. */
|
||||||
|
|
|
@ -158,7 +158,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
||||||
/* Process RNDIS class commands */
|
/* Process RNDIS class commands */
|
||||||
switch (bRequest)
|
switch (bRequest)
|
||||||
{
|
{
|
||||||
case SEND_ENCAPSULATED_COMMAND:
|
case REQ_SendEncapsulatedCommand:
|
||||||
if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
|
if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
|
||||||
{
|
{
|
||||||
/* Clear the SETUP packet, ready for data transfer */
|
/* Clear the SETUP packet, ready for data transfer */
|
||||||
|
@ -175,7 +175,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case GET_ENCAPSULATED_RESPONSE:
|
case REQ_GetEncapsulatedResponse:
|
||||||
if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
|
if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
|
||||||
{
|
{
|
||||||
/* Check if a response to the last message is ready */
|
/* 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
|
* - 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
|
* - 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()
|
* 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,
|
* - Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory,
|
||||||
* where they are more suited
|
* 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
|
* - 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
|
* 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
|
* \section Sec_ChangeLog090401 Version 090401
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue