-
Notifications
You must be signed in to change notification settings - Fork 15.5k
feat(boards): Add support for the NewBeeDrone PixNova #26966
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
8671adc
019acbe
e910373
7d172cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| CONFIG_BOARD_TOOLCHAIN="arm-none-eabi" | ||
| CONFIG_BOARD_ARCHITECTURE="cortex-m7" | ||
| CONFIG_BOARD_ROMFSROOT="" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| CONFIG_BOARD_TOOLCHAIN="arm-none-eabi" | ||
| CONFIG_BOARD_ARCHITECTURE="cortex-m7" | ||
| CONFIG_BOARD_ETHERNET=y | ||
| CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS0" | ||
| CONFIG_BOARD_SERIAL_GPS2="/dev/ttyS7" | ||
| CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS6" | ||
| CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS4" | ||
| CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1" | ||
| CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3" | ||
| CONFIG_DRIVERS_ADC_ADS1115=y | ||
| CONFIG_DRIVERS_ADC_BOARD_ADC=y | ||
| CONFIG_DRIVERS_BAROMETER_BMP388=y | ||
| CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y | ||
| CONFIG_DRIVERS_BAROMETER_MS5611=y | ||
| CONFIG_DRIVERS_CAMERA_CAPTURE=y | ||
| CONFIG_DRIVERS_CAMERA_TRIGGER=y | ||
| CONFIG_DRIVERS_CDCACM_AUTOSTART=y | ||
| CONFIG_COMMON_DIFFERENTIAL_PRESSURE=y | ||
| CONFIG_COMMON_DISTANCE_SENSOR=y | ||
| CONFIG_DRIVERS_DSHOT=y | ||
| CONFIG_DRIVERS_GNSS_SEPTENTRIO=y | ||
| CONFIG_DRIVERS_GPIO_MCP23009=y | ||
| CONFIG_DRIVERS_GPS=y | ||
| CONFIG_DRIVERS_HEATER=y | ||
| CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16470=y | ||
| CONFIG_DRIVERS_IMU_BOSCH_BMI088=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM20649=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM42670P=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_ICM45686=y | ||
| CONFIG_DRIVERS_IMU_INVENSENSE_IIM42652=y | ||
| CONFIG_COMMON_LIGHT=y | ||
| CONFIG_COMMON_MAGNETOMETER=y | ||
| CONFIG_DRIVERS_OSD_MSP_OSD=y | ||
| CONFIG_DRIVERS_POWER_MONITOR_INA226=y | ||
| CONFIG_DRIVERS_POWER_MONITOR_INA228=y | ||
| CONFIG_DRIVERS_POWER_MONITOR_INA238=y | ||
| CONFIG_DRIVERS_POWER_MONITOR_PM_SELECTOR_AUTERION=y | ||
| CONFIG_DRIVERS_PWM_OUT=y | ||
| CONFIG_DRIVERS_PX4IO=y | ||
| CONFIG_DRIVERS_RC_INPUT=y | ||
| CONFIG_DRIVERS_SAFETY_BUTTON=y | ||
| CONFIG_DRIVERS_TONE_ALARM=y | ||
| CONFIG_DRIVERS_UAVCAN=y | ||
| CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE=2 | ||
| CONFIG_MODULES_AIRSPEED_SELECTOR=y | ||
| CONFIG_MODULES_BATTERY_STATUS=y | ||
| CONFIG_MODULES_CAMERA_FEEDBACK=y | ||
| CONFIG_MODULES_COMMANDER=y | ||
| CONFIG_MODULES_CONTROL_ALLOCATOR=y | ||
| CONFIG_MODULES_DATAMAN=y | ||
| CONFIG_MODULES_EKF2=y | ||
| CONFIG_MODULES_ESC_BATTERY=y | ||
| CONFIG_MODULES_EVENTS=y | ||
| CONFIG_MODULES_FLIGHT_MODE_MANAGER=y | ||
| CONFIG_MODULES_FW_ATT_CONTROL=y | ||
| CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y | ||
| CONFIG_MODULES_FW_POS_CONTROL=y | ||
| CONFIG_MODULES_FW_RATE_CONTROL=y | ||
| CONFIG_MODULES_GIMBAL=y | ||
| CONFIG_MODULES_GYRO_CALIBRATION=y | ||
| CONFIG_MODULES_LAND_DETECTOR=y | ||
| CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y | ||
| CONFIG_MODULES_LOAD_MON=y | ||
| CONFIG_MODULES_LOGGER=y | ||
| CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y | ||
| CONFIG_MODULES_MANUAL_CONTROL=y | ||
| CONFIG_MODULES_MAVLINK=y | ||
| CONFIG_MAVLINK_DIALECT="development" | ||
| CONFIG_MODULES_MC_ATT_CONTROL=y | ||
| CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y | ||
| CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y | ||
| CONFIG_MODULES_MC_POS_CONTROL=y | ||
| CONFIG_MODULES_MC_RATE_CONTROL=y | ||
| CONFIG_MODULES_NAVIGATOR=y | ||
| CONFIG_MODE_NAVIGATOR_VTOL_TAKEOFF=y | ||
| CONFIG_NUM_MISSION_ITMES_SUPPORTED=1000 | ||
| CONFIG_MODULES_RC_UPDATE=y | ||
| CONFIG_MODULES_SENSORS=y | ||
| CONFIG_MODULES_TEMPERATURE_COMPENSATION=y | ||
| CONFIG_MODULES_UXRCE_DDS_CLIENT=y | ||
| CONFIG_MODULES_VTOL_ATT_CONTROL=y | ||
| CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y | ||
| CONFIG_SYSTEMCMDS_BSONDUMP=y | ||
| CONFIG_SYSTEMCMDS_DMESG=y | ||
| CONFIG_SYSTEMCMDS_GPIO=y | ||
| CONFIG_SYSTEMCMDS_HARDFAULT_LOG=y | ||
| CONFIG_SYSTEMCMDS_I2C_LAUNCHER=y | ||
| CONFIG_SYSTEMCMDS_I2CDETECT=y | ||
| CONFIG_SYSTEMCMDS_LED_CONTROL=y | ||
| CONFIG_SYSTEMCMDS_MFT=y | ||
| CONFIG_SYSTEMCMDS_MTD=y | ||
| CONFIG_SYSTEMCMDS_NETMAN=y | ||
| CONFIG_SYSTEMCMDS_NSHTERM=y | ||
| CONFIG_SYSTEMCMDS_PARAM=y | ||
| CONFIG_SYSTEMCMDS_PERF=y | ||
| CONFIG_SYSTEMCMDS_REBOOT=y | ||
| CONFIG_SYSTEMCMDS_SYSTEM_TIME=y | ||
| CONFIG_SYSTEMCMDS_TOP=y | ||
| CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y | ||
| CONFIG_SYSTEMCMDS_TUNE_CONTROL=y | ||
| CONFIG_SYSTEMCMDS_UORB=y | ||
| CONFIG_SYSTEMCMDS_VER=y | ||
| CONFIG_SYSTEMCMDS_WORK_QUEUE=y | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| { | ||
| "board_id": 53, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Board ID 53 is already assigned to Submit a PR to PX4-Bootloader to reserve your ID in Suggested range: 5900-5909 for NewBeeDrone. So: |
||
| "magic": "PX4FWv1", | ||
| "description": "Firmware for the NewBeeDronePixNova board", | ||
| "image": "", | ||
| "build_time": 0, | ||
| "summary": "NewBeeDronePixNova", | ||
| "version": "0.1", | ||
| "image_size": 0, | ||
| "image_maxsize": 1966080, | ||
| "git_identity": "", | ||
| "board_revision": 0 | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| #!/bin/sh | ||
| # | ||
| # board specific defaults | ||
| #------------------------------------------------------------------------------ | ||
|
|
||
| # Mavlink ethernet (CFG 1000) | ||
| param set-default MAV_2_CONFIG 1000 | ||
| param set-default MAV_2_BROADCAST 1 | ||
| param set-default MAV_2_MODE 0 | ||
| param set-default MAV_2_RADIO_CTL 0 | ||
| param set-default MAV_2_RATE 100000 | ||
| param set-default MAV_2_REMOTE_PRT 14550 | ||
| param set-default MAV_2_UDP_PRT 14550 | ||
|
|
||
| safety_button start |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,96 @@ | ||
| #!/bin/sh | ||
| # | ||
| # PixNova V6X specific board sensors init | ||
| #------------------------------------------------------------------------------ | ||
| set HAVE_PM2 yes | ||
| set INA_CONFIGURED no | ||
|
|
||
| if mft query -q -k MFT -s MFT_PM2 -v 0 | ||
| then | ||
| set HAVE_PM2 no | ||
| fi | ||
| if param compare -s ADC_ADS1115_EN 1 | ||
| then | ||
| ads1115 start -X | ||
| board_adc start -n | ||
| else | ||
| board_adc start | ||
| fi | ||
|
|
||
|
|
||
| if param compare SENS_EN_INA226 1 | ||
| then | ||
| # Start Digital power monitors | ||
| ina226 -X -b 1 -t 1 -k start | ||
|
|
||
| if [ $HAVE_PM2 = yes ] | ||
| then | ||
| ina226 -X -b 2 -t 2 -k start | ||
| fi | ||
|
|
||
| set INA_CONFIGURED yes | ||
| fi | ||
|
|
||
| if param compare SENS_EN_INA228 1 | ||
| then | ||
| # Start Digital power monitors | ||
| ina228 -X -b 1 -t 1 -k start | ||
| if [ $HAVE_PM2 = yes ] | ||
| then | ||
| ina228 -X -b 2 -t 2 -k start | ||
| fi | ||
|
|
||
| set INA_CONFIGURED yes | ||
| fi | ||
|
|
||
| if param compare SENS_EN_INA238 1 | ||
| then | ||
| # Start Digital power monitors | ||
| ina238 -X -b 1 -t 1 -k start | ||
| if [ $HAVE_PM2 = yes ] | ||
| then | ||
| ina238 -X -b 2 -t 2 -k start | ||
| fi | ||
|
|
||
| set INA_CONFIGURED yes | ||
| fi | ||
|
|
||
| if [ $INA_CONFIGURED = no ] | ||
| then | ||
| # INA226, INA228, INA238 auto-start | ||
| i2c_launcher start -b 1 | ||
| if [ $HAVE_PM2 = yes ] | ||
| then | ||
| i2c_launcher start -b 2 | ||
| fi | ||
| fi | ||
|
|
||
| # IMU sensor sets: PixNovaV6X000 (PixNova000) vs PixNovaV6X001 (PixNova001) — board_config.h / spi.cpp | ||
| # Use one block while layouts match; split into per-variant if blocks when rotations or chips differ (see zeroone/x6). | ||
| if ver hwtypecmp PixNova000 PixNova001 | ||
| then | ||
| # Internal SPI bus ICM-20649 (hard-mounted) | ||
| icm20649 -R 14 -s start | ||
|
|
||
| # Internal SPI bus BMI088 accel/gyro | ||
| bmi088 -A -R 0 -s start | ||
| bmi088 -G -R 0 -s start | ||
|
|
||
| # Internal SPI bus ICM42688p | ||
| icm42688p -R 2 -s start | ||
| fi | ||
|
|
||
| # Internal magnetometer on I2C4 | ||
| rm3100 -I -b 4 -R 4 start | ||
|
|
||
| # External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro Pixhawk 4 or CUAV V5 GPS/compass puck (with lights, safety button, and buzzer) | ||
| ist8310 -X -b 1 -R 10 start | ||
|
|
||
| # Internal baro on I2C2 | ||
| icp201xx -X -b 2 -a 0x63 start | ||
|
|
||
| # External baro on I2C4 | ||
| icp201xx -I -b 4 -a 0x63 start | ||
|
|
||
| unset INA_CONFIGURED | ||
| unset HAVE_PM2 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| # | ||
| # For a description of the syntax of this configuration file, | ||
| # see misc/tools/kconfig-language.txt. | ||
| # | ||
| config BOARD_HAS_PROBES | ||
| bool "Board provides GPIO or other Hardware for signaling to timing analyze." | ||
| default y | ||
| ---help--- | ||
| This board provides GPIO FMU-CH1-5, CAP1-6 as PROBE_1-11 to provide timing signals from selected drivers. | ||
|
|
||
| config BOARD_USE_PROBES | ||
| bool "Enable the use the board provided FMU-CH1-5, CAP1-6 as PROBE_1-11" | ||
| default n | ||
| depends on BOARD_HAS_PROBES | ||
|
|
||
| ---help--- | ||
| Select to use GPIO FMU-CH1-5, CAP1-6 to provide timing signals from selected drivers. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| # | ||
| # This file is autogenerated: PLEASE DO NOT EDIT IT. | ||
| # | ||
| # You can use "make menuconfig" to make any modifications to the installed .config file. | ||
| # You can then do "make savedefconfig" to generate a new defconfig file that includes your | ||
| # modifications. | ||
| # | ||
| # CONFIG_DEV_CONSOLE is not set | ||
| # CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set | ||
| # CONFIG_DISABLE_PTHREAD is not set | ||
| # CONFIG_SPI_EXCHANGE is not set | ||
| # CONFIG_STM32H7_SYSCFG is not set | ||
| CONFIG_ARCH="arm" | ||
| CONFIG_ARCH_BOARD_CUSTOM=y | ||
| CONFIG_ARCH_BOARD_CUSTOM_DIR="../../../../boards/newbeedrone/pixnova/nuttx-config" | ||
| CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y | ||
| CONFIG_ARCH_BOARD_CUSTOM_NAME="newbeedrone" | ||
| CONFIG_ARCH_CHIP="stm32h7" | ||
| CONFIG_ARCH_CHIP_STM32H753II=y | ||
| CONFIG_ARCH_CHIP_STM32H7=y | ||
| CONFIG_ARCH_INTERRUPTSTACK=768 | ||
| CONFIG_ARMV7M_BASEPRI_WAR=y | ||
| CONFIG_ARMV7M_ICACHE=y | ||
| CONFIG_ARMV7M_MEMCPY=y | ||
| CONFIG_ARMV7M_USEBASEPRI=y | ||
| CONFIG_BOARDCTL=y | ||
| CONFIG_BOARDCTL_RESET=y | ||
| CONFIG_BOARD_ASSERT_RESET_VALUE=0 | ||
| CONFIG_BOARD_INITTHREAD_PRIORITY=254 | ||
| CONFIG_BOARD_LATE_INITIALIZE=y | ||
| CONFIG_BOARD_LOOPSPERMSEC=95150 | ||
| CONFIG_BOARD_RESET_ON_ASSERT=2 | ||
| CONFIG_CDCACM=y | ||
| CONFIG_CDCACM_IFLOWCONTROL=y | ||
| CONFIG_CDCACM_PRODUCTID=0x15E0 | ||
| CONFIG_CDCACM_PRODUCTSTR="PixNova BL V6X.x" | ||
| CONFIG_CDCACM_RXBUFSIZE=600 | ||
| CONFIG_CDCACM_TXBUFSIZE=12000 | ||
| CONFIG_CDCACM_VENDORID=0x3185 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. VID So in both this file and |
||
| CONFIG_CDCACM_VENDORSTR="NewBeeDrone" | ||
| CONFIG_DEBUG_FULLOPT=y | ||
| CONFIG_DEBUG_SYMBOLS=y | ||
| CONFIG_DEBUG_TCBINFO=y | ||
| CONFIG_DEFAULT_SMALL=y | ||
| CONFIG_EXPERIMENTAL=y | ||
| CONFIG_FDCLONE_DISABLE=y | ||
| CONFIG_FDCLONE_STDIO=y | ||
| CONFIG_HAVE_CXX=y | ||
| CONFIG_HAVE_CXXINITIALIZE=y | ||
| CONFIG_IDLETHREAD_STACKSIZE=750 | ||
| CONFIG_INIT_ENTRYPOINT="bootloader_main" | ||
| CONFIG_INIT_STACKSIZE=3194 | ||
| CONFIG_LIBC_FLOATINGPOINT=y | ||
| CONFIG_LIBC_LONG_LONG=y | ||
| CONFIG_LIBC_STRERROR=y | ||
| CONFIG_MEMSET_64BIT=y | ||
| CONFIG_MEMSET_OPTSPEED=y | ||
| CONFIG_PREALLOC_TIMERS=50 | ||
| CONFIG_PTHREAD_MUTEX_ROBUST=y | ||
| CONFIG_PTHREAD_STACK_MIN=512 | ||
| CONFIG_RAM_SIZE=245760 | ||
| CONFIG_RAM_START=0x20010000 | ||
| CONFIG_RAW_BINARY=y | ||
| CONFIG_SERIAL_TERMIOS=y | ||
| CONFIG_SIG_DEFAULT=y | ||
| CONFIG_SIG_SIGALRM_ACTION=y | ||
| CONFIG_SIG_SIGUSR1_ACTION=y | ||
| CONFIG_SIG_SIGUSR2_ACTION=y | ||
| CONFIG_SPI=y | ||
| CONFIG_STACK_COLORATION=y | ||
| CONFIG_START_DAY=30 | ||
| CONFIG_START_MONTH=11 | ||
| CONFIG_STDIO_BUFFER_SIZE=32 | ||
| CONFIG_STM32H7_BKPSRAM=y | ||
| CONFIG_STM32H7_DMA1=y | ||
| CONFIG_STM32H7_DMA2=y | ||
| CONFIG_STM32H7_OTGFS=y | ||
| CONFIG_STM32H7_PROGMEM=y | ||
| CONFIG_STM32H7_SERIAL_DISABLE_REORDERING=y | ||
| CONFIG_STM32H7_TIM1=y | ||
| CONFIG_STM32H7_UART5=y | ||
| CONFIG_SYSTEMTICK_HOOK=y | ||
| CONFIG_SYSTEM_CDCACM=y | ||
| CONFIG_TASK_NAME_SIZE=24 | ||
| CONFIG_TTY_SIGINT=y | ||
| CONFIG_TTY_SIGINT_CHAR=0x03 | ||
| CONFIG_TTY_SIGTSTP=y | ||
| CONFIG_UART5_RXBUFSIZE=512 | ||
| CONFIG_UART5_RXDMA=y | ||
| CONFIG_UART5_TXBUFSIZE=512 | ||
| CONFIG_UART5_TXDMA=y | ||
| CONFIG_USBDEV=y | ||
| CONFIG_USBDEV_BUSPOWERED=y | ||
| CONFIG_USBDEV_MAXPOWER=500 | ||
| CONFIG_USEC_PER_TICK=1000 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New boards should use
CONFIG_DRIVERS_COMMON_RCinstead of the legacyCONFIG_DRIVERS_RC_INPUT.Also,
CONFIG_DRIVERS_POWER_MONITOR_PM_SELECTOR_AUTERIONon line 40 -- is this intentional for your hardware, or leftover from the v6x copy?