diff --git a/boards/mro/pixracerpro/default.cmake b/boards/mro/pixracerpro/default.cmake index 3726a6365d..77b0614446 100644 --- a/boards/mro/pixracerpro/default.cmake +++ b/boards/mro/pixracerpro/default.cmake @@ -11,12 +11,13 @@ px4_add_board( TESTING UAVCAN_INTERFACES 2 SERIAL_PORTS - TEL1:/dev/ttyS0 - TEL2:/dev/ttyS1 - GPS1:/dev/ttyS2 - #RC:/dev/ttyS3 - #CONSOLE:/dev/ttyS4 - #FRSKY:/dev/ttyS5 + #SPARE:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + GPS1:/dev/ttyS3 + #RC:/dev/ttyS4 + #CONSOLE:/dev/ttyS5 + #FRSKY:/dev/ttyS6 DRIVERS adc/board_adc #barometer # all available barometer drivers @@ -105,6 +106,7 @@ px4_add_board( reboot reflect sd_bench + serial_test system_time tests # tests and test runner top @@ -116,14 +118,15 @@ px4_add_board( work_queue EXAMPLES fake_gps + fake_gyro fake_magnetometer - fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control - hello - hwtest # Hardware test + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hello + #hwtest # Hardware test #matlab_csv_serial - px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html - px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html - rover_steering_control # Rover example app - uuv_example_app - work_item + #px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html + #px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html + #rover_steering_control # Rover example app + #uuv_example_app + #work_item ) diff --git a/boards/mro/pixracerpro/init/rc.board_extras b/boards/mro/pixracerpro/init/rc.board_extras new file mode 100644 index 0000000000..ccf9223a5b --- /dev/null +++ b/boards/mro/pixracerpro/init/rc.board_extras @@ -0,0 +1,10 @@ +#!/bin/sh +# +# board specific extras init +#------------------------------------------------------------------------------ + +# Run FrSky Telemetry on Pixracer on the FrSky port if not enabled already +if param compare TEL_FRSKY_CONFIG 0 +then + frsky_telemetry start -d /dev/ttyS6 -t 15 +fi diff --git a/boards/mro/pixracerpro/nuttx-config/include/board.h b/boards/mro/pixracerpro/nuttx-config/include/board.h index 9cda26cb73..2377d529f4 100644 --- a/boards/mro/pixracerpro/nuttx-config/include/board.h +++ b/boards/mro/pixracerpro/nuttx-config/include/board.h @@ -237,8 +237,8 @@ #define GPIO_UART4_TX GPIO_UART4_TX_2 /* PA0 */ #define GPIO_UART4_RX GPIO_UART4_RX_2 /* PA1 */ -//#define GPIO_USART6_TX GPIO_USART6_TX_2 /* PG14 */ -//#define GPIO_USART6_RX GPIO_USART6_RX_1 /* PC7 */ +#define GPIO_USART6_TX 0 /* USART6 is RX-only */ +#define GPIO_USART6_RX GPIO_USART6_RX_1 /* PC7 */ #define GPIO_UART7_TX GPIO_UART7_TX_3 /* PE8 */ #define GPIO_UART7_RX GPIO_UART7_RX_3 /* PE7 */ @@ -252,7 +252,7 @@ #define GPIO_CAN1_TX GPIO_CAN1_TX_3 /* PD1 */ #define GPIO_CAN2_RX GPIO_CAN2_RX_1 /* PB12 */ -#define GPIO_CAN2_TX GPIO_CAN2_TX_1 /* PB13 */ +#define GPIO_CAN2_TX GPIO_CAN2_TX_1 /* PB13 */ /* SPI */ diff --git a/boards/mro/pixracerpro/nuttx-config/nsh/defconfig b/boards/mro/pixracerpro/nuttx-config/nsh/defconfig index d020ae771b..093c232c58 100644 --- a/boards/mro/pixracerpro/nuttx-config/nsh/defconfig +++ b/boards/mro/pixracerpro/nuttx-config/nsh/defconfig @@ -141,7 +141,7 @@ CONFIG_SCHED_LPWORKPRIORITY=50 CONFIG_SCHED_LPWORKSTACKSIZE=1632 CONFIG_SCHED_WAITPID=y CONFIG_SDCLONE_DISABLE=y -CONFIG_SDMMC1_SDIO_MODE=y +CONFIG_SDMMC1_SDIO_PULLUP=y CONFIG_SEM_NNESTPRIO=8 CONFIG_SEM_PREALLOCHOLDERS=0 CONFIG_SERIAL_IFLOWCONTROL_WATERMARKS=y @@ -198,6 +198,7 @@ CONFIG_STM32H7_UART8=y CONFIG_STM32H7_USART1=y CONFIG_STM32H7_USART2=y CONFIG_STM32H7_USART3=y +CONFIG_STM32H7_USART6=y CONFIG_STM32H7_USART_BREAKS=y CONFIG_STM32H7_USART_INVERT=y CONFIG_STM32H7_USART_SINGLEWIRE=y @@ -227,6 +228,8 @@ CONFIG_USART3_IFLOWCONTROL=y CONFIG_USART3_OFLOWCONTROL=y CONFIG_USART3_RXBUFSIZE=600 CONFIG_USART3_TXBUFSIZE=3000 +CONFIG_USART6_BAUD=57600 +CONFIG_USART6_RXBUFSIZE=600 CONFIG_USBDEV=y CONFIG_USBDEV_BUSPOWERED=y CONFIG_USBDEV_MAXPOWER=500 diff --git a/boards/mro/pixracerpro/src/board_config.h b/boards/mro/pixracerpro/src/board_config.h index 28d730206f..797e0a4953 100644 --- a/boards/mro/pixracerpro/src/board_config.h +++ b/boards/mro/pixracerpro/src/board_config.h @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (c) 2020 PX4 Development Team. All rights reserved. + * Copyright (c) 2020-2021 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -58,19 +58,19 @@ /* PA2 */ GPIO_ADC12_INP14, \ /* PA3 */ GPIO_ADC12_INP15, \ /* PA4 */ GPIO_ADC12_INP18, \ - /* PC1 */ GPIO_ADC123_INN10 + /* PC1 */ GPIO_ADC123_INP11 -/* Define Channel numbers must match above GPIO pin */ -#define ADC_BATTERY_VOLTAGE_CHANNEL 14 /* PA2 BATT_VOLT_SENS */ -#define ADC_BATTERY_CURRENT_CHANNEL 15 /* PA3 BATT_CURRENT_SENS */ -#define ADC_SCALED_V5_CHANNEL 18 /* PA4 VDD_5V_SENS */ -#define ADC_RSSI_IN_CHANNEL 10 /* PC1 */ +/* Define Channel numbers must match above GPIO pins */ +#define ADC_BATTERY_VOLTAGE_CHANNEL 14 /* PA2 BATT_VOLT_SENS */ +#define ADC_BATTERY_CURRENT_CHANNEL 15 /* PA3 BATT_CURRENT_SENS */ +#define ADC_SCALED_V5_CHANNEL 18 /* PA4 VDD_5V_SENS */ +#define ADC_RC_RSSI_CHANNEL 11 /* PC1 */ #define ADC_CHANNELS \ ((1 << ADC_BATTERY_VOLTAGE_CHANNEL) | \ (1 << ADC_BATTERY_CURRENT_CHANNEL) | \ (1 << ADC_SCALED_V5_CHANNEL) | \ - (1 << ADC_RSSI_IN_CHANNEL)) + (1 << ADC_RC_RSSI_CHANNEL)) /* HW has to large of R termination on ADC todo:change when HW value is chosen */ #define BOARD_ADC_OPEN_CIRCUIT_V (5.6f) @@ -108,7 +108,7 @@ #define GPIO_TONE_ALARM GPIO_TIM2_CH1OUT_2 /* USB OTG FS */ -#define GPIO_OTGFS_VBUS /* PA9 */ (GPIO_INPUT|GPIO_PULLDOWN|GPIO_SPEED_100MHz|GPIO_PORTA|GPIO_PIN9) +#define GPIO_OTGFS_VBUS /* PA9 */ (GPIO_INPUT|GPIO_OPENDRAIN|GPIO_SPEED_100MHz|GPIO_PORTA|GPIO_PIN9) /* High-resolution timer */ #define HRT_TIMER 3 /* use timer3 for the HRT */ @@ -118,7 +118,8 @@ #define GPIO_PPM_IN /* PB0 T3C3 */ GPIO_TIM3_CH3IN_1 /* RC Serial port */ -#define RC_SERIAL_PORT "/dev/ttyS3" +#define RC_SERIAL_PORT "/dev/ttyS4" +#define RC_SERIAL_SINGLEWIRE #define GPIO_RSSI_IN /* PC1 */ (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN1) @@ -143,12 +144,11 @@ */ #define BOARD_ADC_USB_CONNECTED (px4_arch_gpioread(GPIO_OTGFS_VBUS)) #define BOARD_ADC_USB_VALID BOARD_ADC_USB_CONNECTED -#define BOARD_ADC_SERVO_VALID (1) /* never powers off the Servo rail */ #define BOARD_ADC_BRICK_VALID (!px4_arch_gpioread(GPIO_nVDD_BRICK1_VALID)) #define BOARD_HAS_PWM DIRECT_PWM_OUTPUT_CHANNELS #define BOARD_NUM_IO_TIMERS 3 -#define BOARD_DSHOT_MOTOR_ASSIGNMENT {3, 2, 1, 0, 4, 5}; +#define BOARD_DSHOT_MOTOR_ASSIGNMENT {3, 2, 1, 0, 4, 5, 6, 7}; #define BOARD_DMA_ALLOC_POOL_SIZE 5120 /* This board provides a DMA pool and APIs */ #define BOARD_HAS_ON_RESET 1 /* This board provides the board_on_reset interface */ #define BOARD_ENABLE_CONSOLE_BUFFER