mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-30 00:10:05 +08:00
Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d1fbc2540c | |||
| 4a80c872ea | |||
| 3b72f3b641 | |||
| 3dad16bc40 | |||
| 42108eb4af | |||
| 76e15b4a21 | |||
| 2492fb35e4 | |||
| 96c7fe4978 | |||
| 5c4582ccce | |||
| bd4839e855 | |||
| 2219e096d7 | |||
| 592dc65bae | |||
| b99e597a73 | |||
| 58b40fbbb9 | |||
| 047fb13922 | |||
| 7053919a9f | |||
| 2d15c96b9b | |||
| 6a4c589c62 | |||
| bf09089a26 | |||
| 6bc11596fe | |||
| aa22407d87 | |||
| a07bccc046 | |||
| f44f497e3f | |||
| edc445a1b2 | |||
| b9e0a16594 | |||
| 991c07eef9 | |||
| 3a004ffd68 | |||
| 5f6b8fcb9f | |||
| f0f16b9cc5 | |||
| faaee0f077 | |||
| 18f17dcb96 | |||
| 381c97d3c6 | |||
| 8acdb8ca3f | |||
| 45b9e18195 | |||
| 96d0755afd |
@@ -45,17 +45,12 @@ 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",
|
||||
@@ -81,7 +76,6 @@ 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",
|
||||
@@ -100,7 +94,6 @@ 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",
|
||||
|
||||
+42
-94
@@ -7,9 +7,9 @@ pipeline {
|
||||
|
||||
parallel {
|
||||
|
||||
stage("cubepilot_cubeorange_console") {
|
||||
stage("cubepilot_cubeorange_test") {
|
||||
stages {
|
||||
stage("build cubepilot_cubeorange_console") {
|
||||
stage("build cubepilot_cubeorange_test") {
|
||||
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_console'
|
||||
sh 'make cubepilot_cubeorange_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_console'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -42,9 +42,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'cubepilot_cubeorange_console'
|
||||
unstash 'cubepilot_cubeorange_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -160,61 +160,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
// 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") {
|
||||
stage("px4_fmu-v3_test") {
|
||||
stages {
|
||||
stage("build px4_fmu-v3_default") {
|
||||
stage("build px4_fmu-v3_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -227,10 +175,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make px4_fmu-v3_default'
|
||||
sh 'make px4_fmu-v3_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -247,9 +195,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'px4_fmu-v3_default'
|
||||
unstash 'px4_fmu-v3_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -288,9 +236,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage("px4_fmu-v4_default") {
|
||||
stage("px4_fmu-v4_test") {
|
||||
stages {
|
||||
stage("build px4_fmu-v4_default") {
|
||||
stage("build px4_fmu-v4_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -303,10 +251,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make px4_fmu-v4_default'
|
||||
sh 'make px4_fmu-v4_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -323,9 +271,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'px4_fmu-v4_default'
|
||||
unstash 'px4_fmu-v4_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -364,9 +312,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage("px4_fmu-v4pro_default") {
|
||||
stage("px4_fmu-v4pro_test") {
|
||||
stages {
|
||||
stage("build px4_fmu-v4pro_default") {
|
||||
stage("build px4_fmu-v4pro_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -379,10 +327,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make px4_fmu-v4pro_default'
|
||||
sh 'make px4_fmu-v4pro_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -399,9 +347,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'px4_fmu-v4pro_default'
|
||||
unstash 'px4_fmu-v4pro_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -440,9 +388,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage("px4_fmu-v5_default") {
|
||||
stage("px4_fmu-v5_test") {
|
||||
stages {
|
||||
stage("build px4_fmu-v5_default") {
|
||||
stage("build px4_fmu-v5_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -455,10 +403,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make px4_fmu-v5_default'
|
||||
sh 'make px4_fmu-v5_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -475,9 +423,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'px4_fmu-v5_default'
|
||||
unstash 'px4_fmu-v5_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -752,9 +700,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage("modalai_fc-v1_default") {
|
||||
stage("modalai_fc-v1_test") {
|
||||
stages {
|
||||
stage("build modalai_fc-v1_default") {
|
||||
stage("build modalai_fc-v1_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -767,10 +715,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make modalai_fc-v1_default'
|
||||
sh 'make modalai_fc-v1_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -787,9 +735,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'modalai_fc-v1_default'
|
||||
unstash 'modalai_fc-v1_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
@@ -905,9 +853,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage("nxp_fmuk66-v3_default") {
|
||||
stage("nxp_fmuk66-v3_test") {
|
||||
stages {
|
||||
stage("build nxp_fmuk66-v3_default") {
|
||||
stage("build nxp_fmuk66-v3_test") {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
|
||||
@@ -920,10 +868,10 @@ pipeline {
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make nxp_fmuk66-v3_default'
|
||||
sh 'make nxp_fmuk66-v3_test'
|
||||
sh 'make sizes'
|
||||
sh 'ccache -s'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_default'
|
||||
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_test'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
@@ -940,9 +888,9 @@ pipeline {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'find /dev/serial'
|
||||
unstash 'nxp_fmuk66-v3_default'
|
||||
unstash 'nxp_fmuk66-v3_test'
|
||||
// flash board and watch bootup
|
||||
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'
|
||||
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'
|
||||
}
|
||||
}
|
||||
stage("configure") {
|
||||
|
||||
@@ -26,19 +26,16 @@ 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_cubeyellow_console,
|
||||
cubepilot_cubeorange_test,
|
||||
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,
|
||||
@@ -64,7 +61,6 @@ 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,
|
||||
@@ -83,7 +79,6 @@ 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
@@ -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
|
||||
url = https://github.com/UAVCAN/public_regulated_data_types.git
|
||||
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
|
||||
path = src/drivers/uavcannode_gps_demo/libcanard
|
||||
url = https://github.com/UAVCAN/libcanard
|
||||
url = https://github.com/UAVCAN/libcanard.git
|
||||
|
||||
Vendored
+2
-2
@@ -96,11 +96,11 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cuav_x7pro_default
|
||||
cubepilot_cubeorange_console:
|
||||
cubepilot_cubeorange_test:
|
||||
short: cubepilot_cubeorange
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cubepilot_orange_console
|
||||
CONFIG: cubepilot_orange_test
|
||||
emlid_navio2_default:
|
||||
short: emlid_navio2
|
||||
buildType: MinSizeRel
|
||||
|
||||
@@ -111,5 +111,6 @@ 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
|
||||
|
||||
Executable
+122
@@ -0,0 +1,122 @@
|
||||
#!/bin/bash
|
||||
# Run HITL simulation with PX4
|
||||
|
||||
function cleanup() {
|
||||
pkill -x px4
|
||||
pkill gzclient
|
||||
pkill gzserver
|
||||
}
|
||||
|
||||
if [ "$1" == "-h" ] || [ "$1" == "--help" ]
|
||||
then
|
||||
echo "Usage: $0 [-s <simulation>] [-m <vehicle_model>] [-w <world>] [-d <device>] [-b <baudrate>]"
|
||||
echo " This script allows you to run HITL simulation with PX4"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while getopts m:w:s:d:b:t:l: option
|
||||
do
|
||||
case "${option}"
|
||||
in
|
||||
m) VEHICLE_MODEL=${OPTARG};;
|
||||
w) WORLD=${OPTARG};;
|
||||
s) SIMULATION=${OPTARG};;
|
||||
d) DEVICE=${OPTARG};;
|
||||
b) BAUDRATE=${OPTARG};;
|
||||
l) LABEL=_${OPTARG};;
|
||||
esac
|
||||
done
|
||||
|
||||
world=${WORLD:=empty}
|
||||
target=${TARGET:=px4_sitl_default}
|
||||
model=${VEHICLE_MODEL:="iris"}
|
||||
simulation=${SIMULATION:="gazebo"}
|
||||
device=${DEVICE:="/dev/ttyACM0"}
|
||||
baudrate=${BAUDRATE:="921600"}
|
||||
export PX4_SIM_MODEL=${model}${LABEL}
|
||||
|
||||
echo SIMULATION: ${simulation}
|
||||
echo MODEL: ${PX4_SIM_MODEL}
|
||||
|
||||
echo ${SCRIPT}
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
src_path="$SCRIPT_DIR/.."
|
||||
|
||||
sleep 1
|
||||
|
||||
SIM_PID=0
|
||||
|
||||
if [ "$simulation" == "jmavsim" ] && [ ! -n "$no_sim" ]; then
|
||||
# Start Java simulator
|
||||
"$src_path"/Tools/jmavsim_run.sh -q -s -d ${device} -b ${baudrate} -r 250 &
|
||||
SIM_PID=$!
|
||||
elif [ "$simulation" == "gazebo" ] && [ ! -n "$no_sim" ]; then
|
||||
if [ -x "$(command -v gazebo)" ]; then
|
||||
# Set the plugin path so Gazebo finds our model and sim
|
||||
source "$src_path/Tools/setup_gazebo.bash" "${src_path}" "${build_path}"
|
||||
output_sdf=/tmp/${model}_hitl.sdf
|
||||
python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${model}/${model}.sdf.jinja ${src_path}/Tools/sitl_gazebo --serial_enabled 1 --hil_mode 1 --serial_device ${device} --serial_baudrate ${baudrate} --mavlink_id 1 --output-file ${output_sdf}
|
||||
|
||||
if [ -z $PX4_SITL_WORLD ]; then
|
||||
#Spawn predefined world
|
||||
if [ "$world" == "none" ]; then
|
||||
if [ -f ${src_path}/Tools/sitl_gazebo/worlds/${model}.world ]; then
|
||||
echo "empty world, default world ${model}.world for model found"
|
||||
world_path="${src_path}/Tools/sitl_gazebo/worlds/${model}.world"
|
||||
else
|
||||
echo "empty world, setting empty.world as default"
|
||||
world_path="${src_path}/Tools/sitl_gazebo/worlds/empty.world"
|
||||
fi
|
||||
else
|
||||
#Spawn empty world if world with model name doesn't exist
|
||||
world_path="${src_path}/Tools/sitl_gazebo/worlds/${world}.world"
|
||||
fi
|
||||
else
|
||||
if [ -f ${src_path}/Tools/sitl_gazebo/worlds/${PX4_SITL_WORLD}.world ]; then
|
||||
# Spawn world by name if exists in the worlds directory from environment variable
|
||||
world_path="${src_path}/Tools/sitl_gazebo/worlds/${PX4_SITL_WORLD}.world"
|
||||
else
|
||||
# Spawn world from environment variable with absolute path
|
||||
world_path="$PX4_SITL_WORLD"
|
||||
fi
|
||||
fi
|
||||
gzserver $verbose $world_path &
|
||||
SIM_PID=$!
|
||||
|
||||
while gz model --verbose --spawn-file="${output_sdf}" --model-name=${model} -x 1.01 -y 0.98 -z 0.83 2>&1 | grep -q "An instance of Gazebo is not running."; do
|
||||
echo "gzserver not ready yet, trying again!"
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [[ -n "$HEADLESS" ]]; then
|
||||
echo "not running gazebo gui"
|
||||
else
|
||||
# gzserver needs to be running to avoid a race. Since the launch
|
||||
# is putting it into the background we need to avoid it by backing off
|
||||
sleep 3
|
||||
nice -n 20 gzclient --verbose $follow_mode
|
||||
GUI_PID=$!
|
||||
fi
|
||||
else
|
||||
echo "You need to have gazebo simulator installed!"
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$simulation" == "jsbsim" ] && [ -z "$no_sim" ]; then
|
||||
source "$src_path/Tools/setup_jsbsim.bash" "${src_path}" "${build_path}" ${model}
|
||||
if [[ -n "$HEADLESS" ]]; then
|
||||
echo "not running flightgear gui"
|
||||
else
|
||||
fgfs --fdm=null \
|
||||
--native-fdm=socket,in,60,,5550,udp \
|
||||
--aircraft=$JSBSIM_AIRCRAFT_MODEL \
|
||||
--airport=${world} \
|
||||
--disable-hud \
|
||||
--disable-ai-models &> /dev/null &
|
||||
FGFS_PID=$!
|
||||
fi
|
||||
"${build_path}/build_jsbsim_bridge/jsbsim_bridge" ${model} -d ${device} -b ${baudrate} -s "${src_path}/Tools/jsbsim_bridge/scene/${world}.xml"
|
||||
SIM_PID=$!
|
||||
fi
|
||||
|
||||
|
||||
trap "cleanup" SIGINT SIGTERM EXIT
|
||||
+1
-1
Submodule Tools/sitl_gazebo updated: 5761bd66cd...05e2cd9c03
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -48,7 +47,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -110,7 +108,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -120,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
|
||||
)
|
||||
|
||||
@@ -39,7 +39,6 @@ px4_add_board(
|
||||
VENDOR atlflight
|
||||
MODEL eagle
|
||||
LABEL default
|
||||
#TESTING
|
||||
TOOLCHAIN arm-linux-gnueabihf
|
||||
ROMFSROOT px4fmu_common
|
||||
DRIVERS
|
||||
@@ -108,7 +107,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
shutdown
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
#top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -39,7 +39,6 @@ px4_add_board(
|
||||
VENDOR atlflight
|
||||
MODEL excelsior
|
||||
LABEL default
|
||||
#TESTING
|
||||
TOOLCHAIN arm-oemllib32-linux-gnueabi
|
||||
DRIVERS
|
||||
#barometer # all available barometer drivers
|
||||
@@ -106,7 +105,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
shutdown
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
#top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -7,7 +7,6 @@ px4_add_board(
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
ETHERNET
|
||||
SERIAL_PORTS
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
#tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -108,7 +106,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -117,15 +114,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
|
||||
)
|
||||
|
||||
@@ -113,7 +113,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -114,7 +114,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
ROMFSROOT px4fmu_common
|
||||
BUILD_BOOTLOADER
|
||||
IO cubepilot_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
TEL1:/dev/ttyS0
|
||||
@@ -51,7 +50,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -113,7 +111,6 @@ 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 console
|
||||
LABEL test
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO cubepilot_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
TEL1:/dev/ttyS0
|
||||
@@ -49,7 +48,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -111,7 +109,6 @@ 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 console
|
||||
LABEL test
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
@@ -109,7 +109,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -6,6 +6,7 @@ px4_add_board(
|
||||
LABEL default
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
EXTERNAL_METADATA
|
||||
ROMFSROOT px4fmu_common
|
||||
SERIAL_PORTS
|
||||
TEL1:/dev/ttyS0 # UART1
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
@@ -53,7 +52,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -115,7 +113,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -125,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -7,7 +7,6 @@ px4_add_board(
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0 # UART1 / J10
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
#tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -108,7 +106,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -118,15 +115,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
|
||||
)
|
||||
|
||||
@@ -18,88 +18,10 @@
|
||||
# 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
|
||||
|
||||
@@ -7,7 +7,6 @@ px4_add_board(
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0 # UART1 / J10
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
#tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -108,7 +106,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -118,15 +115,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -7,7 +7,6 @@ px4_add_board(
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
TEL1:/dev/ttyS0
|
||||
@@ -50,7 +49,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -112,7 +110,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -122,15 +119,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
|
||||
)
|
||||
|
||||
@@ -7,7 +7,6 @@ px4_add_board(
|
||||
TOOLCHAIN arm-none-eabi
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
TEL1:/dev/ttyS0
|
||||
@@ -50,7 +49,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -112,7 +110,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -122,15 +119,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,7 +108,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -108,7 +108,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -109,7 +109,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
# IO DEBUG:/dev/ttyS0
|
||||
@@ -50,7 +49,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -112,7 +110,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
# IO DEBUG:/dev/ttyS0
|
||||
@@ -51,7 +50,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -113,7 +111,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm # NOT Portable YET
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -108,7 +106,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -118,15 +115,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm # NOT Portable YET
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -118,15 +116,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -47,7 +46,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm # NOT Portable YET
|
||||
tone_alarm
|
||||
#uavcannode_v1
|
||||
MODULES
|
||||
@@ -118,15 +116,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -107,7 +106,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -117,15 +115,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -117,15 +116,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -117,15 +116,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -37,7 +37,6 @@ px4_add_board(
|
||||
rc_input
|
||||
#telemetry # all available telemetry drivers
|
||||
telemetry/frsky_telemetry
|
||||
#test_ppm
|
||||
MODULES
|
||||
#airspeed_selector
|
||||
attitude_estimator_q
|
||||
@@ -97,7 +96,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
#serial_test
|
||||
#system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
#topic_listener
|
||||
tune_control
|
||||
@@ -105,17 +103,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
|
||||
)
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
#TESTING
|
||||
#UAVCAN_INTERFACES 2
|
||||
CONSTRAINED_FLASH
|
||||
SERIAL_PORTS
|
||||
@@ -58,7 +57,6 @@ px4_add_board(
|
||||
#roboclaw
|
||||
#rpm
|
||||
#telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
tone_alarm
|
||||
#uavcan
|
||||
MODULES
|
||||
@@ -120,7 +118,6 @@ px4_add_board(
|
||||
#sd_bench
|
||||
#serial_test
|
||||
#system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
#topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
#TESTING
|
||||
#UAVCAN_INTERFACES 2
|
||||
CONSTRAINED_FLASH
|
||||
SERIAL_PORTS
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -52,7 +51,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -114,7 +112,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -124,15 +121,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m4
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 1
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -50,7 +49,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -112,7 +110,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -122,15 +119,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
CONSTRAINED_MEMORY
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS3
|
||||
@@ -51,7 +50,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
rpm
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -112,7 +110,6 @@ px4_add_board(
|
||||
reflect
|
||||
sd_bench
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -122,15 +119,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
|
||||
)
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
@@ -52,7 +51,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -116,7 +114,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -126,15 +123,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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
@@ -26,7 +25,7 @@ px4_add_board(
|
||||
distance_sensor # all available distance sensor drivers
|
||||
dshot
|
||||
gps
|
||||
#heater
|
||||
heater
|
||||
#imu # all available imu drivers
|
||||
imu/analog_devices/adis16448
|
||||
imu/bosch/bmi055
|
||||
@@ -52,7 +51,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -114,7 +112,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -124,15 +121,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
|
||||
@@ -12,6 +12,7 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
EXTERNAL_METADATA
|
||||
TESTING
|
||||
#UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
@@ -126,4 +127,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
|
||||
)
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
@@ -50,7 +49,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -107,7 +105,6 @@ px4_add_board(
|
||||
reflect
|
||||
sd_bench
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -117,13 +114,15 @@ px4_add_board(
|
||||
work_queue
|
||||
EXAMPLES
|
||||
fake_gps
|
||||
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
|
||||
)
|
||||
|
||||
@@ -122,7 +122,8 @@ 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
|
||||
#hello
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -8,7 +8,6 @@ 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
|
||||
@@ -56,7 +55,6 @@ px4_add_board(
|
||||
#rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -117,7 +115,6 @@ px4_add_board(
|
||||
reflect
|
||||
sd_bench
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -126,6 +123,7 @@ 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
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
#TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
SERIAL_PORTS
|
||||
GPS1:/dev/ttyS0
|
||||
@@ -52,7 +51,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
tone_alarm
|
||||
#uavcan # legacy v0
|
||||
uavcan_v1
|
||||
@@ -115,7 +113,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -124,7 +121,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,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
ETHERNET
|
||||
SERIAL_PORTS
|
||||
@@ -53,7 +52,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -115,7 +113,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -8,7 +8,6 @@ px4_add_board(
|
||||
ARCHITECTURE cortex-m7
|
||||
ROMFSROOT px4fmu_common
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
ETHERNET
|
||||
SERIAL_PORTS
|
||||
@@ -53,7 +52,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -115,7 +113,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -109,7 +109,6 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
|
||||
@@ -9,7 +9,6 @@ px4_add_board(
|
||||
ROMFSROOT px4fmu_common
|
||||
BUILD_BOOTLOADER
|
||||
IO px4_io-v2_default
|
||||
TESTING
|
||||
UAVCAN_INTERFACES 2
|
||||
UAVCAN_TIMER_OVERRIDE 2
|
||||
ETHERNET
|
||||
@@ -54,7 +53,6 @@ px4_add_board(
|
||||
rpm
|
||||
safety_button
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
tone_alarm
|
||||
uavcan
|
||||
MODULES
|
||||
@@ -116,8 +114,7 @@ px4_add_board(
|
||||
sd_bench
|
||||
serial_test
|
||||
system_time
|
||||
# tests # tests and test runner
|
||||
top
|
||||
# top
|
||||
topic_listener
|
||||
tune_control
|
||||
uorb
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
|
||||
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
|
||||
)
|
||||
@@ -5,7 +5,6 @@ px4_add_board(
|
||||
MODEL sitl
|
||||
ROMFSROOT px4fmu_common
|
||||
LABEL ctrlalloc
|
||||
EMBEDDED_METADATA parameters
|
||||
TESTING
|
||||
DRIVERS
|
||||
#barometer # all available barometer drivers
|
||||
@@ -90,6 +89,7 @@ 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
|
||||
|
||||
@@ -5,7 +5,6 @@ px4_add_board(
|
||||
MODEL sitl
|
||||
ROMFSROOT px4fmu_common
|
||||
LABEL default
|
||||
EMBEDDED_METADATA parameters
|
||||
TESTING
|
||||
ETHERNET
|
||||
DRIVERS
|
||||
|
||||
@@ -5,7 +5,6 @@ px4_add_board(
|
||||
MODEL sitl
|
||||
ROMFSROOT px4fmu_common
|
||||
LABEL nolockstep
|
||||
EMBEDDED_METADATA parameters
|
||||
TESTING
|
||||
DRIVERS
|
||||
#barometer # all available barometer drivers
|
||||
@@ -88,6 +87,7 @@ 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
|
||||
|
||||
@@ -5,7 +5,6 @@ px4_add_board(
|
||||
MODEL sitl
|
||||
ROMFSROOT px4fmu_common
|
||||
LABEL rtps
|
||||
EMBEDDED_METADATA parameters
|
||||
TESTING
|
||||
DRIVERS
|
||||
#barometer # all available barometer drivers
|
||||
@@ -87,6 +86,7 @@ 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
|
||||
|
||||
@@ -5,7 +5,6 @@ px4_add_board(
|
||||
MODEL sitl
|
||||
ROMFSROOT px4fmu_common
|
||||
LABEL test
|
||||
EMBEDDED_METADATA parameters
|
||||
TESTING
|
||||
DRIVERS
|
||||
#barometer # all available barometer drivers
|
||||
@@ -87,6 +86,7 @@ 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
|
||||
|
||||
@@ -87,6 +87,8 @@ 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
|
||||
|
||||
@@ -39,16 +39,12 @@ 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
|
||||
@@ -100,7 +96,6 @@ px4_add_board(
|
||||
reflect
|
||||
sd_bench
|
||||
#shutdown
|
||||
#tests # tests and test runner
|
||||
top
|
||||
topic_listener
|
||||
tune_control
|
||||
@@ -109,7 +104,9 @@ px4_add_board(
|
||||
ver
|
||||
work_queue
|
||||
EXAMPLES
|
||||
#bottle_drop # OBC challenge
|
||||
fake_gps
|
||||
#fake_gyro
|
||||
#fake_magnetometer
|
||||
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
|
||||
#hello
|
||||
#hwtest # Hardware test
|
||||
@@ -118,4 +115,5 @@ 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
|
||||
)
|
||||
|
||||
@@ -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,14 +207,11 @@ function(px4_add_board)
|
||||
|
||||
set(romfs_extra_files)
|
||||
set(config_romfs_extra_dependencies)
|
||||
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()
|
||||
# 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()
|
||||
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)
|
||||
|
||||
@@ -95,21 +95,17 @@ function(px4_add_common_flags)
|
||||
# compiler specific flags
|
||||
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang"))
|
||||
|
||||
# force color for clang (needed for clang + ccache)
|
||||
add_compile_options(-fcolor-diagnostics)
|
||||
# force absolute paths
|
||||
add_compile_options(-fdiagnostics-absolute-paths)
|
||||
add_compile_options(
|
||||
-fcolor-diagnostics # force color for clang (needed for clang + ccache)
|
||||
-fdiagnostics-absolute-paths # force absolute paths
|
||||
|
||||
# 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
|
||||
-Qunused-arguments
|
||||
|
||||
-Wno-unknown-warning-option
|
||||
-Wno-unused-const-variable
|
||||
-Wno-varargs
|
||||
)
|
||||
endif()
|
||||
-Wno-c99-designator
|
||||
-Wno-unknown-warning-option
|
||||
-Wno-unused-const-variable
|
||||
-Wno-varargs
|
||||
)
|
||||
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
|
||||
|
||||
+10
-2
@@ -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 # SMBUS interface error counter
|
||||
uint16 interface_error # interface error counter
|
||||
|
||||
float32[10] voltage_cell_v # Battery individual cell voltages
|
||||
float32[14] 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,3 +43,11 @@ 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
|
||||
|
||||
@@ -3,6 +3,7 @@ uint64 timestamp # time since system start (microseconds)
|
||||
uint32 device_id
|
||||
|
||||
bool heater_on
|
||||
bool temperature_target_met
|
||||
|
||||
float32 temperature_sensor
|
||||
float32 temperature_target
|
||||
|
||||
@@ -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 2019\n"
|
||||
" -s <sending port> UDP port for sending. Default 2020\n"
|
||||
" -r <reception port> UDP port for receiving. Default 2020\n"
|
||||
" -s <sending port> UDP port for sending. Default 2019\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",
|
||||
|
||||
Submodule platforms/nuttx/NuttX/nuttx updated: 011fbb2ce1...405cfa2571
@@ -77,7 +77,7 @@ Heater::Heater() :
|
||||
|
||||
Heater::~Heater()
|
||||
{
|
||||
heater_disable();
|
||||
disable_heater();
|
||||
}
|
||||
|
||||
int Heater::custom_command(int argc, char *argv[])
|
||||
@@ -91,7 +91,7 @@ int Heater::custom_command(int argc, char *argv[])
|
||||
return print_usage("Unrecognized command.");
|
||||
}
|
||||
|
||||
void Heater::heater_disable()
|
||||
void Heater::disable_heater()
|
||||
{
|
||||
// Reset heater to off state.
|
||||
#ifdef HEATER_PX4IO
|
||||
@@ -106,7 +106,7 @@ void Heater::heater_disable()
|
||||
#endif
|
||||
}
|
||||
|
||||
void Heater::heater_initialize()
|
||||
void Heater::initialize_heater_io()
|
||||
{
|
||||
// Initialize heater to off state.
|
||||
#ifdef HEATER_PX4IO
|
||||
@@ -160,13 +160,15 @@ bool Heater::initialize_topics()
|
||||
for (uint8_t i = 0; i < ORB_MULTI_MAX_INSTANCES; i++) {
|
||||
uORB::SubscriptionData<sensor_accel_s> sensor_accel_sub{ORB_ID(sensor_accel), i};
|
||||
|
||||
if (sensor_accel_sub.get().timestamp != 0 && sensor_accel_sub.get().device_id != 0
|
||||
&& PX4_ISFINITE(sensor_accel_sub.get().temperature)) {
|
||||
if (sensor_accel_sub.get().timestamp != 0 &&
|
||||
sensor_accel_sub.get().device_id != 0 &&
|
||||
PX4_ISFINITE(sensor_accel_sub.get().temperature)) {
|
||||
|
||||
// If the correct ID is found, exit the for-loop with _sensor_accel_sub pointing to the correct instance.
|
||||
if (sensor_accel_sub.get().device_id == (uint32_t)_param_sens_temp_id.get()) {
|
||||
_sensor_accel_sub.ChangeInstance(i);
|
||||
_sensor_device_id = sensor_accel_sub.get().device_id;
|
||||
initialize_heater_io();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -190,21 +192,10 @@ void Heater::Run()
|
||||
return;
|
||||
}
|
||||
|
||||
// check for parameter updates
|
||||
if (_parameter_update_sub.updated()) {
|
||||
// clear update
|
||||
parameter_update_s pupdate;
|
||||
_parameter_update_sub.copy(&pupdate);
|
||||
|
||||
// update parameters from storage
|
||||
ModuleParams::updateParams();
|
||||
}
|
||||
update_params();
|
||||
|
||||
if (_sensor_device_id == 0) {
|
||||
if (initialize_topics()) {
|
||||
heater_initialize();
|
||||
|
||||
} else {
|
||||
if (!initialize_topics()) {
|
||||
// if sensor still not found try again in 1 second
|
||||
ScheduleDelayed(1_s);
|
||||
return;
|
||||
@@ -212,14 +203,15 @@ void Heater::Run()
|
||||
}
|
||||
|
||||
sensor_accel_s sensor_accel;
|
||||
float temperature_delta {0.f};
|
||||
|
||||
if (_heater_on) {
|
||||
// Turn the heater off.
|
||||
heater_off();
|
||||
_heater_on = false;
|
||||
heater_off();
|
||||
ScheduleDelayed(_controller_period_usec - _controller_time_on_usec);
|
||||
|
||||
} else if (_sensor_accel_sub.update(&sensor_accel)) {
|
||||
float temperature_delta {0.f};
|
||||
|
||||
// Update the current IMU sensor temperature if valid.
|
||||
if (PX4_ISFINITE(sensor_accel.temperature)) {
|
||||
@@ -230,11 +222,6 @@ void Heater::Run()
|
||||
_proportional_value = temperature_delta * _param_sens_imu_temp_p.get();
|
||||
_integrator_value += temperature_delta * _param_sens_imu_temp_i.get();
|
||||
|
||||
if (fabs(_param_sens_imu_temp_i.get()) <= 0.0001) {
|
||||
_integrator_value = 0.f;
|
||||
}
|
||||
|
||||
// Guard against integrator wind up.
|
||||
_integrator_value = math::constrain(_integrator_value, -0.25f, 0.25f);
|
||||
|
||||
_controller_time_on_usec = static_cast<int>((_param_sens_imu_temp_ff.get() + _proportional_value +
|
||||
@@ -242,36 +229,41 @@ void Heater::Run()
|
||||
|
||||
_controller_time_on_usec = math::constrain(_controller_time_on_usec, 0, _controller_period_usec);
|
||||
|
||||
if (abs(temperature_delta) < TEMPERATURE_TARGET_THRESHOLD) {
|
||||
_temperature_target_met = true;
|
||||
|
||||
} else {
|
||||
|
||||
_temperature_target_met = false;
|
||||
}
|
||||
|
||||
_heater_on = true;
|
||||
heater_on();
|
||||
}
|
||||
|
||||
// Schedule the next cycle.
|
||||
if (_heater_on) {
|
||||
ScheduleDelayed(_controller_time_on_usec);
|
||||
|
||||
} else {
|
||||
ScheduleDelayed(_controller_period_usec - _controller_time_on_usec);
|
||||
}
|
||||
|
||||
publish_status();
|
||||
}
|
||||
|
||||
// publish status
|
||||
void Heater::publish_status()
|
||||
{
|
||||
heater_status_s status{};
|
||||
status.heater_on = _heater_on;
|
||||
status.device_id = _sensor_device_id;
|
||||
status.temperature_sensor = _temperature_last;
|
||||
status.temperature_target = _param_sens_imu_temp.get();
|
||||
status.controller_period_usec = _controller_period_usec;
|
||||
status.device_id = _sensor_device_id;
|
||||
status.heater_on = _heater_on;
|
||||
status.temperature_sensor = _temperature_last;
|
||||
status.temperature_target = _param_sens_imu_temp.get();
|
||||
status.temperature_target_met = _temperature_target_met;
|
||||
status.controller_period_usec = _controller_period_usec;
|
||||
status.controller_time_on_usec = _controller_time_on_usec;
|
||||
status.proportional_value = _proportional_value;
|
||||
status.integrator_value = _integrator_value;
|
||||
status.feed_forward_value = _param_sens_imu_temp_ff.get();
|
||||
status.proportional_value = _proportional_value;
|
||||
status.integrator_value = _integrator_value;
|
||||
status.feed_forward_value = _param_sens_imu_temp_ff.get();
|
||||
|
||||
#ifdef HEATER_PX4IO
|
||||
status.mode |= heater_status_s::MODE_PX4IO;
|
||||
status.mode = heater_status_s::MODE_PX4IO;
|
||||
#endif
|
||||
#ifdef HEATER_GPIO
|
||||
status.mode |= heater_status_s::MODE_GPIO;
|
||||
status.mode = heater_status_s::MODE_GPIO;
|
||||
#endif
|
||||
|
||||
status.timestamp = hrt_absolute_time();
|
||||
@@ -287,6 +279,7 @@ int Heater::start()
|
||||
return PX4_ERROR;
|
||||
}
|
||||
|
||||
update_params(true);
|
||||
ScheduleNow();
|
||||
return PX4_OK;
|
||||
}
|
||||
@@ -307,6 +300,18 @@ int Heater::task_spawn(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Heater::update_params(const bool force)
|
||||
{
|
||||
if (_parameter_update_sub.updated() || force) {
|
||||
// clear update
|
||||
parameter_update_s param_update;
|
||||
_parameter_update_sub.copy(¶m_update);
|
||||
|
||||
// update parameters from storage
|
||||
ModuleParams::updateParams();
|
||||
}
|
||||
}
|
||||
|
||||
int Heater::print_usage(const char *reason)
|
||||
{
|
||||
if (reason) {
|
||||
|
||||
+23
-16
@@ -57,7 +57,8 @@
|
||||
|
||||
using namespace time_literals;
|
||||
|
||||
#define CONTROLLER_PERIOD_DEFAULT 100000
|
||||
#define CONTROLLER_PERIOD_DEFAULT 10000
|
||||
#define TEMPERATURE_TARGET_THRESHOLD 2.5f
|
||||
|
||||
class Heater : public ModuleBase<Heater>, public ModuleParams, public px4::ScheduledWorkItem
|
||||
{
|
||||
@@ -101,9 +102,25 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
/** Disables the heater (either by GPIO or PX4IO). */
|
||||
void disable_heater();
|
||||
|
||||
/** Turns the heater on (either by GPIO or PX4IO). */
|
||||
void heater_on();
|
||||
|
||||
/** Turns the heater off (either by GPIO or PX4IO). */
|
||||
void heater_off();
|
||||
|
||||
void initialize();
|
||||
|
||||
/** Enables / configures the heater (either by GPIO or PX4IO). */
|
||||
void initialize_heater_io();
|
||||
|
||||
/** @brief Called once to initialize uORB topics. */
|
||||
bool initialize_topics();
|
||||
|
||||
void publish_status();
|
||||
|
||||
/** @brief Calculates the heater element on/off time and schedules the next cycle. */
|
||||
void Run() override;
|
||||
|
||||
@@ -113,18 +130,6 @@ private:
|
||||
*/
|
||||
void update_params(const bool force = false);
|
||||
|
||||
/** Enables / configures the heater (either by GPIO or PX4IO). */
|
||||
void heater_initialize();
|
||||
|
||||
/** Disnables the heater (either by GPIO or PX4IO). */
|
||||
void heater_disable();
|
||||
|
||||
/** Turns the heater on (either by GPIO or PX4IO). */
|
||||
void heater_on();
|
||||
|
||||
/** Turns the heater off (either by GPIO or PX4IO). */
|
||||
void heater_off();
|
||||
|
||||
/** Work queue struct for the scheduler. */
|
||||
static struct work_s _work;
|
||||
|
||||
@@ -133,7 +138,9 @@ private:
|
||||
int _io_fd {-1};
|
||||
#endif
|
||||
|
||||
bool _heater_on = false;
|
||||
bool _heater_initialized = false;
|
||||
bool _heater_on = false;
|
||||
bool _temperature_target_met = false;
|
||||
|
||||
int _controller_period_usec = CONTROLLER_PERIOD_DEFAULT;
|
||||
int _controller_time_on_usec = 0;
|
||||
@@ -155,7 +162,7 @@ private:
|
||||
(ParamFloat<px4::params::SENS_IMU_TEMP_FF>) _param_sens_imu_temp_ff,
|
||||
(ParamFloat<px4::params::SENS_IMU_TEMP_I>) _param_sens_imu_temp_i,
|
||||
(ParamFloat<px4::params::SENS_IMU_TEMP_P>) _param_sens_imu_temp_p,
|
||||
(ParamInt<px4::params::SENS_TEMP_ID>) _param_sens_temp_id,
|
||||
(ParamFloat<px4::params::SENS_IMU_TEMP>) _param_sens_imu_temp
|
||||
(ParamFloat<px4::params::SENS_IMU_TEMP>) _param_sens_imu_temp,
|
||||
(ParamInt<px4::params::SENS_TEMP_ID>) _param_sens_temp_id
|
||||
)
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2012-2020 PX4 Development Team. All rights reserved.
|
||||
* Copyright (c) 2012-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
|
||||
@@ -35,7 +35,6 @@
|
||||
|
||||
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()
|
||||
{
|
||||
@@ -475,7 +474,9 @@ 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);
|
||||
|
||||
PX4_INFO("instance: %d, MAX RATE: %d, default: %d, alt: %d", _instance, max_rate, _pwm_default_rate, _pwm_alt_rate);
|
||||
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);
|
||||
}
|
||||
|
||||
_current_update_rate = max_rate;
|
||||
_mixing_output.setMaxTopicUpdateRate(update_interval_in_us);
|
||||
@@ -511,8 +512,6 @@ int PWMOut::task_spawn(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
_pwm_out_started = true;
|
||||
|
||||
return PX4_OK;
|
||||
}
|
||||
|
||||
@@ -532,12 +531,43 @@ void PWMOut::capture_callback(uint32_t chan_index,
|
||||
void PWMOut::update_pwm_out_state(bool on)
|
||||
{
|
||||
if (on && !_pwm_initialized && _pwm_mask != 0) {
|
||||
up_pwm_servo_init(_pwm_mask);
|
||||
set_pwm_rate(_pwm_alt_rate_channels, _pwm_default_rate, _pwm_alt_rate);
|
||||
|
||||
// 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);
|
||||
_pwm_initialized = true;
|
||||
}
|
||||
|
||||
up_pwm_servo_arm(on); // TODO REVIEW for multi
|
||||
up_pwm_servo_arm(on);
|
||||
}
|
||||
|
||||
bool PWMOut::updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS],
|
||||
@@ -580,9 +610,9 @@ void PWMOut::Run()
|
||||
// push backup schedule
|
||||
ScheduleDelayed(_backup_schedule_interval_us);
|
||||
|
||||
if (_new_mode_request.load() != _mode) {
|
||||
if (_new_mode_request.load() != MODE_NO_REQUEST) {
|
||||
set_mode(_new_mode_request.load());
|
||||
_new_mode_request.store(_mode);
|
||||
_new_mode_request.store(MODE_NO_REQUEST);
|
||||
}
|
||||
|
||||
_mixing_output.update();
|
||||
@@ -619,11 +649,6 @@ 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;
|
||||
@@ -1762,6 +1787,22 @@ 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
|
||||
{
|
||||
@@ -2014,7 +2055,7 @@ int PWMOut::custom_command(int argc, char *argv[])
|
||||
|
||||
|
||||
/* start pwm_out if not running */
|
||||
if (!_pwm_out_started) {
|
||||
if (!is_running()) {
|
||||
|
||||
int ret = PWMOut::task_spawn(argc, argv);
|
||||
|
||||
@@ -2276,7 +2317,7 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
|
||||
|
||||
if (strcmp(argv[1], "start") == 0) {
|
||||
|
||||
if (_pwm_out_started) {
|
||||
if (is_running()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2361,8 +2402,6 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
_pwm_out_started = false;
|
||||
|
||||
PWMOut::unlock_module();
|
||||
return PX4_OK;
|
||||
}
|
||||
|
||||
@@ -118,6 +118,8 @@ public:
|
||||
MODE_4CAP,
|
||||
MODE_5CAP,
|
||||
MODE_6CAP,
|
||||
|
||||
MODE_NO_REQUEST
|
||||
};
|
||||
|
||||
PWMOut() = delete;
|
||||
@@ -157,7 +159,11 @@ public:
|
||||
|
||||
int set_mode(Mode mode);
|
||||
Mode get_mode() { return _mode; }
|
||||
void request_mode(Mode new_mode) { _new_mode_request.store(new_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);
|
||||
|
||||
static int set_i2c_bus_clock(unsigned bus, unsigned clock_hz);
|
||||
|
||||
@@ -181,7 +187,7 @@ private:
|
||||
|
||||
Mode _mode{MODE_NONE};
|
||||
|
||||
px4::atomic<Mode> _new_mode_request{MODE_NONE};
|
||||
px4::atomic<Mode> _new_mode_request{MODE_NO_REQUEST};
|
||||
|
||||
uint32_t _backup_schedule_interval_us{1_s};
|
||||
|
||||
@@ -189,7 +195,7 @@ private:
|
||||
unsigned _pwm_alt_rate{50};
|
||||
uint32_t _pwm_alt_rate_channels{0};
|
||||
|
||||
unsigned _current_update_rate{0};
|
||||
int _current_update_rate{0};
|
||||
|
||||
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ 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")
|
||||
|
||||
@@ -153,6 +154,7 @@ px4_add_module(
|
||||
sensors/rangefinder.cpp
|
||||
sensors/accel.cpp
|
||||
sensors/gyro.cpp
|
||||
sensors/cbat.cpp
|
||||
|
||||
DEPENDS
|
||||
px4_uavcan_dsdlc
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# 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
|
||||
@@ -0,0 +1,139 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* 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;
|
||||
};
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "rangefinder.hpp"
|
||||
#include "accel.hpp"
|
||||
#include "gyro.hpp"
|
||||
#include "cbat.hpp"
|
||||
|
||||
/*
|
||||
* IUavcanSensorBridge
|
||||
@@ -58,7 +59,18 @@ void IUavcanSensorBridge::make_all(uavcan::INode &node, List<IUavcanSensorBridge
|
||||
list.add(new UavcanMagnetometerBridge(node));
|
||||
list.add(new UavcanGnssBridge(node));
|
||||
list.add(new UavcanFlowBridge(node));
|
||||
list.add(new UavcanBatteryBridge(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 UavcanAirspeedBridge(node));
|
||||
list.add(new UavcanDifferentialPressureBridge(node));
|
||||
list.add(new UavcanRangefinderBridge(node));
|
||||
|
||||
@@ -193,3 +193,20 @@ 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);
|
||||
|
||||
Submodule src/drivers/uavcan_v1/public_regulated_data_types updated: 53a7dbbf85...309b251a7e
@@ -1,6 +1,6 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
|
||||
# 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
|
||||
@@ -35,6 +35,8 @@ px4_add_module(
|
||||
MODULE examples__work_item
|
||||
MAIN work_item_example
|
||||
COMPILE_FLAGS
|
||||
#-DDEBUG_BUILD # uncomment for PX4_DEBUG output
|
||||
#-O0 # uncomment when debugging
|
||||
SRCS
|
||||
WorkItemExample.cpp
|
||||
WorkItemExample.hpp
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2020 PX4 Development Team. All rights reserved.
|
||||
* 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
|
||||
@@ -33,10 +33,6 @@
|
||||
|
||||
#include "WorkItemExample.hpp"
|
||||
|
||||
#include <drivers/drv_hrt.h>
|
||||
|
||||
using namespace time_literals;
|
||||
|
||||
WorkItemExample::WorkItemExample() :
|
||||
ModuleParams(nullptr),
|
||||
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1)
|
||||
@@ -51,7 +47,14 @@ WorkItemExample::~WorkItemExample()
|
||||
|
||||
bool WorkItemExample::init()
|
||||
{
|
||||
ScheduleOnInterval(1000_us); // 1000 us interval, 1000 Hz rate
|
||||
// execute Run() on every sensor_accel publication
|
||||
if (!_sensor_accel_sub.registerCallback()) {
|
||||
PX4_ERR("sensor_accel callback registration failed");
|
||||
return false;
|
||||
}
|
||||
|
||||
// alternatively, Run on fixed interval
|
||||
// ScheduleOnInterval(5000_us); // 2000 us interval, 200 Hz rate
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -67,27 +70,60 @@ void WorkItemExample::Run()
|
||||
perf_begin(_loop_perf);
|
||||
perf_count(_loop_interval_perf);
|
||||
|
||||
|
||||
// DO WORK
|
||||
|
||||
|
||||
|
||||
// Example
|
||||
// grab latest accelerometer data
|
||||
_sensor_accel_sub.update();
|
||||
const sensor_accel_s &accel = _sensor_accel_sub.get();
|
||||
// Check if parameters have changed
|
||||
if (_parameter_update_sub.updated()) {
|
||||
// clear update
|
||||
parameter_update_s param_update;
|
||||
_parameter_update_sub.copy(¶m_update);
|
||||
updateParams(); // update module parameters (in DEFINE_PARAMETERS)
|
||||
}
|
||||
|
||||
|
||||
// Example
|
||||
// publish some data
|
||||
// update vehicle_status to check arming state
|
||||
if (_vehicle_status_sub.updated()) {
|
||||
vehicle_status_s vehicle_status;
|
||||
|
||||
if (_vehicle_status_sub.copy(&vehicle_status)) {
|
||||
|
||||
const bool armed = (vehicle_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED);
|
||||
|
||||
if (armed && !_armed) {
|
||||
PX4_WARN("vehicle armed due to %d", vehicle_status.latest_arming_reason);
|
||||
|
||||
} else if (!armed && _armed) {
|
||||
PX4_INFO("vehicle disarmed due to %d", vehicle_status.latest_disarming_reason);
|
||||
}
|
||||
|
||||
_armed = armed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Example
|
||||
// grab latest accelerometer data
|
||||
if (_sensor_accel_sub.updated()) {
|
||||
sensor_accel_s accel;
|
||||
|
||||
if (_sensor_accel_sub.copy(&accel)) {
|
||||
// DO WORK
|
||||
|
||||
// access parameter value (SYS_AUTOSTART)
|
||||
if (_param_sys_autostart.get() == 1234) {
|
||||
// do something if SYS_AUTOSTART is 1234
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Example
|
||||
// publish some data
|
||||
orb_test_s data{};
|
||||
data.val = 314159;
|
||||
data.timestamp = hrt_absolute_time();
|
||||
data.val = accel.device_id;
|
||||
_orb_test_pub.publish(data);
|
||||
|
||||
|
||||
|
||||
|
||||
perf_end(_loop_perf);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2020 PX4 Development Team. All rights reserved.
|
||||
* 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
|
||||
@@ -33,17 +33,24 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <px4_platform_common/defines.h>
|
||||
#include <px4_platform_common/module.h>
|
||||
#include <px4_platform_common/module_params.h>
|
||||
#include <px4_platform_common/posix.h>
|
||||
#include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp>
|
||||
#include <uORB/topics/orb_test.h>
|
||||
#include <uORB/topics/sensor_accel.h>
|
||||
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
|
||||
#include <uORB/Publication.hpp>
|
||||
#include <uORB/Subscription.hpp>
|
||||
#include <uORB/SubscriptionCallback.hpp>
|
||||
#include <uORB/topics/orb_test.h>
|
||||
#include <uORB/topics/parameter_update.h>
|
||||
#include <uORB/topics/sensor_accel.h>
|
||||
#include <uORB/topics/vehicle_status.h>
|
||||
|
||||
using namespace time_literals;
|
||||
|
||||
class WorkItemExample : public ModuleBase<WorkItemExample>, public ModuleParams, public px4::ScheduledWorkItem
|
||||
{
|
||||
@@ -67,10 +74,24 @@ public:
|
||||
private:
|
||||
void Run() override;
|
||||
|
||||
// Publications
|
||||
uORB::Publication<orb_test_s> _orb_test_pub{ORB_ID(orb_test)};
|
||||
|
||||
uORB::SubscriptionData<sensor_accel_s> _sensor_accel_sub{ORB_ID(sensor_accel)};
|
||||
// Subscriptions
|
||||
uORB::SubscriptionCallbackWorkItem _sensor_accel_sub{this, ORB_ID(sensor_accel)}; // subscription that schedules WorkItemExample when updated
|
||||
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s}; // subscription limited to 1 Hz updates
|
||||
uORB::Subscription _vehicle_status_sub{ORB_ID(vehicle_status)}; // regular subscription for additional data
|
||||
|
||||
// Performance (perf) counters
|
||||
perf_counter_t _loop_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": cycle")};
|
||||
perf_counter_t _loop_interval_perf{perf_alloc(PC_INTERVAL, MODULE_NAME": interval")};
|
||||
|
||||
// Parameters
|
||||
DEFINE_PARAMETERS(
|
||||
(ParamInt<px4::params::SYS_AUTOSTART>) _param_sys_autostart, /**< example parameter */
|
||||
(ParamInt<px4::params::SYS_AUTOCONFIG>) _param_sys_autoconfig /**< another parameter */
|
||||
)
|
||||
|
||||
|
||||
bool _armed{false};
|
||||
};
|
||||
|
||||
@@ -153,8 +153,12 @@ PARAM_DEFINE_INT32(CBRK_BUZZER, 0);
|
||||
* Circuit breaker for USB link check
|
||||
*
|
||||
* Setting this parameter to 197848 will disable the USB connected
|
||||
* checks in the commander.
|
||||
* WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
|
||||
* checks in the commander, setting it to 0 keeps them enabled (recommended).
|
||||
*
|
||||
* We are generally recommending to not fly with the USB link
|
||||
* connected and production vehicles should set this parameter to
|
||||
* zero to prevent users from flying USB powered. However, for R&D purposes
|
||||
* it has proven over the years to work just fine.
|
||||
*
|
||||
* @reboot_required true
|
||||
* @min 0
|
||||
@@ -162,7 +166,7 @@ PARAM_DEFINE_INT32(CBRK_BUZZER, 0);
|
||||
* @category Developer
|
||||
* @group Circuit Breaker
|
||||
*/
|
||||
PARAM_DEFINE_INT32(CBRK_USB_CHK, 0);
|
||||
PARAM_DEFINE_INT32(CBRK_USB_CHK, 197848);
|
||||
|
||||
/**
|
||||
* Circuit breaker for position error check
|
||||
|
||||
@@ -37,12 +37,10 @@
|
||||
# 2: COMP_METADATA_TYPE_COMMANDS
|
||||
# 3: COMP_METADATA_TYPE_PERIPHERALS
|
||||
set(comp_metadata_types)
|
||||
# We disable parameter support if the metadata is not in the ROMFS. This can be
|
||||
# removed once it is stored on a server
|
||||
list(FIND config_romfs_extra_dependencies "parameters_xml" index)
|
||||
set(comp_metadata_board "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}")
|
||||
set(s3_url "https://px4-travis.s3.amazonaws.com")
|
||||
set(comp_metadata_param_uri_board "${s3_url}/Firmware/{version}/${comp_metadata_board}/parameters.json.xz")
|
||||
list(FIND config_romfs_extra_dependencies "parameters_xml" index)
|
||||
if (${index} EQUAL -1)
|
||||
set(comp_metadata_param_uri ${comp_metadata_param_uri_board})
|
||||
# use generic URL as fallback
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
|
||||
uint32_t get_device_id() const { return _device_id; }
|
||||
|
||||
int32_t get_max_rate_hz() const { return _imu_gyro_rate_max; }
|
||||
int32_t get_max_rate_hz() const { return math::constrain(_imu_gyro_rate_max, 100, 4000); }
|
||||
|
||||
void set_device_id(uint32_t device_id) { _device_id = device_id; }
|
||||
void set_device_type(uint8_t devtype);
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
|
||||
uint32_t get_device_id() const { return _device_id; }
|
||||
|
||||
int32_t get_max_rate_hz() const { return _imu_gyro_rate_max; }
|
||||
int32_t get_max_rate_hz() const { return math::constrain(_imu_gyro_rate_max, 100, 4000); }
|
||||
|
||||
void set_device_id(uint32_t device_id) { _device_id = device_id; }
|
||||
void set_device_type(uint8_t devtype);
|
||||
|
||||
+1
-1
Submodule src/lib/matrix updated: 3679f7fd51...b8568a89db
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user