common_rc: enable on v5x/v6x/v6s, disable rc_input

This commit is contained in:
Alexander Lerach
2025-07-24 09:59:20 +02:00
committed by Silvan Fuhrer
parent c9206d6bd1
commit 2ecc7226e6
10 changed files with 23 additions and 22 deletions
-4
View File
@@ -322,10 +322,6 @@
#define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */ #define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */
#define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2 #define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2
/* RC Serial port */
#define RC_SERIAL_PORT "/dev/ttyS5"
/* Input Capture Channels. */ /* Input Capture Channels. */
#define INPUT_CAP1_TIMER 1 #define INPUT_CAP1_TIMER 1
#define INPUT_CAP1_CHANNEL /* T1C2 */ 2 #define INPUT_CAP1_CHANNEL /* T1C2 */ 2
+2 -1
View File
@@ -4,6 +4,7 @@ CONFIG_BOARD_ETHERNET=y
CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS6" CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS6"
CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS0" CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS0"
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS2" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS2"
CONFIG_BOARD_SERIAL_RC="/dev/ttyS4"
CONFIG_BOARD_PARAM_FILE="/fs/microsd/params" CONFIG_BOARD_PARAM_FILE="/fs/microsd/params"
CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_ADC_BOARD_ADC=y
CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_BMP388=y
@@ -20,10 +21,10 @@ CONFIG_COMMON_LIGHT=y
CONFIG_COMMON_MAGNETOMETER=y CONFIG_COMMON_MAGNETOMETER=y
CONFIG_DATAMAN_PERSISTENT_STORAGE=n CONFIG_DATAMAN_PERSISTENT_STORAGE=n
CONFIG_DRIVERS_PWM_OUT=y CONFIG_DRIVERS_PWM_OUT=y
CONFIG_COMMON_RC=y
CONFIG_DRIVERS_POWER_MONITOR_INA226=y CONFIG_DRIVERS_POWER_MONITOR_INA226=y
CONFIG_DRIVERS_POWER_MONITOR_INA228=y CONFIG_DRIVERS_POWER_MONITOR_INA228=y
CONFIG_DRIVERS_POWER_MONITOR_INA238=y CONFIG_DRIVERS_POWER_MONITOR_INA238=y
CONFIG_DRIVERS_RC_INPUT=y
CONFIG_DRIVERS_ROBOCLAW=y CONFIG_DRIVERS_ROBOCLAW=y
CONFIG_DRIVERS_UAVCAN=y CONFIG_DRIVERS_UAVCAN=y
CONFIG_BOARD_UAVCAN_INTERFACES=1 CONFIG_BOARD_UAVCAN_INTERFACES=1
@@ -145,9 +145,6 @@
#define HRT_PPM_CHANNEL /* T8C2 */ 2 /* use capture/compare channel 1 */ #define HRT_PPM_CHANNEL /* T8C2 */ 2 /* use capture/compare channel 1 */
#define GPIO_PPM_IN /* PC7 */ GPIO_TIM8_CH2IN_1 #define GPIO_PPM_IN /* PC7 */ GPIO_TIM8_CH2IN_1
/* RC Serial port (input only) */
#define RC_SERIAL_PORT "/dev/ttyS4"
/* This board provides a DMA pool and APIs */ /* This board provides a DMA pool and APIs */
#define BOARD_DMA_ALLOC_POOL_SIZE 5120 #define BOARD_DMA_ALLOC_POOL_SIZE 5120
+1 -1
View File
@@ -7,6 +7,7 @@ CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS6"
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4"
CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1" CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3" CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3"
CONFIG_BOARD_SERIAL_RC="/dev/ttyS5"
CONFIG_DRIVERS_ADC_ADS1115=y CONFIG_DRIVERS_ADC_ADS1115=y
CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_ADC_BOARD_ADC=y
CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_BMP388=y
@@ -43,7 +44,6 @@ CONFIG_DRIVERS_PWM_INPUT=y
CONFIG_DRIVERS_PWM_OUT=y CONFIG_DRIVERS_PWM_OUT=y
CONFIG_DRIVERS_PX4IO=y CONFIG_DRIVERS_PX4IO=y
CONFIG_COMMON_RC=y CONFIG_COMMON_RC=y
CONFIG_DRIVERS_RC_INPUT=y
CONFIG_DRIVERS_SAFETY_BUTTON=y CONFIG_DRIVERS_SAFETY_BUTTON=y
CONFIG_DRIVERS_SMART_BATTERY_BATMON=y CONFIG_DRIVERS_SMART_BATTERY_BATMON=y
CONFIG_COMMON_TELEMETRY=y CONFIG_COMMON_TELEMETRY=y
-2
View File
@@ -286,8 +286,6 @@
#define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */ #define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */
#define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2 #define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2
/* RC Serial port */
#define RC_SERIAL_PORT "/dev/ttyS5"
/* Some RC protocols are bi-directional, therefore we need a half-duplex UART */ /* Some RC protocols are bi-directional, therefore we need a half-duplex UART */
#define RC_SERIAL_SINGLEWIRE #define RC_SERIAL_SINGLEWIRE
/* The STM32 UART by default wires half-duplex mode to the TX pin, but our /* The STM32 UART by default wires half-duplex mode to the TX pin, but our
+2 -1
View File
@@ -7,6 +7,7 @@ CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS6"
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4"
CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1" CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3" CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3"
CONFIG_BOARD_SERIAL_RC="/dev/ttyS5"
CONFIG_DRIVERS_ADC_ADS1115=y CONFIG_DRIVERS_ADC_ADS1115=y
CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_ADC_BOARD_ADC=y
CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_BMP388=y
@@ -42,7 +43,7 @@ CONFIG_DRIVERS_POWER_MONITOR_PM_SELECTOR_AUTERION=y
CONFIG_DRIVERS_PWM_INPUT=y CONFIG_DRIVERS_PWM_INPUT=y
CONFIG_DRIVERS_PWM_OUT=y CONFIG_DRIVERS_PWM_OUT=y
CONFIG_DRIVERS_PX4IO=y CONFIG_DRIVERS_PX4IO=y
CONFIG_DRIVERS_RC_INPUT=y CONFIG_COMMON_RC=y
CONFIG_DRIVERS_SAFETY_BUTTON=y CONFIG_DRIVERS_SAFETY_BUTTON=y
CONFIG_DRIVERS_TONE_ALARM=y CONFIG_DRIVERS_TONE_ALARM=y
CONFIG_DRIVERS_UAVCAN=y CONFIG_DRIVERS_UAVCAN=y
-2
View File
@@ -323,8 +323,6 @@
#define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */ #define HRT_PPM_CHANNEL /* T8C1 */ 1 /* use capture/compare channel 1 */
#define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2 #define GPIO_PPM_IN /* PI5 T8C1 */ GPIO_TIM8_CH1IN_2
/* RC Serial port */
#define RC_SERIAL_PORT "/dev/ttyS5"
/* Some RC protocols are bi-directional, therefore we need a half-duplex UART */ /* Some RC protocols are bi-directional, therefore we need a half-duplex UART */
#define RC_SERIAL_SINGLEWIRE #define RC_SERIAL_SINGLEWIRE
/* The STM32 UART by default wires half-duplex mode to the TX pin, but our /* The STM32 UART by default wires half-duplex mode to the TX pin, but our
+2 -1
View File
@@ -6,6 +6,7 @@ CONFIG_BOARD_SERIAL_GPS2="/dev/ttyS3"
CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS2" CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS2"
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS5" CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS5"
CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS6" CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS6"
CONFIG_BOARD_SERIAL_RC="/dev/ttyS4"
CONFIG_DRIVERS_ADC_ADS1115=y CONFIG_DRIVERS_ADC_ADS1115=y
CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_ADC_BOARD_ADC=y
CONFIG_DRIVERS_BAROMETER_BMP388=y CONFIG_DRIVERS_BAROMETER_BMP388=y
@@ -40,7 +41,7 @@ CONFIG_DRIVERS_POWER_MONITOR_INA238=y
CONFIG_DRIVERS_POWER_MONITOR_PM_SELECTOR_AUTERION=y CONFIG_DRIVERS_POWER_MONITOR_PM_SELECTOR_AUTERION=y
CONFIG_DRIVERS_PWM_OUT=y CONFIG_DRIVERS_PWM_OUT=y
CONFIG_DRIVERS_PX4IO=y CONFIG_DRIVERS_PX4IO=y
CONFIG_DRIVERS_RC_INPUT=y CONFIG_COMMON_RC=y
CONFIG_DRIVERS_SAFETY_BUTTON=y CONFIG_DRIVERS_SAFETY_BUTTON=y
CONFIG_COMMON_TELEMETRY=y CONFIG_COMMON_TELEMETRY=y
CONFIG_DRIVERS_TONE_ALARM=y CONFIG_DRIVERS_TONE_ALARM=y
-1
View File
@@ -451,7 +451,6 @@
#define HRT_PPM_CHANNEL /* GPIO_EMC_B1_09 GPIO_GPT5_CAPTURE1_1 */ 1 /* use capture/compare channel 1 */ #define HRT_PPM_CHANNEL /* GPIO_EMC_B1_09 GPIO_GPT5_CAPTURE1_1 */ 1 /* use capture/compare channel 1 */
#define GPIO_PPM_IN /* GPIO_EMC_B1_09 GPT1_CAPTURE2 */ (GPIO_GPT5_CAPTURE1_1 | GENERAL_INPUT_IOMUX) #define GPIO_PPM_IN /* GPIO_EMC_B1_09 GPT1_CAPTURE2 */ (GPIO_GPT5_CAPTURE1_1 | GENERAL_INPUT_IOMUX)
#define RC_SERIAL_PORT "/dev/ttyS4"
#define RC_SERIAL_SINGLEWIRE 1 // Suport Single wire wiring #define RC_SERIAL_SINGLEWIRE 1 // Suport Single wire wiring
#define RC_SERIAL_SWAP_RXTX 1 // Set Swap (but not supported in HW) to use Single wire #define RC_SERIAL_SWAP_RXTX 1 // Set Swap (but not supported in HW) to use Single wire
#define RC_SERIAL_SWAP_USING_SINGLEWIRE 1 // Set to use Single wire swap as HW does not support swap #define RC_SERIAL_SWAP_USING_SINGLEWIRE 1 // Set to use Single wire swap as HW does not support swap
@@ -47,6 +47,7 @@
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include <string.h> #include <string.h>
#include <px4_boardconfig.h>
/************************************************************************************ /************************************************************************************
* Definitions * Definitions
************************************************************************************/ ************************************************************************************/
@@ -258,6 +259,15 @@
# define BOARD_EEPROM_WP_CTRL(on_true) # define BOARD_EEPROM_WP_CTRL(on_true)
#endif #endif
/*
* Support both RC_SERIAL_PORT and CONFIG_BOARD_SERIAL_RC
*/
#if defined(CONFIG_BOARD_SERIAL_RC)
# define RC_SERIAL CONFIG_BOARD_SERIAL_RC
#else
# define RC_SERIAL RC_SERIAL_PORT
#endif
/* /*
* Defined when a supports version and type API. * Defined when a supports version and type API.
*/ */
@@ -450,7 +460,7 @@ __BEGIN_DECLS
* Name: board_rc_singlewire * Name: board_rc_singlewire
* *
* Description: * Description:
* A board may define RC_SERIAL_SINGLEWIRE, so that RC_SERIAL_PORT is configured * A board may define RC_SERIAL_SINGLEWIRE, so that RC_SERIAL is configured
* as singlewire UART. * as singlewire UART.
* *
* Input Parameters: * Input Parameters:
@@ -463,7 +473,7 @@ __BEGIN_DECLS
************************************************************************************/ ************************************************************************************/
#if defined(RC_SERIAL_SINGLEWIRE) #if defined(RC_SERIAL_SINGLEWIRE)
static inline bool board_rc_singlewire(const char *device) { return strcmp(device, RC_SERIAL_PORT) == 0; } static inline bool board_rc_singlewire(const char *device) { return strcmp(device, RC_SERIAL) == 0; }
#elif defined(RC_SERIAL_SINGLEWIRE_FORCE) #elif defined(RC_SERIAL_SINGLEWIRE_FORCE)
static inline bool board_rc_singlewire(const char *device) { return true; } static inline bool board_rc_singlewire(const char *device) { return true; }
#else #else
@@ -474,7 +484,7 @@ static inline bool board_rc_singlewire(const char *device) { return false; }
* Name: board_rc_swap_rxtx * Name: board_rc_swap_rxtx
* *
* Description: * Description:
* A board may define RC_SERIAL_SWAP_RXTX, so that RC_SERIAL_PORT is configured * A board may define RC_SERIAL_SWAP_RXTX, so that RC_SERIAL is configured
* as UART with RX/TX swapped. * as UART with RX/TX swapped.
* *
* It can optionaly define RC_SERIAL_SWAP_USING_SINGLEWIRE If the board is wired * It can optionaly define RC_SERIAL_SWAP_USING_SINGLEWIRE If the board is wired
@@ -496,7 +506,7 @@ static inline bool board_rc_singlewire(const char *device) { return false; }
************************************************************************************/ ************************************************************************************/
#if defined(RC_SERIAL_SWAP_RXTX) #if defined(RC_SERIAL_SWAP_RXTX)
static inline bool board_rc_swap_rxtx(const char *device) { return strcmp(device, RC_SERIAL_PORT) == 0; } static inline bool board_rc_swap_rxtx(const char *device) { return strcmp(device, RC_SERIAL) == 0; }
#else #else
static inline bool board_rc_swap_rxtx(const char *device) { return false; } static inline bool board_rc_swap_rxtx(const char *device) { return false; }
#endif #endif
@@ -506,7 +516,7 @@ static inline bool board_rc_swap_rxtx(const char *device) { return false; }
* *
* Description: * Description:
* All boards may optionally define RC_INVERT_INPUT(bool invert) that is * All boards may optionally define RC_INVERT_INPUT(bool invert) that is
* used to invert the RC_SERIAL_PORT RC port (e.g. to toggle an external XOR via * used to invert the RC_SERIAL RC port (e.g. to toggle an external XOR via
* GPIO). * GPIO).
* *
* Input Parameters: * Input Parameters:
@@ -521,7 +531,7 @@ static inline bool board_rc_swap_rxtx(const char *device) { return false; }
#ifdef RC_INVERT_INPUT #ifdef RC_INVERT_INPUT
static inline bool board_rc_invert_input(const char *device, bool invert) static inline bool board_rc_invert_input(const char *device, bool invert)
{ {
if (strcmp(device, RC_SERIAL_PORT) == 0) { RC_INVERT_INPUT(invert); return true; } if (strcmp(device, RC_SERIAL) == 0) { RC_INVERT_INPUT(invert); return true; }
return false; return false;
} }