aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-08-28 13:45:01 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-08-28 13:45:01 -0400
commitc95209bf7aeab1fa8ea867d85645a2171a5db590 (patch)
tree60d1f0260a323f087a26063e0775634df810067f
parent8f5c15d4dc6a6f592a09e1d5ed80516d5deb8100 (diff)
downloadkutter-c95209bf7aeab1fa8ea867d85645a2171a5db590.tar.gz
kutter-c95209bf7aeab1fa8ea867d85645a2171a5db590.tar.xz
kutter-c95209bf7aeab1fa8ea867d85645a2171a5db590.zip
atsam: ADC pins need to be in input mode with pullups disabled
The ADC pins (on at least the sam3x8e) need to be configured in input mode with the internal pullups disabled in order to get accurate ADC readings. Reported by @bryanboettcher. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/atsam/adc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/atsam/adc.c b/src/atsam/adc.c
index 816b388e..150ac011 100644
--- a/src/atsam/adc.c
+++ b/src/atsam/adc.c
@@ -49,6 +49,9 @@ gpio_adc_setup(uint8_t pin)
| ADC_MR_STARTUP_SUT768
| ADC_MR_TRANSFER(1));
}
+
+ // Place pin in input floating mode
+ gpio_in_setup(pin, 0);
return (struct gpio_adc){ .chan = 1 << chan };
}