Now able to use ADC_CHANNEL_RSSI as ADC input (#3524)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Docker update / build_docker_image (push) Has been cancelled

Example of use <configure name="ADC_AIRSPEED" value="ADC_CHANNEL_RSSI"/> , however a flightcontroller board file must have a RSSI pin assigned else it is not assignable.
This commit is contained in:
OpenUAS
2025-08-17 09:43:54 +02:00
committed by GitHub
parent e42a7ef901
commit c396d38321
3 changed files with 25 additions and 6 deletions
@@ -99,7 +99,7 @@ PB14 FRAM_MISO SPI AF:SPI2_MISO
PB15 FRAM_MOSI SPI AF:SPI2_MOSI
PC00 VBUS_VALID PASSIVE
PC01 RSSI_IN PASSIVE
PC01 RSSI_IN ADC ADC1_IN11
PC02 MPU9250_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
PC03 LED_SAFETY LED
PC04 SAFETY_SW_IN INPUT FLOATING
@@ -555,7 +555,7 @@
PIN_AFIO_AF(FRAM_MOSI, 5))
#define VAL_GPIOC_MODER (PIN_MODE_INPUT(VBUS_VALID) | \
PIN_MODE_INPUT(RSSI_IN) | \
PIN_MODE_ANALOG(RSSI_IN) | \
PIN_MODE_OUTPUT(MPU9250_CS) | \
PIN_MODE_OUTPUT(LED_SAFETY) | \
PIN_MODE_INPUT(SAFETY_SW_IN) | \
@@ -572,7 +572,7 @@
PIN_MODE_OUTPUT(_20608_CS))
#define VAL_GPIOC_OTYPER (PIN_OTYPE_OPENDRAIN(VBUS_VALID) | \
PIN_OTYPE_OPENDRAIN(RSSI_IN) | \
PIN_OTYPE_PUSHPULL(RSSI_IN) | \
PIN_OTYPE_PUSHPULL(MPU9250_CS) | \
PIN_OTYPE_PUSHPULL(LED_SAFETY) | \
PIN_OTYPE_OPENDRAIN(SAFETY_SW_IN) | \
@@ -606,7 +606,7 @@
PIN_OSPEED_SPEED_HIGH(_20608_CS))
#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLDOWN(VBUS_VALID) | \
PIN_PUPDR_PULLDOWN(RSSI_IN) | \
PIN_PUPDR_FLOATING(RSSI_IN) | \
PIN_PUPDR_FLOATING(MPU9250_CS) | \
PIN_PUPDR_FLOATING(LED_SAFETY) | \
PIN_PUPDR_FLOATING(SAFETY_SW_IN) | \
@@ -623,7 +623,7 @@
PIN_PUPDR_FLOATING(_20608_CS))
#define VAL_GPIOC_ODR (PIN_ODR_LEVEL_HIGH(VBUS_VALID) | \
PIN_ODR_LEVEL_HIGH(RSSI_IN) | \
PIN_ODR_LEVEL_LOW(RSSI_IN) | \
PIN_ODR_LEVEL_HIGH(MPU9250_CS) | \
PIN_ODR_LEVEL_LOW(LED_SAFETY) | \
PIN_ODR_LEVEL_LOW(SAFETY_SW_IN) | \
@@ -1593,6 +1593,9 @@
#define SERVO1_TIM_FN CH
#define SERVO1_TIM_CH 4
#define SERVO1_TIM_AF 1
#define RSSI_IN_ADC 1
#define RSSI_IN_ADC_FN IN
#define RSSI_IN_ADC_IN 11
#define BOARD_GROUP_DECLFOREACH(line, group) \
static const ioline_t group ## _ARRAY[] = {group}; \
@@ -67,7 +67,7 @@
// CUR_SENS
#ifndef USE_ADC_2
#define USE_ADC_2 2
#define USE_ADC_2 1
#endif
#if USE_ADC_2
#define AD1_2_CHANNEL ADC_CHANNEL_IN3
@@ -84,6 +84,17 @@
#define ADC_3_GPIO_PIN GPIO4
#endif
//ADC_pin_RSSI_IN
#ifndef USE_ADC_4
#define USE_ADC_4 1
#endif
#if USE_ADC_4
#define AD1_4_CHANNEL ADC_CHANNEL_IN11
#define ADC_4 AD1_4
#define ADC_4_GPIO_PORT GPIOC
#define ADC_4_GPIO_PIN GPIO1
#endif
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
#ifndef ADC_CHANNEL_VSUPPLY
#define ADC_CHANNEL_VSUPPLY ADC_1
@@ -94,6 +105,11 @@
#define ADC_CHANNEL_CURRENT ADC_2
#endif
#ifndef ADC_CHANNEL_RSSI
#define ADC_CHANNEL_RSSI ADC_4
#endif
/* Default powerbrick values */
#define DefaultVoltageOfAdc(adc) ((3.3f/4096.0f) * 10.27708149f * adc)
#define DefaultMilliAmpereOfAdc(adc) ((3.3f/4096.0f) * 36367.51556f * adc)