From 6ee79029d5eecbaea5125417731c87e765f3907c Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 5 Mar 2012 20:25:46 +0000
Subject: [PATCH] Raised the guard bits in the AVRISP-MKII clone project when
 in PDI and TPI to 32, to prevent communication errors on low quality
 connections to a target.

---
 LUFA/DoxygenPages/ChangeLog.txt           | 2 +-
 Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c  | 4 ++--
 Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 3ba0fa486..36954c266 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -17,7 +17,7 @@
   *  - Core:
   *   - Android Accessory Host property strings changed from a struct of pointer to an array to prevent unaligned access on greater than 8-bit architectures
   *  - Library Applications:
-  *   - None
+  *   - Raised the guard bits in the AVRISP-MKII clone project when in PDI and TPI to 32, to prevent communication errors on low quality connections to a target
   *
   *  <b>Fixed:</b>
   *  - Core:
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
index 921fe015f..b8832372f 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
@@ -128,9 +128,9 @@ bool TINYNVM_EnableTPI(void)
 	/* Enable TPI programming mode with the attached target */
 	XPROGTarget_EnableTargetTPI();
 
-	/* Lower direction change guard time to 0 USART bits */
+	/* Lower direction change guard time to 32 USART bits */
 	XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG);
-	XPROGTarget_SendByte(0x07);
+	XPROGTarget_SendByte(0x02);
 
 	/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
 	XPROGTarget_SendByte(TPI_CMD_SKEY);
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
index 567bd5777..e1169d5f1 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
@@ -131,9 +131,9 @@ bool XMEGANVM_EnablePDI(void)
 	XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG);
 	XPROGTarget_SendByte(PDI_RESET_KEY);
 
-	/* Lower direction change guard time to 0 USART bits */
+	/* Lower direction change guard time to 32 USART bits */
 	XPROGTarget_SendByte(PDI_CMD_STCS | PDI_CTRL_REG);
-	XPROGTarget_SendByte(0x07);
+	XPROGTarget_SendByte(0x02);
 
 	/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
 	XPROGTarget_SendByte(PDI_CMD_KEY);
-- 
GitLab