From 042149a9b1eb4d82402b3912fc672f6cf3dba415 Mon Sep 17 00:00:00 2001 From: Thibaut VIARD Date: Mon, 26 Mar 2012 18:09:10 +0200 Subject: [PATCH] [sam] Fixing arduino_due_x variant --- hardware/arduino/sam/cores/sam/Arduino.h | 20 ++++++++++-- .../sam/system/libsam/source/adc_sam3snxa.c | 30 ++++++++---------- .../build_gcc/libvariant_arduino_due_u.mk | 2 +- .../build_gcc/libvariant_arduino_due_x.mk | 4 +-- .../sam/variants/arduino_due_x/pins.xls | Bin 60416 -> 0 bytes .../sam/variants/arduino_due_x/variant.cpp | 26 ++++++--------- .../sam/variants/arduino_due_x/variant.h | 6 ++-- 7 files changed, 48 insertions(+), 40 deletions(-) delete mode 100644 hardware/arduino/sam/variants/arduino_due_x/pins.xls diff --git a/hardware/arduino/sam/cores/sam/Arduino.h b/hardware/arduino/sam/cores/sam/Arduino.h index 242ab0341..970ac0ad0 100644 --- a/hardware/arduino/sam/cores/sam/Arduino.h +++ b/hardware/arduino/sam/cores/sam/Arduino.h @@ -126,7 +126,11 @@ typedef enum _EPWMChannel PWM_CH0=0, PWM_CH1, PWM_CH2, - PWM_CH3 + PWM_CH3, + PWM_CH4, + PWM_CH5, + PWM_CH6, + PWM_CH7 } EPWMChannel ; // Definitions for TC channels @@ -138,7 +142,19 @@ typedef enum _ETCChannel TC0_CHA1, TC0_CHB1, TC0_CHA2, - TC0_CHB2 + TC0_CHB2, + TC1_CHA3, + TC1_CHB3, + TC1_CHA4, + TC1_CHB4, + TC1_CHA5, + TC1_CHB5, + TC2_CHA6, + TC2_CHB6, + TC2_CHA7, + TC2_CHB7, + TC2_CHA8, + TC2_CHB8 } ETCChannel ; /** diff --git a/hardware/arduino/sam/system/libsam/source/adc_sam3snxa.c b/hardware/arduino/sam/system/libsam/source/adc_sam3snxa.c index f93b57304..fb073d7ba 100644 --- a/hardware/arduino/sam/system/libsam/source/adc_sam3snxa.c +++ b/hardware/arduino/sam/system/libsam/source/adc_sam3snxa.c @@ -48,7 +48,7 @@ extern "C" { /**INDENT-ON**/ /// @endcond -#if SAM3S || SAM3N || SAM3XA +#if SAM3S_SERIES || SAM3N_SERIES || SAM3XA_SERIES /** * \brief Initializes the given ADC with the specified ADC clock and startup time. @@ -75,8 +75,6 @@ uint32_t adc_init(Adc *p_adc, uint32_t ul_mck, uint32_t ul_adc_clock, uint8_t uc p_adc->ADC_PTCR = (ADC_PTCR_RXTDIS | ADC_PTCR_TXTDIS); p_adc->ADC_RCR = 0; p_adc->ADC_RNCR = 0; - p_adc->ADC_TCR = 0; - p_adc->ADC_TNCR = 0; ul_prescal = ul_mck/(2 * ul_adc_clock) - 1; p_adc->ADC_MR |= ADC_MR_PRESCAL( ul_prescal ) | ( (uc_startup<ADC_CGR |= (0x03u << (2*channel)) & (gain << (2*channel)); } -#endif /* SAM3S || SAM3XA */ +#endif /* SAM3S_SERIES || SAM3XA_SERIES */ -#if SAM3S8 || SAM3SD8 +#if SAM3SD8_SERIES /** * \brief set adc auto calibration mode. * @@ -529,7 +527,7 @@ void adc_set_calibmode(Adc *p_adc) { p_adc->ADC_CR |= ADC_CR_AUTOCAL; } -#endif /* SAM3S8 || SAM3SD8 */ +#endif /* SAM3SD8_SERIES */ /** * \brief Returns the actual ADC clock. @@ -609,7 +607,7 @@ uint32_t adc_check_ovr(Adc *p_adc,adc_channel_num_t adc_ch) return p_adc->ADC_OVER & (0x01u << adc_ch); } -#if SAM3S || SAM3XA +#if SAM3S_SERIES || SAM3XA_SERIES /** * \brief Adapts performance versus power consumption. * @@ -625,7 +623,7 @@ void adc_set_bias_current(Adc *p_adc, uint8_t uc_ibctl) } #endif -#if SAM3S || SAM3XA +#if SAM3S_SERIES || SAM3XA_SERIES /** * \brief turn on temperature sensor. * @@ -638,7 +636,7 @@ void adc_enable_ts(Adc *p_adc) } #endif -#if SAM3S || SAM3XA +#if SAM3S_SERIES || SAM3XA_SERIES /** * \brief turn off temperature sensor. * @@ -798,9 +796,9 @@ Pdc *adc_get_pdc_base(Adc *p_adc) /**INDENT-OFF**/ #ifdef __cplusplus } -#endif // SAM3S || SAM3N || SAM3XA +#endif /**INDENT-ON**/ /// @endcond -#endif /* SAM3S || SAM3N || SAM3XA */ +#endif /* SAM3S_SERIES || SAM3N_SERIES || SAM3XA_SERIES */ diff --git a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk index 27b8fce00..6b1d5e066 100644 --- a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk +++ b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk @@ -37,7 +37,7 @@ SYSTEM_PATH = ../../../system CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL -CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) +#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) ARDUINO_PATH = ../../../cores/sam VARIANT_BASE_PATH = ../../../variants diff --git a/hardware/arduino/sam/variants/arduino_due_x/build_gcc/libvariant_arduino_due_x.mk b/hardware/arduino/sam/variants/arduino_due_x/build_gcc/libvariant_arduino_due_x.mk index a48743e39..ee2d7db7f 100644 --- a/hardware/arduino/sam/variants/arduino_due_x/build_gcc/libvariant_arduino_due_x.mk +++ b/hardware/arduino/sam/variants/arduino_due_x/build_gcc/libvariant_arduino_due_x.mk @@ -19,7 +19,7 @@ # Makefile for compiling libArduino .SUFFIXES: .o .a .c .s -CHIP=__SAM3U4E__ +CHIP=__SAM3X8E__ VARIANT=arduino_due_x LIBNAME=libvariant_$(VARIANT) TOOLCHAIN=gcc @@ -37,7 +37,7 @@ SYSTEM_PATH = ../../../system CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL -CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) +#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) ARDUINO_PATH = ../../../cores/sam VARIANT_BASE_PATH = ../../../variants diff --git a/hardware/arduino/sam/variants/arduino_due_x/pins.xls b/hardware/arduino/sam/variants/arduino_due_x/pins.xls deleted file mode 100644 index d105ee47524a1f40d65c1016ffb22b8f8f628a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60416 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 T6m$e0o