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

current sensor support added

also optimized the vbat code a bit

Conflicts:
	src/config.c
	src/drv_adc.c
	src/drv_adc.h
	src/mw.c
	src/mw.h
	src/sensors.c
	src/serial_cli.c
This commit is contained in:
luggi 2014-05-29 02:57:01 +02:00 committed by Dominic Clifton
parent 4e3ab221ac
commit e6fdfd3c32
11 changed files with 111 additions and 31 deletions

View file

@ -12,11 +12,12 @@
#include "adc_common.h"
// Driver for STM32F103CB onboard ADC
// VBAT is connected to PA4 (ADC1_IN4) with 10k:1k divider
// rev.5 hardware has PA5 (ADC1_IN5) on breakout pad on bottom of board
//
// RSSI ADC uses PA1
// An additional ADC source is available on CH8 (PB1, ADC1_IN9)
// Battery Voltage (VBAT) is connected to PA4 (ADC1_IN4) with 10k:1k divider
// RSSI ADC uses CH2 (PA1, ADC1_IN1)
// Current ADC uses CH8 (PB1, ADC1_IN9)
//
// NAZE rev.5 hardware has PA5 (ADC1_IN5) on breakout pad on bottom of board
extern adc_config_t adcConfig[ADC_CHANNEL_COUNT];
extern volatile uint16_t adcValues[ADC_CHANNEL_COUNT];
@ -30,6 +31,13 @@ void adcInit(drv_adc_config_t *init)
uint8_t configuredAdcChannels = 0;
memset(&adcConfig, 0, sizeof(adcConfig));
if (init->enableRSSI) {
adcConfig[ADC_RSSI].adcChannel = ADC_Channel_1;
adcConfig[ADC_RSSI].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_RSSI].enabled = true;
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++;
@ -44,8 +52,8 @@ void adcInit(drv_adc_config_t *init)
adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_239Cycles5;
}
if (init->enableRSSI > 0) {
adcConfig[ADC_RSSI].adcChannel = ADC_Channel_1;
if (init->enableCurrentMeter) {
adcConfig[ADC_RSSI].adcChannel = ADC_Channel_9;
adcConfig[ADC_RSSI].dmaIndex = configuredAdcChannels++;
adcConfig[ADC_RSSI].enabled = true;
adcConfig[ADC_RSSI].sampleTime = ADC_SampleTime_239Cycles5;