From 988604b25dc80c58841b6c6d7ffff6280ca51c9a Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 21 Jun 2010 13:39:56 +0000
Subject: [PATCH] Moved calls to V2Params_UpdateParamValues() out of the main
 AVRISP-MKII and XPLAINBridge project loops and into the AVRISP management
 function.

---
 Projects/AVRISP-MKII/AVRISP.c        |  8 ++++----
 Projects/AVRISP-MKII/AVRISP.h        |  2 +-
 Projects/AVRISP-MKII/AVRISP.txt      |  1 -
 Projects/XPLAINBridge/XPLAINBridge.c | 13 +++++--------
 Projects/XPLAINBridge/XPLAINBridge.h |  2 +-
 5 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/Projects/AVRISP-MKII/AVRISP.c b/Projects/AVRISP-MKII/AVRISP.c
index 0766025c1..7b2429cdc 100644
--- a/Projects/AVRISP-MKII/AVRISP.c
+++ b/Projects/AVRISP-MKII/AVRISP.c
@@ -48,9 +48,7 @@ int main(void)
 
 	for (;;)
 	{
-		Process_AVRISP_Commands();
-		V2Params_UpdateParamValues();
-		
+		AVRISP_Task();
 		USB_USBTask();
 	}
 }
@@ -108,12 +106,14 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 }
 
 /** Processes incoming V2 Protocol commands from the host, returning a response when required. */
-void Process_AVRISP_Commands(void)
+void AVRISP_Task(void)
 {
 	/* Device must be connected and configured for the task to run */
 	if (USB_DeviceState != DEVICE_STATE_Configured)
 	  return;
 
+	V2Params_UpdateParamValues();
+
 	Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);
 	
 	/* Check to see if a V2 Protocol command has been received */
diff --git a/Projects/AVRISP-MKII/AVRISP.h b/Projects/AVRISP-MKII/AVRISP.h
index 409b14744..1018ebc3d 100644
--- a/Projects/AVRISP-MKII/AVRISP.h
+++ b/Projects/AVRISP-MKII/AVRISP.h
@@ -72,7 +72,7 @@
 
 	/* Function Prototypes: */
 		void SetupHardware(void);
-		void Process_AVRISP_Commands(void);
+		void AVRISP_Task(void);
 		
 		void EVENT_USB_Device_Connect(void);
 		void EVENT_USB_Device_Disconnect(void);
diff --git a/Projects/AVRISP-MKII/AVRISP.txt b/Projects/AVRISP-MKII/AVRISP.txt
index de08d5f37..c4ba43ccc 100644
--- a/Projects/AVRISP-MKII/AVRISP.txt
+++ b/Projects/AVRISP-MKII/AVRISP.txt
@@ -57,7 +57,6 @@
  *    - Minimum ISP target clock speed of 500KHz due to hardware SPI module prescaler limitations
  *    - No reversed/shorted target connector detection and notification
  *    - A seperate header is required for each of the ISP, PDI and TPI programming protocols that the user wishes to use
- *    - XMEGA EEPROM erase section command does not work (but EEPROM read/write and chip erase does)
  *
  *  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
diff --git a/Projects/XPLAINBridge/XPLAINBridge.c b/Projects/XPLAINBridge/XPLAINBridge.c
index ad3fc6c95..2a71c5617 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.c
+++ b/Projects/XPLAINBridge/XPLAINBridge.c
@@ -86,14 +86,9 @@ int main(void)
 	for (;;)
 	{
 		if (CurrentFirmwareMode == MODE_USART_BRIDGE)
-		{
-			USARTBridge_Task();
-		}
+		  UARTBridge_Task();
 		else
-		{
-			AVRISP_Task();
-			V2Params_UpdateParamValues();
-		}
+		  AVRISP_Task();
 
 		USB_USBTask();
 	}
@@ -105,6 +100,8 @@ void AVRISP_Task(void)
 	if (USB_DeviceState != DEVICE_STATE_Configured)
 	  return;
 
+	V2Params_UpdateParamValues();
+
 	Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);
 	
 	/* Check to see if a V2 Protocol command has been received */
@@ -119,7 +116,7 @@ void AVRISP_Task(void)
 	}
 }
 
-void USARTBridge_Task(void)
+void UARTBridge_Task(void)
 {
 	/* Must be in the configured state for the USART Bridge code to process data */
 	if (USB_DeviceState != DEVICE_STATE_Configured)
diff --git a/Projects/XPLAINBridge/XPLAINBridge.h b/Projects/XPLAINBridge/XPLAINBridge.h
index 72e90463d..3d257e5ae 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.h
+++ b/Projects/XPLAINBridge/XPLAINBridge.h
@@ -84,7 +84,7 @@
 	/* Function Prototypes: */
 		void SetupHardware(void);
 		void AVRISP_Task(void);
-		void USARTBridge_Task(void);
+		void UARTBridge_Task(void);
 
 		void EVENT_USB_Device_ConfigurationChanged(void);
 		void EVENT_USB_Device_UnhandledControlRequest(void);
-- 
GitLab