From 6b117d45198cedb51f68016dc94e5852d7c36605 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20SEMETTE?= <jerome.semette@atmel.com>
Date: Tue, 13 May 2014 13:47:06 +0200
Subject: [PATCH]  rework wiring_analog.c PWM part to get PWM channel
 information in variant.c instead of TC/TCC information

---
 cores/arduino/wiring_analog.c     | 26 +++++++++++++-------------
 variants/arduino_zero/variant.cpp |  2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/cores/arduino/wiring_analog.c b/cores/arduino/wiring_analog.c
index 7aa3c7f5..a54e428b 100644
--- a/cores/arduino/wiring_analog.c
+++ b/cores/arduino/wiring_analog.c
@@ -265,70 +265,70 @@ void analogWrite(uint32_t ulPin, uint32_t ulValue) {
 	  }
 	 
 	 
-		switch (g_APinDescription[ulPin].ulTCChannel) 
+		switch (g_APinDescription[ulPin].ulPWMChannel) 
 		{
-			case  TC3_CH0 :
+			case  PWM3_CH0 :
 			TCx = TC3;
 			Channelx = 0;
 			isTC = 1;
 			break;
 		
-			case  TC3_CH1:
+			case  PWM3_CH1:
 			TCx = TC3 ;
 			Channelx = 1;
 			isTC = 1;
 			break;
 	
-			case  TCC0_CH0 :
+			case  PWM0_CH0 :
 			TCCx = TCC0;
 			Channelx = 0;
 			break;
 			
-			case  TCC0_CH1 :
+			case  PWM0_CH1 :
 			TCCx = TCC0;
 			Channelx = 1;
 			break;
 			
-			case  TCC0_CH4 :
+			case  PWM0_CH4 :
 			TCCx = TCC0;
 			//Channelx = 4;
 			Channelx = 0;
 			break;
 			
-			case  TCC0_CH5 :
+			case  PWM0_CH5 :
 			TCCx = TCC0;
 			//Channelx = 5;
 			Channelx = 1;
 			break;
 			
-			case  TCC0_CH6 :
+			case  PWM0_CH6 :
 			TCCx = TCC0;
 			//Channelx = 6;
 			Channelx = 2;
 			break;
 			
-			case  TCC0_CH7 :
+			case  PWM0_CH7 :
 			TCCx = TCC0;
 			//Channelx = 7;
 			Channelx = 3;
 			break;
 			
-			case  TCC1_CH0 :
+			case  PWM1_CH0 :
 			TCCx = TCC1;
 			Channelx = 0;
 			break;
 			
-			case  TCC1_CH1 :
+			case  PWM1_CH1 :
 			TCCx = TCC1;
 			Channelx = 1;
 			break;
 			
-			case  TCC2_CH0 :
+			case  PWM2_CH0 :
 			TCCx = TCC2;
 			Channelx = 0;
 			break;
 			
-			case  TCC2_CH1 :
+			case  PWM2_CH1 :
 			TCCx = TCC2;
 			Channelx = 1;
 			break;
diff --git a/variants/arduino_zero/variant.cpp b/variants/arduino_zero/variant.cpp
index 40acb555..6415dbfe 100644
--- a/variants/arduino_zero/variant.cpp
+++ b/variants/arduino_zero/variant.cpp
@@ -125,7 +125,7 @@ const PinDescription g_APinDescription[]=
 	{ PORTA, 19, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH1, TC3_CH1 }, // TC3/WO[1]
 
 	// 13 (LED)
-	{ PORTA, 17, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH1, TCC2_CH1 }, // TCC2/WO[1]
+	{ PORTA, 17, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM2_CH1, NOT_ON_TIMER }, // TCC2/WO[1]
 
 	// 14 (GND)
 	{ NOT_A_PORT, 0, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER },
-- 
GitLab