From 5dff06590fa422b1a027bcd9e8b666260ed37452 Mon Sep 17 00:00:00 2001 From: Richard Meadows Date: Sat, 10 Oct 2015 23:08:19 +0100 Subject: [PATCH] Increase ADC sample length, use internal ADC averaging. --- firmware/src/analogue.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/firmware/src/analogue.c b/firmware/src/analogue.c index 1ce0bb8..eba67b6 100644 --- a/firmware/src/analogue.c +++ b/firmware/src/analogue.c @@ -60,9 +60,10 @@ void configure_adc(enum adc_positive_input input) config_adc.reference = ADC_REFERENCE_INT1V; config_adc.clock_prescaler = ADC_CLOCK_PRESCALER_DIV64; config_adc.resolution = ADC_RESOLUTION; - config_adc.gain_factor = ADC_GAIN_FACTOR_DIV2; + config_adc.gain_factor = ADC_GAINF; config_adc.positive_input = input; - config_adc.accumulate_samples = ADC_ACCUMULATE_DISABLE; + config_adc.sample_length = 15; /* len = 15+1 = 16 */ + config_adc.accumulate_samples = ADC_ACCUMULATE_SAMPLES_16; config_adc.run_in_standby = true; adc_init(ADC, &config_adc);