aboutsummaryrefslogtreecommitdiffstats
path: root/source/adc.cpp
diff options
context:
space:
mode:
authorclyne <clyne@bitgloo.com>2020-07-16 20:21:36 -0400
committerGitHub <noreply@github.com>2020-07-16 20:21:36 -0400
commit17cda07f3ef79069e9bed2eca6c20f2b7fcb60b9 (patch)
tree7e787e1b24100d539631a04993e1d6b53ac31f72 /source/adc.cpp
parent43c53c1122c64da20bbc6f54d2a087f5a457f669 (diff)
parentf07e878cd23e6e35743358ea306951f2218653a4 (diff)
Merge pull request #1 from tcsullivan/gui
Gui
Diffstat (limited to 'source/adc.cpp')
-rw-r--r--source/adc.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/source/adc.cpp b/source/adc.cpp
index 0c58e21..4e68a6e 100644
--- a/source/adc.cpp
+++ b/source/adc.cpp
@@ -39,6 +39,40 @@ adcsample_t *ADCd::getSamples(adcsample_t *buffer, size_t count)
return buffer;
}
+void ADCd::setSampleRate(ADCdRate rate)
+{
+ uint32_t val = 0;
+
+ switch (rate) {
+ case ADCdRate::R2P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_2P5);
+ break;
+ case ADCdRate::R6P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_6P5);
+ break;
+ case ADCdRate::R12P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_12P5);
+ break;
+ case ADCdRate::R24P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_24P5);
+ break;
+ case ADCdRate::R47P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_47P5);
+ break;
+ case ADCdRate::R92P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_92P5);
+ break;
+ case ADCdRate::R247P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_247P5);
+ break;
+ case ADCdRate::R640P5:
+ val = ADC_SMPR1_SMP_AN5(ADC_SMPR_SMP_640P5);
+ break;
+ }
+
+ m_adc_group_config.smpr[0] = val;
+}
+
void ADCd::initPins()
{
palSetPadMode(GPIOA, 0, PAL_MODE_INPUT_ANALOG);