1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-16 21:05:35 +03:00

Use Naze hardware revision when initialising ADC.

This commit is contained in:
Dominic Clifton 2014-10-15 21:14:49 +01:00
parent 8ef70abaa0
commit a4879cc2e3
3 changed files with 20 additions and 12 deletions

View file

@ -37,6 +37,7 @@ typedef struct adc_config_t {
typedef struct drv_adc_config_t { typedef struct drv_adc_config_t {
bool enableRSSI; bool enableRSSI;
bool enableCurrentMeter; bool enableCurrentMeter;
bool enableExternal1;
} drv_adc_config_t; } drv_adc_config_t;
void adcInit(drv_adc_config_t *init); void adcInit(drv_adc_config_t *init);

View file

@ -88,6 +88,7 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_RSSI].sampleTime = ADC_SampleTime_239Cycles5; adcConfig[ADC_RSSI].sampleTime = ADC_SampleTime_239Cycles5;
} }
if (init->enableExternal1) {
#ifdef OLIMEXINO #ifdef OLIMEXINO
GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5; GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
@ -98,16 +99,14 @@ void adcInit(drv_adc_config_t *init)
#endif #endif
#ifdef NAZE #ifdef NAZE
// optional ADC5 input on rev.5 hardware
if (hse_value == 12000000) {
GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5; GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
adcConfig[ADC_EXTERNAL1].adcChannel = ADC_Channel_5; adcConfig[ADC_EXTERNAL1].adcChannel = ADC_Channel_5;
adcConfig[ADC_EXTERNAL1].dmaIndex = configuredAdcChannels++; adcConfig[ADC_EXTERNAL1].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_EXTERNAL1].enabled = true; adcConfig[ADC_EXTERNAL1].enabled = true;
adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_239Cycles5; adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_239Cycles5;
}
#endif #endif
}
GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_Init(GPIOA, &GPIO_InitStructure);

View file

@ -191,6 +191,14 @@ void init(void)
adc_params.enableRSSI = feature(FEATURE_RSSI_ADC); adc_params.enableRSSI = feature(FEATURE_RSSI_ADC);
adc_params.enableCurrentMeter = feature(FEATURE_CURRENT_METER); adc_params.enableCurrentMeter = feature(FEATURE_CURRENT_METER);
adc_params.enableExternal1 = false;
#ifdef OLIMEXINO
adc_params.enableExternal1 = true;
#endif
#ifdef NAZE
// optional ADC5 input on rev.5 hardware
adc_params.enableExternal1 = (hardwareRevision >= NAZE32_REV5);
#endif
adcInit(&adc_params); adcInit(&adc_params);