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 {
bool enableRSSI;
bool enableCurrentMeter;
bool enableExternal1;
} drv_adc_config_t;
void adcInit(drv_adc_config_t *init);

View File

@ -88,27 +88,26 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_RSSI].sampleTime = ADC_SampleTime_239Cycles5;
}
if (init->enableExternal1) {
#ifdef OLIMEXINO
GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
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) {
GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
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
GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
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
}
GPIO_Init(GPIOA, &GPIO_InitStructure);
if (init->enableCurrentMeter) {

View File

@ -191,6 +191,14 @@ void init(void)
adc_params.enableRSSI = feature(FEATURE_RSSI_ADC);
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);