From e341107e799e0b6e839d81d671bfff5bb4dca8b4 Mon Sep 17 00:00:00 2001 From: Michael Keller Date: Mon, 25 Oct 2021 10:42:02 +1300 Subject: [PATCH] Merge pull request #11014 from mikeller/fix_h7_adc --- src/main/drivers/adc_stm32h7xx.c | 23 +++++--------------- src/main/target/IFLIGHT_H743_AIO/target.h | 4 ---- src/main/target/IFLIGHT_H743_AIO_V2/target.h | 4 ---- src/main/target/NUCLEOH743/target.h | 4 ---- src/main/target/SPRACINGH7EXTREME/target.h | 4 ---- src/main/target/SPRACINGH7NANO/target.h | 4 ---- src/main/target/SPRACINGH7ZERO/target.h | 4 ---- src/main/target/common_pre.h | 1 - 8 files changed, 6 insertions(+), 42 deletions(-) diff --git a/src/main/drivers/adc_stm32h7xx.c b/src/main/drivers/adc_stm32h7xx.c index e4704e227e..ed84e717ac 100644 --- a/src/main/drivers/adc_stm32h7xx.c +++ b/src/main/drivers/adc_stm32h7xx.c @@ -42,17 +42,6 @@ #include "pg/adc.h" -// XXX Instance and DMA stream defs will be gone in unified target - -#ifndef ADC1_INSTANCE -#define ADC1_INSTANCE NULL -#endif -#ifndef ADC2_INSTANCE -#define ADC2_INSTANCE NULL -#endif -#ifndef ADC3_INSTANCE -#define ADC3_INSTANCE NULL -#endif #ifndef ADC1_DMA_STREAM #define ADC1_DMA_STREAM NULL #endif @@ -65,25 +54,25 @@ const adcDevice_t adcHardware[ADCDEV_COUNT] = { { - .ADCx = ADC1_INSTANCE, + .ADCx = ADC1, .rccADC = RCC_AHB1(ADC12), #if !defined(USE_DMA_SPEC) .dmaResource = (dmaResource_t *)ADC1_DMA_STREAM, .channel = DMA_REQUEST_ADC1, #endif }, - { .ADCx = ADC2_INSTANCE, + { .ADCx = ADC2, .rccADC = RCC_AHB1(ADC12), #if !defined(USE_DMA_SPEC) .dmaResource = (dmaResource_t *)ADC2_DMA_STREAM, .channel = DMA_REQUEST_ADC2, #endif }, -#if defined(ADC3) +#if !(defined(STM32H7A3xx) || defined(STM32H7A3xxQ)) // ADC3 is not available on all H7 MCUs, e.g. H7A3 // On H743 and H750, ADC3 can be serviced by BDMA also, but we settle for DMA1 or 2 (for now). { - .ADCx = ADC3_INSTANCE, + .ADCx = ADC3, .rccADC = RCC_AHB4(ADC3), #if !defined(USE_DMA_SPEC) .dmaResource = (dmaResource_t *)ADC3_DMA_STREAM, @@ -348,7 +337,7 @@ void adcInit(const adcConfig_t *config) for (int dev = 0; dev < ADCDEV_COUNT; dev++) { adcDevice_t *adc = &adcDevice[dev]; - if (!(adc->ADCx && adc->channelBits)) { + if (!adc->channelBits) { continue; } @@ -463,7 +452,7 @@ void adcInit(const adcConfig_t *config) adcDevice_t *adc = &adcDevice[dev]; - if (!(adc->ADCx && adc->channelBits)) { + if (!adc->channelBits) { continue; } diff --git a/src/main/target/IFLIGHT_H743_AIO/target.h b/src/main/target/IFLIGHT_H743_AIO/target.h index 8accaf18c7..d22906ed34 100644 --- a/src/main/target/IFLIGHT_H743_AIO/target.h +++ b/src/main/target/IFLIGHT_H743_AIO/target.h @@ -171,10 +171,6 @@ #define USE_ADC #define USE_ADC_INTERNAL -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 -#define ADC3_INSTANCE ADC3 - #define RSSI_ADC_PIN PC5 #define VBAT_ADC_PIN PC3 #define CURRENT_METER_ADC_PIN PC2 diff --git a/src/main/target/IFLIGHT_H743_AIO_V2/target.h b/src/main/target/IFLIGHT_H743_AIO_V2/target.h index 5cb5955bfb..414508bd37 100644 --- a/src/main/target/IFLIGHT_H743_AIO_V2/target.h +++ b/src/main/target/IFLIGHT_H743_AIO_V2/target.h @@ -168,10 +168,6 @@ #define USE_ADC #define USE_ADC_INTERNAL -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 -#define ADC3_INSTANCE ADC3 - #define RSSI_ADC_PIN PC5 #define VBAT_ADC_PIN PC3 #define CURRENT_METER_ADC_PIN PC2 diff --git a/src/main/target/NUCLEOH743/target.h b/src/main/target/NUCLEOH743/target.h index a8eecc6d3a..41d8191d18 100644 --- a/src/main/target/NUCLEOH743/target.h +++ b/src/main/target/NUCLEOH743/target.h @@ -246,10 +246,6 @@ #define USE_ADC -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 -#define ADC3_INSTANCE ADC3 - // DMA stream assignmnets #define VBAT_ADC_PIN PB1 // ADC1 #define CURRENT_METER_ADC_PIN PC0 // ADC1 diff --git a/src/main/target/SPRACINGH7EXTREME/target.h b/src/main/target/SPRACINGH7EXTREME/target.h index ae85c9c637..61f81233b7 100644 --- a/src/main/target/SPRACINGH7EXTREME/target.h +++ b/src/main/target/SPRACINGH7EXTREME/target.h @@ -218,10 +218,6 @@ #define USE_ADC #define USE_ADC_INTERNAL // ADC3 -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 // ADC2 not used -#define ADC3_INSTANCE ADC3 // ADC3 only for core temp and vrefint - #define RSSI_ADC_PIN PC4 // ADC123 #define VBAT_ADC_PIN PC1 // ADC12 #define CURRENT_METER_ADC_PIN PC0 // ADC123 diff --git a/src/main/target/SPRACINGH7NANO/target.h b/src/main/target/SPRACINGH7NANO/target.h index 44a043f762..4f17150ae2 100644 --- a/src/main/target/SPRACINGH7NANO/target.h +++ b/src/main/target/SPRACINGH7NANO/target.h @@ -211,10 +211,6 @@ #define USE_ADC #define USE_ADC_INTERNAL // ADC3 -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 // ADC2 not used -#define ADC3_INSTANCE ADC3 // ADC3 only for core temp and vrefint - #define RSSI_ADC_PIN PC4 // ADC123 #define VBAT_ADC_PIN PC1 // ADC12 #define CURRENT_METER_ADC_PIN PC0 // ADC123 diff --git a/src/main/target/SPRACINGH7ZERO/target.h b/src/main/target/SPRACINGH7ZERO/target.h index 82fb49535d..1156fa63f1 100644 --- a/src/main/target/SPRACINGH7ZERO/target.h +++ b/src/main/target/SPRACINGH7ZERO/target.h @@ -213,10 +213,6 @@ #define USE_ADC #define USE_ADC_INTERNAL // ADC3 -#define ADC1_INSTANCE ADC1 -#define ADC2_INSTANCE ADC2 // ADC2 not used -#define ADC3_INSTANCE ADC3 // ADC3 only for core temp and vrefint - #define RSSI_ADC_PIN PC0 // ADC123 #define VBAT_ADC_PIN PC4 // ADC123 #define CURRENT_METER_ADC_PIN PC1 // ADC12 diff --git a/src/main/target/common_pre.h b/src/main/target/common_pre.h index 5fcfaf04dc..d06cffef95 100644 --- a/src/main/target/common_pre.h +++ b/src/main/target/common_pre.h @@ -60,7 +60,6 @@ #define USE_DYN_IDLE #define I2C3_OVERCLOCK true #define USE_GYRO_DATA_ANALYSE -#define USE_ADC #define USE_ADC_INTERNAL #define USE_USB_CDC_HID #define USE_USB_MSC