1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 05:15:25 +03:00

Align F1 and F3 ADC code.

This commit is contained in:
Dominic Clifton 2014-05-30 15:15:29 +01:00
parent 7e9db61103
commit 3a537d8ef9
4 changed files with 37 additions and 15 deletions

View file

@ -31,6 +31,12 @@ void adcInit(drv_adc_config_t *init)
uint8_t configuredAdcChannels = 0;
memset(&adcConfig, 0, sizeof(adcConfig));
// configure always-present battery index (ADC4)
adcConfig[ADC_BATTERY].adcChannel = ADC_Channel_4;
adcConfig[ADC_BATTERY].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_BATTERY].enabled = true;
adcConfig[ADC_BATTERY].sampleTime = ADC_SampleTime_239Cycles5;
if (init->enableRSSI) {
adcConfig[ADC_RSSI].adcChannel = ADC_Channel_1;
adcConfig[ADC_RSSI].dmaIndex = configuredAdcChannels++;
@ -38,12 +44,14 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_RSSI].sampleTime = ADC_SampleTime_239Cycles5;
}
// configure always-present battery index (ADC4)
adcConfig[ADC_BATTERY].adcChannel = ADC_Channel_4;
adcConfig[ADC_BATTERY].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_BATTERY].enabled = true;
adcConfig[ADC_BATTERY].sampleTime = ADC_SampleTime_239Cycles5;
#ifdef OLIMEXINO
adcConfig[ADC_EXTERNAL1].adcChannel = ADC_Channel_5;
adcConfig[ADC_EXTERNAL1].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_EXTERNAL1].enabled = true;
adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_239Cycles5;
#endif
#ifdef NAZE
// optional ADC5 input on rev.5 hardware
if (hse_value == 12000000) {
adcConfig[ADC_EXTERNAL1].adcChannel = ADC_Channel_5;
@ -51,6 +59,7 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_EXTERNAL1].enabled = true;
adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_239Cycles5;
}
#endif
if (init->enableCurrentMeter) {
adcConfig[ADC_CURRENT].adcChannel = ADC_Channel_9;
@ -59,6 +68,7 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_CURRENT].sampleTime = ADC_SampleTime_239Cycles5;
}
// ADC driver assumes all the GPIO was already placed in 'AIN' mode
DMA_DeInit(DMA1_Channel1);
dma.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR;