aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/adc.h
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-02-17 23:47:31 -0500
committerMarti Bolivar <mbolivar@leaflabs.com>2011-02-17 23:47:31 -0500
commit3f76591b3616c07c5a02624aff8649d5fa7e9f4b (patch)
treea14f67949ece269e8868efef9bd662cdccef9132 /libmaple/adc.h
parentf0127b4fa04694e5e123aa3173ffc5a957827682 (diff)
downloadlibrambutan-3f76591b3616c07c5a02624aff8649d5fa7e9f4b.tar.gz
librambutan-3f76591b3616c07c5a02624aff8649d5fa7e9f4b.zip
Generalizing adc_init() to allow user to select sample time
Diffstat (limited to 'libmaple/adc.h')
-rw-r--r--libmaple/adc.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/libmaple/adc.h b/libmaple/adc.h
index fe1196f..976986f 100644
--- a/libmaple/adc.h
+++ b/libmaple/adc.h
@@ -70,8 +70,24 @@ extern "C"{
#define SR_EOC_BIT *(volatile uint32*)(BITBAND_PERI(ADC1_BASE+0, 1))
/* (NR_ANALOG_PINS is board specific) */
-/** Initialize ADC1 to do one-shot conversions */
-void adc_init(void);
+/** ADC per-sample conversion times, in ADC clock cycles */
+typedef enum {
+ ADC_SMPR_1_5,
+ ADC_SMPR_7_5,
+ ADC_SMPR_13_5,
+ ADC_SMPR_28_5,
+ ADC_SMPR_41_5,
+ ADC_SMPR_55_5,
+ ADC_SMPR_71_5,
+ ADC_SMPR_239_5
+} adc_smp_rate;
+
+/** Initialize ADC1 to do one-shot conversions at the given sample
+ rate. */
+void adc_init(adc_smp_rate smp_rate);
+
+void adc_set_sample_rate(adc_smp_rate smp_rate);
+
void adc_disable(void);
/**