From 258a6a01777afadbf6913246f12a7106b421b795 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Thu, 3 Dec 2009 09:12:36 +0000
Subject: [PATCH] Fix the tokens which enable and disable the different
 programming protocols in the AVRISP project.

---
 LUFA/ManPages/ChangeLog.txt       |  4 ++--
 Projects/AVRISP/AVRISP.txt        | 10 +++++-----
 Projects/AVRISP/Doxygen.conf      |  2 +-
 Projects/AVRISP/Lib/ISPProtocol.c |  2 +-
 Projects/AVRISP/Lib/ISPProtocol.h |  7 +++++--
 Projects/AVRISP/Lib/ISPTarget.c   |  2 +-
 Projects/AVRISP/Lib/ISPTarget.h   |  7 +++++--
 Projects/AVRISP/Lib/PDIProtocol.c |  2 +-
 Projects/AVRISP/Lib/PDIProtocol.h |  7 +++++--
 Projects/AVRISP/Lib/PDITarget.c   |  2 +-
 Projects/AVRISP/Lib/PDITarget.h   |  7 +++++--
 Projects/AVRISP/Lib/V2Protocol.c  |  4 ++--
 Projects/AVRISP/Lib/V2Protocol.h  |  7 +++++--
 Projects/AVRISP/makefile          |  4 ++--
 14 files changed, 41 insertions(+), 26 deletions(-)

diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 4d89a293a..f0d047894 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -17,8 +17,8 @@
   *  - Added new RNDIS Ethernet Host ClassDriver demo
   *  - Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device
   *  - Added PDI programming support for XMEGA devices to the AVRISP programmer project
-  *  - Added support for the XPLAIN dataflash, with new XPLAIN_REV1 board target for the different dataflash used on the
-  *    first revision boards compared to the ones mounted on later revisions
+  *  - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different dataflash used
+  *    on the first revision boards compared to the one mounted on later revisions
   *
   *  <b>Changed:</b>
   *  - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of keycodes
diff --git a/Projects/AVRISP/AVRISP.txt b/Projects/AVRISP/AVRISP.txt
index bed0a7a62..c15c27fa6 100644
--- a/Projects/AVRISP/AVRISP.txt
+++ b/Projects/AVRISP/AVRISP.txt
@@ -54,10 +54,10 @@
  *  drivers. When promted, direct your OS to install Atmel's AVRISP-MKII drivers provided with AVRStudio.
  *
  *  Note that this design currently has several limitations:
- *    - Minimum target clock speed of 500KHz due to hardware SPI used
+ *    - Minimum ISP target clock speed of 500KHz due to hardware SPI used
  *    - No reversed/shorted target connector detection and notification
  *
- *  On AVR models with an ADC converter, ACC should be tied to 5V (e.g. VBUS) and the VTARGET_ADC_CHANNEL token should be
+ *  On AVR models with an ADC converter, AVCC should be tied to 5V (e.g. VBUS) and the VTARGET_ADC_CHANNEL token should be
  *  set to an appropriate ADC channel number in the project makefile for VTARGET detection to operate correctly. On models
  *  without an ADC converter, VTARGET will report at a fixed 5V level.
  *
@@ -115,7 +115,7 @@
  *   <tr>
  *    <td><b>Programmer Pin:</b></td>
  *    <td><b>Target Device Pin:</b></td>
- *    <td><b>ISP 6 Pin Layout:</b></td>
+ *    <td><b>PDI 6 Pin Layout:</b></td>
  *   </tr>
  *   <tr>
  *    <td>MISO</td>
@@ -183,12 +183,12 @@
  *    <td>ADC channel number (on supported AVRs) to use for VTARGET level detection.</td> 
  *   </tr>
  *   <tr>
- *    <td>ENABLE_SPI_PROTOCOL</td>
+ *    <td>ENABLE_ISP_PROTOCOL</td>
  *    <td>Makefile CDEFS</td>
  *    <td>Define to enable SPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>  
  *   </tr>
  *   <tr>
- *    <td>ENABLE_XPROG_PROTOCOL</td>
+ *    <td>ENABLE_PDI_PROTOCOL</td>
  *    <td>Makefile CDEFS</td>
  *    <td>Define to enable XMEGA PDI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>  
  *   </tr>
diff --git a/Projects/AVRISP/Doxygen.conf b/Projects/AVRISP/Doxygen.conf
index dcaaecb5e..47d88ed1c 100644
--- a/Projects/AVRISP/Doxygen.conf
+++ b/Projects/AVRISP/Doxygen.conf
@@ -1221,7 +1221,7 @@ INCLUDE_FILE_PATTERNS  =
 # undefined via #undef or recursively expanded use the := operator 
 # instead of the = operator.
 
-PREDEFINED             = __DOXYGEN__ ENABLE_SPI_PROTOCOL ENABLE_PDI_PROTOCOL
+PREDEFINED             = __DOXYGEN__ ENABLE_ISP_PROTOCOL ENABLE_PDI_PROTOCOL
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
 # this tag can be used to specify a list of macro names that should be expanded. 
diff --git a/Projects/AVRISP/Lib/ISPProtocol.c b/Projects/AVRISP/Lib/ISPProtocol.c
index 4847c35fc..1f336b3b7 100644
--- a/Projects/AVRISP/Lib/ISPProtocol.c
+++ b/Projects/AVRISP/Lib/ISPProtocol.c
@@ -28,7 +28,7 @@
   this software.
 */
 
-#if defined(ENABLE_SPI_PROTOCOL)
+#if defined(ENABLE_ISP_PROTOCOL)
 
 /** \file
  *
diff --git a/Projects/AVRISP/Lib/ISPProtocol.h b/Projects/AVRISP/Lib/ISPProtocol.h
index 5a144c4f7..247933e39 100644
--- a/Projects/AVRISP/Lib/ISPProtocol.h
+++ b/Projects/AVRISP/Lib/ISPProtocol.h
@@ -43,8 +43,11 @@
 		
 	/* Preprocessor Checks: */
 		#if BOARD == BOARD_XPLAIN
-			#undef  ENABLE_SPI_PROTOCOL
-			#define ENABLE_PDI_PROTOCOL
+			#undef  ENABLE_ISP_PROTOCOL
+			
+			#if !defined(ENABLE_PDI_PROTOCOL)
+				#define ENABLE_PDI_PROTOCOL
+			#endif
 		#endif
 
 	/* Macros: */
diff --git a/Projects/AVRISP/Lib/ISPTarget.c b/Projects/AVRISP/Lib/ISPTarget.c
index aab64a939..f2b57343f 100644
--- a/Projects/AVRISP/Lib/ISPTarget.c
+++ b/Projects/AVRISP/Lib/ISPTarget.c
@@ -28,7 +28,7 @@
   this software.
 */
 
-#if defined(ENABLE_SPI_PROTOCOL)
+#if defined(ENABLE_ISP_PROTOCOL)
 
 /** \file
  *
diff --git a/Projects/AVRISP/Lib/ISPTarget.h b/Projects/AVRISP/Lib/ISPTarget.h
index 4c4b891d1..da5bd30d1 100644
--- a/Projects/AVRISP/Lib/ISPTarget.h
+++ b/Projects/AVRISP/Lib/ISPTarget.h
@@ -49,8 +49,11 @@
 
 	/* Preprocessor Checks: */
 		#if BOARD == BOARD_XPLAIN
-			#undef  ENABLE_SPI_PROTOCOL
-			#define ENABLE_PDI_PROTOCOL
+			#undef  ENABLE_ISP_PROTOCOL
+			
+			#if !defined(ENABLE_PDI_PROTOCOL)
+				#define ENABLE_PDI_PROTOCOL
+			#endif
 		#endif
 
 	/* Macros: */
diff --git a/Projects/AVRISP/Lib/PDIProtocol.c b/Projects/AVRISP/Lib/PDIProtocol.c
index 2ed3ff293..3e16407ce 100644
--- a/Projects/AVRISP/Lib/PDIProtocol.c
+++ b/Projects/AVRISP/Lib/PDIProtocol.c
@@ -28,7 +28,7 @@
   this software.
 */
 
-#if defined(ENABLE_XPROG_PROTOCOL)
+#if defined(ENABLE_PDI_PROTOCOL)
 
 #warning PDI Programming Protocol support is incomplete and not currently suitable for use.
 
diff --git a/Projects/AVRISP/Lib/PDIProtocol.h b/Projects/AVRISP/Lib/PDIProtocol.h
index 6ac3eb209..bbbfda50a 100644
--- a/Projects/AVRISP/Lib/PDIProtocol.h
+++ b/Projects/AVRISP/Lib/PDIProtocol.h
@@ -45,8 +45,11 @@
 
 	/* Preprocessor Checks: */
 		#if BOARD == BOARD_XPLAIN
-			#undef  ENABLE_SPI_PROTOCOL
-			#define ENABLE_PDI_PROTOCOL
+			#undef  ENABLE_ISP_PROTOCOL
+			
+			#if !defined(ENABLE_PDI_PROTOCOL)
+				#define ENABLE_PDI_PROTOCOL
+			#endif
 		#endif
 
 	/* Macros: */
diff --git a/Projects/AVRISP/Lib/PDITarget.c b/Projects/AVRISP/Lib/PDITarget.c
index d1042068f..672619968 100644
--- a/Projects/AVRISP/Lib/PDITarget.c
+++ b/Projects/AVRISP/Lib/PDITarget.c
@@ -28,7 +28,7 @@
   this software.
 */
 
-#if defined(ENABLE_XPROG_PROTOCOL)
+#if defined(ENABLE_PDI_PROTOCOL)
 
 /** \file
  *
diff --git a/Projects/AVRISP/Lib/PDITarget.h b/Projects/AVRISP/Lib/PDITarget.h
index f2281fe11..0ecc70a26 100644
--- a/Projects/AVRISP/Lib/PDITarget.h
+++ b/Projects/AVRISP/Lib/PDITarget.h
@@ -44,8 +44,11 @@
 	
 	/* Preprocessor Checks: */
 		#if BOARD == BOARD_XPLAIN
-			#undef  ENABLE_SPI_PROTOCOL
-			#define ENABLE_PDI_PROTOCOL
+			#undef  ENABLE_ISP_PROTOCOL
+			
+			#if !defined(ENABLE_PDI_PROTOCOL)
+				#define ENABLE_PDI_PROTOCOL
+			#endif
 		#endif
 
 	/* Defines: */
diff --git a/Projects/AVRISP/Lib/V2Protocol.c b/Projects/AVRISP/Lib/V2Protocol.c
index 24f208046..dfb04c674 100644
--- a/Projects/AVRISP/Lib/V2Protocol.c
+++ b/Projects/AVRISP/Lib/V2Protocol.c
@@ -66,7 +66,7 @@ void V2Protocol_ProcessCommand(void)
 		case CMD_RESET_PROTECTION:
 			V2Protocol_ResetProtection();
 			break;
-#if defined(ENABLE_SPI_PROTOCOL)
+#if defined(ENABLE_ISP_PROTOCOL)
 		case CMD_ENTER_PROGMODE_ISP:
 			ISPProtocol_EnterISPMode();
 			break;
@@ -98,7 +98,7 @@ void V2Protocol_ProcessCommand(void)
 			ISPProtocol_SPIMulti();
 			break;
 #endif
-#if defined(ENABLE_XPROG_PROTOCOL)
+#if defined(ENABLE_PDI_PROTOCOL)
 		case CMD_XPROG_SETMODE:
 			PDIProtocol_XPROG_SetMode();
 			break;
diff --git a/Projects/AVRISP/Lib/V2Protocol.h b/Projects/AVRISP/Lib/V2Protocol.h
index f65a57c06..8a0ac2f7d 100644
--- a/Projects/AVRISP/Lib/V2Protocol.h
+++ b/Projects/AVRISP/Lib/V2Protocol.h
@@ -48,8 +48,11 @@
 
 	/* Preprocessor Checks: */
 		#if BOARD == BOARD_XPLAIN
-			#undef  ENABLE_SPI_PROTOCOL
-			#define ENABLE_PDI_PROTOCOL
+			#undef  ENABLE_ISP_PROTOCOL
+			
+			#if !defined(ENABLE_PDI_PROTOCOL)
+				#define ENABLE_PDI_PROTOCOL
+			#endif
 		#endif
 
 	/* Macros: */
diff --git a/Projects/AVRISP/makefile b/Projects/AVRISP/makefile
index d7fe4ac19..6eebb2b33 100644
--- a/Projects/AVRISP/makefile
+++ b/Projects/AVRISP/makefile
@@ -193,8 +193,8 @@ CDEFS += -DRESET_LINE_PORT=PORTB
 CDEFS += -DRESET_LINE_DDR=DDRB
 CDEFS += -DRESET_LINE_MASK="(1 << 4)"
 CDEFS += -DVTARGET_ADC_CHANNEL=2
-CDEFS += -DENABLE_SPI_PROTOCOL
-CDEFS += -DENABLE_XPROG_PROTOCOL
+CDEFS += -DENABLE_ISP_PROTOCOL
+CDEFS += -DENABLE_PDI_PROTOCOL
 
 
 # Place -D or -U options here for ASM sources
-- 
GitLab