From f03093332bd910a05af31838d06fa7f1c1e5040c Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 26 Sep 2013 01:16:27 +0200 Subject: [PATCH] [sam] Fixed initialization of ADC timings (improves analogRead speed by a factor x10) Discussion: http://www.djerickson.com/arduino/ http://forum.arduino.cc/index.php?topic=156849 http://forum.arduino.cc/index.php?topic=187693 Fixes #1418 --- build/shared/revisions.txt | 4 ++++ hardware/arduino/sam/variants/arduino_due_x/variant.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 5573bf458..70d3bf5dc 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -7,6 +7,10 @@ ARDUINO 1.5.5 BETA * sam: Fixed SPI initialization (when using extended API and multiple CS) * avr: Fixed behavior of EthernetClient::flush() +[core] +* sam: Fixed wrong initialization for ADC timings (analogRead speed Arduino DUE improved by a factor x10) + (http://www.djerickson.com/arduino/) + ARDUINO 1.5.4 BETA 2013.09.10 [ide] diff --git a/hardware/arduino/sam/variants/arduino_due_x/variant.cpp b/hardware/arduino/sam/variants/arduino_due_x/variant.cpp index ab43675ab..fbf283fe0 100644 --- a/hardware/arduino/sam/variants/arduino_due_x/variant.cpp +++ b/hardware/arduino/sam/variants/arduino_due_x/variant.cpp @@ -433,7 +433,7 @@ void init( void ) // Initialize Analog Controller pmc_enable_periph_clk(ID_ADC); - adc_init(ADC, SystemCoreClock, ADC_FREQ_MAX, ADC_STARTUP_FAST); + adc_init(ADC, SystemCoreClock, ADC_FREQ_MAX, /*ADC_STARTUP_FAST*/ 3); adc_configure_timing(ADC, 0, ADC_SETTLING_TIME_3, 1); adc_configure_trigger(ADC, ADC_TRIG_SW, 0); // Disable hardware trigger. adc_disable_interrupt(ADC, 0xFFFFFFFF); // Disable all ADC interrupts.