From 628bd6fb442f9f9e0ff21a472077b1ce8cb05085 Mon Sep 17 00:00:00 2001 From: Read Error Date: Sat, 17 Oct 2015 08:35:59 -0400 Subject: [PATCH 1/2] F3 ADC fix. --- src/main/drivers/adc_stm32f30x.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/drivers/adc_stm32f30x.c b/src/main/drivers/adc_stm32f30x.c index b6b77595e7..68f1177b5c 100644 --- a/src/main/drivers/adc_stm32f30x.c +++ b/src/main/drivers/adc_stm32f30x.c @@ -91,14 +91,16 @@ void adcInit(drv_adc_config_t *init) #endif #ifdef EXTERNAL1_ADC_GPIO - GPIO_InitStructure.GPIO_Pin = EXTERNAL1_ADC_GPIO_PIN; - GPIO_Init(EXTERNAL1_ADC_GPIO, &GPIO_InitStructure); + if (init->enableExternal1) { + GPIO_InitStructure.GPIO_Pin = EXTERNAL1_ADC_GPIO_PIN; + GPIO_Init(EXTERNAL1_ADC_GPIO, &GPIO_InitStructure); - adcConfig[ADC_EXTERNAL1].adcChannel = EXTERNAL1_ADC_CHANNEL; - adcConfig[ADC_EXTERNAL1].dmaIndex = adcChannelCount; - adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_601Cycles5; - adcConfig[ADC_EXTERNAL1].enabled = true; - adcChannelCount++; + adcConfig[ADC_EXTERNAL1].adcChannel = EXTERNAL1_ADC_CHANNEL; + adcConfig[ADC_EXTERNAL1].dmaIndex = adcChannelCount; + adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_601Cycles5; + adcConfig[ADC_EXTERNAL1].enabled = true; + adcChannelCount++; + } #endif RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div256); // 72 MHz divided by 256 = 281.25 kHz From 4eb6581b76171a116b13db816ef7cccfba8665f6 Mon Sep 17 00:00:00 2001 From: Read Error Date: Tue, 27 Oct 2015 03:42:22 -0400 Subject: [PATCH 2/2] Allow USART1 to be used for SERIAL_RX --- src/main/drivers/serial_uart_stm32f10x.c | 2 +- src/main/drivers/serial_uart_stm32f30x.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/drivers/serial_uart_stm32f10x.c b/src/main/drivers/serial_uart_stm32f10x.c index 09dd7520cf..678e1b2f6f 100644 --- a/src/main/drivers/serial_uart_stm32f10x.c +++ b/src/main/drivers/serial_uart_stm32f10x.c @@ -49,7 +49,7 @@ static uartPort_t uartPort3; #endif // Using RX DMA disables the use of receive callbacks -#define USE_USART1_RX_DMA +//#define USE_USART1_RX_DMA #if defined(CC3D) // FIXME move board specific code to target.h files. #undef USE_USART1_RX_DMA diff --git a/src/main/drivers/serial_uart_stm32f30x.c b/src/main/drivers/serial_uart_stm32f30x.c index c7d62d5f06..fb43261eee 100644 --- a/src/main/drivers/serial_uart_stm32f30x.c +++ b/src/main/drivers/serial_uart_stm32f30x.c @@ -38,7 +38,7 @@ #include "serial_uart_impl.h" // Using RX DMA disables the use of receive callbacks -#define USE_USART1_RX_DMA +//#define USE_USART1_RX_DMA //#define USE_USART2_RX_DMA //#define USE_USART2_TX_DMA //#define USE_USART3_RX_DMA