Compare commits

..

1 Commits

Author SHA1 Message Date
Daniel Agar bbc9a8c9bb WIP: parameter export hacks 2021-04-09 18:25:40 -04:00
136 changed files with 981 additions and 3805 deletions
+7
View File
@@ -45,12 +45,17 @@ pipeline {
"cuav_can-gps-v1_canbootloader",
"cuav_can-gps-v1_default",
"cuav_nora_default",
"cuav_nora_test",
"cuav_x7pro_default",
"cuav_x7pro_test",
"cubepilot_cubeorange_console",
"cubepilot_cubeorange_default",
"cubepilot_cubeyellow_console",
"cubepilot_cubeyellow_default",
"holybro_can-gps-v1_canbootloader",
"holybro_can-gps-v1_default",
"holybro_durandal-v1_default",
"holybro_durandal-v1_test",
"holybro_kakutef7_default",
"holybro_pix32v5_default",
"modalai_fc-v1_default",
@@ -76,6 +81,7 @@ pipeline {
"px4_fmu-v2_fixedwing",
"px4_fmu-v2_multicopter",
"px4_fmu-v2_rover",
"px4_fmu-v2_test",
"px4_fmu-v3_default",
"px4_fmu-v4_cannode",
"px4_fmu-v4_default",
@@ -94,6 +100,7 @@ pipeline {
"px4_fmu-v5x_base_phy_DP83848C",
"px4_fmu-v5x_default",
"px4_fmu-v6u_default",
"px4_fmu-v6u_test",
"px4_fmu-v6x_default",
"px4_io-v2_default",
"spracing_h7extreme_default",
+94 -42
View File
@@ -7,9 +7,9 @@ pipeline {
parallel {
stage("cubepilot_cubeorange_test") {
stage("cubepilot_cubeorange_console") {
stages {
stage("build cubepilot_cubeorange_test") {
stage("build cubepilot_cubeorange_console") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -22,10 +22,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make cubepilot_cubeorange_test'
sh 'make cubepilot_cubeorange_console'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_console'
}
post {
always {
@@ -42,9 +42,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'cubepilot_cubeorange_test'
unstash 'cubepilot_cubeorange_console'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_console/cubepilot_cubeorange_console.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -160,9 +160,61 @@ pipeline {
}
}
stage("px4_fmu-v3_test") {
// stage("px4_fmu-v2_test") {
// stages {
// stage("build px4_fmu-v2_test") {
// agent {
// docker {
// image 'px4io/px4-dev-nuttx-focal:2020-09-14'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
// }
// }
// steps {
// sh 'export'
// sh 'make distclean'
// sh 'ccache -s'
// sh 'git fetch --tags'
// sh 'make px4_fmu-v2_test'
// sh 'make sizes'
// sh 'ccache -s'
// stash includes: 'build/px4_fmu-v2_test/px4_fmu-v2_test.elf', name: 'px4_fmu-v2_test'
// }
// post {
// always {
// sh 'make distclean'
// }
// }
// } // stage build
// stage("test") {
// agent {
// label 'px4_fmu-v2'
// }
// stages {
// stage("flash") {
// steps {
// sh 'export'
// sh 'find /dev/serial'
// unstash 'px4_fmu-v2_test'
// // flash board and watch bootup
// sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v2_test/px4_fmu-v2_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
// }
// }
// stage("reset") {
// steps {
// cleanupFTDI();
// }
// }
// }
// options {
// timeout(time: 90, unit: 'MINUTES')
// }
// }
// }
// }
stage("px4_fmu-v3_default") {
stages {
stage("build px4_fmu-v3_test") {
stage("build px4_fmu-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -175,10 +227,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v3_test'
sh 'make px4_fmu-v3_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_default'
}
post {
always {
@@ -195,9 +247,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v3_test'
unstash 'px4_fmu-v3_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_test/px4_fmu-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_default/px4_fmu-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -236,9 +288,9 @@ pipeline {
}
}
stage("px4_fmu-v4_test") {
stage("px4_fmu-v4_default") {
stages {
stage("build px4_fmu-v4_test") {
stage("build px4_fmu-v4_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -251,10 +303,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v4_test'
sh 'make px4_fmu-v4_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_default'
}
post {
always {
@@ -271,9 +323,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4_test'
unstash 'px4_fmu-v4_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_default/px4_fmu-v4_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -312,9 +364,9 @@ pipeline {
}
}
stage("px4_fmu-v4pro_test") {
stage("px4_fmu-v4pro_default") {
stages {
stage("build px4_fmu-v4pro_test") {
stage("build px4_fmu-v4pro_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -327,10 +379,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v4pro_test'
sh 'make px4_fmu-v4pro_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_default'
}
post {
always {
@@ -347,9 +399,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4pro_test'
unstash 'px4_fmu-v4pro_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -388,9 +440,9 @@ pipeline {
}
}
stage("px4_fmu-v5_test") {
stage("px4_fmu-v5_default") {
stages {
stage("build px4_fmu-v5_test") {
stage("build px4_fmu-v5_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -403,10 +455,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v5_test'
sh 'make px4_fmu-v5_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_default'
}
post {
always {
@@ -423,9 +475,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5_test'
unstash 'px4_fmu-v5_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_default/px4_fmu-v5_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -700,9 +752,9 @@ pipeline {
}
}
stage("modalai_fc-v1_test") {
stage("modalai_fc-v1_default") {
stages {
stage("build modalai_fc-v1_test") {
stage("build modalai_fc-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -715,10 +767,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make modalai_fc-v1_test'
sh 'make modalai_fc-v1_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_default'
}
post {
always {
@@ -735,9 +787,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'modalai_fc-v1_test'
unstash 'modalai_fc-v1_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_test/modalai_fc-v1_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_default/modalai_fc-v1_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -853,9 +905,9 @@ pipeline {
}
}
stage("nxp_fmuk66-v3_test") {
stage("nxp_fmuk66-v3_default") {
stages {
stage("build nxp_fmuk66-v3_test") {
stage("build nxp_fmuk66-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -868,10 +920,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make nxp_fmuk66-v3_test'
sh 'make nxp_fmuk66-v3_default'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_test'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_default'
}
post {
always {
@@ -888,9 +940,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'nxp_fmuk66-v3_test'
unstash 'nxp_fmuk66-v3_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_default/nxp_fmuk66-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
+7 -2
View File
@@ -26,16 +26,19 @@ jobs:
cuav_can-gps-v1_debug,
cuav_can-gps-v1_default,
cuav_nora_default,
cuav_nora_test,
cuav_x7pro_default,
cuav_x7pro_test,
cubepilot_cubeorange_console,
cubepilot_cubeorange_default,
cubepilot_cubeorange_test,
cubepilot_cubeyellow_console,
cubepilot_cubeyellow_default,
cubepilot_cubeyellow_test,
cubepilot_io-v2_default,
holybro_can-gps-v1_canbootloader,
holybro_can-gps-v1_debug,
holybro_can-gps-v1_default,
holybro_durandal-v1_default,
holybro_durandal-v1_test,
holybro_kakutef7_default,
holybro_pix32v5_default,
modalai_fc-v1_default,
@@ -61,6 +64,7 @@ jobs:
px4_fmu-v2_fixedwing,
px4_fmu-v2_multicopter,
px4_fmu-v2_rover,
px4_fmu-v2_test,
px4_fmu-v3_default,
px4_fmu-v4_cannode,
px4_fmu-v4_default,
@@ -79,6 +83,7 @@ jobs:
px4_fmu-v5x_base_phy_DP83848C,
px4_fmu-v5x_default,
px4_fmu-v6u_default,
px4_fmu-v6u_test,
px4_fmu-v6x_default,
px4_io-v2_default,
spracing_h7extreme_default,
+2 -2
View File
@@ -59,7 +59,7 @@
url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
url = https://github.com/UAVCAN/public_regulated_data_types.git
url = https://github.com/UAVCAN/public_regulated_data_types
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
path = src/drivers/uavcannode_gps_demo/libcanard
url = https://github.com/UAVCAN/libcanard.git
url = https://github.com/UAVCAN/libcanard
+2 -2
View File
@@ -96,11 +96,11 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: cuav_x7pro_default
cubepilot_cubeorange_test:
cubepilot_cubeorange_console:
short: cubepilot_cubeorange
buildType: MinSizeRel
settings:
CONFIG: cubepilot_orange_test
CONFIG: cubepilot_orange_console
emlid_navio2_default:
short: emlid_navio2
buildType: MinSizeRel
+4 -1
View File
@@ -137,5 +137,8 @@
"workbench.settings.enableNaturalLanguageSearch": false,
"yaml.schemas": {
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
}
},
"python.autoComplete.extraPaths": [
"/opt/ros/foxy/lib/python3.8/site-packages"
]
}
@@ -111,6 +111,5 @@ set MAV_TYPE 22
set MIXER babyshark
set MIXER_AUX pass
# Mark outputs for the alternate rate
# or D-Shot
set PWM_OUT 5678
set PWM_AUX_OUT 1234
-5
View File
@@ -144,11 +144,6 @@ then
set OUTPUT_DEV /dev/uavcan/esc
fi
if [ $OUTPUT_MODE = vesc ]
then
set OUTPUT_DEV /dev/vesc
fi
if mixer load ${OUTPUT_DEV} ${MIXER_FILE}
then
echo "INFO [init] Mixer: ${MIXER_FILE} on ${OUTPUT_DEV}"
-5
View File
@@ -282,11 +282,6 @@ else
fi
fi
if param greater -s VESC_PORT 0
then
set OUTPUT_MODE vesc
fi
#
# Check if PX4IO present and update firmware if needed.
# Assumption IOFW set to firmware file and IO_PRESENT = no
+13 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -47,6 +48,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -108,6 +110,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -117,15 +120,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
fake_gyro
fake_magnetometer
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
)
+2
View File
@@ -39,6 +39,7 @@ px4_add_board(
VENDOR atlflight
MODEL eagle
LABEL default
#TESTING
TOOLCHAIN arm-linux-gnueabihf
ROMFSROOT px4fmu_common
DRIVERS
@@ -107,6 +108,7 @@ px4_add_board(
sd_bench
shutdown
system_time
#tests # tests and test runner
#top
topic_listener
tune_control
+2
View File
@@ -39,6 +39,7 @@ px4_add_board(
VENDOR atlflight
MODEL excelsior
LABEL default
#TESTING
TOOLCHAIN arm-oemllib32-linux-gnueabi
DRIVERS
#barometer # all available barometer drivers
@@ -105,6 +106,7 @@ px4_add_board(
sd_bench
shutdown
system_time
#tests # tests and test runner
#top
topic_listener
tune_control
+13 -10
View File
@@ -7,6 +7,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -46,6 +47,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -106,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -114,15 +117,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
fake_gyro
fake_magnetometer
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
)
+1
View File
@@ -113,6 +113,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1
View File
@@ -114,6 +114,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -3,7 +3,7 @@ px4_add_board(
PLATFORM nuttx
VENDOR cubepilot
MODEL cubeorange
LABEL test
LABEL console
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
@@ -9,6 +9,7 @@ px4_add_board(
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO cubepilot_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -50,6 +51,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -111,6 +113,7 @@ px4_add_board(
sd_bench
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -3,7 +3,7 @@ px4_add_board(
PLATFORM nuttx
VENDOR cubepilot
MODEL cubeyellow
LABEL test
LABEL console
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO cubepilot_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -48,6 +49,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -109,6 +111,7 @@ px4_add_board(
sd_bench
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1
View File
@@ -109,6 +109,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
-1
View File
@@ -6,7 +6,6 @@ px4_add_board(
LABEL default
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
EXTERNAL_METADATA
ROMFSROOT px4fmu_common
SERIAL_PORTS
TEL1:/dev/ttyS0 # UART1
+13 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -52,6 +53,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -113,6 +115,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -122,15 +125,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
fake_gyro
fake_magnetometer
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
)
-139
View File
@@ -1,139 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR holybro
MODEL pix32v5
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL3:/dev/ttyS4
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi055
imu/invensense/icm20602
imu/invensense/icm20689
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+13 -10
View File
@@ -7,6 +7,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
@@ -46,6 +47,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -106,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -115,15 +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
fake_gyro
fake_magnetometer
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
)
+82 -4
View File
@@ -18,10 +18,88 @@
# Common settings across Flight Core configurations
#
# Disable safety switch by default (pull high to 3.3V to enable)
# V106 - J13 pin 5
# V110 - J1011 pin 5
param set-default CBRK_IO_SAFETY 22027
#
# Stand Alone configuration
#
if ver hwtypecmp V106
then
echo "Configuring Flight Core - V106"
#
# In Flight Core, J1 can be setup to be used as a serial port for TELEM2
# and connected to VOXL via cables. We'll configure this out of the box.
# The user can later change this if they want, as these are configurable
# and not necessarily required to be used with VOXL.
#
if [ $AUTOCNF = no ]
then
if param compare MAV_1_CONFIG 0
then
echo "V106 - Defualt configuration TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
# VIO data
param set-default SER_TEL2_BAUD 921600
fi
fi
# User is setting defaults, so let's do it!
if [ $AUTOCNF = yes ]
then
echo "V106 - Auto Configuring TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
# VIO data
param set-default SER_TEL2_BAUD 921600
fi
fi
#
# VOXL-Flight configuration
#
if ver hwtypecmp V110
then
echo "Configuring VOXL-Flight - V110"
#
# TELEM2 port is physically routed in the PCB, thus not configurable.
# The following will detect a fresh install, or if the user has changed the setting and
# revert to the VOXL-Flight defaults. This does allow the user to change the mode and
# baud rates and mode if they choose to do so, although VOXL is expecting what is set below
#
if [ $AUTOCNF = no ]
then
if ! param compare MAV_1_CONFIG 102
then
echo "V110 - Default configuration TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
fi
fi
# User is setting defaults, so let's do it!
if [ $AUTOCNF = yes ]
then
echo "V110 - Auto Configuring TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
fi
fi
# TELEM2
param set-default MAV_1_CONFIG 102
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
safety_button start
+13 -10
View File
@@ -7,6 +7,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
@@ -46,6 +47,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -106,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -115,15 +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
fake_gyro
fake_magnetometer
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
)
-132
View File
@@ -1,132 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR modalai
MODEL fc-v1
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
TEL1:/dev/ttyS6 # UART7 / J5
TEL2:/dev/ttyS4 # UART5 / J1
TEL3:/dev/ttyS1 # USART2 / J4
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
power_monitor/voxlpm
#protocol_splitter
#pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+13 -10
View File
@@ -7,6 +7,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -49,6 +50,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -110,6 +112,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -119,15 +122,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
fake_gyro
fake_magnetometer
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
)
+13 -10
View File
@@ -7,6 +7,7 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -49,6 +50,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -110,6 +112,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -119,15 +122,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
fake_gyro
fake_magnetometer
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
)
@@ -108,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1
View File
@@ -108,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1
View File
@@ -109,6 +109,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+3
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
# IO DEBUG:/dev/ttyS0
@@ -49,6 +50,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -110,6 +112,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
+3
View File
@@ -9,6 +9,7 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
# IO DEBUG:/dev/ttyS0
@@ -50,6 +51,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -111,6 +113,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
+13 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -46,6 +47,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
uavcan
MODULES
@@ -106,6 +108,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -115,15 +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
fake_gyro
fake_magnetometer
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
)
+12 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -46,6 +47,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
uavcan
MODULES
@@ -116,15 +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
fake_gyro
fake_magnetometer
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
)
+12 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -46,6 +47,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
#uavcannode_v1
MODULES
@@ -116,15 +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
fake_gyro
fake_magnetometer
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
)
+12 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -106,6 +107,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -115,15 +117,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
fake_gyro
fake_magnetometer
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
)
+11 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -116,15 +117,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
fake_gyro
fake_magnetometer
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
)
+11 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -116,15 +117,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
fake_gyro
fake_magnetometer
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
)
-131
View File
@@ -1,131 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR nxp
MODEL fmuk66-v3
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS4
TEL2:/dev/ttyS1
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
barometer/mpl3115a2
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
distance_sensor/srf05 # Specific driver
gps
#imu # all available imu drivers
imu/fxas21002c
imu/fxos8701cq
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
#bl_update
#dmesg
dumpfile
esc_calib
#gpio
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+15
View File
@@ -37,6 +37,7 @@ px4_add_board(
rc_input
#telemetry # all available telemetry drivers
telemetry/frsky_telemetry
#test_ppm
MODULES
#airspeed_selector
attitude_estimator_q
@@ -96,6 +97,7 @@ px4_add_board(
sd_bench
#serial_test
#system_time
#tests # tests and test runner
top
#topic_listener
tune_control
@@ -103,4 +105,17 @@ px4_add_board(
usb_connected
ver
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
#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
)
+3
View File
@@ -9,6 +9,7 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
#UAVCAN_INTERFACES 2
CONSTRAINED_FLASH
SERIAL_PORTS
@@ -57,6 +58,7 @@ px4_add_board(
#roboclaw
#rpm
#telemetry # all available telemetry drivers
#test_ppm
tone_alarm
#uavcan
MODULES
@@ -118,6 +120,7 @@ px4_add_board(
#sd_bench
#serial_test
#system_time
#tests # tests and test runner
top
#topic_listener
tune_control
+1
View File
@@ -9,6 +9,7 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
#UAVCAN_INTERFACES 2
CONSTRAINED_FLASH
SERIAL_PORTS
+13 -10
View File
@@ -9,6 +9,7 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -51,6 +52,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,6 +114,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -121,15 +124,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
fake_gyro
fake_magnetometer
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
)
-138
View File
@@ -1,138 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v3
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/l3gd20
imu/lsm303d
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu6000
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
#power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+14 -12
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -49,9 +50,9 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
vesc
MODULES
airspeed_selector
attitude_estimator_q
@@ -90,7 +91,7 @@ px4_add_board(
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
#dmesg
dumpfile
esc_calib
gpio
@@ -111,6 +112,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -120,15 +122,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
fake_gyro
fake_magnetometer
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
)
-2
View File
@@ -98,8 +98,6 @@
#define GPIO_TONE_ALARM_IDLE (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN15)
#define GPIO_TONE_ALARM (GPIO_ALT|GPIO_AF1|GPIO_SPEED_2MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
#define BOARD_ENABLE_CONSOLE_BUFFER
/**
* PWM:
*
-136
View File
@@ -1,136 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v4
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
WIFI:/dev/ttyS0
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/icm20602
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+13 -10
View File
@@ -9,6 +9,7 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -50,6 +51,7 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -110,6 +112,7 @@ px4_add_board(
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -119,15 +122,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
fake_gyro
fake_magnetometer
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
)
-136
View File
@@ -1,136 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v4pro
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL3:/dev/ttyS0
TEL4:/dev/ttyS6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/icm20602
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
#power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+13 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -51,6 +52,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -114,6 +116,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -123,15 +126,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
fake_gyro
fake_magnetometer
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
)
+1 -1
View File
@@ -124,7 +124,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
+13 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -51,6 +52,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,6 +114,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -121,15 +124,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
fake_gyro
fake_magnetometer
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
)
+1
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
-14
View File
@@ -12,7 +12,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
EXTERNAL_METADATA
TESTING
#UAVCAN_INTERFACES 2
SERIAL_PORTS
@@ -127,17 +126,4 @@ px4_add_board(
usb_connected
ver
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
#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
)
+11 -10
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -49,6 +50,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -105,6 +107,7 @@ px4_add_board(
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -114,15 +117,13 @@ 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
)
+1 -2
View File
@@ -122,8 +122,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_gps
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
-138
View File
@@ -1,138 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v5
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi055
imu/invensense/icm20602
imu/invensense/icm20689
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+3 -1
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
UAVCAN_INTERFACES 2
UAVCAN_PERIPHERALS
cuav_can-gps-v1_default
@@ -55,6 +56,7 @@ px4_add_board(
#rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -115,6 +117,7 @@ px4_add_board(
reflect
sd_bench
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -123,7 +126,6 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
+4 -1
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -51,6 +52,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
#uavcan # legacy v0
uavcan_v1
@@ -113,6 +115,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -121,7 +124,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -52,6 +53,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -113,6 +115,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
+3
View File
@@ -8,6 +8,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -52,6 +53,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -113,6 +115,7 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
-139
View File
@@ -1,139 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v5x
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS6
TEL2:/dev/ttyS4
TEL3:/dev/ttyS1
GPS2:/dev/ttyS7
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
netman
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+1
View File
@@ -109,6 +109,7 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+4 -1
View File
@@ -9,6 +9,7 @@ px4_add_board(
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
UAVCAN_TIMER_OVERRIDE 2
ETHERNET
@@ -53,6 +54,7 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -114,7 +116,8 @@ px4_add_board(
sd_bench
serial_test
system_time
# top
# tests # tests and test runner
top
topic_listener
tune_control
uorb
-140
View File
@@ -1,140 +0,0 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v6x
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
UAVCAN_TIMER_OVERRIDE 2
ETHERNET
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS6
TEL2:/dev/ttyS4
TEL3:/dev/ttyS1
GPS2:/dev/ttyS7
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20649
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
netman
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
# tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
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
#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
)
+1 -1
View File
@@ -5,6 +5,7 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL ctrlalloc
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -89,7 +90,6 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+1
View File
@@ -5,6 +5,7 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL default
EMBEDDED_METADATA parameters
TESTING
ETHERNET
DRIVERS
+1 -1
View File
@@ -5,6 +5,7 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL nolockstep
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -87,7 +88,6 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+1 -1
View File
@@ -5,6 +5,7 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL rtps
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -86,7 +87,6 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+1 -1
View File
@@ -5,6 +5,7 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL test
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -86,7 +87,6 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
-2
View File
@@ -87,8 +87,6 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
#hwtest # Hardware test
+6 -4
View File
@@ -39,12 +39,16 @@ px4_add_board(
#pca9685
#power_monitor/ina226
#protocol_splitter
# pwm_input - Need to create arch/stm32 arch/stm32h7 arch/kinetis and reloacate
# all arch dependant code there
pwm_out_sim
pwm_out
#roboclaw
rc_input
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
# uavcan - No H7 or FD can support in UAVCAN yet
MODULES
#airspeed_selector
attitude_estimator_q
@@ -96,6 +100,7 @@ px4_add_board(
reflect
sd_bench
#shutdown
#tests # tests and test runner
top
topic_listener
tune_control
@@ -104,9 +109,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#bottle_drop # OBC challenge
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
@@ -115,5 +118,4 @@ px4_add_board(
#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
)
+11 -8
View File
@@ -57,9 +57,9 @@
# [ SERIAL_PORTS <list> ]
# [ CONSTRAINED_FLASH ]
# [ CONSTRAINED_MEMORY ]
# [ EXTERNAL_METADATA ]
# [ TESTING ]
# [ LINKER_PREFIX <string> ]
# [ EMBEDDED_METADATA <string> ]
# [ ETHERNET ]
# )
#
@@ -80,9 +80,9 @@
# SYSTEMCMDS : list of system commands to build for this board (relative to src/systemcmds)
# EXAMPLES : list of example modules to build for this board (relative to src/examples)
# SERIAL_PORTS : mapping of user configurable serial ports and param facing name
# EMBEDDED_METADATA : list of metadata to embed to ROMFS
# CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text)
# CONSTRAINED_MEMORY : flag to enable constrained memory options (eg limit maximum number of uORB publications)
# EXTERNAL_METADATA : flag to exclude metadata to reduce flash
# TESTING : flag to enable automatic inclusion of PX4 testing modules
# LINKER_PREFIX : optional to prefix on the Linker script.
# ETHERNET : flag to indicate that ethernet is enabled
@@ -156,11 +156,11 @@ function(px4_add_board)
EXAMPLES
SERIAL_PORTS
UAVCAN_PERIPHERALS
EMBEDDED_METADATA
OPTIONS
BUILD_BOOTLOADER
CONSTRAINED_FLASH
CONSTRAINED_MEMORY
EXTERNAL_METADATA
TESTING
ETHERNET
REQUIRED
@@ -207,11 +207,14 @@ function(px4_add_board)
set(romfs_extra_files)
set(config_romfs_extra_dependencies)
# additional embedded metadata
if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test")
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/parameters.json.xz)
list(APPEND romfs_extra_dependencies parameters_xml)
endif()
foreach(metadata ${EMBEDDED_METADATA})
if(${metadata} STREQUAL "parameters")
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/parameters.json.xz)
list(APPEND romfs_extra_dependencies parameters_xml)
else()
message(FATAL_ERROR "invalid value for EMBEDDED_METADATA: ${metadata}")
endif()
endforeach()
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz)
list(APPEND romfs_extra_dependencies component_general_json)
set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE)
+13 -9
View File
@@ -95,17 +95,21 @@ function(px4_add_common_flags)
# compiler specific flags
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang"))
add_compile_options(
-fcolor-diagnostics # force color for clang (needed for clang + ccache)
-fdiagnostics-absolute-paths # force absolute paths
# force color for clang (needed for clang + ccache)
add_compile_options(-fcolor-diagnostics)
# force absolute paths
add_compile_options(-fdiagnostics-absolute-paths)
-Qunused-arguments
# QuRT 6.4.X compiler identifies as Clang but does not support this option
if (NOT "${PX4_PLATFORM}" STREQUAL "qurt")
add_compile_options(
-Qunused-arguments
-Wno-c99-designator
-Wno-unknown-warning-option
-Wno-unused-const-variable
-Wno-varargs
)
-Wno-unknown-warning-option
-Wno-unused-const-variable
-Wno-varargs
)
endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+2 -10
View File
@@ -25,9 +25,9 @@ uint16 manufacture_date # manufacture date, part of serial number of the batter
uint16 state_of_health # state of health. FullChargeCapacity/DesignCapacity.
uint16 max_error # max error, expected margin of error in % in the state-of-charge calculation with a range of 1 to 100%
uint8 id # ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed.
uint16 interface_error # interface error counter
uint16 interface_error # SMBUS interface error counter
float32[14] voltage_cell_v # Battery individual cell voltages
float32[10] voltage_cell_v # Battery individual cell voltages
float32 max_cell_voltage_delta # Max difference between individual cell voltages
bool is_powering_off # Power off event imminent indication, false if unknown
@@ -43,11 +43,3 @@ uint8 warning # current battery warning
uint8 MAX_INSTANCES = 4
float32 average_power # The average power of the current discharge
float32 available_energy # The predicted charge or energy remaining in the battery
float32 remaining_capacity # The compensated battery capacity remaining
float32 design_capacity # The design capacity of the battery
uint16 average_time_to_full # The predicted remaining time until the battery reaches full charge, in minutes
uint16 over_discharge_count # Number of battery overdischarge
float32 nominal_voltage # Nominal voltage of the battery pack
+2 -2
View File
@@ -120,8 +120,8 @@ static void usage(const char *name)
" -i <ip_address> Target IP for UDP. Default 127.0.0.1\n"
" -n <namespace> ROS 2 topics namespace. Identifies the vehicle in a multi-agent network\n"
" -p <poll_ms> Time in ms to poll over UART. Default 1ms\n"
" -r <reception port> UDP port for receiving. Default 2020\n"
" -s <sending port> UDP port for sending. Default 2019\n"
" -r <reception port> UDP port for receiving. Default 2019\n"
" -s <sending port> UDP port for sending. Default 2020\n"
" -t <transport> [UART|UDP] Default UART\n"
" -v <debug verbosity> Add more verbosity\n"
" -w <sleep_time_us> Time in us for which each iteration sleep. Default 1ms\n",
@@ -369,7 +369,7 @@ __EXPORT void board_crashdump(uintptr_t currentsp, FAR void *tcb, FAR const char
pdump->info.flags |= eInvalidUserStackPtr;
}
int rv = px4_savepanic(HARDFAULT_FILENO, (uint8_t *)pdump, sizeof(fullcontext_s));
int rv = stm32_bbsram_savepanic(HARDFAULT_FILENO, (uint8_t *)pdump, sizeof(fullcontext_s));
/* Test if memory got wiped because of using _sdata */
@@ -87,10 +87,6 @@ __BEGIN_DECLS
#define PX4_CPU_UUID_WORD32_FORMAT_SIZE (PX4_CPU_UUID_WORD32_LENGTH-1+(2*PX4_CPU_UUID_BYTE_LENGTH)+1)
#define PX4_CPU_MFGUID_FORMAT_SIZE ((2*PX4_CPU_MFGUID_BYTE_LENGTH)+1)
#define kinetis_bbsram_savepanic(fileno, context, length) (0) // todo:Not implemented yet
#define px4_savepanic(fileno, context, length) kinetis_bbsram_savepanic(fileno, context, length)
/* bus_num is zero based on kinetis and must be translated from the legacy one based */
#define PX4_BUS_OFFSET 1 /* Kinetis buses are 0 based and adjustment is needed */
@@ -82,10 +82,6 @@ __BEGIN_DECLS
#define PX4_CPU_UUID_WORD32_FORMAT_SIZE (PX4_CPU_UUID_WORD32_LENGTH-1+(2*PX4_CPU_UUID_BYTE_LENGTH)+1)
#define PX4_CPU_MFGUID_FORMAT_SIZE ((2*PX4_CPU_MFGUID_BYTE_LENGTH)+1)
#define imxrt_bbsram_savepanic(fileno, context, length) (0) // todo:Not implemented yet
#define px4_savepanic(fileno, context, length) imxrt_bbsram_savepanic(fileno, context, length)
/* bus_num is 1 based on imx and must be translated from the legacy one based */
#define PX4_BUS_OFFSET 0 /* imxrt buses are 1 based no adjustment needed */
@@ -89,10 +89,6 @@ __BEGIN_DECLS
#define PX4_CPU_UUID_WORD32_FORMAT_SIZE (PX4_CPU_UUID_WORD32_LENGTH-1+(2*PX4_CPU_UUID_BYTE_LENGTH)+1)
#define PX4_CPU_MFGUID_FORMAT_SIZE ((2*PX4_CPU_MFGUID_BYTE_LENGTH)+1)
#define s32k1xx_bbsram_savepanic(fileno, context, length) (0) // todo:Not implemented yet
#define px4_savepanic(fileno, context, length) s32k1xx_bbsram_savepanic(fileno, context, length)
/* bus_num is zero based on s32k1xx and must be translated from the legacy one based */
#define PX4_BUS_OFFSET 1 /* s32k1xx buses are 0 based and adjustment is needed */
@@ -88,8 +88,6 @@ __BEGIN_DECLS
#define PX4_CPU_UUID_WORD32_FORMAT_SIZE (PX4_CPU_UUID_WORD32_LENGTH-1+(2*PX4_CPU_UUID_BYTE_LENGTH)+1)
#define PX4_CPU_MFGUID_FORMAT_SIZE ((2*PX4_CPU_MFGUID_BYTE_LENGTH)+1)
#define px4_savepanic(fileno, context, length) stm32_bbsram_savepanic(fileno, context, length)
#define PX4_BUS_OFFSET 0 /* STM buses are 1 based no adjustment needed */
#define px4_spibus_initialize(bus_num_1based) stm32_spibus_initialize(bus_num_1based)
+1
View File
@@ -43,6 +43,7 @@ DShot::DShot() :
_mixing_output.setAllDisarmedValues(DSHOT_DISARM_VALUE);
_mixing_output.setAllMinValues(DSHOT_MIN_THROTTLE);
_mixing_output.setAllMaxValues(DSHOT_MAX_THROTTLE);
}
DShot::~DShot()
+19 -58
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (c) 2012-2021 PX4 Development Team. All rights reserved.
* Copyright (c) 2012-2020 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
@@ -35,6 +35,7 @@
pthread_mutex_t pwm_out_module_mutex = PTHREAD_MUTEX_INITIALIZER;
static px4::atomic<PWMOut *> _objects[PWM_OUT_MAX_INSTANCES] {};
static bool _pwm_out_started = false;
static bool is_running()
{
@@ -474,9 +475,7 @@ void PWMOut::update_current_rate()
// max interval 0.5 - 100 ms (10 - 2000Hz)
const int update_interval_in_us = math::constrain(1000000 / max_rate, 500, 100000);
if (_current_update_rate != max_rate) {
PX4_INFO("instance: %d, max rate: %d, default: %d, alt: %d", _instance, max_rate, _pwm_default_rate, _pwm_alt_rate);
}
PX4_INFO("instance: %d, MAX RATE: %d, default: %d, alt: %d", _instance, max_rate, _pwm_default_rate, _pwm_alt_rate);
_current_update_rate = max_rate;
_mixing_output.setMaxTopicUpdateRate(update_interval_in_us);
@@ -512,6 +511,8 @@ int PWMOut::task_spawn(int argc, char *argv[])
}
}
_pwm_out_started = true;
return PX4_OK;
}
@@ -531,43 +532,12 @@ void PWMOut::capture_callback(uint32_t chan_index,
void PWMOut::update_pwm_out_state(bool on)
{
if (on && !_pwm_initialized && _pwm_mask != 0) {
// Collect all PWM masks from all instances
uint32_t pwm_mask_new = 0;
// Collect the PWM alt rate channels across all instances
uint32_t pwm_alt_rate_channels_new = 0;
// Collect the minimum default rate
unsigned default_rate_min = 0;
// Collect the maximum alternative rate (400 Hz or DSHOT outputs)
unsigned alt_rate_max = 0;
for (int i = 0; i < PWM_OUT_MAX_INSTANCES; i++) {
if (_objects[i].load()) {
pwm_mask_new |= _objects[i].load()->get_pwm_mask();
pwm_alt_rate_channels_new |= _objects[i].load()->get_alt_rate_channels();
if (_objects[i].load()->get_alt_rate() > alt_rate_max) {
alt_rate_max = _objects[i].load()->get_alt_rate();
}
if (_objects[i].load()->get_default_rate() < default_rate_min) {
default_rate_min = _objects[i].load()->get_default_rate();
}
}
}
// Initialize the PWM output state for all instances
// this is re-done once per instance, but harmless
up_pwm_servo_init(pwm_mask_new);
// Set rate is not affecting non-masked channels, so can be called
// individually
set_pwm_rate(pwm_alt_rate_channels_new, default_rate_min, alt_rate_max);
up_pwm_servo_init(_pwm_mask);
set_pwm_rate(_pwm_alt_rate_channels, _pwm_default_rate, _pwm_alt_rate);
_pwm_initialized = true;
}
up_pwm_servo_arm(on);
up_pwm_servo_arm(on); // TODO REVIEW for multi
}
bool PWMOut::updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS],
@@ -610,9 +580,9 @@ void PWMOut::Run()
// push backup schedule
ScheduleDelayed(_backup_schedule_interval_us);
if (_new_mode_request.load() != MODE_NO_REQUEST) {
if (_new_mode_request.load() != _mode) {
set_mode(_new_mode_request.load());
_new_mode_request.store(MODE_NO_REQUEST);
_new_mode_request.store(_mode);
}
_mixing_output.update();
@@ -649,6 +619,11 @@ void PWMOut::update_params()
{
updateParams();
// skip update when armed
if (_mixing_output.armed().armed) {
return;
}
int32_t pwm_min_default = PWM_DEFAULT_MIN;
int32_t pwm_max_default = PWM_DEFAULT_MAX;
int32_t pwm_disarmed_default = 0;
@@ -1787,22 +1762,6 @@ int PWMOut::fmu_new_mode(PortMode new_mode)
return OK;
}
void PWMOut::request_mode(Mode new_mode)
{
if (_new_mode_request.load() != MODE_NO_REQUEST) {
PX4_ERR("already being set"); // not expected to happen
return;
}
_new_mode_request.store(new_mode);
ScheduleNow();
// wait until processed
int max_time = 1000;
while (_new_mode_request.load() != MODE_NO_REQUEST && max_time-- > 0) {
px4_usleep(1000);
}
}
namespace
{
@@ -2055,7 +2014,7 @@ int PWMOut::custom_command(int argc, char *argv[])
/* start pwm_out if not running */
if (!is_running()) {
if (!_pwm_out_started) {
int ret = PWMOut::task_spawn(argc, argv);
@@ -2317,7 +2276,7 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
if (strcmp(argv[1], "start") == 0) {
if (is_running()) {
if (_pwm_out_started) {
return 0;
}
@@ -2402,6 +2361,8 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
}
}
_pwm_out_started = false;
PWMOut::unlock_module();
return PX4_OK;
}
+3 -9
View File
@@ -118,8 +118,6 @@ public:
MODE_4CAP,
MODE_5CAP,
MODE_6CAP,
MODE_NO_REQUEST
};
PWMOut() = delete;
@@ -159,11 +157,7 @@ public:
int set_mode(Mode mode);
Mode get_mode() { return _mode; }
uint32_t get_pwm_mask() { return _pwm_mask; }
uint32_t get_alt_rate_channels() { return _pwm_alt_rate_channels; }
unsigned get_alt_rate() { return _pwm_alt_rate; }
unsigned get_default_rate() { return _pwm_default_rate; }
void request_mode(Mode new_mode);
void request_mode(Mode new_mode) { _new_mode_request.store(new_mode); }
static int set_i2c_bus_clock(unsigned bus, unsigned clock_hz);
@@ -187,7 +181,7 @@ private:
Mode _mode{MODE_NONE};
px4::atomic<Mode> _new_mode_request{MODE_NO_REQUEST};
px4::atomic<Mode> _new_mode_request{MODE_NONE};
uint32_t _backup_schedule_interval_us{1_s};
@@ -195,7 +189,7 @@ private:
unsigned _pwm_alt_rate{50};
uint32_t _pwm_alt_rate_channels{0};
int _current_update_rate{0};
unsigned _current_update_rate{0};
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};
-2
View File
@@ -99,7 +99,6 @@ set(DSDLC_INPUTS
"${DSDLC_DIR}/com"
"${DSDLC_DIR}/ardupilot"
"${LIBUAVCAN_DIR}/dsdl/uavcan"
"${DSDLC_DIR}/cuav"
)
set(DSDLC_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/dsdlc_generated")
@@ -154,7 +153,6 @@ px4_add_module(
sensors/rangefinder.cpp
sensors/accel.cpp
sensors/gyro.cpp
sensors/cbat.cpp
DEPENDS
px4_uavcan_dsdlc
@@ -1,41 +0,0 @@
#
# support for CUAV Smart Battery on UAVCAN
#
float32 temperature # The surface temperature of the battery
float32 voltage # The total voltage of the battery
float32[<=15] voltage_cell # Battery individual cell voltages
uint8 cell_count # Number of cells
float32 current # The current flowing through the sense resistor
float32 average_current # The average current flowing through the sense resistor
float32 average_power # The average power of the current discharge
float32 available_energy # The predicted charge or energy remaining in the battery
float32 remaining_capacity # The compensated battery capacity remaining
float32 full_charge_capacity # The compensated capacity of the battery when fully charged
float32 design_capacity # The design capacity of the battery
uint16 average_time_to_empty # The predicted remaining battery life at the present rate of discharge, in minutes
uint16 average_time_to_full # The predicted remaining time until the battery reaches full charge, in minutes
uint7 state_of_health # Health of the battery
uint7 state_of_charge # Percent of the full charge [0, 100]
uint7 max_error # max error, expected margin of error in % in the state-of-charge calculation with a range of 1 to 100%
uint16 serial_number # serial number of the battery pack
uint16 manufacture_date # manufacture date, part of serial number of the battery pack
uint16 cycle_count # number of discharge cycles the battery has experienced
uint16 over_discharge_count # Number of battery overdischarge
float32 passed_charge # The amount of charge passing through the sense resistor
float32 nominal_voltage # Nominal voltage of the battery pack
bool is_powering_off # Power off event imminent indication, false if unknown
uint16 interface_error # interface error counter
uint11 STATUS_FLAG_IN_USE = 1 # The battery is currently used as a power supply
uint11 STATUS_FLAG_CHARGING = 2 # Charger is active
uint11 STATUS_FLAG_CHARGED = 4 # Charging complete, but the charger is still active
uint11 STATUS_FLAG_TEMP_HOT = 8 # Battery temperature is above normal
uint11 STATUS_FLAG_TEMP_COLD = 16 # Battery temperature is below normal
uint11 STATUS_FLAG_OVERLOAD = 32 # Safe operating area violation
uint11 STATUS_FLAG_BAD_BATTERY = 64 # This battery should not be used anymore (e.g. low SOH)
uint11 STATUS_FLAG_NEED_SERVICE = 128 # This battery requires maintenance (e.g. balancing, full recharge)
uint11 STATUS_FLAG_BMS_ERROR = 256 # Battery management system/controller error, smart battery interface error
uint11 STATUS_FLAG_RESERVED_A = 512 # Keep zero
uint11 STATUS_FLAG_RESERVED_B = 1024 # Keep zero
uint11 status_flags
-139
View File
@@ -1,139 +0,0 @@
/****************************************************************************
*
* Copyright (c) 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
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#include "cbat.hpp"
#include <lib/ecl/geo/geo.h>
#include <px4_defines.h>
const char *const UavcanCBATBridge::NAME = "cbat";
UavcanCBATBridge::UavcanCBATBridge(uavcan::INode &node) :
UavcanSensorBridgeBase("uavcan_cbat", ORB_ID(battery_status)),
ModuleParams(nullptr),
_sub_battery(node),
_warning(battery_status_s::BATTERY_WARNING_NONE)
{
}
int UavcanCBATBridge::init()
{
int res = _sub_battery.start(CBATCbBinder(this, &UavcanCBATBridge::battery_sub_cb));
if (res < 0) {
PX4_ERR("failed to start uavcan sub: %d", res);
return res;
}
return 0;
}
void
UavcanCBATBridge::battery_sub_cb(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &msg)
{
battery_status_s battery{};
battery.timestamp = hrt_absolute_time();
battery.voltage_v = msg.voltage;
battery.voltage_filtered_v = battery.voltage_v;
battery.current_a = msg.current;
battery.current_filtered_a = battery.current_a;
battery.average_current_a = msg.average_current;
battery.discharged_mah = msg.passed_charge * 1000;
battery.remaining = msg.state_of_charge / 100.0f;
// battery.scale = msg.; // Power scaling factor, >= 1, or -1 if unknown
battery.temperature = msg.temperature + CONSTANTS_ABSOLUTE_NULL_CELSIUS;
battery.cell_count = msg.cell_count;
battery.connected = true;
battery.source = msg.status_flags & cuav::equipment::power::CBAT::STATUS_FLAG_IN_USE; // BATTERY_SOURCE_EXTERNAL
// battery.priority = msg.;
battery.capacity = msg.full_charge_capacity * 1000;
battery.cycle_count = msg.cycle_count;
battery.run_time_to_empty = msg.average_time_to_empty;
battery.average_time_to_empty = msg.average_time_to_empty;
battery.serial_number = msg.serial_number;
battery.manufacture_date = msg.manufacture_date;
battery.state_of_health = msg.state_of_health;
battery.max_error = msg.max_error;
battery.id = msg.getSrcNodeID().get();
battery.interface_error = msg.interface_error;
for (uint8_t i = 0; i < msg.cell_count; i++) {
battery.voltage_cell_v[i] = msg.voltage_cell[i];
}
//Calculate max cell delta
float min_cell_voltage = msg.voltage_cell[0];
float max_cell_voltage = msg.voltage_cell[0];
for (uint8_t i = 1; i < msg.cell_count; i++) {
min_cell_voltage = math::min(min_cell_voltage, msg.voltage_cell[i]);
max_cell_voltage = math::max(max_cell_voltage, msg.voltage_cell[i]);
}
// Calculate the max difference between the min and max cells with complementary filter.
battery.max_cell_voltage_delta = (0.5f * (max_cell_voltage - min_cell_voltage)) +
(0.5f * _max_cell_voltage_delta);
_max_cell_voltage_delta = battery.max_cell_voltage_delta;
battery.is_powering_off = msg.is_powering_off;
determineWarning(battery.remaining);
battery.warning = _warning;
// Expand the information
battery.average_power = msg.average_power;
battery.available_energy = msg.available_energy;
battery.remaining_capacity = msg.remaining_capacity;
battery.design_capacity = msg.design_capacity;
battery.average_time_to_full = msg.average_time_to_full;
battery.over_discharge_count = msg.over_discharge_count;
battery.nominal_voltage = msg.nominal_voltage;
publish(msg.getSrcNodeID().get(), &battery);
}
void
UavcanCBATBridge::determineWarning(float remaining)
{
// propagate warning state only if the state is higher, otherwise remain in current warning state
if (remaining < _param_bat_emergen_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_EMERGENCY)) {
_warning = battery_status_s::BATTERY_WARNING_EMERGENCY;
} else if (remaining < _param_bat_crit_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_CRITICAL)) {
_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
} else if (remaining < _param_bat_low_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_LOW)) {
_warning = battery_status_s::BATTERY_WARNING_LOW;
}
}
-78
View File
@@ -1,78 +0,0 @@
/****************************************************************************
*
* Copyright (c) 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
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
/**
* @author Mengxiao Li <mengxiao@cuav.net>
*/
#pragma once
#include "sensor_bridge.hpp"
#include <uORB/topics/battery_status.h>
#include <cuav/equipment/power/CBAT.hpp>
#include <drivers/drv_hrt.h>
#include <px4_platform_common/module_params.h>
#include <mathlib/mathlib.h>
class UavcanCBATBridge : public UavcanSensorBridgeBase, public ModuleParams
{
public:
static const char *const NAME;
UavcanCBATBridge(uavcan::INode &node);
const char *get_name() const override { return NAME; }
int init() override;
private:
void battery_sub_cb(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &msg);
void determineWarning(float remaining);
typedef uavcan::MethodBinder < UavcanCBATBridge *,
void (UavcanCBATBridge::*)
(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &) >
CBATCbBinder;
uavcan::Subscriber<cuav::equipment::power::CBAT, CBATCbBinder> _sub_battery;
DEFINE_PARAMETERS(
(ParamFloat<px4::params::BAT_LOW_THR>) _param_bat_low_thr,
(ParamFloat<px4::params::BAT_CRIT_THR>) _param_bat_crit_thr,
(ParamFloat<px4::params::BAT_EMERGEN_THR>) _param_bat_emergen_thr
)
uint8_t _warning;
float _max_cell_voltage_delta = 0.f;
};
+1 -13
View File
@@ -48,7 +48,6 @@
#include "rangefinder.hpp"
#include "accel.hpp"
#include "gyro.hpp"
#include "cbat.hpp"
/*
* IUavcanSensorBridge
@@ -59,18 +58,7 @@ void IUavcanSensorBridge::make_all(uavcan::INode &node, List<IUavcanSensorBridge
list.add(new UavcanMagnetometerBridge(node));
list.add(new UavcanGnssBridge(node));
list.add(new UavcanFlowBridge(node));
int32_t bat_monitor;
param_t _param_bat_monitor = param_find("UAVCAN_BAT_MON");
param_get(_param_bat_monitor, &bat_monitor);
if (bat_monitor == 0) {
list.add(new UavcanBatteryBridge(node));
} else if (bat_monitor == 1) {
list.add(new UavcanCBATBridge(node));
}
list.add(new UavcanBatteryBridge(node));
list.add(new UavcanAirspeedBridge(node));
list.add(new UavcanDifferentialPressureBridge(node));
list.add(new UavcanRangefinderBridge(node));
-17
View File
@@ -193,20 +193,3 @@ PARAM_DEFINE_INT32(UAVCAN_LGT_NAV, 3);
* @group UAVCAN
*/
PARAM_DEFINE_INT32(UAVCAN_LGT_LAND, 0);
/**
* UAVCAN BATTERY_MONITOR battery monitor selection
*
* This parameter defines that the system will select the battery monitor under the following conditions
*
* 0 - default battery monitor
* 1 - CUAV battery monitor
*
* @min 0
* @max 1
* @value 0 default battery monitor
* @value 1 CUAV battery monitor
* @reboot_required true
* @group UAVCAN
*/
PARAM_DEFINE_INT32(UAVCAN_BAT_MON, 0);
-46
View File
@@ -1,46 +0,0 @@
############################################################################
#
# Copyright (c) 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
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_module(
MODULE drivers__vesc
MAIN vesc
SRCS
vesc_main.cpp
VescSerialDevice.hpp
VescSerialDevice.cpp
VescDriver/VescDriver.hpp
VescDriver/VescDriver.cpp
VescDriver/VescProtocol.h
MODULE_CONFIG
module.yaml
DEPENDS
)
-285
View File
@@ -1,285 +0,0 @@
/****************************************************************************
*
* Copyright (c) 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
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
/**
* @file VescDriverUart.cpp
* @author Matthias Grob <maetugr@gmail.com>
*/
#include "VescDriver.hpp"
#include <memory.h>
void VescDriver::commandDutyCycle(float duty_cycle, const uint8_t forward_can_id)
{
uint8_t command[5] {VescCommand::SET_DUTY};
uint16_t index{1};
insertInt32(command, index, static_cast<int32_t>(duty_cycle * 100000.f));
sendPayload(command, 5, forward_can_id);
}
void VescDriver::commandCurrent(float current, const uint8_t forward_can_id)
{
uint8_t command[5] {VescCommand::SET_CURRENT};
uint16_t index{1};
insertInt32(command, index, static_cast<int32_t>(current * 1000.f));
sendPayload(command, 5, forward_can_id);
}
void VescDriver::commandBrakeCurrent(float current, const uint8_t forward_can_id)
{
uint8_t command[5] {VescCommand::SET_CURRENT_BRAKE};
uint16_t index{1};
insertInt32(command, index, static_cast<int32_t>(current * 1000.f));
sendPayload(command, 5, forward_can_id);
}
void VescDriver::requestFirmwareVersion()
{
uint8_t command{VescCommand::FW_VERSION};
sendPayload(&command, 1);
}
void VescDriver::requestValues()
{
uint8_t command{VescCommand::GET_VALUES};
sendPayload(&command, 1);
}
size_t VescDriver::sendPayload(const uint8_t *payload, const uint16_t payload_length, const uint8_t forward_can_id)
{
if (forward_can_id == 0) {
return sendPacket(payload, payload_length);
} else {
uint8_t command[2 + payload_length] {VescCommand::FORWARD_CAN, forward_can_id};
uint16_t index{2};
memcpy(&command[index], payload, payload_length);
index += payload_length;
return sendPacket(command, 2 + payload_length);
}
}
size_t VescDriver::sendPacket(const uint8_t *payload, uint16_t payload_length, const uint8_t can_forwarding_id)
{
if (payload_length == 0 || payload_length > MAXIMUM_PAYLOAD_LENGTH) {
return 0;
}
uint8_t packet_buffer[payload_length + PACKET_OVERHEAD_LENGTH];
uint16_t index{0};
// Start byte and payload size
if (payload_length <= 256) {
packet_buffer[index++] = 2;
packet_buffer[index++] = payload_length;
} else {
packet_buffer[index++] = 3;
packet_buffer[index++] = static_cast<uint8_t>(payload_length >> 8);
packet_buffer[index++] = static_cast<uint8_t>(payload_length & 0xFF);
}
// Payload
memcpy(&packet_buffer[index], payload, payload_length);
index += payload_length;
// CRC
const uint16_t crc = crc16(payload, payload_length);
packet_buffer[index++] = static_cast<uint8_t>(crc >> 8);
packet_buffer[index++] = static_cast<uint8_t>(crc & 0xFF);
// Stop byte
packet_buffer[index++] = 3;
// Write bytes out through callback interface
return _vesc_writable.writeCallback(packet_buffer, index);
}
void VescDriver::parseInputByte(uint8_t byte)
{
if (_input_byte_index == 0) {
// Start byte
if (byte == 2 /*|| byte == 3*/) {
_input_start_byte = byte;
_input_byte_index++;
}
} else if (_input_byte_index == 1) {
// Payload size
_input_byte_index++;
if (_input_start_byte == 2) {
// Short packet
_input_payload_length = byte;
if (_input_payload_length < 1) {
_input_byte_index = 0;
}
} else {
// Long packet high byte
_input_payload_length = byte << 8;
}
} else if (_input_byte_index == 2 && _input_start_byte == 3) {
// Payload size long packet low byte
_input_payload_length |= byte;
_input_byte_index++;
if (_input_payload_length < 255 || _input_payload_length > MAXIMUM_PAYLOAD_LENGTH) {
_input_byte_index = 0;
}
} else if (_input_byte_index < _input_start_byte + _input_payload_length) {
// Payload
_input_payload[_input_byte_index - _input_start_byte] = byte;
_input_byte_index++;
} else if (_input_byte_index == _input_start_byte + _input_payload_length) {
// CRC high byte
_input_payload_crc = byte << 8;
_input_byte_index++;
} else if (_input_byte_index == _input_start_byte + _input_payload_length + 1u) {
// CRC low byte
_input_payload_crc |= byte;
_input_byte_index++;
if (_input_payload_crc != crc16(_input_payload, _input_payload_length)) {
_input_byte_index = 0;
}
} else if (_input_byte_index == _input_start_byte + _input_payload_length + 2u) {
// Stop byte
_input_byte_index = 0;
if (byte == 3) {
parsePayload(_input_payload, _input_payload_length);
}
}
}
void VescDriver::parsePayload(const uint8_t *payload, const uint16_t payload_length)
{
uint16_t index{1};
switch (payload[0]) {
case VescCommand::FW_VERSION:
if (payload_length >= 9u) {
_vesc_version.version_major = payload[index++];
_vesc_version.version_minor = payload[index++];
// strcpy(_vesc_version.hardware_name, reinterpret_cast<const char *>(&payload[index]));
// index += strlen(_vesc_version.hardware_name) + 1u;
// memcpy(_vesc_version.stm32_uuid_8, &payload[index], sizeof(_vesc_version.stm32_uuid_8));
// index += 12;
// _vesc_version.pairing_done = payload[index++];
// _vesc_version.test_version_number = payload[index++];
// _vesc_version.hardware_type = payload[index++];
// _vesc_version.custom_configuration = payload[index++];
}
break;
case VescCommand::GET_VALUES:
if (payload_length >= 73u) {
_vesc_values.fet_temperature = extractFloat16(payload, index) / 10.f;
_vesc_values.motor_temperature = extractFloat16(payload, index) / 10.f;
_vesc_values.motor_current = extractFloat32(payload, index) / 100.f;
_vesc_values.input_current = extractFloat32(payload, index) / 100.f;
_vesc_values.reset_average_id = extractFloat32(payload, index) / 100.f;
_vesc_values.reset_average_iq = extractFloat32(payload, index) / 100.f;
_vesc_values.duty_cycle = extractFloat16(payload, index) / 1000.f;
_vesc_values.rpm = extractInt32(payload, index);
_vesc_values.input_voltage = extractFloat16(payload, index) / 10.f;
_vesc_values.used_charge_Ah = extractFloat32(payload, index) / 1e4f;
_vesc_values.charged_charge_Ah = extractFloat32(payload, index) / 1e4f;
_vesc_values.used_energy_Wh = extractFloat32(payload, index) / 1e4f;
_vesc_values.charged_energy_wh = extractFloat32(payload, index) / 10.f;
_vesc_values.tachometer = extractInt32(payload, index);
_vesc_values.tachometer_absolute = extractInt32(payload, index);
_vesc_values.fault = payload[index++];
_vesc_values.position_pid = extractFloat32(payload, index) / 1e6f;
_vesc_values.controller_id = payload[index++];
_vesc_values.ntc_temperature_mos1 = extractFloat16(payload, index) / 10.f;
_vesc_values.ntc_temperature_mos2 = extractFloat16(payload, index) / 10.f;
_vesc_values.ntc_temperature_mos3 = extractFloat16(payload, index) / 10.f;
_vesc_values.read_reset_average_vd = extractFloat32(payload, index) / 1000.f;
_vesc_values.read_reset_average_vq = extractFloat32(payload, index) / 1000.f;
}
break;
}
}
uint16_t VescDriver::crc16(const uint8_t *buffer, const uint16_t length)
{
uint16_t checksum{0};
for (size_t i = 0; i < length; i++) {
uint8_t table_index = (((checksum >> 8) ^ buffer[i]) & 0xFF);
checksum = CRC_TABLE[table_index] ^ (checksum << 8);
}
return checksum;
}
void VescDriver::insertInt32(uint8_t *buffer, uint16_t &index, int32_t value)
{
buffer[index++] = value >> 24;
buffer[index++] = value >> 16;
buffer[index++] = value >> 8;
buffer[index++] = value;
}
int16_t VescDriver::extractInt16(const uint8_t *buffer, uint16_t &index)
{
index += 2;
return static_cast<int16_t>(buffer[index - 2] << 8 | buffer[index - 1]);
}
float VescDriver::extractFloat16(const uint8_t *buffer, uint16_t &index)
{
return static_cast<float>(extractInt16(buffer, index));
}
int32_t VescDriver::extractInt32(const uint8_t *buffer, uint16_t &index)
{
index += 4;
return static_cast<int32_t>(
buffer[index - 4] << 24 | buffer[index - 3] << 16 | buffer[index - 2] << 8 | buffer[index - 1]);
}
float VescDriver::extractFloat32(const uint8_t *buffer, uint16_t &index)
{
return static_cast<float>(extractInt32(buffer, index));
}

Some files were not shown because too many files have changed in this diff Show More