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
|
||||
|
||||
/* 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>
|
||||
*/
|
|
@ -49,6 +49,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: */
|
||||
/** 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>
|
||||
*/
|
|
@ -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
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue