Re-add signature byte defines to the DFU and CDC class bootloaders -- the SIGNATURE_x defines in the AVR device header files only exist in a newer version of avr-libc than is in the Debian repositories, causing build issues on Linux.
This commit is contained in:
		
							parent
							
								
									b2de451959
								
							
						
					
					
						commit
						e0420015df
					
				
					 9 changed files with 74 additions and 32 deletions
				
			
		| 
						 | 
				
			
			@ -424,9 +424,9 @@ void CDC_Task(void)
 | 
			
		|||
		}
 | 
			
		||||
		else if (Command == 's')
 | 
			
		||||
		{
 | 
			
		||||
			WriteNextResponseByte(SIGNATURE_2);		
 | 
			
		||||
			WriteNextResponseByte(SIGNATURE_1);
 | 
			
		||||
			WriteNextResponseByte(SIGNATURE_0);
 | 
			
		||||
			WriteNextResponseByte(AVR_SIGNATURE_3);		
 | 
			
		||||
			WriteNextResponseByte(AVR_SIGNATURE_2);
 | 
			
		||||
			WriteNextResponseByte(AVR_SIGNATURE_1);
 | 
			
		||||
		}
 | 
			
		||||
		else if (Command == 'b')
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,12 +46,7 @@
 | 
			
		|||
 | 
			
		||||
		#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
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		/** CDC Class Specific request to get the line encoding on a CDC-ACM virtual serial port, including the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,12 +54,5 @@
 | 
			
		|||
 *    <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>
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -40,6 +40,46 @@
 | 
			
		|||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		#if defined(__AVR_AT90USB1286__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x97
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_AT90USB1287__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x97
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_AT90USB646__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x96
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_AT90USB647__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x96
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_AT90USB162__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x94
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_AT90USB82__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x94
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x82
 | 
			
		||||
		#elif defined(__AVR_ATmega32U6__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x95
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x88
 | 
			
		||||
		#elif defined(__AVR_ATmega32U4__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x95
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x87
 | 
			
		||||
		#elif defined(__AVR_ATmega16U4__)
 | 
			
		||||
			#define AVR_SIGNATURE_1               0x1E
 | 
			
		||||
			#define AVR_SIGNATURE_2               0x94
 | 
			
		||||
			#define AVR_SIGNATURE_3               0x88
 | 
			
		||||
		#else
 | 
			
		||||
			#error The selected AVR part is not currently supported by this bootloader.
 | 
			
		||||
		#endif
 | 
			
		||||
 | 
			
		||||
		/** Structure for a CDC class Functional descriptor, with a given data size. This is used instead of a
 | 
			
		||||
		 *  type define so that the same macro can be used for functional descriptors of varying data lengths,
 | 
			
		||||
		 *  while allowing the sizeof() operator to return correct results.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue