From d711e37d2f10f8df9a9ffdf974935c1f1d0a7906 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 9 Mar 2009 09:54:12 +0000
Subject: [PATCH] Altered DFU bootloader to use the signature byte constants
 located in the avr-libc part headers, rather than redefining them in
 Descriptors.h.

---
 Bootloaders/DFU/BootloaderDFU.c |  2 +-
 Bootloaders/DFU/BootloaderDFU.h |  1 +
 Bootloaders/DFU/Descriptors.h   | 36 ---------------------------------
 3 files changed, 2 insertions(+), 37 deletions(-)

diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c
index a997b207c..704133f5d 100644
--- a/Bootloaders/DFU/BootloaderDFU.c
+++ b/Bootloaders/DFU/BootloaderDFU.c
@@ -677,7 +677,7 @@ static void ProcessWriteCommand(void)
 static void ProcessReadCommand(void)
 {
 	const uint8_t BootloaderInfo[3] = {BOOTLOADER_VERSION, BOOTLOADER_ID_BYTE1, BOOTLOADER_ID_BYTE2};
-	const uint8_t SignatureInfo[3]  = {SIGNATURE_BYTE_1, SIGNATURE_BYTE_2, SIGNATURE_BYTE_3};
+	const uint8_t SignatureInfo[3]  = {SIGNATURE_0, SIGNATURE_1, SIGNATURE_2};
 
 	uint8_t DataIndexToRead = SentCommand.Data[1];
 
diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h
index e5c680d21..b90fee13f 100644
--- a/Bootloaders/DFU/BootloaderDFU.h
+++ b/Bootloaders/DFU/BootloaderDFU.h
@@ -40,6 +40,7 @@
 		#include <avr/io.h>
 		#include <avr/wdt.h>
 		#include <avr/boot.h>
+		#include <avr/pgmspace.h>
 		#include <avr/eeprom.h>
 		#include <stdbool.h>
 	
diff --git a/Bootloaders/DFU/Descriptors.h b/Bootloaders/DFU/Descriptors.h
index b6d1a2af3..7765981ee 100644
--- a/Bootloaders/DFU/Descriptors.h
+++ b/Bootloaders/DFU/Descriptors.h
@@ -65,58 +65,22 @@
 
 		#if defined(__AVR_AT90USB1286__)
 			#define PRODUCT_ID_CODE               0x2FFB
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x97
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_AT90USB1287__)
 			#define PRODUCT_ID_CODE               0x2FFB
-			
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x97
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_AT90USB646__)
 			#define PRODUCT_ID_CODE               0x2FF9
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x96
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_AT90USB647__)
 			#define PRODUCT_ID_CODE               0x2FF9
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x96
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_AT90USB162__)
 			#define PRODUCT_ID_CODE               0x2FFA
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x94
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_AT90USB82__)
 			#define PRODUCT_ID_CODE               0x2FF7
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x94
-			#define SIGNATURE_BYTE_3              0x82
 		#elif defined(__AVR_ATmega32U6__)
 			#define PRODUCT_ID_CODE               0x2FFB
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x95
-			#define SIGNATURE_BYTE_3              0x88
 		#elif defined(__AVR_ATmega32U4__)
 			#define PRODUCT_ID_CODE               0x2FF4
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x95
-			#define SIGNATURE_BYTE_3              0x87	
 		#elif defined(__AVR_ATmega16U4__)
 			#define PRODUCT_ID_CODE               0x2FF3
-
-			#define SIGNATURE_BYTE_1              0x1E
-			#define SIGNATURE_BYTE_2              0x94
-			#define SIGNATURE_BYTE_3              0x88
 		#else
 			#error The selected AVR part is not currently supported by this bootloader.
 		#endif
-- 
GitLab