mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-24 10:30:36 +08:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 153b683a0e | |||
| eba9276e6f |
@@ -0,0 +1,222 @@
|
|||||||
|
#!/usr/bin/env groovy
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent none
|
||||||
|
stages {
|
||||||
|
|
||||||
|
stage('Build') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def build_nodes = [:]
|
||||||
|
def docker_images = [
|
||||||
|
armhf: "px4io/px4-dev-armhf:2023-06-26",
|
||||||
|
arm64: "px4io/px4-dev-aarch64:2022-08-12",
|
||||||
|
base: "px4io/px4-dev-ros2-foxy:2022-08-12",
|
||||||
|
nuttx: "px4io/px4-dev-nuttx-focal:2022-08-12",
|
||||||
|
]
|
||||||
|
|
||||||
|
def armhf_builds = [
|
||||||
|
target: ["beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
|
||||||
|
image: docker_images.armhf,
|
||||||
|
archive: false
|
||||||
|
]
|
||||||
|
|
||||||
|
def arm64_builds = [
|
||||||
|
target: ["scumaker_pilotpi_arm64"],
|
||||||
|
image: docker_images.arm64,
|
||||||
|
archive: false
|
||||||
|
]
|
||||||
|
|
||||||
|
def base_builds = [
|
||||||
|
target: ["px4_sitl_default"],
|
||||||
|
image: docker_images.base,
|
||||||
|
archive: false
|
||||||
|
]
|
||||||
|
|
||||||
|
def nuttx_builds_archive = [
|
||||||
|
target: [
|
||||||
|
"airmind_mindpx-v2_default",
|
||||||
|
"ark_can-flow_canbootloader",
|
||||||
|
"ark_can-flow_default",
|
||||||
|
"ark_can-gps_canbootloader",
|
||||||
|
"ark_can-gps_default",
|
||||||
|
"ark_can-rtk-gps_canbootloader",
|
||||||
|
"ark_can-rtk-gps_default",
|
||||||
|
"ark_cannode_canbootloader",
|
||||||
|
"ark_cannode_default",
|
||||||
|
"ark_fmu-v6x_bootloader",
|
||||||
|
"ark_fmu-v6x_default",
|
||||||
|
"ark_pi6x_bootloader",
|
||||||
|
"ark_pi6x_default",
|
||||||
|
"atl_mantis-edu_default",
|
||||||
|
"av_x-v1_default",
|
||||||
|
"bitcraze_crazyflie21_default",
|
||||||
|
"bitcraze_crazyflie_default",
|
||||||
|
"cuav_can-gps-v1_canbootloader",
|
||||||
|
"cuav_can-gps-v1_default",
|
||||||
|
"cuav_nora_default",
|
||||||
|
"cuav_x7pro_default",
|
||||||
|
"cubepilot_cubeorange_default",
|
||||||
|
"cubepilot_cubeorangeplus_default",
|
||||||
|
"cubepilot_cubeyellow_default",
|
||||||
|
"diatone_mamba-f405-mk2_default",
|
||||||
|
"flywoo_gn-f405_default",
|
||||||
|
"freefly_can-rtk-gps_canbootloader",
|
||||||
|
"freefly_can-rtk-gps_default",
|
||||||
|
"holybro_can-gps-v1_canbootloader",
|
||||||
|
"holybro_can-gps-v1_default",
|
||||||
|
"holybro_durandal-v1_default",
|
||||||
|
"holybro_kakutef7_default",
|
||||||
|
"holybro_kakuteh7_default",
|
||||||
|
"holybro_kakuteh7mini_default",
|
||||||
|
"holybro_kakuteh7v2_default",
|
||||||
|
"holybro_pix32v5_default",
|
||||||
|
"matek_gnss-m9n-f4_canbootloader",
|
||||||
|
"matek_gnss-m9n-f4_default",
|
||||||
|
"matek_h743-mini_default",
|
||||||
|
"matek_h743-slim_default",
|
||||||
|
"matek_h743_default",
|
||||||
|
"modalai_fc-v1_default",
|
||||||
|
"modalai_fc-v2_default",
|
||||||
|
"mro_ctrl-zero-classic_default",
|
||||||
|
"mro_ctrl-zero-f7-oem_default",
|
||||||
|
"mro_ctrl-zero-f7_default",
|
||||||
|
"mro_ctrl-zero-h7-oem_default",
|
||||||
|
"mro_ctrl-zero-h7_default",
|
||||||
|
"mro_pixracerpro_default",
|
||||||
|
"mro_x21-777_default",
|
||||||
|
"mro_x21_default",
|
||||||
|
"nxp_fmuk66-e_default",
|
||||||
|
"nxp_fmuk66-e_socketcan",
|
||||||
|
"nxp_fmuk66-v3_default",
|
||||||
|
"nxp_fmuk66-v3_socketcan",
|
||||||
|
"nxp_mr-canhubk3_default",
|
||||||
|
"nxp_ucans32k146_canbootloader",
|
||||||
|
"nxp_ucans32k146_default",
|
||||||
|
"omnibus_f4sd_default",
|
||||||
|
"px4_fmu-v2_default",
|
||||||
|
"px4_fmu-v2_fixedwing",
|
||||||
|
"px4_fmu-v2_lto",
|
||||||
|
"px4_fmu-v2_multicopter",
|
||||||
|
"px4_fmu-v2_rover",
|
||||||
|
"px4_fmu-v3_default",
|
||||||
|
"px4_fmu-v4_default",
|
||||||
|
"px4_fmu-v4pro_default",
|
||||||
|
"px4_fmu-v5_cyphal",
|
||||||
|
"px4_fmu-v5_debug",
|
||||||
|
"px4_fmu-v5_default",
|
||||||
|
"px4_fmu-v5_lto",
|
||||||
|
"px4_fmu-v5_rover",
|
||||||
|
"px4_fmu-v5_stackcheck",
|
||||||
|
"px4_fmu-v5_uavcanv0periph",
|
||||||
|
"px4_fmu-v5x_default",
|
||||||
|
"px4_fmu-v5x_rover",
|
||||||
|
"px4_fmu-v6c_default",
|
||||||
|
"px4_fmu-v6c_rover",
|
||||||
|
"px4_fmu-v6u_default",
|
||||||
|
"px4_fmu-v6u_rover",
|
||||||
|
"px4_fmu-v6x_default",
|
||||||
|
"px4_fmu-v6x_rover",
|
||||||
|
"px4_fmu-v6xrt_bootloader",
|
||||||
|
"px4_fmu-v6xrt_default",
|
||||||
|
"px4_fmu-v6xrt_rover",
|
||||||
|
"px4_io-v2_default",
|
||||||
|
"raspberrypi_pico_default",
|
||||||
|
"siyi_n7_default",
|
||||||
|
"sky-drones_smartap-airlink_default",
|
||||||
|
"spracing_h7extreme_default",
|
||||||
|
"thepeach_k1_default",
|
||||||
|
"thepeach_r1_default",
|
||||||
|
"uvify_core_default",
|
||||||
|
],
|
||||||
|
image: docker_images.nuttx,
|
||||||
|
archive: true
|
||||||
|
]
|
||||||
|
|
||||||
|
def docker_builds = [
|
||||||
|
armhf_builds, base_builds, nuttx_builds_archive
|
||||||
|
]
|
||||||
|
|
||||||
|
for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
|
||||||
|
for (def build_target = 0; build_target < docker_builds[build_type].target.size(); build_target++) {
|
||||||
|
build_nodes.put(docker_builds[build_type].target[build_target],
|
||||||
|
createBuildNode(docker_builds[build_type].archive, docker_builds[build_type].image, docker_builds[build_type].target[build_target])
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
parallel build_nodes
|
||||||
|
|
||||||
|
} // script
|
||||||
|
} // steps
|
||||||
|
} // stage Build
|
||||||
|
|
||||||
|
// TODO: actually upload artifacts to S3
|
||||||
|
// stage('S3 Upload') {
|
||||||
|
// agent {
|
||||||
|
// docker { image 'px4io/px4-dev-base-focal:2021-09-08' }
|
||||||
|
// }
|
||||||
|
// options {
|
||||||
|
// skipDefaultCheckout()
|
||||||
|
// }
|
||||||
|
// when {
|
||||||
|
// anyOf {
|
||||||
|
// branch 'master'
|
||||||
|
// branch 'beta'
|
||||||
|
// branch 'stable'
|
||||||
|
// branch 'pr-jenkins' // for testing
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// steps {
|
||||||
|
// sh 'echo "uploading to S3"'
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
} // stages
|
||||||
|
environment {
|
||||||
|
CCACHE_DIR = '/tmp/ccache'
|
||||||
|
CI = true
|
||||||
|
}
|
||||||
|
options {
|
||||||
|
buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
|
||||||
|
timeout(time: 120, unit: 'MINUTES')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def createBuildNode(Boolean archive, String docker_image, String target) {
|
||||||
|
return {
|
||||||
|
|
||||||
|
bypass_entrypoint = ''
|
||||||
|
|
||||||
|
node {
|
||||||
|
docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') {
|
||||||
|
docker.image(docker_image).inside('-e CCACHE_BASEDIR=${WORKSPACE} -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' + bypass_entrypoint) {
|
||||||
|
stage(target) {
|
||||||
|
try {
|
||||||
|
sh('export')
|
||||||
|
checkout(scm)
|
||||||
|
sh('make distclean; git clean -ff -x -d .')
|
||||||
|
sh('git fetch --tags')
|
||||||
|
sh('ccache -s')
|
||||||
|
sh('make ' + target)
|
||||||
|
sh('ccache -s')
|
||||||
|
sh('make sizes')
|
||||||
|
if (archive) {
|
||||||
|
archiveArtifacts(allowEmptyArchive: false, artifacts: 'build/*/*.px4, build/*/*.elf, build/*/*.bin', fingerprint: true, onlyIfSuccessful: true)
|
||||||
|
}
|
||||||
|
sh('make ' + target + ' package')
|
||||||
|
archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.tar.bz2', fingerprint: true, onlyIfSuccessful: true)
|
||||||
|
archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.deb', fingerprint: true, onlyIfSuccessful: true)
|
||||||
|
}
|
||||||
|
catch (exc) {
|
||||||
|
throw (exc)
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
sh('make distclean; git clean -ff -x -d .')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,904 @@
|
|||||||
|
#!/usr/bin/env groovy
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent none
|
||||||
|
stages {
|
||||||
|
stage('Hardware Test') {
|
||||||
|
|
||||||
|
parallel {
|
||||||
|
|
||||||
|
stage("cubepilot_cubeorange_test") {
|
||||||
|
stages {
|
||||||
|
stage("build cubepilot_cubeorange_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make cubepilot_cubeorange_bootloader'
|
||||||
|
sh 'make cubepilot_cubeorange_test'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*, build/cubepilot_cubeorange_test/etc/init.d/airframes/*', name: 'cubepilot_cubeorange_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'cubepilot_cubeorange'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'cubepilot_cubeorange_test'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_bootloader/cubepilot_cubeorange_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
// run tests
|
||||||
|
runTests()
|
||||||
|
|
||||||
|
// load all airframes
|
||||||
|
// sh("./Tools/HIL/test_airframes.sh `find /dev/serial -name *usb-*` `cd build/cubepilot_cubeorange_test/etc/init.d/airframes/; find . -regex '.*/[0-9].*' -exec basename {} \\; | cut -d '_' -f 1` || true") // test loading all airframes\
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "2000"'
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("cuav_x7pro_test") {
|
||||||
|
stages {
|
||||||
|
stage("build cuav_x7pro_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make cuav_x7pro_bootloader'
|
||||||
|
sh 'make cuav_x7pro_test'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'cuav_x7pro_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'cuav_x7pro'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'cuav_x7pro_test'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cuav_x7pro_bootloader/cuav_x7pro_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cuav_x7pro_test/cuav_x7pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
runTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "2000"'
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/cuav_x7pro_test/cuav_x7pro_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("px4_fmu-v4_test") {
|
||||||
|
stages {
|
||||||
|
stage("build px4_fmu-v4_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make px4_fmu-v4_test'
|
||||||
|
sh 'make px4_fmu-v4_test bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v4_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'px4_fmu-v4'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'px4_fmu-v4_test'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
runTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("px4_fmu-v4pro_test") {
|
||||||
|
stages {
|
||||||
|
stage("build px4_fmu-v4pro_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make px4_fmu-v4pro_test'
|
||||||
|
sh 'make px4_fmu-v4pro_test bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v4pro_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'px4_fmu-v4pro'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'px4_fmu-v4pro_test'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
runTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "13000"' // generic vtol standard
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("px4_fmu-v5_debug") {
|
||||||
|
stages {
|
||||||
|
stage("build px4_fmu-v5_debug") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make px4_fmu-v5_debug'
|
||||||
|
sh 'make px4_fmu-v5_debug bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_debug'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'px4_fmu-v5'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'px4_fmu-v5_debug'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save" || true'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600 || true'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb top -1"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -v"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -u -v" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_stress"'
|
||||||
|
|
||||||
|
// test dataman
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman" --ignore-stdout-errors'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests file" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic quadcopter
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
checkStatus()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("px4_fmu-v5_stackcheck") {
|
||||||
|
stages {
|
||||||
|
stage("build px4_fmu-v5_stackcheck") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make px4_fmu-v5_stackcheck'
|
||||||
|
sh 'make px4_fmu-v5_stackcheck bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_stackcheck'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'px4_fmu-v5'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'px4_fmu-v5_stackcheck'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save" || true'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
|
||||||
|
|
||||||
|
// test dataman
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests dataman" --ignore-stdout-errors'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic quadcopter
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
checkStatus()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("px4_fmu-v5_test") {
|
||||||
|
stages {
|
||||||
|
stage("build px4_fmu-v5_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make px4_fmu-v5_test'
|
||||||
|
sh 'make px4_fmu-v5_test bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'px4_fmu-v5_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'px4_fmu-v5'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'px4_fmu-v5_test'
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
runTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "px4io status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("nxp_fmuk66-v3_test") {
|
||||||
|
stages {
|
||||||
|
stage("build nxp_fmuk66-v3_test") {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'px4io/px4-dev-nuttx-focal:2022-08-12'
|
||||||
|
args '--cpu-shares 512 -e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
checkoutSCM()
|
||||||
|
sh 'make nxp_fmuk66-v3_test'
|
||||||
|
//sh 'make nxp_fmuk66-v3_test bootloader_elf'
|
||||||
|
sh 'ccache -s'
|
||||||
|
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/*, platforms/nuttx/NuttX/nuttx/tools/nuttx-gdbinit, Tools/HIL/*', name: 'nxp_fmuk66-v3_test'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage build
|
||||||
|
stage("hardware") {
|
||||||
|
agent {
|
||||||
|
label 'nxp_fmuk66-v3'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage("flash") {
|
||||||
|
steps {
|
||||||
|
sh 'export'
|
||||||
|
sh 'find /dev/serial'
|
||||||
|
unstash 'nxp_fmuk66-v3_test'
|
||||||
|
//sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_bootloader.elf'
|
||||||
|
// flash board and watch bootup
|
||||||
|
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
|
||||||
|
resetBoard()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("tests") {
|
||||||
|
steps {
|
||||||
|
runTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("status") {
|
||||||
|
steps {
|
||||||
|
// configure
|
||||||
|
resetParameters()
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_RATEMAX" --value "400"'
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_AUTOSTART" --value "4001"' // generic quadcopter
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SYS_BL_UPDATE" --value "1"' // update bootloader
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger on"' // run logger
|
||||||
|
checkStatus()
|
||||||
|
quickCalibrate()
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger off"' // stop logger
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("print topics") {
|
||||||
|
steps {
|
||||||
|
printTopics()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh 'cat /tmp/pyserial_spy_file.txt || true'
|
||||||
|
sh './platforms/nuttx/Debug/jlink_gdb_backtrace_simple.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf || true'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // stage test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // parallel
|
||||||
|
} // stage Hardware Test
|
||||||
|
} // stages
|
||||||
|
environment {
|
||||||
|
CCACHE_DIR = '/tmp/ccache'
|
||||||
|
CCACHE_NOHASHDIR = 1
|
||||||
|
CI = true
|
||||||
|
}
|
||||||
|
options {
|
||||||
|
buildDiscarder(logRotator(numToKeepStr: '30', artifactDaysToKeepStr: '60'))
|
||||||
|
timeout(time: 180, unit: 'MINUTES')
|
||||||
|
skipDefaultCheckout()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkoutSCM() {
|
||||||
|
retry(3) {
|
||||||
|
checkout scm
|
||||||
|
sh 'export'
|
||||||
|
sh 'make distclean; git clean -ff -x -d .'
|
||||||
|
sh 'git fetch --tags'
|
||||||
|
sh 'ccache -z'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void quickCalibrate() {
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_*"' // parameters before
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "gyro_calibration status || true"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate accel quick; sleep 1"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_ACC*"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate gyro; sleep 2"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_GYRO*"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate level; sleep 2"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show SENS*"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate mag quick; sleep 1"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_MAG*"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander calibrate baro; sleep 5"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_BARO*"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show CAL_*"' // parameters after
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkStatus() {
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show SYS*"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
|
||||||
|
|
||||||
|
// status commands
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/blocks"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/mount"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/fs/usage"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/meminfo"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "cat /proc/uptime"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander check" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "dataman status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "df -h"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "df"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ekf2 status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "free"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "gps status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener cpuload; top once; listener cpuload"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "logger status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /bin"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /dev"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /etc"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /fs"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /fs/microsd"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /obj"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /proc"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /proc/fs"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status streams" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mount"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param show" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf latency"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "perf"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ps"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "pwm_out status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uavcan status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb top -1 -a" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ver all"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
|
||||||
|
}
|
||||||
|
|
||||||
|
void resetParameters() {
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param reset_all"'
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "CBRK_BUZZER" --value "782097"'
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SDLOG_DIRS_MAX" --value "1"'
|
||||||
|
}
|
||||||
|
|
||||||
|
void runTests() {
|
||||||
|
|
||||||
|
// test loading a range of airframes
|
||||||
|
sh './Tools/HIL/test_airframes.sh `find /dev/serial -name *usb-*` 2100 3000 4001 6001 8001'
|
||||||
|
|
||||||
|
resetParameters()
|
||||||
|
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_CAL_EN" --value "0" || true' // disable during testing
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "IMU_GYRO_FFT_EN" --value "0" || true' // disable during testing
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SENS_IMU_AUTOCAL" --value "0" || true' // disable during testing
|
||||||
|
sh './Tools/HIL/nsh_param_set.py --device `find /dev/serial -name *usb-*` --name "SENS_MAG_AUTOCAL" --value "0" || true' // disable during testing
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param save"'
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during test
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ostest"'
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot after ostest
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during test
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander_tests" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "controllib_test"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "lightware_laser_test"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink_tests" || true' // TODO
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "tests file" || true'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd readtest"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd rwtest"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mtd erase"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "bsondump /fs/mtd_params" || true' // expected to fail after erase
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -v"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_bench -u -v"'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sd_stress"'
|
||||||
|
|
||||||
|
// tests (stop modules first)
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander stop"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink stop-all"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "navigator stop"'
|
||||||
|
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-*`'
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "sensors stop"' // ignore irrelevant sensor timeouts during microbenchmarks
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "microbench all"'
|
||||||
|
|
||||||
|
//sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "calib_udelay"'
|
||||||
|
}
|
||||||
|
|
||||||
|
void printTopics() {
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "ls /obj"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb status"'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb top -1 -a" || true'
|
||||||
|
|
||||||
|
// these are for casually inspecting the system, output failure doesn't matter
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_armed" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_0" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_1" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_controls_2" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener actuator_outputs" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener adc_report" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener airspeed_validated" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener airspeed_wind" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener battery_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener commander_state" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener cpuload" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener distance_sensor" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener ekf2_timestamps" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener esc_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_aid_src_fake_pos" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_aid_src_gnss_pos" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_aid_src_gnss_vel" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_attitude" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_baro_bias" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_event_flags" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_global_position" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_gps_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovation_test_ratios" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovation_variances" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_innovations" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_local_position" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_odometry" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_optical_flow_vel" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_selector_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_sensor_bias" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_states" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_status_flags" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener estimator_wind" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener event" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener heater_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener input_rc" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener led_control" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener log_message" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener logger_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener manual_control_setpoint" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener mavlink_log" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener mission" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener multirotor_motor_limits" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener optical_flow" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener parameter_update" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener position_controller_landing_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener position_setpoint_triplet" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener radio_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener rate_ctrl_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener safety" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_accel" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_accel_fifo" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_baro" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_combined" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro_fft" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_gyro_fifo" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_mag" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_preflight_mag" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensor_selection" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener sensors_status_imu" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener system_power" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener task_stack_info" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener telemetry_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener trajectory_setpoint" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener tune_control" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_acceleration" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_air_data" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_angular_velocity" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_attitude" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_attitude_setpoint" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_command" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_command_ack" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_control_mode" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_global_position" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_imu" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_imu_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_land_detected" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_local_position" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_local_position_setpoint" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_magnetometer" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_odometry" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_rates_setpoint" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vehicle_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener failsafe_flags" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener vtol_vehicle_status" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "listener yaw_estimator_status" || true'
|
||||||
|
}
|
||||||
|
|
||||||
|
void resetBoard() {
|
||||||
|
resetParameters()
|
||||||
|
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SYS_AUTOSTART 0" || true'
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set IMU_GYRO_RATEMAX 200" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_0_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set MAV_1_CONFIG 0" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "param set SDLOG_MODE -1" || true' // limit cpu usage
|
||||||
|
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "echo > /fs/microsd/.format" || true'
|
||||||
|
sh './Tools/HIL/reboot.py --device `find /dev/serial -name *usb-*`' // reboot to apply
|
||||||
|
}
|
||||||
+1
-1
@@ -9,6 +9,6 @@ tab_width = 8
|
|||||||
# Not in the official standard, but supported by many editors
|
# Not in the official standard, but supported by many editors
|
||||||
max_line_length = 120
|
max_line_length = 120
|
||||||
|
|
||||||
[*.yaml, *.yml]
|
[*.yaml]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|||||||
@@ -20,14 +20,14 @@ body:
|
|||||||
3. Took off '....'
|
3. Took off '....'
|
||||||
4. See error
|
4. See error
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Expected behavior
|
label: Expected behavior
|
||||||
description: A clear and concise description of what you expected to happen.
|
description: A clear and concise description of what you expected to happen.
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
@@ -45,7 +45,7 @@ body:
|
|||||||
placeholder: |
|
placeholder: |
|
||||||
# PASTE HERE THE LINK TO THE LOG
|
# PASTE HERE THE LINK TO THE LOG
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
|
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
@@ -60,14 +60,14 @@ body:
|
|||||||
placeholder: |
|
placeholder: |
|
||||||
# If you don't know the version, paste the output of `ver all` in the MAVLink Shell of QGC
|
# If you don't know the version, paste the output of `ver all` in the MAVLink Shell of QGC
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
|
|
||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Flight controller
|
label: Flight controller
|
||||||
description: Specify your flight controller model (what type is it, where was it bought from, ...).
|
description: Specify your flight controller model (what type is it, where was it bought from, ...).
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
- type: dropdown
|
||||||
attributes:
|
attributes:
|
||||||
|
|||||||
@@ -1,158 +0,0 @@
|
|||||||
# NOTE: this workflow is now running on Dronecode / PX4 AWS account.
|
|
||||||
# - If you want to keep the tests running in GitHub Actions you need to uncomment the "runs-on: ubuntu-latest" lines
|
|
||||||
# and comment the "runs-on: [runs-on,runner=..." lines.
|
|
||||||
# - If you would like to duplicate this setup try setting up "RunsOn" on your own AWS account try https://runs-on.com
|
|
||||||
|
|
||||||
name: Build all targets
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
- 'stable'
|
|
||||||
- 'beta'
|
|
||||||
- 'release/**'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
group_targets:
|
|
||||||
name: Scan for Board Targets
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
outputs:
|
|
||||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
||||||
timestamp: ${{ steps.set-timestamp.outputs.timestamp }}
|
|
||||||
tagname: ${{ steps.set-tag.outputs.tagname }}
|
|
||||||
branchname: ${{ steps.set-branch.outputs.branchname }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Update python packaging to avoid canonicalize_version() error
|
|
||||||
run: |
|
|
||||||
pip3 install -U packaging
|
|
||||||
|
|
||||||
- name: Install Python Dependencies
|
|
||||||
uses: py-actions/py-dependency-install@v4
|
|
||||||
with:
|
|
||||||
path: "./Tools/setup/requirements.txt"
|
|
||||||
|
|
||||||
- id: set-matrix
|
|
||||||
run: echo "::set-output name=matrix::$(./Tools/ci/generate_board_targets_json.py --group)"
|
|
||||||
|
|
||||||
- id: set-timestamp
|
|
||||||
run: echo "::set-output name=timestamp::$(date +"%Y%m%d%H%M%S")"
|
|
||||||
|
|
||||||
- id: set-branch
|
|
||||||
run: echo "::set-output name=branchname::${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
|
|
||||||
|
|
||||||
- name: Debug Matrix Output
|
|
||||||
if: runner.debug == '1'
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.set-timestamp.outputs.timestamp }}"
|
|
||||||
echo "${{ steps.set-branch.outputs.branchname }}"
|
|
||||||
echo "$(./Tools/ci/generate_board_targets_json.py --group --verbose)"
|
|
||||||
|
|
||||||
setup:
|
|
||||||
name: Build Group [${{ matrix.group }}]
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
needs: group_targets
|
|
||||||
strategy:
|
|
||||||
matrix: ${{ fromJson(needs.group_targets.outputs.matrix) }}
|
|
||||||
fail-fast: false
|
|
||||||
container:
|
|
||||||
image: ${{ matrix.container }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Git ownership workaround
|
|
||||||
run: git config --system --add safe.directory '*'
|
|
||||||
|
|
||||||
- name: Setup ccache
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: ~/.ccache
|
|
||||||
key: ${{ matrix.group }}-ccache-${{ needs.group_targets.outputs.timestamp }}
|
|
||||||
restore-keys: ${{ matrix.group }}-ccache-${{ needs.group_targets.outputs.timestamp }}
|
|
||||||
|
|
||||||
- name: Configure ccache
|
|
||||||
run: |
|
|
||||||
mkdir -p ~/.ccache
|
|
||||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
|
||||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
|
||||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
|
||||||
echo "max_size = 120M" >> ~/.ccache/ccache.conf
|
|
||||||
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
|
||||||
ccache -s
|
|
||||||
ccache -z
|
|
||||||
|
|
||||||
- name: Building [${{ matrix.group }}]
|
|
||||||
run: |
|
|
||||||
./Tools/ci/build_all_runner.sh ${{matrix.targets}}
|
|
||||||
|
|
||||||
- name: Arrange Build Artifacts
|
|
||||||
run: |
|
|
||||||
./Tools/ci/package_build_artifacts.sh
|
|
||||||
|
|
||||||
- name: Upload Build Artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: px4_${{matrix.group}}_build_artifacts
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Cache Save
|
|
||||||
run: ccache -s
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
name: Upload Artifacts to S3
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
needs: [setup, group_targets]
|
|
||||||
if: contains(fromJSON('["main", "stable", "beta"]'), needs.group_targets.outputs.branchname)
|
|
||||||
steps:
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
path: artifacts/
|
|
||||||
merge-multiple: true
|
|
||||||
|
|
||||||
- name: Branch Name
|
|
||||||
run: |
|
|
||||||
echo "${{ needs.group_targets.outputs.branchname }}"
|
|
||||||
|
|
||||||
- name: Uploading Artifacts to S3 [${{ needs.group_targets.outputs.branchname == 'main' && 'master' || needs.group_targets.outputs.branchname }}]
|
|
||||||
uses: jakejarvis/s3-sync-action@master
|
|
||||||
with:
|
|
||||||
args: --acl public-read
|
|
||||||
env:
|
|
||||||
AWS_S3_BUCKET: 'px4-travis'
|
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
||||||
AWS_REGION: 'us-west-1'
|
|
||||||
SOURCE_DIR: artifacts/
|
|
||||||
DEST_DIR: Firmware/${{ needs.group_targets.outputs.branchname == 'main' && 'master' || needs.group_targets.outputs.branchname }}/
|
|
||||||
|
|
||||||
release:
|
|
||||||
name: Create Release and Upload Artifacts
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
needs: [setup, group_targets]
|
|
||||||
if: startsWith(github.ref, 'refs/tags/v')
|
|
||||||
steps:
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
path: artifacts/
|
|
||||||
merge-multiple: true
|
|
||||||
|
|
||||||
- name: Upload Binaries to Release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
draft: true
|
|
||||||
files: artifacts/*.px4
|
|
||||||
@@ -16,7 +16,6 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
check: [
|
check: [
|
||||||
"check_format",
|
"check_format",
|
||||||
"check_newlines",
|
|
||||||
"tests",
|
"tests",
|
||||||
"tests_coverage",
|
"tests_coverage",
|
||||||
"px4_fmu-v2_default stack_check",
|
"px4_fmu-v2_default stack_check",
|
||||||
|
|||||||
@@ -17,7 +17,5 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
token: ${{secrets.ACCESS_TOKEN}}
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
|
||||||
- uses: corrupt952/actions-retry-command@v1.0.7
|
- name: make clang-tidy-quiet
|
||||||
with:
|
run: make clang-tidy-quiet
|
||||||
command: make clang-tidy-quiet
|
|
||||||
max_attempts: 3
|
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
name: Compile Linux Targets
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable'
|
||||||
|
- 'beta'
|
||||||
|
- 'release/*'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-armhf:2023-06-26
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
config: [
|
||||||
|
beaglebone_blue_default,
|
||||||
|
emlid_navio2_default,
|
||||||
|
px4_raspberrypi_default,
|
||||||
|
scumaker_pilotpi_default,
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
- name: ownership workaround
|
||||||
|
run: git config --system --add safe.directory '*'
|
||||||
|
- name: Prepare ccache timestamp
|
||||||
|
id: ccache_cache_timestamp
|
||||||
|
shell: cmake -P {0}
|
||||||
|
run: |
|
||||||
|
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
|
||||||
|
message("::set-output name=timestamp::${current_date}")
|
||||||
|
- name: ccache cache files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.ccache
|
||||||
|
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||||
|
restore-keys: ${{matrix.config}}-ccache-
|
||||||
|
- name: setup ccache
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ccache
|
||||||
|
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||||
|
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||||
|
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||||
|
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||||
|
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
||||||
|
ccache -s
|
||||||
|
ccache -z
|
||||||
|
|
||||||
|
- name: make ${{matrix.config}}
|
||||||
|
run: make ${{matrix.config}}
|
||||||
|
- name: ccache post-run
|
||||||
|
run: ccache -s
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
name: Compile Linux ARM64 Targets
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable'
|
||||||
|
- 'beta'
|
||||||
|
- 'release/*'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-aarch64:2022-08-12
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
config: [
|
||||||
|
scumaker_pilotpi_arm64,
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
|
||||||
|
- name: Prepare ccache timestamp
|
||||||
|
id: ccache_cache_timestamp
|
||||||
|
shell: cmake -P {0}
|
||||||
|
run: |
|
||||||
|
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
|
||||||
|
message("::set-output name=timestamp::${current_date}")
|
||||||
|
- name: ccache cache files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.ccache
|
||||||
|
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||||
|
restore-keys: ${{matrix.config}}-ccache-
|
||||||
|
- name: setup ccache
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ccache
|
||||||
|
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||||
|
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||||
|
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||||
|
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||||
|
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
||||||
|
ccache -s
|
||||||
|
ccache -z
|
||||||
|
|
||||||
|
- name: make ${{matrix.config}}
|
||||||
|
run: make ${{matrix.config}}
|
||||||
|
- name: ccache post-run
|
||||||
|
run: ccache -s
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
name: Compile Nuttx Targets
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable'
|
||||||
|
- 'beta'
|
||||||
|
- 'release/*'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-nuttx-focal:2022-08-12
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
config: [
|
||||||
|
airmind_mindpx-v2,
|
||||||
|
ark_can-flow,
|
||||||
|
ark_can-gps,
|
||||||
|
ark_can-rtk-gps,
|
||||||
|
ark_cannode,
|
||||||
|
ark_fmu-v6x,
|
||||||
|
ark_pi6x,
|
||||||
|
ark_septentrio-gps,
|
||||||
|
atl_mantis-edu,
|
||||||
|
av_x-v1,
|
||||||
|
bitcraze_crazyflie,
|
||||||
|
bitcraze_crazyflie21,
|
||||||
|
cuav_can-gps-v1,
|
||||||
|
cuav_nora,
|
||||||
|
cuav_x7pro,
|
||||||
|
cubepilot_cubeorange,
|
||||||
|
cubepilot_cubeorangeplus,
|
||||||
|
cubepilot_cubeyellow,
|
||||||
|
diatone_mamba-f405-mk2,
|
||||||
|
freefly_can-rtk-gps,
|
||||||
|
holybro_can-gps-v1,
|
||||||
|
holybro_durandal-v1,
|
||||||
|
holybro_kakutef7,
|
||||||
|
holybro_kakuteh7,
|
||||||
|
holybro_pix32v5,
|
||||||
|
matek_gnss-m9n-f4,
|
||||||
|
matek_h743,
|
||||||
|
matek_h743-mini,
|
||||||
|
matek_h743-slim,
|
||||||
|
modalai_fc-v1,
|
||||||
|
modalai_fc-v2,
|
||||||
|
mro_ctrl-zero-classic,
|
||||||
|
mro_ctrl-zero-f7,
|
||||||
|
mro_ctrl-zero-f7-oem,
|
||||||
|
mro_ctrl-zero-h7,
|
||||||
|
mro_ctrl-zero-h7-oem,
|
||||||
|
mro_pixracerpro,
|
||||||
|
mro_x21,
|
||||||
|
mro_x21-777,
|
||||||
|
nxp_fmuk66-e,
|
||||||
|
nxp_fmuk66-v3,
|
||||||
|
nxp_mr-canhubk3,
|
||||||
|
nxp_ucans32k146,
|
||||||
|
omnibus_f4sd,
|
||||||
|
px4_fmu-v2,
|
||||||
|
px4_fmu-v3,
|
||||||
|
px4_fmu-v4,
|
||||||
|
px4_fmu-v4pro,
|
||||||
|
px4_fmu-v5,
|
||||||
|
px4_fmu-v5x,
|
||||||
|
px4_fmu-v6c,
|
||||||
|
px4_fmu-v6u,
|
||||||
|
px4_fmu-v6x,
|
||||||
|
px4_fmu-v6xrt,
|
||||||
|
raspberrypi_pico,
|
||||||
|
sky-drones_smartap-airlink,
|
||||||
|
spracing_h7extreme,
|
||||||
|
uvify_core,
|
||||||
|
siyi_n7
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
|
||||||
|
- name: Prepare ccache timestamp
|
||||||
|
id: ccache_cache_timestamp
|
||||||
|
shell: cmake -P {0}
|
||||||
|
run: |
|
||||||
|
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
|
||||||
|
message("::set-output name=timestamp::${current_date}")
|
||||||
|
- name: ccache cache files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.ccache
|
||||||
|
key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||||
|
restore-keys: ${{matrix.config}}-ccache-
|
||||||
|
- name: setup ccache
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ccache
|
||||||
|
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||||
|
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||||
|
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||||
|
echo "max_size = 120M" >> ~/.ccache/ccache.conf
|
||||||
|
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
||||||
|
ccache -s
|
||||||
|
ccache -z
|
||||||
|
|
||||||
|
- name: make all_variants_${{matrix.config}}
|
||||||
|
run: make all_variants_${{matrix.config}}
|
||||||
|
timeout-minutes: 45
|
||||||
|
- name: make ${{matrix.config}} bloaty_compileunits
|
||||||
|
run: make ${{matrix.config}} bloaty_compileunits || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_inlines
|
||||||
|
run: make ${{matrix.config}} bloaty_inlines || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_segments
|
||||||
|
run: make ${{matrix.config}} bloaty_segments || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_symbols
|
||||||
|
run: make ${{matrix.config}} bloaty_symbols || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_templates
|
||||||
|
run: make ${{matrix.config}} bloaty_templates || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_ram
|
||||||
|
run: make ${{matrix.config}} bloaty_ram || true
|
||||||
|
- name: make ${{matrix.config}} bloaty_compare_master
|
||||||
|
run: make ${{matrix.config}} bloaty_compare_master || true
|
||||||
|
- name: ccache post-run
|
||||||
|
run: ccache -s
|
||||||
|
|
||||||
|
- name: Upload px4 package
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: px4_package_${{matrix.config}}
|
||||||
|
path: |
|
||||||
|
build/**/*.px4
|
||||||
|
build/**/*.bin
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
name: Ubuntu environment build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
- 'stable'
|
|
||||||
- 'beta'
|
|
||||||
- 'release/**'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_test:
|
|
||||||
name: Build and Test
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
version: ['ubuntu:22.04', 'ubuntu:24.04']
|
|
||||||
runs-on: [runs-on,runner=8cpu-linux-x64,"image=ubuntu24-full-x64","run-id=${{ github.run_id }}",spot=false]
|
|
||||||
container:
|
|
||||||
image: ${{ matrix.version }}
|
|
||||||
volumes:
|
|
||||||
- /github/workspace:/github/workspace
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- name: Fix git in container
|
|
||||||
run: |
|
|
||||||
# we only need this because we are running the job in a container
|
|
||||||
# when checkout pulls git it does it in a shared volume
|
|
||||||
# and file ownership changes between steps
|
|
||||||
# first we install git since its missing from the base image
|
|
||||||
# then we mark the directory as safe for other instances
|
|
||||||
# of git to use.
|
|
||||||
apt update && apt install git -y
|
|
||||||
git config --global --add safe.directory $(realpath .)
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install Deps, Build, and Make Quick Check
|
|
||||||
run: |
|
|
||||||
# we need to install dependencies and build on the same step
|
|
||||||
# given the stateless nature of docker images
|
|
||||||
./Tools/setup/ubuntu.sh
|
|
||||||
make quick_check
|
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
name: Deploy metadata for all targets
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'release/*'
|
||||||
|
- 'pr-metadata-test'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
enumerate_targets:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
outputs:
|
||||||
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
- id: set-matrix
|
||||||
|
run: echo "::set-output name=matrix::$(./Tools/generate_board_targets_json.py)"
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: enumerate_targets
|
||||||
|
strategy:
|
||||||
|
matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{secrets.ACCESS_TOKEN}}
|
||||||
|
|
||||||
|
- name: ownership workaround
|
||||||
|
run: git config --system --add safe.directory '*'
|
||||||
|
|
||||||
|
- name: make ${{matrix.target}}
|
||||||
|
run: make ${{matrix.target}}
|
||||||
|
|
||||||
|
- name: parameter & events metadata
|
||||||
|
run: |
|
||||||
|
make ${{matrix.target}} ver_gen events_json actuators_json
|
||||||
|
./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV
|
||||||
|
cd build/${{ matrix.target }}
|
||||||
|
mkdir _metadata || true
|
||||||
|
cp parameters.* events/*.xz actuators.json* _metadata
|
||||||
|
|
||||||
|
- uses: jakejarvis/s3-sync-action@master
|
||||||
|
with:
|
||||||
|
args: --acl public-read
|
||||||
|
env:
|
||||||
|
AWS_S3_BUCKET: 'px4-travis'
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
AWS_REGION: 'us-west-1'
|
||||||
|
SOURCE_DIR: 'build/${{ matrix.target }}/_metadata/'
|
||||||
|
DEST_DIR: 'Firmware/${{ env.version }}/${{ matrix.target }}/'
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
|
|
||||||
name: Container build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
- 'stable'
|
|
||||||
- 'beta'
|
|
||||||
- 'release/**'
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build and Push Container
|
|
||||||
runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-tags: true
|
|
||||||
submodules: false
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v5
|
|
||||||
with:
|
|
||||||
images: |
|
|
||||||
ghcr.io/PX4/px4-dev
|
|
||||||
px4io/px4-dev
|
|
||||||
tags: |
|
|
||||||
type=schedule
|
|
||||||
type=semver,pattern={{version}}
|
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
|
||||||
type=semver,pattern={{major}}
|
|
||||||
type=ref,event=branch,suffix=-{{date 'YYYYMMDD'}},priority=600
|
|
||||||
type=ref,event=branch,suffix=,priority=500
|
|
||||||
type=ref,event=pr
|
|
||||||
type=sha
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Build and load container image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
id: docker
|
|
||||||
with:
|
|
||||||
context: Tools/setup
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
load: true
|
|
||||||
push: false
|
|
||||||
cache-from: type=s3,blobs_prefix=cache/${{ github.repository }}/,manifests_prefix=cache/${{ github.repository }}/,region=${{ env.RUNS_ON_AWS_REGION }},bucket=${{ env.RUNS_ON_S3_BUCKET_CACHE }}
|
|
||||||
cache-to: type=s3,blobs_prefix=cache/${{ github.repository }}/,manifests_prefix=cache/${{ github.repository }}/,region=${{ env.RUNS_ON_AWS_REGION }},bucket=${{ env.RUNS_ON_S3_BUCKET_CACHE }},mode=max
|
|
||||||
|
|
||||||
- name: Get Tag Name
|
|
||||||
id: tag_name
|
|
||||||
run: |
|
|
||||||
echo "::set-output name=tag_name::$(echo '${{ fromJSON(steps.docker.outputs.metadata)['image.name'] }}' | sed 's/,.*$//')"
|
|
||||||
|
|
||||||
- name: make quick_check
|
|
||||||
uses: addnab/docker-run-action@v3
|
|
||||||
with:
|
|
||||||
image: ${{ steps.tag_name.outputs.tag_name }}
|
|
||||||
options: -v ${{ github.workspace }}:/workspace
|
|
||||||
run: |
|
|
||||||
cd /workspace
|
|
||||||
git config --global --add safe.directory /workspace
|
|
||||||
make px4_sitl_default
|
|
||||||
make px4_fmu-v6x_default
|
|
||||||
|
|
||||||
- name: Push container image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
context: Tools/setup
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
provenance: mode=max
|
|
||||||
push: true
|
|
||||||
cache-from: type=s3,blobs_prefix=cache/${{ github.repository }}/,manifests_prefix=cache/${{ github.repository }}/,region=${{ env.RUNS_ON_AWS_REGION }},bucket=${{ env.RUNS_ON_S3_BUCKET_CACHE }}
|
|
||||||
cache-to: type=s3,blobs_prefix=cache/${{ github.repository }}/,manifests_prefix=cache/${{ github.repository }}/,region=${{ env.RUNS_ON_AWS_REGION }},bucket=${{ env.RUNS_ON_S3_BUCKET_CACHE }},mode=max
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
name: FLASH usage analysis
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
analyze_flash:
|
|
||||||
name: Analyzing ${{ matrix.target }}
|
|
||||||
runs-on: [runs-on,runner=8cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
container:
|
|
||||||
image: px4io/px4-dev-nuttx-focal
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
target: [px4_fmu-v5x, px4_fmu-v6x]
|
|
||||||
outputs:
|
|
||||||
px4_fmu-v5x: ${{ steps.gen-output.outputs.output_px4_fmu-v5x }}
|
|
||||||
px4_fmu-v6x: ${{ steps.gen-output.outputs.output_px4_fmu-v6x }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Git ownership workaround
|
|
||||||
run: git config --system --add safe.directory '*'
|
|
||||||
|
|
||||||
- name: Build Target
|
|
||||||
run: make ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Store the ELF with the change
|
|
||||||
run: cp ./build/${{ matrix.target }}_default/${{ matrix.target }}_default.elf ./with-change.elf
|
|
||||||
|
|
||||||
- name: Clean previous build
|
|
||||||
run: |
|
|
||||||
make clean
|
|
||||||
make distclean
|
|
||||||
|
|
||||||
- name: If it's a PR checkout the base commit
|
|
||||||
if: ${{ github.event.pull_request }}
|
|
||||||
run: git checkout ${{ github.event.pull_request.base.sha }}
|
|
||||||
|
|
||||||
- name: If it's a push checkout the previous commit
|
|
||||||
if: github.event_name == 'push'
|
|
||||||
run: git checkout ${{ github.event.before }}
|
|
||||||
|
|
||||||
- name: Update submodules
|
|
||||||
run: make submodulesupdate
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: make ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Store the ELF before the change
|
|
||||||
run: cp ./build/${{ matrix.target }}_default/${{ matrix.target }}_default.elf ./before-change.elf
|
|
||||||
|
|
||||||
- name: bloaty-action
|
|
||||||
uses: carlosperate/bloaty-action@v1.1.0
|
|
||||||
id: bloaty-step
|
|
||||||
with:
|
|
||||||
bloaty-args: -d sections,compileunits -n 0 ./with-change.elf -- ./before-change.elf
|
|
||||||
output-to-summary: true
|
|
||||||
|
|
||||||
- name: Generate output
|
|
||||||
id: gen-output
|
|
||||||
run: |
|
|
||||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
|
||||||
echo "output_${{ matrix.target }}<<$EOF" >> $GITHUB_OUTPUT
|
|
||||||
echo "${{ steps.bloaty-step.outputs.bloaty-output-encoded }}" >> $GITHUB_OUTPUT
|
|
||||||
echo "$EOF" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
post_pr_comment:
|
|
||||||
name: Publish Results
|
|
||||||
runs-on: [runs-on,runner=1cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
needs: [analyze_flash]
|
|
||||||
if: ${{ github.event.pull_request }}
|
|
||||||
steps:
|
|
||||||
- name: Find Comment
|
|
||||||
uses: peter-evans/find-comment@v3
|
|
||||||
id: fc
|
|
||||||
with:
|
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
|
||||||
comment-author: 'github-actions[bot]'
|
|
||||||
body-includes: FLASH Analysis
|
|
||||||
|
|
||||||
- name: Set Build Time
|
|
||||||
id: bt
|
|
||||||
run: |
|
|
||||||
echo "timestamp=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Create or update comment
|
|
||||||
uses: peter-evans/create-or-update-comment@v4
|
|
||||||
with:
|
|
||||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
|
||||||
body: |
|
|
||||||
## FLASH Analysis
|
|
||||||
<details>
|
|
||||||
<summary>px4_fmu-v5x</summary>
|
|
||||||
|
|
||||||
```
|
|
||||||
${{ needs.analyze_flash.outputs.px4_fmu-v5x }}
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>px4_fmu-v6x</summary>
|
|
||||||
|
|
||||||
```
|
|
||||||
${{ needs.analyze_flash.outputs.px4_fmu-v6x }}
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
**Updated: _${{ steps.bt.outputs.timestamp }}_**
|
|
||||||
edit-mode: replace
|
|
||||||
@@ -11,8 +11,6 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
|
||||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -88,7 +86,7 @@ jobs:
|
|||||||
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
||||||
- name: Upload px4 coredump
|
- name: Upload px4 coredump
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2-preview
|
||||||
with:
|
with:
|
||||||
name: coredump
|
name: coredump
|
||||||
path: px4.core
|
path: px4.core
|
||||||
@@ -103,21 +101,21 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload px4 binary
|
- name: Upload px4 binary
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: binary
|
name: binary
|
||||||
path: build/px4_sitl_default/bin/px4
|
path: build/px4_sitl_default/bin/px4
|
||||||
|
|
||||||
- name: Store PX4 log
|
- name: Store PX4 log
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: px4_log
|
name: px4_log
|
||||||
path: ~/.ros/log/*/*.ulg
|
path: ~/.ros/log/*/*.ulg
|
||||||
|
|
||||||
- name: Store ROS log
|
- name: Store ROS log
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: ros_log
|
name: ros_log
|
||||||
path: ~/.ros/**/rostest-*.log
|
path: ~/.ros/**/rostest-*.log
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
|
||||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -83,7 +81,7 @@ jobs:
|
|||||||
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
||||||
- name: Upload px4 coredump
|
- name: Upload px4 coredump
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2-preview
|
||||||
with:
|
with:
|
||||||
name: coredump
|
name: coredump
|
||||||
path: px4.core
|
path: px4.core
|
||||||
@@ -98,21 +96,21 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload px4 binary
|
- name: Upload px4 binary
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: binary
|
name: binary
|
||||||
path: build/px4_sitl_default/bin/px4
|
path: build/px4_sitl_default/bin/px4
|
||||||
|
|
||||||
- name: Store PX4 log
|
- name: Store PX4 log
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: px4_log
|
name: px4_log
|
||||||
path: ~/.ros/log/*/*.ulg
|
path: ~/.ros/log/*/*.ulg
|
||||||
|
|
||||||
- name: Store ROS log
|
- name: Store ROS log
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: ros_log
|
name: ros_log
|
||||||
path: ~/.ros/**/rostest-*.log
|
path: ~/.ros/**/rostest-*.log
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
name: Metadata
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'release/*'
|
||||||
|
- 'pr-metadata-test'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
airframe:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: airframe metadata
|
||||||
|
run: |
|
||||||
|
make airframe_metadata
|
||||||
|
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
|
||||||
|
cd build/px4_sitl_default/docs
|
||||||
|
# TODO: deploy to userguide gitbook
|
||||||
|
|
||||||
|
- uses: jakejarvis/s3-sync-action@master
|
||||||
|
with:
|
||||||
|
args: --acl public-read
|
||||||
|
env:
|
||||||
|
AWS_S3_BUCKET: 'px4-travis'
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
AWS_REGION: 'us-west-1'
|
||||||
|
SOURCE_DIR: 'build/px4_sitl_default/docs/'
|
||||||
|
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
|
||||||
|
|
||||||
|
module:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: module documentation
|
||||||
|
run: |
|
||||||
|
make module_documentation
|
||||||
|
cd build/px4_sitl_default/docs
|
||||||
|
ls -ls *
|
||||||
|
# TODO: deploy to userguide gitbook and s3
|
||||||
|
|
||||||
|
parameter:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: parameter metadata
|
||||||
|
run: |
|
||||||
|
make parameters_metadata
|
||||||
|
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- uses: jakejarvis/s3-sync-action@master
|
||||||
|
with:
|
||||||
|
args: --acl public-read
|
||||||
|
env:
|
||||||
|
AWS_S3_BUCKET: 'px4-travis'
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
AWS_REGION: 'us-west-1'
|
||||||
|
SOURCE_DIR: 'build/px4_sitl_default/docs/'
|
||||||
|
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
|
||||||
|
|
||||||
|
events:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: events metadata
|
||||||
|
run: |
|
||||||
|
make extract_events
|
||||||
|
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
|
||||||
|
cd build/px4_sitl_default
|
||||||
|
mkdir _events_full || true
|
||||||
|
cp events/all_events_full.json.xz _events_full/all_events.json.xz
|
||||||
|
|
||||||
|
- uses: jakejarvis/s3-sync-action@master
|
||||||
|
with:
|
||||||
|
args: --acl public-read
|
||||||
|
env:
|
||||||
|
AWS_S3_BUCKET: 'px4-travis'
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
AWS_REGION: 'us-west-1'
|
||||||
|
SOURCE_DIR: 'build/px4_sitl_default/_events_full/'
|
||||||
|
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
|
||||||
|
|
||||||
|
uorb_graph:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-nuttx-focal:2022-08-12
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: uORB graph
|
||||||
|
run: |
|
||||||
|
make uorb_graphs
|
||||||
|
cd Tools/uorb_graph
|
||||||
|
ls -ls *
|
||||||
|
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
|
||||||
|
|
||||||
|
ROS2_msgs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: px4io/px4-dev-base-focal:2021-09-08
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
- name: PX4 ROS2 msgs
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/PX4/px4_msgs.git
|
||||||
|
rm px4_msgs/msg/*.msg
|
||||||
|
rm px4_msgs/srv/*.srv
|
||||||
|
cp msg/*.msg px4_msgs/msg/
|
||||||
|
cp srv/*.srv px4_msgs/srv/
|
||||||
@@ -10,7 +10,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
@@ -18,7 +18,7 @@ jobs:
|
|||||||
- name: Install Python3
|
- name: Install Python3
|
||||||
run: sudo apt-get install python3 python3-setuptools python3-pip -y
|
run: sudo apt-get install python3 python3-setuptools python3-pip -y
|
||||||
- name: Install tools
|
- name: Install tools
|
||||||
run: python3 -m pip install mypy types-requests flake8 --break-system-packages
|
run: pip3 install --user mypy types-requests flake8
|
||||||
- name: Check MAVSDK test scripts with mypy
|
- name: Check MAVSDK test scripts with mypy
|
||||||
run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
|
run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
|
||||||
- name: Check MAVSDK test scripts with flake8
|
- name: Check MAVSDK test scripts with flake8
|
||||||
|
|||||||
+106
-124
@@ -1,8 +1,3 @@
|
|||||||
# NOTE: this workflow is now running on Dronecode / PX4 AWS account.
|
|
||||||
# - If you want to keep the tests running in GitHub Actions you need to uncomment the "runs-on: ubuntu-latest" lines
|
|
||||||
# and comment the "runs-on: [runs-on,runner=..." lines.
|
|
||||||
# - If you would like to duplicate this setup try setting up "RunsOn" on your own AWS account try https://runs-on.com
|
|
||||||
|
|
||||||
name: SITL Tests
|
name: SITL Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -15,139 +10,126 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Testing PX4 ${{ matrix.config.model }}
|
runs-on: ubuntu-latest
|
||||||
runs-on: [runs-on,runner=16cpu-linux-x64,image=ubuntu22-full-x64,"run-id=${{ github.run_id }}",spot=false]
|
|
||||||
container:
|
|
||||||
image: px4io/px4-dev-simulation-focal:2021-09-08
|
|
||||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
config:
|
config:
|
||||||
- {model: "iris", latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo" } # Alaska
|
- {model: "iris", latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo" } # Alaska
|
||||||
|
# - {model: "standard_vtol", latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "AddressSanitizer" } # Australia
|
||||||
- {model: "tailsitter" , latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo" } # Florida
|
- {model: "tailsitter" , latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo" } # Florida
|
||||||
- {model: "standard_vtol", latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage" } # Zurich
|
- {model: "standard_vtol", latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage" } # Zurich
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: px4io/px4-dev-simulation-focal:2021-09-08
|
||||||
|
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
|
|
||||||
- name: Git Ownership Workaround
|
- name: Download MAVSDK
|
||||||
run: git config --system --add safe.directory '*'
|
run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
|
||||||
|
- name: Install MAVSDK
|
||||||
|
run: dpkg -i "libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
|
||||||
|
|
||||||
- id: set-timestamp
|
- name: Prepare ccache timestamp
|
||||||
name: Set timestamp for cache
|
id: ccache_cache_timestamp
|
||||||
run: echo "::set-output name=timestamp::$(date +"%Y%m%d%H%M%S")"
|
shell: cmake -P {0}
|
||||||
|
run: |
|
||||||
|
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
|
||||||
|
message("::set-output name=timestamp::${current_date}")
|
||||||
|
- name: ccache cache files
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.ccache
|
||||||
|
key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||||
|
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
|
||||||
|
- name: setup ccache
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ccache
|
||||||
|
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||||
|
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||||
|
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||||
|
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||||
|
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
||||||
|
ccache -s
|
||||||
|
ccache -z
|
||||||
|
|
||||||
- name: Cache Key Config
|
- name: check environment
|
||||||
uses: actions/cache@v4
|
env:
|
||||||
with:
|
PX4_HOME_LAT: ${{matrix.config.latitude}}
|
||||||
path: ~/.ccache
|
PX4_HOME_LON: ${{matrix.config.longitude}}
|
||||||
key: sitl-ccache-${{ steps.set-timestamp.outputs.timestamp }}
|
PX4_HOME_ALT: ${{matrix.config.altitude}}
|
||||||
restore-keys: sitl-ccache-${{ steps.set-timestamp.outputs.timestamp }}
|
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||||
|
run: |
|
||||||
|
export
|
||||||
|
ulimit -a
|
||||||
|
- name: Build PX4
|
||||||
|
env:
|
||||||
|
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||||
|
run: make px4_sitl_default
|
||||||
|
- name: ccache post-run px4/firmware
|
||||||
|
run: ccache -s
|
||||||
|
- name: Build SITL Gazebo
|
||||||
|
env:
|
||||||
|
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||||
|
run: make px4_sitl_default sitl_gazebo-classic
|
||||||
|
- name: ccache post-run sitl_gazebo-classic
|
||||||
|
run: ccache -s
|
||||||
|
- name: Build MAVSDK tests
|
||||||
|
env:
|
||||||
|
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||||
|
DONT_RUN: 1
|
||||||
|
run: make px4_sitl_default sitl_gazebo-classic mavsdk_tests
|
||||||
|
- name: ccache post-run mavsdk_tests
|
||||||
|
run: ccache -s
|
||||||
|
|
||||||
- name: Cache Conf Config
|
- name: Core dump settings
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/.ccache
|
ulimit -c unlimited
|
||||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
|
||||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
|
||||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
|
||||||
echo "max_size = 120M" >> ~/.ccache/ccache.conf
|
|
||||||
echo "hash_dir = false" >> ~/.ccache/ccache.conf
|
|
||||||
ccache -s
|
|
||||||
ccache -z
|
|
||||||
|
|
||||||
- name: Build PX4
|
- name: Run SITL tests
|
||||||
env:
|
env:
|
||||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
PX4_HOME_LAT: ${{matrix.config.latitude}}
|
||||||
run: make px4_sitl_default
|
PX4_HOME_LON: ${{matrix.config.longitude}}
|
||||||
|
PX4_HOME_ALT: ${{matrix.config.altitude}}
|
||||||
|
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||||
|
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json --verbose
|
||||||
|
timeout-minutes: 45
|
||||||
|
|
||||||
- name: Cache Post-Run [px4_sitl_default]
|
- name: Look at core files
|
||||||
run: ccache -s
|
if: failure()
|
||||||
|
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
||||||
|
- name: Upload px4 coredump
|
||||||
|
if: failure()
|
||||||
|
uses: actions/upload-artifact@v2-preview
|
||||||
|
with:
|
||||||
|
name: coredump
|
||||||
|
path: px4.core
|
||||||
|
|
||||||
- name: Build SITL Gazebo
|
- name: Upload px4 binary
|
||||||
env:
|
if: failure()
|
||||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
uses: actions/upload-artifact@v2-preview
|
||||||
run: make px4_sitl_default sitl_gazebo-classic
|
with:
|
||||||
|
name: binary
|
||||||
|
path: build/px4_sitl_default/bin/px4
|
||||||
|
|
||||||
- name: Cache Post-Run [sitl_gazebo-classic]
|
# Report test coverage
|
||||||
run: ccache -s
|
- name: Upload coverage
|
||||||
|
if: contains(matrix.config.build_type, 'Coverage')
|
||||||
- name: Download MAVSDK
|
run: |
|
||||||
run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
|
git config --global credential.helper "" # disable the keychain credential helper
|
||||||
|
git config --global --add credential.helper store # enable the local store credential helper
|
||||||
- name: Install MAVSDK
|
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
|
||||||
run: dpkg -i "libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
|
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
|
||||||
|
mkdir -p coverage
|
||||||
- name: Check PX4 Environment Variables
|
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
|
||||||
env:
|
- name: Upload coverage information to Codecov
|
||||||
PX4_HOME_LAT: ${{matrix.config.latitude}}
|
if: contains(matrix.config.build_type, 'Coverage')
|
||||||
PX4_HOME_LON: ${{matrix.config.longitude}}
|
uses: codecov/codecov-action@v1
|
||||||
PX4_HOME_ALT: ${{matrix.config.altitude}}
|
with:
|
||||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
run: |
|
flags: mavsdk
|
||||||
export
|
file: coverage/lcov.info
|
||||||
ulimit -a
|
|
||||||
|
|
||||||
- name: Build PX4 / MAVSDK tests
|
|
||||||
env:
|
|
||||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
|
||||||
DONT_RUN: 1
|
|
||||||
run: make px4_sitl_default sitl_gazebo-classic mavsdk_tests
|
|
||||||
|
|
||||||
- name: Cache Post-Run [px4_sitl_default sitl_gazebo-classic mavsdk_tests]
|
|
||||||
run: ccache -s
|
|
||||||
|
|
||||||
- name: Core Dump Settings
|
|
||||||
run: |
|
|
||||||
ulimit -c unlimited
|
|
||||||
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
|
|
||||||
|
|
||||||
- name: Run SITL / MAVSDK Tests
|
|
||||||
env:
|
|
||||||
PX4_HOME_LAT: ${{matrix.config.latitude}}
|
|
||||||
PX4_HOME_LON: ${{matrix.config.longitude}}
|
|
||||||
PX4_HOME_ALT: ${{matrix.config.altitude}}
|
|
||||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
|
||||||
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 10 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json --verbose
|
|
||||||
timeout-minutes: 45
|
|
||||||
|
|
||||||
- name: Upload failed logs
|
|
||||||
if: failure()
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: failed-${{matrix.config.model}}-logs.zip
|
|
||||||
path: |
|
|
||||||
logs/**/**/**/*.log
|
|
||||||
logs/**/**/**/*.ulg
|
|
||||||
build/px4_sitl_default/tmp_mavsdk_tests/rootfs/*.ulg
|
|
||||||
|
|
||||||
- name: Look at Core files
|
|
||||||
if: failure() && ${{ hashFiles('px4.core') != '' }}
|
|
||||||
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
|
|
||||||
|
|
||||||
- name: Upload PX4 coredump
|
|
||||||
if: failure() && ${{ hashFiles('px4.core') != '' }}
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: coredump
|
|
||||||
path: px4.core
|
|
||||||
|
|
||||||
- name: Setup & Generate Coverage Report
|
|
||||||
if: contains(matrix.config.build_type, 'Coverage')
|
|
||||||
run: |
|
|
||||||
git config --global credential.helper "" # disable the keychain credential helper
|
|
||||||
git config --global --add credential.helper store # enable the local store credential helper
|
|
||||||
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
|
|
||||||
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
|
|
||||||
mkdir -p coverage
|
|
||||||
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
|
|
||||||
|
|
||||||
- name: Upload Coverage Information to Codecov
|
|
||||||
if: contains(matrix.config.build_type, 'Coverage')
|
|
||||||
uses: codecov/codecov-action@v4
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
flags: mavsdk
|
|
||||||
file: coverage/lcov.info
|
|
||||||
|
|||||||
+5
-11
@@ -2,6 +2,10 @@
|
|||||||
path = src/modules/mavlink/mavlink
|
path = src/modules/mavlink/mavlink
|
||||||
url = https://github.com/mavlink/mavlink.git
|
url = https://github.com/mavlink/mavlink.git
|
||||||
branch = master
|
branch = master
|
||||||
|
[submodule "src/drivers/uavcan/libuavcan"]
|
||||||
|
path = src/drivers/uavcan/libuavcan
|
||||||
|
url = https://github.com/dronecan/libuavcan.git
|
||||||
|
branch = main
|
||||||
[submodule "Tools/simulation/jmavsim/jMAVSim"]
|
[submodule "Tools/simulation/jmavsim/jMAVSim"]
|
||||||
path = Tools/simulation/jmavsim/jMAVSim
|
path = Tools/simulation/jmavsim/jMAVSim
|
||||||
url = https://github.com/PX4/jMAVSim.git
|
url = https://github.com/PX4/jMAVSim.git
|
||||||
@@ -67,7 +71,7 @@
|
|||||||
[submodule "src/modules/zenoh/zenoh-pico"]
|
[submodule "src/modules/zenoh/zenoh-pico"]
|
||||||
path = src/modules/zenoh/zenoh-pico
|
path = src/modules/zenoh/zenoh-pico
|
||||||
url = https://github.com/px4/zenoh-pico
|
url = https://github.com/px4/zenoh-pico
|
||||||
branch = dev/1.0.0-px4
|
branch = pr-zubf-werror-fix
|
||||||
[submodule "src/lib/heatshrink/heatshrink"]
|
[submodule "src/lib/heatshrink/heatshrink"]
|
||||||
path = src/lib/heatshrink/heatshrink
|
path = src/lib/heatshrink/heatshrink
|
||||||
url = https://github.com/PX4/heatshrink.git
|
url = https://github.com/PX4/heatshrink.git
|
||||||
@@ -79,13 +83,3 @@
|
|||||||
[submodule "boards/modalai/voxl2/libfc-sensor-api"]
|
[submodule "boards/modalai/voxl2/libfc-sensor-api"]
|
||||||
path = boards/modalai/voxl2/libfc-sensor-api
|
path = boards/modalai/voxl2/libfc-sensor-api
|
||||||
url = https://gitlab.com/voxl-public/voxl-sdk/core-libs/libfc-sensor-api.git
|
url = https://gitlab.com/voxl-public/voxl-sdk/core-libs/libfc-sensor-api.git
|
||||||
[submodule "src/drivers/actuators/vertiq_io/iq-module-communication-cpp"]
|
|
||||||
path = src/drivers/actuators/vertiq_io/iq-module-communication-cpp
|
|
||||||
url = https://github.com/PX4/iq-module-communication-cpp.git
|
|
||||||
branch = master
|
|
||||||
[submodule "src/drivers/uavcan/libdronecan/dsdl"]
|
|
||||||
path = src/drivers/uavcan/libdronecan/dsdl
|
|
||||||
url = https://github.com/PX4/DSDL.git
|
|
||||||
[submodule "src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan"]
|
|
||||||
path = src/drivers/uavcan/libdronecan/libuavcan/dsdl_compiler/pydronecan
|
|
||||||
url = https://github.com/dronecan/pydronecan
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
{
|
{
|
||||||
"name": "PX4 detect"
|
"name": "PX4 detect"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
Vendored
-60
@@ -111,11 +111,6 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: px4_fmu-v6xrt_bootloader
|
CONFIG: px4_fmu-v6xrt_bootloader
|
||||||
3dr_ctrl-zero-h7-oem-revg_default:
|
|
||||||
short: 3dr_ctrl-zero-h7-oem-revg
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: 3dr_ctrl-zero-h7-oem-revg_default
|
|
||||||
airmind_mindpx-v2_default:
|
airmind_mindpx-v2_default:
|
||||||
short: airmind_mindpx-v2
|
short: airmind_mindpx-v2
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@@ -186,16 +181,6 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: ark_fmu-v6x_default
|
CONFIG: ark_fmu-v6x_default
|
||||||
ark_fpv_bootloader:
|
|
||||||
short: ark_fpv_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_fpv_bootloader
|
|
||||||
ark_fpv_default:
|
|
||||||
short: ark_fpv_default
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_fpv_default
|
|
||||||
ark_pi6x_bootloader:
|
ark_pi6x_bootloader:
|
||||||
short: ark_pi6x_bootloader
|
short: ark_pi6x_bootloader
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@@ -241,11 +226,6 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: cuav_x7pro_default
|
CONFIG: cuav_x7pro_default
|
||||||
cuav_7-nano_default:
|
|
||||||
short: cuav_7-nano
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: cuav_7-nano_default
|
|
||||||
cubepilot_cubeorange_test:
|
cubepilot_cubeorange_test:
|
||||||
short: cubepilot_cubeorange
|
short: cubepilot_cubeorange
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@@ -301,21 +281,6 @@ CONFIG:
|
|||||||
buildType: MiniSizeRel
|
buildType: MiniSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: matek_gnss-m9n-f4_default
|
CONFIG: matek_gnss-m9n-f4_default
|
||||||
micoair_h743_default:
|
|
||||||
short: micoair_h743
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: micoair_h743_default
|
|
||||||
micoair_h743-aio_bootloader:
|
|
||||||
short: micoair_h743-aio_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: micoair_h743-aio_bootloader
|
|
||||||
micoair_h743-aio_default:
|
|
||||||
short: micoair_h743-aio
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: micoair_h743-aio_default
|
|
||||||
modalai_fc-v1_default:
|
modalai_fc-v1_default:
|
||||||
short: modalai_fc-v1
|
short: modalai_fc-v1
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@@ -366,33 +331,8 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: nxp_mr-canhubk3_fmu
|
CONFIG: nxp_mr-canhubk3_fmu
|
||||||
nxp_tropic-community_default:
|
|
||||||
short: nxp_tropic-community_default
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: nxp_tropic-community_default
|
|
||||||
raspberrypi_pico_default:
|
raspberrypi_pico_default:
|
||||||
short: raspberrypi_pico
|
short: raspberrypi_pico
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: raspberrypi_pico_default
|
CONFIG: raspberrypi_pico_default
|
||||||
zeroone_x6_default:
|
|
||||||
short: zeroone_x6
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: zeroone_x6_default
|
|
||||||
zeroone_x6_bootloader:
|
|
||||||
short: zeroone_x6_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: zeroone_x6_bootloader
|
|
||||||
x-mav_ap-h743v2_bootloader:
|
|
||||||
short: x-mav_ap-h743v2-boot
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: x-mav_ap-h743v2_bootloader
|
|
||||||
x-mav_ap-h743v2_default:
|
|
||||||
short: x-mav_ap-h743v2
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: x-mav_ap-h743v2_default
|
|
||||||
|
|||||||
+7
-23
@@ -113,20 +113,12 @@ include(px4_parse_function_args)
|
|||||||
include(px4_git)
|
include(px4_git)
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND git describe --exclude ext/* --tags --match "v[0-9]*"
|
COMMAND git describe --exclude ext/* --always --tags
|
||||||
OUTPUT_VARIABLE PX4_GIT_TAG
|
OUTPUT_VARIABLE PX4_GIT_TAG
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
RESULTS_VARIABLE GIT_DESCRIBE_RESULT
|
|
||||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
# if proper git tag unavilable default to v0.0.0
|
|
||||||
if(NOT ${GIT_DESCRIBE_RESULT} MATCHES "0")
|
|
||||||
set(PX4_GIT_TAG "v0.0.0")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "PX4_GIT_TAG: ${PX4_GIT_TAG}")
|
|
||||||
|
|
||||||
# git describe to X.Y.Z version
|
# git describe to X.Y.Z version
|
||||||
string(REPLACE "." ";" VERSION_LIST ${PX4_GIT_TAG})
|
string(REPLACE "." ";" VERSION_LIST ${PX4_GIT_TAG})
|
||||||
|
|
||||||
@@ -173,10 +165,9 @@ set(config_module_list)
|
|||||||
set(config_kernel_list)
|
set(config_kernel_list)
|
||||||
|
|
||||||
# Find Python
|
# Find Python
|
||||||
find_package(Python COMPONENTS Interpreter)
|
find_package(PythonInterp 3)
|
||||||
|
|
||||||
# We have a custom error message to tell users how to install python3.
|
# We have a custom error message to tell users how to install python3.
|
||||||
if(NOT Python_FOUND)
|
if(NOT PYTHONINTERP_FOUND)
|
||||||
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
|
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
|
||||||
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
|
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
|
||||||
" macOS: brew install python")
|
" macOS: brew install python")
|
||||||
@@ -185,7 +176,7 @@ endif()
|
|||||||
option(PYTHON_COVERAGE "Python code coverage" OFF)
|
option(PYTHON_COVERAGE "Python code coverage" OFF)
|
||||||
if(PYTHON_COVERAGE)
|
if(PYTHON_COVERAGE)
|
||||||
message(STATUS "python coverage enabled")
|
message(STATUS "python coverage enabled")
|
||||||
set(Python_EXECUTABLE coverage run -p)
|
set(PYTHON_EXECUTABLE coverage run -p)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(px4_config)
|
include(px4_config)
|
||||||
@@ -409,15 +400,8 @@ include(px4_add_gtest)
|
|||||||
if(BUILD_TESTING)
|
if(BUILD_TESTING)
|
||||||
include(gtest)
|
include(gtest)
|
||||||
|
|
||||||
# Ensure there's no -R without any filter expression since that trips newer ctest versions
|
|
||||||
if(TESTFILTER)
|
|
||||||
set(TESTFILTERARG "-R")
|
|
||||||
else()
|
|
||||||
set(TESTFILTERARG "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_custom_target(test_results
|
add_custom_target(test_results
|
||||||
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test ${TESTFILTERARG} ${TESTFILTER}
|
COMMAND GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND} --output-on-failure -T Test -R ${TESTFILTER} USES_TERMINAL
|
||||||
DEPENDS
|
DEPENDS
|
||||||
px4
|
px4
|
||||||
examples__dyn_hello
|
examples__dyn_hello
|
||||||
@@ -482,7 +466,7 @@ foreach(module ${config_module_list})
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${uorb_graph_config}
|
add_custom_command(OUTPUT ${uorb_graph_config}
|
||||||
COMMAND ${Python_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/uorb_graph/create.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/uorb_graph/create.py
|
||||||
${graph_module_list} --src-path src/lib
|
${graph_module_list} --src-path src/lib
|
||||||
--merge-depends
|
--merge-depends
|
||||||
--exclude-path src/examples
|
--exclude-path src/examples
|
||||||
@@ -503,7 +487,7 @@ include(package)
|
|||||||
|
|
||||||
# install python requirements using configured python
|
# install python requirements using configured python
|
||||||
add_custom_target(install_python_requirements
|
add_custom_target(install_python_requirements
|
||||||
COMMAND ${Python_EXECUTABLE} -m pip install --break-system-packages --requirement ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
COMMAND ${PYTHON_EXECUTABLE} -m pip install --break-system-packages --requirement ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
||||||
DEPENDS ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
DEPENDS ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -828,7 +828,7 @@ RECURSIVE = YES
|
|||||||
# Note that relative paths are relative to the directory from which doxygen is
|
# Note that relative paths are relative to the directory from which doxygen is
|
||||||
# run.
|
# run.
|
||||||
|
|
||||||
EXCLUDE = @CMAKE_SOURCE_DIR@/src/modules/uavcan/libdronecan \
|
EXCLUDE = @CMAKE_SOURCE_DIR@/src/modules/uavcan/libuavcan \
|
||||||
@CMAKE_SOURCE_DIR@/src/examples \
|
@CMAKE_SOURCE_DIR@/src/examples \
|
||||||
@CMAKE_SOURCE_DIR@/src/templates
|
@CMAKE_SOURCE_DIR@/src/templates
|
||||||
|
|
||||||
|
|||||||
@@ -185,17 +185,6 @@ menu "Serial ports"
|
|||||||
string "EXT2 tty port"
|
string "EXT2 tty port"
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "File paths"
|
|
||||||
|
|
||||||
config BOARD_ROOT_PATH
|
|
||||||
string "PX4 Root file path"
|
|
||||||
default "/fs/microsd"
|
|
||||||
|
|
||||||
config BOARD_PARAM_FILE
|
|
||||||
string "Parameter file"
|
|
||||||
default "/fs/mtd_params"
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
menu "drivers"
|
menu "drivers"
|
||||||
source "src/drivers/Kconfig"
|
source "src/drivers/Kconfig"
|
||||||
endmenu
|
endmenu
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ endif
|
|||||||
|
|
||||||
# Pick up specific Python path if set
|
# Pick up specific Python path if set
|
||||||
ifdef PYTHON_EXECUTABLE
|
ifdef PYTHON_EXECUTABLE
|
||||||
override CMAKE_ARGS += -DPython_EXECUTABLE=${PYTHON_EXECUTABLE}
|
override CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
@@ -324,13 +324,10 @@ px4io_update:
|
|||||||
git status
|
git status
|
||||||
|
|
||||||
bootloaders_update: \
|
bootloaders_update: \
|
||||||
3dr_ctrl-zero-h7-oem-revg_bootloader \
|
|
||||||
ark_fmu-v6x_bootloader \
|
ark_fmu-v6x_bootloader \
|
||||||
ark_fpv_bootloader \
|
|
||||||
ark_pi6x_bootloader \
|
ark_pi6x_bootloader \
|
||||||
cuav_nora_bootloader \
|
cuav_nora_bootloader \
|
||||||
cuav_x7pro_bootloader \
|
cuav_x7pro_bootloader \
|
||||||
cuav_7-nano_bootloader \
|
|
||||||
cubepilot_cubeorange_bootloader \
|
cubepilot_cubeorange_bootloader \
|
||||||
cubepilot_cubeorangeplus_bootloader \
|
cubepilot_cubeorangeplus_bootloader \
|
||||||
hkust_nxt-dual_bootloader \
|
hkust_nxt-dual_bootloader \
|
||||||
@@ -342,8 +339,6 @@ bootloaders_update: \
|
|||||||
matek_h743_bootloader \
|
matek_h743_bootloader \
|
||||||
matek_h743-mini_bootloader \
|
matek_h743-mini_bootloader \
|
||||||
matek_h743-slim_bootloader \
|
matek_h743-slim_bootloader \
|
||||||
micoair_h743_bootloader \
|
|
||||||
micoair_h743-aio_bootloader \
|
|
||||||
modalai_fc-v2_bootloader \
|
modalai_fc-v2_bootloader \
|
||||||
mro_ctrl-zero-classic_bootloader \
|
mro_ctrl-zero-classic_bootloader \
|
||||||
mro_ctrl-zero-h7_bootloader \
|
mro_ctrl-zero-h7_bootloader \
|
||||||
@@ -384,9 +379,9 @@ doxygen:
|
|||||||
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/doxygen
|
@$(PX4_MAKE) -C "$(SRC_DIR)"/build/doxygen
|
||||||
@touch "$(SRC_DIR)"/build/doxygen/Documentation/.nojekyll
|
@touch "$(SRC_DIR)"/build/doxygen/Documentation/.nojekyll
|
||||||
|
|
||||||
# Style
|
# Astyle
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
.PHONY: check_format format check_newlines
|
.PHONY: check_format format
|
||||||
|
|
||||||
check_format:
|
check_format:
|
||||||
$(call colorecho,'Checking formatting with astyle')
|
$(call colorecho,'Checking formatting with astyle')
|
||||||
@@ -397,10 +392,6 @@ format:
|
|||||||
$(call colorecho,'Formatting with astyle')
|
$(call colorecho,'Formatting with astyle')
|
||||||
@"$(SRC_DIR)"/Tools/astyle/check_code_style_all.sh --fix
|
@"$(SRC_DIR)"/Tools/astyle/check_code_style_all.sh --fix
|
||||||
|
|
||||||
check_newlines:
|
|
||||||
$(call colorecho,'Checking for missing or duplicate newlines at the end of files')
|
|
||||||
@"$(SRC_DIR)"/Tools/astyle/check_newlines.sh
|
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
.PHONY: tests tests_coverage tests_mission tests_mission_coverage tests_offboard tests_avoidance
|
.PHONY: tests tests_coverage tests_mission tests_mission_coverage tests_offboard tests_avoidance
|
||||||
@@ -554,14 +545,14 @@ distclean:
|
|||||||
# All other targets are handled by PX4_MAKE. Add a rule here to avoid printing an error.
|
# All other targets are handled by PX4_MAKE. Add a rule here to avoid printing an error.
|
||||||
%:
|
%:
|
||||||
$(if $(filter $(FIRST_ARG),$@), \
|
$(if $(filter $(FIRST_ARG),$@), \
|
||||||
$(error "Make target $@ not found. It either does not exist or $@ cannot be the first argument. Use '$(MAKE) list_config_targets' to get a list of all possible [configuration] targets."),@#)
|
$(error "Make target $@ not found. It either does not exist or $@ cannot be the first argument. Use '$(MAKE) help|list_config_targets' to get a list of all possible [configuration] targets."),@#)
|
||||||
|
|
||||||
# Print a list of non-config targets (based on http://stackoverflow.com/a/26339924/1487069)
|
# Print a list of non-config targets (based on http://stackoverflow.com/a/26339924/1487069)
|
||||||
help:
|
help:
|
||||||
@echo "Usage: $(MAKE) <target>"
|
@echo "Usage: $(MAKE) <target>"
|
||||||
@echo "Where <target> is one of:"
|
@echo "Where <target> is one of:"
|
||||||
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | \
|
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | \
|
||||||
awk -v RS= -F: '/(^|\n)# Files(\n|$$)/,/(^|\n)# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | \
|
awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | \
|
||||||
egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(Makefile)'
|
egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(Makefile)'
|
||||||
@echo
|
@echo
|
||||||
@echo "Or, $(MAKE) <config_target> [<make_target(s)>]"
|
@echo "Or, $(MAKE) <config_target> [<make_target(s)>]"
|
||||||
|
|||||||
@@ -63,9 +63,8 @@ Note: This is the source of truth for the active maintainers of PX4 ecosystem.
|
|||||||
| Multirotor | [Matthias Grob](https://github.com/MaEtUgR) |
|
| Multirotor | [Matthias Grob](https://github.com/MaEtUgR) |
|
||||||
| Fixed Wing | [Thomas Stastny](https://github.com/tstastny) |
|
| Fixed Wing | [Thomas Stastny](https://github.com/tstastny) |
|
||||||
| Hybrid VTOL | [Silvan Fuhrer](https://github.com/sfuhrer) |
|
| Hybrid VTOL | [Silvan Fuhrer](https://github.com/sfuhrer) |
|
||||||
| Rover | [Christian Friedrich](https://github.com/chfriedrich98) |
|
|
||||||
| Boat | x |
|
| Boat | x |
|
||||||
|
| Rover | x |
|
||||||
|
|
||||||
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github). However it may be not up to date.
|
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github). However it may be not up to date.
|
||||||
|
|
||||||
@@ -104,7 +103,7 @@ These boards fully comply with Pixhawk Standard, and are maintained by the PX4-A
|
|||||||
|
|
||||||
These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.
|
These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.
|
||||||
|
|
||||||
* [ARK Electronics ARKV6X](https://docs.px4.io/main/en/flight_controller/ark_v6x.html)
|
* [ARK Electronics ARKV6X](https://docs.px4.io/main/en/flight_controller/arkv6x.html)
|
||||||
* [CubePilot Cube Orange+](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orangeplus.html)
|
* [CubePilot Cube Orange+](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orangeplus.html)
|
||||||
* [CubePilot Cube Orange](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orange.html)
|
* [CubePilot Cube Orange](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orange.html)
|
||||||
* [CubePilot Cube Yellow](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_yellow.html)
|
* [CubePilot Cube Yellow](https://docs.px4.io/main/en/flight_controller/cubepilot_cube_yellow.html)
|
||||||
@@ -119,7 +118,7 @@ These boards don't fully comply industry standards, and thus is solely maintaine
|
|||||||
|
|
||||||
### Experimental
|
### Experimental
|
||||||
|
|
||||||
These boards are not maintained by PX4 team nor Manufacturer, and is not guaranteed to be compatible with up to date PX4 releases.
|
These boards are nor maintained by PX4 team nor Manufacturer, and is not guaranteed to be compatible with up to date PX4 releases.
|
||||||
|
|
||||||
* [Raspberry PI with Navio 2](https://docs.px4.io/main/en/flight_controller/raspberry_pi_navio2.html)
|
* [Raspberry PI with Navio 2](https://docs.px4.io/main/en/flight_controller/raspberry_pi_navio2.html)
|
||||||
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/main/en/complete_vehicles/crazyflie2.html)
|
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/main/en/complete_vehicles/crazyflie2.html)
|
||||||
|
|||||||
@@ -120,21 +120,17 @@ add_custom_command(
|
|||||||
${romfs_gen_root_dir}/init.d/rc.serial
|
${romfs_gen_root_dir}/init.d/rc.serial
|
||||||
${romfs_gen_root_dir}/init.d/rc.autostart
|
${romfs_gen_root_dir}/init.d/rc.autostart
|
||||||
${romfs_gen_root_dir}/init.d/rc.autostart.post
|
${romfs_gen_root_dir}/init.d/rc.autostart.post
|
||||||
${romfs_gen_root_dir}/init.d/rc.filepaths
|
|
||||||
${romfs_copy_stamp}
|
${romfs_copy_stamp}
|
||||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/*
|
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/*
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
|
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
|
||||||
COMMAND ${Python_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||||
--airframes-path ${romfs_gen_root_dir}/init.d
|
--airframes-path ${romfs_gen_root_dir}/init.d
|
||||||
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
|
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
|
||||||
--board ${PX4_BOARD}
|
--board ${PX4_BOARD}
|
||||||
COMMAND ${Python_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
|
||||||
--rc-dir ${romfs_gen_root_dir}/init.d
|
--rc-dir ${romfs_gen_root_dir}/init.d
|
||||||
--serial-ports ${board_serial_ports} ${added_arguments}
|
--serial-ports ${board_serial_ports} ${added_arguments}
|
||||||
--config-files ${module_config_files} #--verbose
|
--config-files ${module_config_files} #--verbose
|
||||||
COMMAND ${Python_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/filepaths/generate_config.py
|
|
||||||
--rc-dir ${romfs_gen_root_dir}/init.d
|
|
||||||
--params-file ${CONFIG_BOARD_PARAM_FILE}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_copy_stamp}
|
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_copy_stamp}
|
||||||
WORKING_DIRECTORY ${romfs_gen_root_dir}
|
WORKING_DIRECTORY ${romfs_gen_root_dir}
|
||||||
DEPENDS ${romfs_tar_file}
|
DEPENDS ${romfs_tar_file}
|
||||||
@@ -324,13 +320,12 @@ add_custom_target(romfs_gen_files_target
|
|||||||
DEPENDS
|
DEPENDS
|
||||||
${romfs_copy_stamp}
|
${romfs_copy_stamp}
|
||||||
${romfs_gen_root_dir}/init.d/rc.serial
|
${romfs_gen_root_dir}/init.d/rc.serial
|
||||||
${romfs_gen_root_dir}/init.d/rc.filepaths
|
|
||||||
romfs_extras.stamp
|
romfs_extras.stamp
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT romfs_pruned.stamp
|
OUTPUT romfs_pruned.stamp
|
||||||
COMMAND ${Python_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch romfs_pruned.stamp
|
COMMAND ${CMAKE_COMMAND} -E touch romfs_pruned.stamp
|
||||||
DEPENDS
|
DEPENDS
|
||||||
romfs_copy.stamp
|
romfs_copy.stamp
|
||||||
|
|||||||
@@ -21,14 +21,25 @@ set R /
|
|||||||
#
|
#
|
||||||
ver all
|
ver all
|
||||||
|
|
||||||
# Load param file location from kconfig
|
if mft query -q -k MTD -s MTD_PARAMETERS -v /fs/mtd_params
|
||||||
. ${R}etc/init.d/rc.filepaths
|
then
|
||||||
|
set PARAM_FILE /fs/mtd_params
|
||||||
|
fi
|
||||||
|
|
||||||
|
if mft query -q -k MTD -s MTD_PARAMETERS -v /dev/eeeprom0
|
||||||
|
then
|
||||||
|
set PARAM_FILE /dev/eeeprom0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if mft query -q -k MTD -s MTD_PARAMETERS -v /mnt/qspi/params
|
||||||
|
then
|
||||||
|
set PARAM_FILE /mnt/qspi/params
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Load parameters.
|
# Load parameters.
|
||||||
#
|
#
|
||||||
param select $PARAM_FILE
|
param select $PARAM_FILE
|
||||||
|
|
||||||
if ! param load
|
if ! param load
|
||||||
then
|
then
|
||||||
param reset_all
|
param reset_all
|
||||||
|
|||||||
@@ -29,3 +29,4 @@ param set-default PWM_MAIN_FUNC1 101
|
|||||||
param set-default PWM_MAIN_FUNC2 102
|
param set-default PWM_MAIN_FUNC2 102
|
||||||
param set-default PWM_MAIN_FUNC3 103
|
param set-default PWM_MAIN_FUNC3 103
|
||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
|
|||||||
@@ -30,3 +30,4 @@ param set-default PWM_MAIN_FUNC3 103
|
|||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
param set-default EKF2_RNG_A_HMAX 10
|
param set-default EKF2_RNG_A_HMAX 10
|
||||||
|
|
||||||
|
|||||||
@@ -94,3 +94,4 @@ param set-default CA_METHOD 0
|
|||||||
# disable attitude failure detection
|
# disable attitude failure detection
|
||||||
param set-default FD_FAIL_P 0
|
param set-default FD_FAIL_P 0
|
||||||
param set-default FD_FAIL_R 0
|
param set-default FD_FAIL_R 0
|
||||||
|
|
||||||
|
|||||||
@@ -12,3 +12,4 @@ param set-default PWM_MAIN_FUNC1 101
|
|||||||
param set-default PWM_MAIN_FUNC2 102
|
param set-default PWM_MAIN_FUNC2 102
|
||||||
param set-default PWM_MAIN_FUNC3 103
|
param set-default PWM_MAIN_FUNC3 103
|
||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ param set-default SENS_EN_MAGSIM 1
|
|||||||
# disable some checks to allow to fly:
|
# disable some checks to allow to fly:
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
# Square quadrotor X PX4 numbering
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ param set-default SENS_EN_ARSPDSIM 1
|
|||||||
param set-default CBRK_USB_CHK 197848
|
param set-default CBRK_USB_CHK 197848
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default SIH_T_MAX 6
|
param set-default SIH_T_MAX 6
|
||||||
param set-default SIH_MASS 0.3
|
param set-default SIH_MASS 0.3
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ param set-default MAV_TYPE 19
|
|||||||
# disable some checks to allow to fly:
|
# disable some checks to allow to fly:
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default SIH_T_MAX 2
|
param set-default SIH_T_MAX 2
|
||||||
param set-default SIH_Q_MAX 0.0165
|
param set-default SIH_Q_MAX 0.0165
|
||||||
|
|||||||
@@ -47,5 +47,5 @@ param set-default MPC_ALT_MODE 2
|
|||||||
|
|
||||||
param set-default SENS_FLOW_ROT 6
|
param set-default SENS_FLOW_ROT 6
|
||||||
param set-default SENS_FLOW_MINHGT 0.7
|
param set-default SENS_FLOW_MINHGT 0.7
|
||||||
param set-default SENS_FLOW_MAXHGT 15
|
param set-default SENS_FLOW_MAXHGT 3
|
||||||
param set-default SENS_FLOW_MAXR 2.5
|
param set-default SENS_FLOW_MAXR 2.5
|
||||||
|
|||||||
@@ -30,3 +30,4 @@ param set-default PWM_MAIN_FUNC3 103
|
|||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
param set-default LPE_FUSION 242
|
param set-default LPE_FUSION 242
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# @type Quadrotor Wide
|
# @type Quadrotor Wide
|
||||||
#
|
#
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/10015_gazebo-classic_iris
|
. ${R}etc/init.d-posix/airframes/10016_gazebo-classic_iris
|
||||||
|
|
||||||
# EKF2: Vision position and heading, no GPS
|
# EKF2: Vision position and heading, no GPS
|
||||||
param set-default EKF2_EV_DELAY 5
|
param set-default EKF2_EV_DELAY 5
|
||||||
@@ -18,3 +18,4 @@ param set-default LPE_FUSION 132
|
|||||||
|
|
||||||
# AEQ: External heading set to use vision input
|
# AEQ: External heading set to use vision input
|
||||||
param set-default ATT_EXT_HDG_M 1
|
param set-default ATT_EXT_HDG_M 1
|
||||||
|
|
||||||
|
|||||||
@@ -41,3 +41,4 @@ param set-default PWM_MAIN_FUNC1 101
|
|||||||
param set-default PWM_MAIN_FUNC2 102
|
param set-default PWM_MAIN_FUNC2 102
|
||||||
param set-default PWM_MAIN_FUNC3 103
|
param set-default PWM_MAIN_FUNC3 103
|
||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
|
|||||||
@@ -61,3 +61,4 @@ param set-default PWM_MAIN_FUNC5 105
|
|||||||
param set-default PWM_MAIN_FUNC6 106
|
param set-default PWM_MAIN_FUNC6 106
|
||||||
param set-default PWM_MAIN_FUNC7 107
|
param set-default PWM_MAIN_FUNC7 107
|
||||||
param set-default PWM_MAIN_FUNC8 108
|
param set-default PWM_MAIN_FUNC8 108
|
||||||
|
|
||||||
|
|||||||
@@ -68,3 +68,5 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ param set-default FW_T_SINK_MIN 2.2
|
|||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_LTRMIN_ALT 30
|
||||||
param set-default MIS_TAKEOFF_ALT 30
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ param set-default FW_T_SINK_MIN 2.2
|
|||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_LTRMIN_ALT 30
|
||||||
param set-default MIS_TAKEOFF_ALT 30
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
@@ -70,3 +71,4 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|||||||
@@ -55,3 +55,4 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|||||||
@@ -54,3 +54,4 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|||||||
@@ -55,3 +55,4 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|||||||
@@ -62,3 +62,4 @@ param set-default PWM_MAIN_FUNC7 202
|
|||||||
param set-default PWM_MAIN_FUNC8 203
|
param set-default PWM_MAIN_FUNC8 203
|
||||||
param set-default PWM_MAIN_FUNC9 206
|
param set-default PWM_MAIN_FUNC9 206
|
||||||
param set-default PWM_MAIN_REV 256
|
param set-default PWM_MAIN_REV 256
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ param set-default FW_T_SINK_MIN 2.2
|
|||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_LTRMIN_ALT 30
|
||||||
param set-default MIS_TAKEOFF_ALT 30
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ param set-default FW_RR_P 0.085
|
|||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_LTRMIN_ALT 30
|
||||||
param set-default MIS_TAKEOFF_ALT 20
|
param set-default MIS_TAKEOFF_ALT 20
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
|
|||||||
@@ -78,3 +78,4 @@ param set-default VT_FWD_THRUST_EN 4
|
|||||||
param set-default VT_FWD_THRUST_SC 1
|
param set-default VT_FWD_THRUST_SC 1
|
||||||
param set-default VT_F_TRANS_THR 0.75
|
param set-default VT_F_TRANS_THR 0.75
|
||||||
param set-default VT_TYPE 2
|
param set-default VT_TYPE 2
|
||||||
|
|
||||||
|
|||||||
@@ -75,3 +75,4 @@ param set-default VT_F_TRANS_DUR 1.5
|
|||||||
param set-default VT_TYPE 0
|
param set-default VT_TYPE 0
|
||||||
|
|
||||||
param set-default WV_EN 0
|
param set-default WV_EN 0
|
||||||
|
|
||||||
|
|||||||
@@ -88,3 +88,4 @@ param set-default PWM_MAIN_FUNC11 422
|
|||||||
param set-default RC_MAP_AUX1 8
|
param set-default RC_MAP_AUX1 8
|
||||||
param set-default RC_MAP_AUX2 9
|
param set-default RC_MAP_AUX2 9
|
||||||
param set-default RC_MAP_AUX3 10
|
param set-default RC_MAP_AUX3 10
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ param set-default FW_T_SINK_MIN 2.2
|
|||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_LTRMIN_ALT 30
|
||||||
param set-default MIS_TAKEOFF_ALT 30
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ param set-default PWM_MAIN_FUNC3 103
|
|||||||
param set-default PWM_MAIN_FUNC4 104
|
param set-default PWM_MAIN_FUNC4 104
|
||||||
param set-default PWM_MAIN_FUNC5 0
|
param set-default PWM_MAIN_FUNC5 0
|
||||||
|
|
||||||
param set-default FD_FAIL_R 70
|
parm set-default FD_FAIL_R 70
|
||||||
|
|
||||||
param set-default FW_P_TC 0.6
|
param set-default FW_P_TC 0.6
|
||||||
|
|
||||||
|
|||||||
@@ -31,3 +31,4 @@ param set-default PWM_MAIN_FUNC1 201
|
|||||||
param set-default PWM_MAIN_FUNC2 201
|
param set-default PWM_MAIN_FUNC2 201
|
||||||
param set-default PWM_MAIN_FUNC6 101
|
param set-default PWM_MAIN_FUNC6 101
|
||||||
param set-default PWM_MAIN_FUNC7 101
|
param set-default PWM_MAIN_FUNC7 101
|
||||||
|
|
||||||
|
|||||||
@@ -38,3 +38,4 @@ param set-default PWM_MAIN_FUNC1 201
|
|||||||
param set-default PWM_MAIN_FUNC2 201
|
param set-default PWM_MAIN_FUNC2 201
|
||||||
param set-default PWM_MAIN_FUNC6 101
|
param set-default PWM_MAIN_FUNC6 101
|
||||||
param set-default PWM_MAIN_FUNC7 101
|
param set-default PWM_MAIN_FUNC7 101
|
||||||
|
|
||||||
|
|||||||
@@ -41,3 +41,4 @@ param set-default CA_R_REV 3
|
|||||||
|
|
||||||
param set-default PWM_MAIN_FUNC1 101
|
param set-default PWM_MAIN_FUNC1 101
|
||||||
param set-default PWM_MAIN_FUNC2 102
|
param set-default PWM_MAIN_FUNC2 102
|
||||||
|
|
||||||
|
|||||||
@@ -64,3 +64,4 @@ param set-default PWM_MAIN_FUNC4 203
|
|||||||
param set-default PWM_MAIN_FUNC5 407
|
param set-default PWM_MAIN_FUNC5 407
|
||||||
param set-default PWM_MAIN_FUNC6 408
|
param set-default PWM_MAIN_FUNC6 408
|
||||||
param set-default PWM_MAIN_FUNC7 409
|
param set-default PWM_MAIN_FUNC7 409
|
||||||
|
|
||||||
|
|||||||
@@ -69,3 +69,4 @@ param set-default PWM_MAIN_FUNC4 203
|
|||||||
param set-default PWM_MAIN_FUNC5 407
|
param set-default PWM_MAIN_FUNC5 407
|
||||||
param set-default PWM_MAIN_FUNC6 408
|
param set-default PWM_MAIN_FUNC6 408
|
||||||
param set-default PWM_MAIN_FUNC7 409
|
param set-default PWM_MAIN_FUNC7 409
|
||||||
|
|
||||||
|
|||||||
@@ -36,3 +36,4 @@ param set-default PWM_MAIN_FUNC1 101
|
|||||||
param set-default PWM_MAIN_FUNC2 102
|
param set-default PWM_MAIN_FUNC2 102
|
||||||
param set-default PWM_MAIN_FUNC3 201
|
param set-default PWM_MAIN_FUNC3 201
|
||||||
param set-default PWM_MAIN_FUNC4 103
|
param set-default PWM_MAIN_FUNC4 103
|
||||||
|
|
||||||
|
|||||||
@@ -24,33 +24,33 @@ param set-default FW_LND_ANG 8
|
|||||||
param set-default NPFG_PERIOD 12
|
param set-default NPFG_PERIOD 12
|
||||||
|
|
||||||
param set-default FW_PR_P 0.9
|
param set-default FW_PR_P 0.9
|
||||||
param set-default FW_PR_FF 0.2
|
param set-default FW_PR_FF 0.5
|
||||||
param set-default FW_PR_I 0.5
|
param set-default FW_PR_I 0.5
|
||||||
param set-default TRIM_PITCH -0.15
|
param set-default TRIM_PITCH -0.15
|
||||||
|
|
||||||
param set-default FW_RR_FF 0.5
|
param set-default FW_PSP_OFF 2
|
||||||
param set-default FW_RR_P 0.4
|
|
||||||
param set-default FW_RR_I 0.7
|
|
||||||
|
|
||||||
param set-default FW_R_RMAX 56.15
|
|
||||||
|
|
||||||
param set-default FW_YR_FF 0.3
|
|
||||||
param set-default FW_YR_P 1.3
|
|
||||||
param set-default FW_YR_I 0.7
|
|
||||||
|
|
||||||
param set-default FW_PSP_OFF 0
|
|
||||||
param set-default FW_P_LIM_MIN -15
|
param set-default FW_P_LIM_MIN -15
|
||||||
|
|
||||||
|
param set-default FW_RR_FF 0.5
|
||||||
|
param set-default FW_RR_P 0.3
|
||||||
|
param set-default FW_RR_I 0.5
|
||||||
|
|
||||||
|
param set-default FW_YR_FF 0.5
|
||||||
|
param set-default FW_YR_P 0.6
|
||||||
|
param set-default FW_YR_I 0.5
|
||||||
|
|
||||||
param set-default FW_SPOILERS_LND 0.4
|
param set-default FW_SPOILERS_LND 0.4
|
||||||
|
|
||||||
param set-default FW_T_CLMB_MAX 5
|
param set-default FW_THR_MAX 0.6
|
||||||
param set-default FW_T_SINK_MAX 3.5
|
param set-default FW_THR_MIN 0.05
|
||||||
param set-default FW_T_SINK_MIN 3
|
param set-default FW_THR_TRIM 0.25
|
||||||
|
|
||||||
|
param set-default FW_T_CLMB_MAX 8
|
||||||
|
param set-default FW_T_SINK_MAX 2.7
|
||||||
|
param set-default FW_T_SINK_MIN 2.2
|
||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
param set-default FD_ESCS_EN 0
|
|
||||||
|
|
||||||
param set-default MIS_TAKEOFF_ALT 30
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ param set-default MPC_Z_VEL_P_ACC 5
|
|||||||
param set-default MPC_Z_VEL_I_ACC 3
|
param set-default MPC_Z_VEL_I_ACC 3
|
||||||
param set-default MPC_LAND_ALT1 3
|
param set-default MPC_LAND_ALT1 3
|
||||||
param set-default MPC_LAND_ALT2 1
|
param set-default MPC_LAND_ALT2 1
|
||||||
|
param set-default MPC_POS_MODE 3
|
||||||
param set-default CP_GO_NO_DATA 1
|
param set-default CP_GO_NO_DATA 1
|
||||||
|
|
||||||
# Navigator Parameters
|
# Navigator Parameters
|
||||||
@@ -96,6 +97,11 @@ param set-default IMU_GYRO_CUTOFF 100
|
|||||||
|
|
||||||
# Power Parameters
|
# Power Parameters
|
||||||
param set-default BAT1_N_CELLS 4
|
param set-default BAT1_N_CELLS 4
|
||||||
|
# param set-default BAT1_A_PER_V 36.364 Not found
|
||||||
|
# param set-default BAT1_V_DIV 18.182 Not found
|
||||||
|
|
||||||
|
# Circuit breakers
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default THR_MDL_FAC 0.3
|
param set-default THR_MDL_FAC 0.3
|
||||||
|
|
||||||
|
|||||||
@@ -16,36 +16,39 @@ param set-default SENS_EN_MAGSIM 1
|
|||||||
param set-default SENS_EN_ARSPDSIM 1
|
param set-default SENS_EN_ARSPDSIM 1
|
||||||
|
|
||||||
param set-default FW_LND_ANG 8
|
param set-default FW_LND_ANG 8
|
||||||
|
param set-default NPFG_PERIOD 12
|
||||||
|
|
||||||
param set-default FW_PR_FF 0.08
|
param set-default FW_MAN_P_MAX 30
|
||||||
param set-default FW_PR_I 0.3
|
param set-default FW_PR_P 0.9
|
||||||
param set-default FW_PR_P 0.08
|
param set-default FW_PR_FF 0.5
|
||||||
|
param set-default FW_PR_I 0.5
|
||||||
param set-default FW_RR_FF 0.05
|
|
||||||
param set-default FW_RR_I 0.2
|
|
||||||
param set-default FW_RR_P 0.03
|
|
||||||
|
|
||||||
param set-default FW_YR_FF 0.3
|
|
||||||
param set-default FW_YR_I 0.4
|
|
||||||
param set-default FW_YR_P 0.2
|
|
||||||
|
|
||||||
param set-default FW_PSP_OFF 2
|
param set-default FW_PSP_OFF 2
|
||||||
param set-default FW_P_LIM_MAX 32
|
param set-default FW_P_LIM_MAX 32
|
||||||
param set-default FW_P_LIM_MIN -15
|
param set-default FW_P_LIM_MIN -15
|
||||||
|
|
||||||
|
param set-default FW_RR_FF 0.5
|
||||||
|
param set-default FW_RR_P 0.3
|
||||||
|
param set-default FW_RR_I 0.5
|
||||||
|
|
||||||
|
param set-default FW_YR_FF 0.5
|
||||||
|
param set-default FW_YR_P 0.6
|
||||||
|
param set-default FW_YR_I 0.5
|
||||||
|
|
||||||
param set-default FW_SPOILERS_LND 0.4
|
param set-default FW_SPOILERS_LND 0.4
|
||||||
|
|
||||||
param set-default FW_THR_MIN 0.05
|
param set-default FW_THR_MIN 0.05
|
||||||
param set-default FW_THR_TRIM 0.25
|
param set-default FW_THR_TRIM 0.25
|
||||||
param set-default FW_THR_MAX 0.6
|
|
||||||
|
|
||||||
param set-default FW_T_CLMB_R_SP 5
|
param set-default FW_T_CLMB_MAX 8
|
||||||
param set-default FW_T_CLMB_MAX 6
|
|
||||||
param set-default FW_T_SINK_MAX 2.7
|
param set-default FW_T_SINK_MAX 2.7
|
||||||
param set-default FW_T_SINK_MIN 2.2
|
param set-default FW_T_SINK_MIN 2.2
|
||||||
|
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
|
param set-default MIS_TAKEOFF_ALT 30
|
||||||
|
|
||||||
|
param set-default NAV_ACC_RAD 15
|
||||||
param set-default NAV_DLL_ACT 2
|
param set-default NAV_DLL_ACT 2
|
||||||
|
|
||||||
param set-default RWTO_TKOFF 1
|
param set-default RWTO_TKOFF 1
|
||||||
@@ -53,6 +56,7 @@ param set-default RWTO_TKOFF 1
|
|||||||
param set-default CA_AIRFRAME 1
|
param set-default CA_AIRFRAME 1
|
||||||
|
|
||||||
param set-default CA_ROTOR_COUNT 1
|
param set-default CA_ROTOR_COUNT 1
|
||||||
|
param set-default CA_ROTOR0_PX 0.3
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 6
|
param set-default CA_SV_CS_COUNT 6
|
||||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||||
|
|||||||
@@ -6,51 +6,26 @@
|
|||||||
. ${R}etc/init.d/rc.rover_differential_defaults
|
. ${R}etc/init.d/rc.rover_differential_defaults
|
||||||
|
|
||||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
||||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
|
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover}
|
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover}
|
||||||
|
|
||||||
param set-default SIM_GZ_EN 1 # Gazebo bridge
|
param set-default SIM_GZ_EN 1 # Gazebo bridge
|
||||||
|
|
||||||
# Rover parameters
|
|
||||||
param set-default RD_WHEEL_TRACK 0.3
|
|
||||||
param set-default RD_MAX_ACCEL 5
|
|
||||||
param set-default RD_MAX_DECEL 10
|
|
||||||
param set-default RD_MAX_JERK 30
|
|
||||||
param set-default RD_MAX_THR_YAW_R 1.5
|
|
||||||
param set-default RD_YAW_RATE_P 0.25
|
|
||||||
param set-default RD_YAW_RATE_I 0.01
|
|
||||||
param set-default RD_YAW_P 5
|
|
||||||
param set-default RD_YAW_I 0.1
|
|
||||||
param set-default RD_MAX_SPEED 2
|
|
||||||
param set-default RD_MAX_THR_SPD 2.15
|
|
||||||
param set-default RD_SPEED_P 0.1
|
|
||||||
param set-default RD_SPEED_I 0.01
|
|
||||||
param set-default RD_MAX_YAW_RATE 180
|
|
||||||
param set-default RD_MISS_SPD_DEF 2
|
|
||||||
param set-default RD_TRANS_DRV_TRN 0.349066
|
|
||||||
param set-default RD_TRANS_TRN_DRV 0.174533
|
|
||||||
param set-default RD_MAX_YAW_ACCEL 1000
|
|
||||||
|
|
||||||
# Pure pursuit parameters
|
|
||||||
param set-default PP_LOOKAHD_MAX 30
|
|
||||||
param set-default PP_LOOKAHD_MIN 2
|
|
||||||
param set-default PP_LOOKAHD_GAIN 1
|
|
||||||
|
|
||||||
# Simulated sensors
|
# Simulated sensors
|
||||||
param set-default SENS_EN_GPSSIM 1
|
param set-default SENS_EN_GPSSIM 1
|
||||||
param set-default SENS_EN_BAROSIM 0
|
param set-default SENS_EN_BAROSIM 0
|
||||||
param set-default SENS_EN_MAGSIM 1
|
param set-default SENS_EN_MAGSIM 1
|
||||||
param set-default SENS_EN_ARSPDSIM 0
|
param set-default SENS_EN_ARSPDSIM 1
|
||||||
|
|
||||||
# Actuator mapping
|
# Actuator mapping
|
||||||
param set-default SIM_GZ_WH_FUNC1 101 # right wheel
|
param set-default SIM_GZ_WH_FUNC1 101 # right wheel
|
||||||
param set-default SIM_GZ_WH_MIN1 70
|
param set-default SIM_GZ_WH_MIN1 0
|
||||||
param set-default SIM_GZ_WH_MAX1 130
|
param set-default SIM_GZ_WH_MAX1 200
|
||||||
param set-default SIM_GZ_WH_DIS1 100
|
param set-default SIM_GZ_WH_DIS1 100
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
||||||
param set-default SIM_GZ_WH_MIN2 70
|
param set-default SIM_GZ_WH_MIN2 0
|
||||||
param set-default SIM_GZ_WH_MAX2 130
|
param set-default SIM_GZ_WH_MAX2 200
|
||||||
param set-default SIM_GZ_WH_DIS2 100
|
param set-default SIM_GZ_WH_DIS2 100
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_REV 1 # reverse right wheel
|
param set-default SIM_GZ_WH_REV 1 # reverse right wheel
|
||||||
|
|||||||
@@ -15,28 +15,14 @@ param set-default SIM_GZ_EN 1 # Gazebo bridge
|
|||||||
param set-default SENS_EN_GPSSIM 1
|
param set-default SENS_EN_GPSSIM 1
|
||||||
param set-default SENS_EN_BAROSIM 0
|
param set-default SENS_EN_BAROSIM 0
|
||||||
param set-default SENS_EN_MAGSIM 1
|
param set-default SENS_EN_MAGSIM 1
|
||||||
param set-default SENS_EN_ARSPDSIM 0
|
param set-default SENS_EN_ARSPDSIM 1
|
||||||
# We can arm and drive in manual mode when it slides and GPS check fails:
|
# We can arm and drive in manual mode when it slides and GPS check fails:
|
||||||
param set-default COM_ARM_WO_GPS 1
|
param set-default COM_ARM_WO_GPS 1
|
||||||
|
|
||||||
# Rover parameters
|
# Set Differential Drive Kinematics Library parameters:
|
||||||
param set-default RD_WHEEL_TRACK 0.9
|
param set RDD_WHEEL_BASE 0.9
|
||||||
param set-default RD_YAW_RATE_I 0.1
|
param set RDD_WHEEL_RADIUS 0.22
|
||||||
param set-default RD_YAW_RATE_P 5
|
param set RDD_WHEEL_SPEED 10.0 # Maximum wheel speed rad/s, approx 8 km/h
|
||||||
param set-default RD_MAX_ACCEL 1
|
|
||||||
param set-default RD_MAX_JERK 3
|
|
||||||
param set-default RD_MAX_SPEED 8
|
|
||||||
param set-default RD_YAW_P 5
|
|
||||||
param set-default RD_YAW_I 0.1
|
|
||||||
param set-default RD_MAX_YAW_RATE 30
|
|
||||||
param set-default RD_MISS_SPD_DEF 8
|
|
||||||
param set-default RD_TRANS_DRV_TRN 0.349066
|
|
||||||
param set-default RD_TRANS_TRN_DRV 0.174533
|
|
||||||
|
|
||||||
# Pure pursuit parameters
|
|
||||||
param set-default PP_LOOKAHD_MAX 30
|
|
||||||
param set-default PP_LOOKAHD_MIN 2
|
|
||||||
param set-default PP_LOOKAHD_GAIN 1
|
|
||||||
|
|
||||||
# Actuator mapping - set SITL motors/servos output parameters:
|
# Actuator mapping - set SITL motors/servos output parameters:
|
||||||
|
|
||||||
@@ -50,14 +36,14 @@ param set-default SIM_GZ_WH_FUNC1 101 # right wheel
|
|||||||
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
||||||
#param set-default SIM_GZ_WH_MIN2 0
|
#param set-default SIM_GZ_WH_MIN2 0
|
||||||
#param set-default SIM_GZ_WH_MAX2 200
|
#param set-default SIM_GZ_WH_MAX2 200
|
||||||
#param set-default SIM_GZ_WH_DIS2 100
|
#aram set-default SIM_GZ_WH_DIS2 100
|
||||||
#param set-default SIM_GZ_WH_FAIL2 100
|
#param set-default SIM_GZ_WH_FAIL2 100
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_REV 0 # no need to reverse any wheels
|
param set-default SIM_GZ_WH_REV 0 # no need to reverse any wheels
|
||||||
|
|
||||||
# Note: The servo configurations ( SIM_GZ_SV_FUNC*) outlined below are intended for educational purposes in this simulation.
|
# Note: The servo configurations ( SIM_GZ_SV_FUNC*) outlined below are intended for educational purposes in this simulation.
|
||||||
# They do not have physical effects in the simulated environment, except for actuating the joints. Their definitions are meant to demonstrate
|
# They do not have physical effects in the simulated environment, except for actuating the joints. Their definitions are meant to demonstrate
|
||||||
# how actuators could be mapped and configured in a real-world application, providing a foundation for understanding and implementing actuator
|
# how actuators could be mapped and configured in a real-world application, providing a foundation for understanding and implementing actuator
|
||||||
# controls in practical scenarios.
|
# controls in practical scenarios.
|
||||||
|
|
||||||
# Cutter deck blades clutch, PCA9685 servo channel 3, "RC FLAPS" (406) - leftmost switch, or "Servo 3" (203):
|
# Cutter deck blades clutch, PCA9685 servo channel 3, "RC FLAPS" (406) - leftmost switch, or "Servo 3" (203):
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# @name Rover Ackermann
|
|
||||||
# @type Rover
|
|
||||||
# @class Rover
|
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.rover_ackermann_defaults
|
|
||||||
|
|
||||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
|
||||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=rover_ackermann}
|
|
||||||
|
|
||||||
param set-default SIM_GZ_EN 1 # Gazebo bridge
|
|
||||||
|
|
||||||
# Rover parameters
|
|
||||||
param set-default NAV_ACC_RAD 0.5
|
|
||||||
param set-default RA_ACC_RAD_GAIN 2
|
|
||||||
param set-default RA_ACC_RAD_MAX 3
|
|
||||||
param set-default RA_LAT_ACCEL_I 0.01
|
|
||||||
param set-default RA_LAT_ACCEL_P 0.1
|
|
||||||
param set-default RA_MAX_ACCEL 3
|
|
||||||
param set-default RA_MAX_DECEL 6
|
|
||||||
param set-default RA_MAX_JERK 15
|
|
||||||
param set-default RA_MAX_LAT_ACCEL 4
|
|
||||||
param set-default RA_MAX_SPEED 3
|
|
||||||
param set-default RA_MAX_STR_ANG 0.5236
|
|
||||||
param set-default RA_MAX_STR_RATE 360
|
|
||||||
param set-default RA_MAX_THR_SPEED 3.1
|
|
||||||
param set-default RA_SPEED_I 0.01
|
|
||||||
param set-default RA_SPEED_P 0.1
|
|
||||||
param set-default RA_WHEEL_BASE 0.321
|
|
||||||
|
|
||||||
# Pure Pursuit parameters
|
|
||||||
param set-default PP_LOOKAHD_GAIN 1
|
|
||||||
param set-default PP_LOOKAHD_MAX 10
|
|
||||||
param set-default PP_LOOKAHD_MIN 1
|
|
||||||
|
|
||||||
# Simulated sensors
|
|
||||||
param set-default SENS_EN_GPSSIM 1
|
|
||||||
param set-default SENS_EN_BAROSIM 0
|
|
||||||
param set-default SENS_EN_MAGSIM 1
|
|
||||||
param set-default SENS_EN_ARSPDSIM 0
|
|
||||||
|
|
||||||
# Wheels
|
|
||||||
param set-default SIM_GZ_WH_FUNC1 101
|
|
||||||
param set-default SIM_GZ_WH_MIN1 0
|
|
||||||
param set-default SIM_GZ_WH_MAX1 200
|
|
||||||
param set-default SIM_GZ_WH_DIS1 100
|
|
||||||
|
|
||||||
# Steering
|
|
||||||
param set-default SIM_GZ_SV_FUNC1 201
|
|
||||||
param set-default SIM_GZ_SV_REV 1
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# @name Gazebo x500 lidar 2d
|
|
||||||
#
|
|
||||||
# @type Quadrotor
|
|
||||||
#
|
|
||||||
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500_lidar_2d}
|
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/4001_gz_x500
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# @name Gazebo x500 mono cam
|
|
||||||
#
|
|
||||||
# @type Quadrotor
|
|
||||||
#
|
|
||||||
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500_mono_cam_down}
|
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/4001_gz_x500
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# @name Aion Robotics R1 Rover
|
|
||||||
# @type Rover
|
|
||||||
# @class Rover
|
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.rover_mecanum_defaults
|
|
||||||
|
|
||||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
|
||||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover_mecanum}
|
|
||||||
|
|
||||||
param set-default SIM_GZ_EN 1 # Gazebo bridge
|
|
||||||
|
|
||||||
# Rover parameters
|
|
||||||
param set-default RM_WHEEL_TRACK 0.3
|
|
||||||
param set-default RM_MAN_YAW_SCALE 0.1
|
|
||||||
param set-default RM_YAW_RATE_I 0
|
|
||||||
param set-default RM_YAW_RATE_P 0.01
|
|
||||||
param set-default RM_MAX_ACCEL 3
|
|
||||||
param set-default RM_MAX_JERK 5
|
|
||||||
param set-default RM_MAX_SPEED 4
|
|
||||||
param set-default RM_MAX_THR_SPD 7
|
|
||||||
param set-default RM_MAX_THR_YAW_R 7.5
|
|
||||||
param set-default RM_YAW_P 5
|
|
||||||
param set-default RM_YAW_I 0.1
|
|
||||||
param set-default RM_MAX_YAW_RATE 180
|
|
||||||
param set-default RM_MISS_SPD_DEF 3
|
|
||||||
param set-default RM_MISS_VEL_GAIN 1
|
|
||||||
param set-default RM_SPEED_I 0.01
|
|
||||||
param set-default RM_SPEED_P 0.1
|
|
||||||
|
|
||||||
# Pure pursuit parameters
|
|
||||||
param set-default PP_LOOKAHD_MAX 10
|
|
||||||
param set-default PP_LOOKAHD_MIN 1
|
|
||||||
param set-default PP_LOOKAHD_GAIN 0.5
|
|
||||||
|
|
||||||
# Simulated sensors
|
|
||||||
param set-default SENS_EN_GPSSIM 1
|
|
||||||
param set-default SENS_EN_BAROSIM 0
|
|
||||||
param set-default SENS_EN_MAGSIM 1
|
|
||||||
param set-default SENS_EN_ARSPDSIM 0
|
|
||||||
|
|
||||||
# Actuator mapping
|
|
||||||
param set-default SIM_GZ_WH_FUNC1 102 # right wheel front
|
|
||||||
param set-default SIM_GZ_WH_MIN1 0
|
|
||||||
param set-default SIM_GZ_WH_MAX1 200
|
|
||||||
param set-default SIM_GZ_WH_DIS1 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC2 101 # left wheel front
|
|
||||||
param set-default SIM_GZ_WH_MIN2 0
|
|
||||||
param set-default SIM_GZ_WH_MAX2 200
|
|
||||||
param set-default SIM_GZ_WH_DIS2 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC3 104 # right wheel back
|
|
||||||
param set-default SIM_GZ_WH_MIN3 0
|
|
||||||
param set-default SIM_GZ_WH_MAX3 200
|
|
||||||
param set-default SIM_GZ_WH_DIS3 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC4 103 # left wheel back
|
|
||||||
param set-default SIM_GZ_WH_MIN4 0
|
|
||||||
param set-default SIM_GZ_WH_MAX4 200
|
|
||||||
param set-default SIM_GZ_WH_DIS4 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_REV 10
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# @name Gazebo x500 lidar down
|
|
||||||
#
|
|
||||||
# @type Quadrotor
|
|
||||||
#
|
|
||||||
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500_lidar_down}
|
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/4001_gz_x500
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# @name Gazebo x500 lidar front
|
|
||||||
#
|
|
||||||
# @type Quadrotor
|
|
||||||
#
|
|
||||||
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500_lidar_front}
|
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/4001_gz_x500
|
|
||||||
@@ -63,3 +63,4 @@ param set-default PWM_MAIN_FUNC9 422
|
|||||||
# Landing gear
|
# Landing gear
|
||||||
param set-default PWM_MAIN_FUNC10 400
|
param set-default PWM_MAIN_FUNC10 400
|
||||||
param set-default PWM_MAIN_FUNC11 400
|
param set-default PWM_MAIN_FUNC11 400
|
||||||
|
|
||||||
|
|||||||
@@ -119,3 +119,4 @@ param set-default CA_METHOD 0
|
|||||||
# disable attitude failure detection
|
# disable attitude failure detection
|
||||||
param set-default FD_FAIL_P 0
|
param set-default FD_FAIL_P 0
|
||||||
param set-default FD_FAIL_R 0
|
param set-default FD_FAIL_R 0
|
||||||
|
|
||||||
|
|||||||
@@ -83,12 +83,6 @@ px4_add_romfs_files(
|
|||||||
4009_gz_r1_rover
|
4009_gz_r1_rover
|
||||||
4010_gz_x500_mono_cam
|
4010_gz_x500_mono_cam
|
||||||
4011_gz_lawnmower
|
4011_gz_lawnmower
|
||||||
4012_gz_rover_ackermann
|
|
||||||
4013_gz_x500_lidar_2d
|
|
||||||
4014_gz_x500_mono_cam_down
|
|
||||||
4015_gz_r1_rover_mecanum
|
|
||||||
4016_gz_x500_lidar_down
|
|
||||||
4017_gz_x500_lidar_front
|
|
||||||
|
|
||||||
6011_gazebo-classic_typhoon_h480
|
6011_gazebo-classic_typhoon_h480
|
||||||
6011_gazebo-classic_typhoon_h480.post
|
6011_gazebo-classic_typhoon_h480.post
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ mavlink start -x -u $udp_offboard_port_local -r 4000000 -f -m onboard -o $udp_of
|
|||||||
mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote
|
mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote
|
||||||
|
|
||||||
# Onboard link to gimbal
|
# Onboard link to gimbal
|
||||||
mavlink start -x -u $udp_onboard_gimbal_port_local -r 400000 -f -m gimbal -o $udp_onboard_gimbal_port_remote
|
mavlink start -x -u $udp_onboard_gimbal_port_local -r 400000 -m gimbal -o $udp_onboard_gimbal_port_remote
|
||||||
|
|
||||||
# To display for SIH sitl
|
# To display for SIH sitl
|
||||||
if [ "$PX4_SIMULATOR" = "sihsim" ]; then
|
if [ "$PX4_SIMULATOR" = "sihsim" ]; then
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ if [ "$PX4_SIMULATOR" = "sihsim" ] || [ "$(param show -q SYS_AUTOSTART)" -eq "0"
|
|||||||
if [ -n "${PX4_HOME_LON}" ]; then
|
if [ -n "${PX4_HOME_LON}" ]; then
|
||||||
param set SIH_LOC_LON0 ${PX4_HOME_LON}
|
param set SIH_LOC_LON0 ${PX4_HOME_LON}
|
||||||
fi
|
fi
|
||||||
if [ -n "${PX4_HOME_ALT}" ]; then
|
|
||||||
param set SIH_LOC_H0 ${PX4_HOME_ALT}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if simulator_sih start; then
|
if simulator_sih start; then
|
||||||
|
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ param set-default CBRK_SUPPLY_CHK 894281
|
|||||||
|
|
||||||
# disable check, no CPU load reported on posix yet
|
# disable check, no CPU load reported on posix yet
|
||||||
param set-default COM_CPU_MAX -1
|
param set-default COM_CPU_MAX -1
|
||||||
param set-default COM_RAM_MAX -1
|
|
||||||
|
|
||||||
# Don't require RC calibration and configuration
|
# Don't require RC calibration and configuration
|
||||||
param set-default COM_RC_IN_MODE 1
|
param set-default COM_RC_IN_MODE 1
|
||||||
@@ -181,7 +180,7 @@ param set-default TRIG_INTERFACE 3
|
|||||||
param set-default SYS_FAILURE_EN 1
|
param set-default SYS_FAILURE_EN 1
|
||||||
# Enable low-battery actions by default for (automated) testing. Battery sim
|
# Enable low-battery actions by default for (automated) testing. Battery sim
|
||||||
# does not go below 50% by default, but failure injection can trigger failsafes.
|
# does not go below 50% by default, but failure injection can trigger failsafes.
|
||||||
param set-default COM_LOW_BAT_ACT 3
|
param set-default COM_LOW_BAT_ACT 2
|
||||||
|
|
||||||
|
|
||||||
# Adapt timeout parameters if simulation runs faster or slower than realtime.
|
# Adapt timeout parameters if simulation runs faster or slower than realtime.
|
||||||
@@ -190,11 +189,11 @@ if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
|
|||||||
echo "COM_DL_LOSS_T set to $COM_DL_LOSS_T_LONGER"
|
echo "COM_DL_LOSS_T set to $COM_DL_LOSS_T_LONGER"
|
||||||
param set COM_DL_LOSS_T $COM_DL_LOSS_T_LONGER
|
param set COM_DL_LOSS_T $COM_DL_LOSS_T_LONGER
|
||||||
|
|
||||||
COM_RC_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 1.0" | bc)
|
COM_RC_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 0.5" | bc)
|
||||||
echo "COM_RC_LOSS_T set to $COM_RC_LOSS_T_LONGER"
|
echo "COM_RC_LOSS_T set to $COM_RC_LOSS_T_LONGER"
|
||||||
param set COM_RC_LOSS_T $COM_RC_LOSS_T_LONGER
|
param set COM_RC_LOSS_T $COM_RC_LOSS_T_LONGER
|
||||||
|
|
||||||
COM_OF_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 1.0" | bc)
|
COM_OF_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 0.5" | bc)
|
||||||
echo "COM_OF_LOSS_T set to $COM_OF_LOSS_T_LONGER"
|
echo "COM_OF_LOSS_T set to $COM_OF_LOSS_T_LONGER"
|
||||||
param set COM_OF_LOSS_T $COM_OF_LOSS_T_LONGER
|
param set COM_OF_LOSS_T $COM_OF_LOSS_T_LONGER
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ px4_add_romfs_files(
|
|||||||
# TODO
|
# TODO
|
||||||
rc.balloon_apps
|
rc.balloon_apps
|
||||||
rc.balloon_defaults
|
rc.balloon_defaults
|
||||||
rc.sysinit
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CONFIG_MODULES_AIRSHIP_ATT_CONTROL)
|
if(CONFIG_MODULES_AIRSHIP_ATT_CONTROL)
|
||||||
@@ -78,7 +77,7 @@ if(CONFIG_MODULES_ROVER_POS_CONTROL)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_MODULES_ROVER_DIFFERENTIAL)
|
if(CONFIG_MODULES_DIFFERENTIAL_DRIVE)
|
||||||
px4_add_romfs_files(
|
px4_add_romfs_files(
|
||||||
rc.rover_differential_apps
|
rc.rover_differential_apps
|
||||||
rc.rover_differential_defaults
|
rc.rover_differential_defaults
|
||||||
@@ -92,13 +91,6 @@ if(CONFIG_MODULES_ROVER_ACKERMANN)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_MODULES_ROVER_MECANUM)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.rover_mecanum_apps
|
|
||||||
rc.rover_mecanum_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_UUV_ATT_CONTROL)
|
if(CONFIG_MODULES_UUV_ATT_CONTROL)
|
||||||
px4_add_romfs_files(
|
px4_add_romfs_files(
|
||||||
rc.uuv_apps
|
rc.uuv_apps
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ param set UAVCAN_ENABLE 0
|
|||||||
# disable some checks to allow to fly
|
# disable some checks to allow to fly
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
# Square quadrotor X PX4 numbering
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
|
|||||||
@@ -96,5 +96,7 @@ param set UAVCAN_ENABLE 0
|
|||||||
# disable some checks to allow to fly
|
# disable some checks to allow to fly
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default MAV_TYPE 22
|
param set-default MAV_TYPE 22
|
||||||
|
|||||||
@@ -44,3 +44,4 @@ param set-default CA_ROTOR4_KM -0.05
|
|||||||
param set-default CA_ROTOR5_PX 0.25
|
param set-default CA_ROTOR5_PX 0.25
|
||||||
param set-default CA_ROTOR5_PY -0.433
|
param set-default CA_ROTOR5_PY -0.433
|
||||||
param set-default CA_ROTOR5_PZ 0.05
|
param set-default CA_ROTOR5_PZ 0.05
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ param set SYS_HITL 2
|
|||||||
# disable some checks to allow to fly:
|
# disable some checks to allow to fly:
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set SIH_VEHICLE_TYPE 0
|
param set SIH_VEHICLE_TYPE 0
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ param set-default SYS_HITL 2
|
|||||||
# disable some checks to allow to fly:
|
# disable some checks to allow to fly:
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set SIH_T_MAX 6
|
param set SIH_T_MAX 6
|
||||||
param set SIH_MASS 0.3
|
param set SIH_MASS 0.3
|
||||||
|
|||||||
@@ -43,10 +43,6 @@ param set-default CA_SV_CS1_TRQ_P 0.3
|
|||||||
param set-default CA_SV_CS1_TRQ_Y -0.3
|
param set-default CA_SV_CS1_TRQ_Y -0.3
|
||||||
param set-default CA_SV_CS1_TYPE 6
|
param set-default CA_SV_CS1_TYPE 6
|
||||||
|
|
||||||
param set-default FW_AIRSPD_MAX 12
|
|
||||||
param set-default FW_AIRSPD_MIN 7
|
|
||||||
param set-default FW_AIRSPD_TRIM 10
|
|
||||||
|
|
||||||
param set-default HIL_ACT_FUNC1 101
|
param set-default HIL_ACT_FUNC1 101
|
||||||
param set-default HIL_ACT_FUNC2 102
|
param set-default HIL_ACT_FUNC2 102
|
||||||
param set-default HIL_ACT_FUNC5 202
|
param set-default HIL_ACT_FUNC5 202
|
||||||
@@ -63,8 +59,8 @@ param set-default SYS_HITL 2
|
|||||||
# disable some checks to allow to fly:
|
# disable some checks to allow to fly:
|
||||||
# - without real battery
|
# - without real battery
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
param set-default SENS_DPRES_OFF 0.001
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set SIH_T_MAX 2.0
|
param set SIH_T_MAX 2.0
|
||||||
param set SIH_Q_MAX 0.0165
|
param set SIH_Q_MAX 0.0165
|
||||||
@@ -79,5 +75,3 @@ param set SIH_L_ROLL 0.145
|
|||||||
|
|
||||||
# sih as tailsitter
|
# sih as tailsitter
|
||||||
param set SIH_VEHICLE_TYPE 2
|
param set SIH_VEHICLE_TYPE 2
|
||||||
|
|
||||||
param set-default VT_ARSP_TRANS 6
|
|
||||||
|
|||||||
@@ -0,0 +1,132 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# @name Vertical Technologies DeltaQuad
|
||||||
|
#
|
||||||
|
# @type Standard VTOL
|
||||||
|
# @class VTOL
|
||||||
|
#
|
||||||
|
# @maintainer Sander Smeets <sander@droneslab.com>
|
||||||
|
#
|
||||||
|
# @output Motor1 motor 1
|
||||||
|
# @output Motor2 motor 2
|
||||||
|
# @output Motor3 motor 3
|
||||||
|
# @output Motor4 motor 4
|
||||||
|
# @output Servo1 Right elevon
|
||||||
|
# @output Servo2 Left elevon
|
||||||
|
# @output Servo3 Pusher motor
|
||||||
|
# @output Servo4 Pusher reverse channel
|
||||||
|
#
|
||||||
|
# @board px4_fmu-v2 exclude
|
||||||
|
# @board bitcraze_crazyflie exclude
|
||||||
|
#
|
||||||
|
|
||||||
|
. ${R}etc/init.d/rc.vtol_defaults
|
||||||
|
|
||||||
|
param set-default MAV_TYPE 22
|
||||||
|
|
||||||
|
param set-default BAT1_CAPACITY 23000
|
||||||
|
param set-default BAT1_N_CELLS 4
|
||||||
|
param set-default BAT1_R_INTERNAL 0.0025
|
||||||
|
|
||||||
|
param set-default SYS_HAS_NUM_ASPD 0
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
|
param set-default EKF2_GPS_POS_X -0.12
|
||||||
|
param set-default EKF2_IMU_POS_X -0.12
|
||||||
|
|
||||||
|
param set-default FW_USE_AIRSPD 0
|
||||||
|
param set-default NPFG_PERIOD 25
|
||||||
|
param set-default FW_PR_FF 0.7
|
||||||
|
param set-default FW_PR_I 0.18
|
||||||
|
param set-default FW_PR_P 0.15
|
||||||
|
param set-default FW_P_TC 0.5
|
||||||
|
param set-default FW_PSP_OFF 5
|
||||||
|
param set-default FW_R_LIM 35
|
||||||
|
param set-default FW_RR_FF 0.9
|
||||||
|
param set-default FW_RR_I 0.08
|
||||||
|
param set-default FW_RR_P 0.18
|
||||||
|
param set-default FW_T_CLMB_MAX 3
|
||||||
|
param set-default FW_T_SINK_MAX 3
|
||||||
|
param set-default FW_T_SINK_MIN 1
|
||||||
|
param set-default FW_THR_TRIM 0.70
|
||||||
|
param set-default FW_THR_SLEW_MAX 1
|
||||||
|
param set-default FW_P_LIM_MAX 15
|
||||||
|
param set-default FW_P_LIM_MIN -25
|
||||||
|
param set-default FW_P_RMAX_NEG 45
|
||||||
|
param set-default FW_P_RMAX_POS 45
|
||||||
|
param set-default FW_R_RMAX 50
|
||||||
|
param set-default FW_THR_MIN 0.55
|
||||||
|
param set-default FW_BAT_SCALE_EN 1
|
||||||
|
param set-default FW_T_RLL2THR 20
|
||||||
|
|
||||||
|
param set-default MC_ROLLRATE_P 0.16
|
||||||
|
param set-default MC_ROLLRATE_I 0.01
|
||||||
|
param set-default MC_PITCHRATE_I 0.05
|
||||||
|
|
||||||
|
param set-default MC_YAWRATE_MAX 20
|
||||||
|
param set-default MC_AIRMODE 1
|
||||||
|
|
||||||
|
param set-default MIS_TAKEOFF_ALT 15
|
||||||
|
|
||||||
|
param set-default MPC_XY_P 0.8
|
||||||
|
param set-default MPC_XY_VEL_MAX 5
|
||||||
|
param set-default MPC_LAND_SPEED 1.2
|
||||||
|
param set-default MPC_TILTMAX_LND 35
|
||||||
|
param set-default MPC_Z_VEL_MAX_UP 1.5
|
||||||
|
param set-default MPC_TKO_RAMP_T 0.8
|
||||||
|
param set-default MPC_TILTMAX_AIR 25
|
||||||
|
param set-default MPC_TILTMAX_LND 25
|
||||||
|
param set-default MPC_YAWRAUTO_MAX 20
|
||||||
|
|
||||||
|
param set-default NAV_LOITER_RAD 100
|
||||||
|
|
||||||
|
param set-default PWM_MAIN_DIS5 1500
|
||||||
|
param set-default PWM_MAIN_DIS6 1500
|
||||||
|
param set-default PWM_MAIN_DIS7 900
|
||||||
|
param set-default PWM_MAIN_DIS8 900
|
||||||
|
|
||||||
|
|
||||||
|
param set-default SENS_BOARD_ROT 18
|
||||||
|
|
||||||
|
# TELEM2 config
|
||||||
|
param set-default MAV_1_CONFIG 102
|
||||||
|
param set-default MAV_1_RATE 5000
|
||||||
|
param set-default MAV_1_FORWARD 1
|
||||||
|
param set-default SER_TEL2_BAUD 57600
|
||||||
|
|
||||||
|
param set-default VT_TYPE 2
|
||||||
|
param set-default VT_PITCH_MIN 8
|
||||||
|
param set-default VT_FW_QC_P 55
|
||||||
|
param set-default VT_FW_QC_R 55
|
||||||
|
param set-default VT_TRANS_MIN_TM 15
|
||||||
|
param set-default VT_FWD_THRUST_SC 4
|
||||||
|
param set-default VT_TRANS_TIMEOUT 22
|
||||||
|
|
||||||
|
param set-default COM_RC_OVERRIDE 0
|
||||||
|
|
||||||
|
param set-default CA_AIRFRAME 2
|
||||||
|
|
||||||
|
param set-default CA_ROTOR_COUNT 5
|
||||||
|
param set-default CA_ROTOR0_PX 0.1515
|
||||||
|
param set-default CA_ROTOR0_PY 0.245
|
||||||
|
param set-default CA_ROTOR0_KM 0.05
|
||||||
|
param set-default CA_ROTOR1_PX -0.1515
|
||||||
|
param set-default CA_ROTOR1_PY -0.1875
|
||||||
|
param set-default CA_ROTOR1_KM 0.05
|
||||||
|
param set-default CA_ROTOR2_PX 0.1515
|
||||||
|
param set-default CA_ROTOR2_PY -0.245
|
||||||
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
|
param set-default CA_ROTOR3_PX -0.1515
|
||||||
|
param set-default CA_ROTOR3_PY 0.1875
|
||||||
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
param set-default CA_ROTOR4_AX 1
|
||||||
|
param set-default CA_ROTOR4_AZ 0
|
||||||
|
param set-default CA_ROTOR4_PX 0.2
|
||||||
|
|
||||||
|
param set-default CA_SV_CS_COUNT 3
|
||||||
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
|
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||||
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
|
param set-default CA_SV_CS2_TRQ_P 1
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# @name BabyShark VTOL
|
||||||
|
#
|
||||||
|
# @type Standard VTOL
|
||||||
|
# @class VTOL
|
||||||
|
#
|
||||||
|
# @maintainer Silvan Fuhrer <silvan@auterion.com>
|
||||||
|
#
|
||||||
|
# @output Motor1 motor 1
|
||||||
|
# @output Motor2 motor 2
|
||||||
|
# @output Motor3 motor 3
|
||||||
|
# @output Motor4 motor 4
|
||||||
|
# @output Motor5 Pusher motor
|
||||||
|
# @output Servo1 Ailerons
|
||||||
|
# @output Servo2 A-tail left
|
||||||
|
# @output Servo3 A-tail right
|
||||||
|
#
|
||||||
|
# @board px4_fmu-v2 exclude
|
||||||
|
# @board bitcraze_crazyflie exclude
|
||||||
|
# @board holybro_kakutef7 exclude
|
||||||
|
#
|
||||||
|
|
||||||
|
. ${R}etc/init.d/rc.vtol_defaults
|
||||||
|
|
||||||
|
param set-default MAV_TYPE 22
|
||||||
|
|
||||||
|
param set-default BAT1_N_CELLS 6
|
||||||
|
|
||||||
|
param set-default FW_AIRSPD_MAX 30
|
||||||
|
param set-default FW_AIRSPD_MIN 19
|
||||||
|
param set-default FW_AIRSPD_TRIM 23
|
||||||
|
param set-default FW_PN_R_SLEW_MAX 40
|
||||||
|
param set-default FW_PSP_OFF 3
|
||||||
|
param set-default FW_P_LIM_MAX 18
|
||||||
|
param set-default FW_P_LIM_MIN -25
|
||||||
|
param set-default FW_RLL_TO_YAW_FF 0.1
|
||||||
|
param set-default FW_RR_P 0.08
|
||||||
|
param set-default FW_R_LIM 45
|
||||||
|
param set-default FW_R_RMAX 50
|
||||||
|
param set-default FW_THR_TRIM 0.65
|
||||||
|
param set-default FW_THR_MIN 0.3
|
||||||
|
param set-default FW_THR_SLEW_MAX 0.6
|
||||||
|
param set-default FW_T_SINK_MAX 15
|
||||||
|
param set-default FW_T_SINK_MIN 3
|
||||||
|
param set-default FW_YR_P 0.15
|
||||||
|
|
||||||
|
param set-default IMU_DGYRO_CUTOFF 15
|
||||||
|
param set-default MC_PITCHRATE_MAX 60
|
||||||
|
param set-default MC_ROLLRATE_MAX 60
|
||||||
|
param set-default MC_YAWRATE_I 0.15
|
||||||
|
param set-default MC_YAWRATE_MAX 40
|
||||||
|
param set-default MC_YAWRATE_P 0.3
|
||||||
|
|
||||||
|
param set-default MC_AIRMODE 1
|
||||||
|
param set-default MPC_LAND_SPEED 1
|
||||||
|
param set-default MPC_MAN_TILT_MAX 25
|
||||||
|
param set-default MPC_MAN_Y_MAX 40
|
||||||
|
param set-default MPC_THR_HOVER 0.45
|
||||||
|
param set-default MPC_TILTMAX_AIR 25
|
||||||
|
param set-default MPC_YAWRAUTO_MAX 40
|
||||||
|
param set-default MPC_Z_VEL_MAX_UP 2
|
||||||
|
|
||||||
|
param set-default NAV_ACC_RAD 3
|
||||||
|
|
||||||
|
param set-default PWM_MAIN_DIS3 1000
|
||||||
|
param set-default PWM_MAIN_MIN3 1120
|
||||||
|
|
||||||
|
param set-default SENS_BOARD_ROT 4
|
||||||
|
|
||||||
|
param set-default VT_ARSP_BLEND 10
|
||||||
|
param set-default VT_ARSP_TRANS 21
|
||||||
|
param set-default VT_B_DEC_MSS 1.5
|
||||||
|
param set-default VT_ELEV_MC_LOCK 0
|
||||||
|
param set-default VT_FWD_THRUST_SC 1.2
|
||||||
|
param set-default VT_F_TR_OL_TM 8
|
||||||
|
param set-default VT_TRANS_MIN_TM 4
|
||||||
|
param set-default VT_TYPE 2
|
||||||
|
|
||||||
|
|
||||||
|
param set-default CA_AIRFRAME 2
|
||||||
|
param set-default CA_ROTOR_COUNT 5
|
||||||
|
param set-default CA_ROTOR4_AX 1
|
||||||
|
param set-default CA_ROTOR4_AZ 0
|
||||||
|
|
||||||
|
# Square quadrotor X PX4 numbering
|
||||||
|
param set-default CA_ROTOR0_PX 1
|
||||||
|
param set-default CA_ROTOR0_PY 1
|
||||||
|
param set-default CA_ROTOR1_PX -1
|
||||||
|
param set-default CA_ROTOR1_PY -1
|
||||||
|
param set-default CA_ROTOR2_PX 1
|
||||||
|
param set-default CA_ROTOR2_PY -1
|
||||||
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
|
param set-default CA_ROTOR3_PX -1
|
||||||
|
param set-default CA_ROTOR3_PY 1
|
||||||
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
|
||||||
|
param set-default CA_SV_CS_COUNT 3
|
||||||
|
param set-default CA_SV_CS0_TYPE 15
|
||||||
|
param set-default CA_SV_CS0_TRQ_R 1
|
||||||
|
param set-default CA_SV_CS1_TRQ_P 0.5
|
||||||
|
param set-default CA_SV_CS1_TRQ_R 0
|
||||||
|
param set-default CA_SV_CS1_TRQ_Y -0.5
|
||||||
|
param set-default CA_SV_CS1_TYPE 13
|
||||||
|
param set-default CA_SV_CS2_TRQ_P 0.5
|
||||||
|
param set-default CA_SV_CS2_TRQ_Y 0.5
|
||||||
|
param set-default CA_SV_CS2_TYPE 14
|
||||||
|
|
||||||
|
param set-default PWM_MAIN_FUNC1 201
|
||||||
|
param set-default PWM_MAIN_FUNC2 202
|
||||||
|
param set-default PWM_MAIN_FUNC3 105
|
||||||
|
param set-default PWM_MAIN_FUNC4 203
|
||||||
|
param set-default PWM_MAIN_FUNC5 101
|
||||||
|
param set-default PWM_MAIN_FUNC6 102
|
||||||
|
param set-default PWM_MAIN_FUNC7 103
|
||||||
|
param set-default PWM_MAIN_FUNC8 104
|
||||||
|
|
||||||
|
param set-default PWM_MAIN_TIM0 50
|
||||||
|
param set-default PWM_MAIN_DIS1 1500
|
||||||
|
param set-default PWM_MAIN_DIS2 1500
|
||||||
|
param set-default PWM_MAIN_DIS4 1500
|
||||||
|
|
||||||
|
|
||||||
@@ -32,3 +32,4 @@ param set-default CA_SV_TL0_MAXA 45
|
|||||||
param set-default CA_SV_TL0_MINA -45
|
param set-default CA_SV_TL0_MINA -45
|
||||||
param set-default CA_SV_TL0_TD 90
|
param set-default CA_SV_TL0_TD 90
|
||||||
param set-default CA_SV_TL_COUNT 1
|
param set-default CA_SV_TL_COUNT 1
|
||||||
|
|
||||||
|
|||||||
@@ -24,3 +24,5 @@ param set-default MC_PITCHRATE_D 0
|
|||||||
param set-default MC_PITCHRATE_FF 0.1
|
param set-default MC_PITCHRATE_FF 0.1
|
||||||
|
|
||||||
param set-default CA_AIRFRAME 10
|
param set-default CA_AIRFRAME 10
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,9 +16,11 @@
|
|||||||
. ${R}etc/init.d/rc.balloon_defaults
|
. ${R}etc/init.d/rc.balloon_defaults
|
||||||
|
|
||||||
param set-default COM_PREARM_MODE 2 # always in prearm state
|
param set-default COM_PREARM_MODE 2 # always in prearm state
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
param set-default SDLOG_PROFILE 17
|
param set-default SDLOG_PROFILE 17
|
||||||
param set-default SDLOG_MODE 2
|
param set-default SDLOG_MODE 2
|
||||||
param set-default MAV_0_MODE 1
|
param set-default MAV_0_MODE 1
|
||||||
param set-default MAV_0_CONFIG 102
|
param set-default MAV_0_CONFIG 102
|
||||||
param set-default GPS_UBX_DYNMODEL 8
|
param set-default GPS_UBX_DYNMODEL 8
|
||||||
param set-default SER_TEL2_BAUD 9600
|
param set-default SER_TEL2_BAUD 9600
|
||||||
|
|
||||||
|
|||||||
@@ -72,3 +72,5 @@ param set-default PWM_MAIN_DIS5 1000
|
|||||||
param set-default PWM_MAIN_DIS6 1500
|
param set-default PWM_MAIN_DIS6 1500
|
||||||
param set-default PWM_MAIN_DIS7 1500
|
param set-default PWM_MAIN_DIS7 1500
|
||||||
param set-default PWM_MAIN_DIS8 1500
|
param set-default PWM_MAIN_DIS8 1500
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,3 +66,4 @@ param set-default CA_ROTOR11_PX -0.344
|
|||||||
param set-default CA_ROTOR11_PY -0.25
|
param set-default CA_ROTOR11_PY -0.25
|
||||||
param set-default CA_ROTOR11_PZ -0.05
|
param set-default CA_ROTOR11_PZ -0.05
|
||||||
param set-default CA_ROTOR11_KM -0.05
|
param set-default CA_ROTOR11_KM -0.05
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
. ${R}etc/init.d/rc.airship_defaults
|
. ${R}etc/init.d/rc.airship_defaults
|
||||||
|
|
||||||
param set-default COM_PREARM_MODE 2
|
param set-default COM_PREARM_MODE 2
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default CA_AIRFRAME 9
|
param set-default CA_AIRFRAME 9
|
||||||
|
|
||||||
@@ -37,3 +38,4 @@ param set-default CA_SV_CS_COUNT 1
|
|||||||
param set-default CA_SV_CS0_TRQ_P 1
|
param set-default CA_SV_CS0_TRQ_P 1
|
||||||
|
|
||||||
param set-default CA_R_REV 7
|
param set-default CA_R_REV 7
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ param set-default MPC_Z_VEL_P_ACC 5
|
|||||||
param set-default MPC_Z_VEL_I_ACC 3
|
param set-default MPC_Z_VEL_I_ACC 3
|
||||||
param set-default MPC_LAND_ALT1 3
|
param set-default MPC_LAND_ALT1 3
|
||||||
param set-default MPC_LAND_ALT2 1
|
param set-default MPC_LAND_ALT2 1
|
||||||
|
param set-default MPC_POS_MODE 3
|
||||||
param set-default CP_GO_NO_DATA 1
|
param set-default CP_GO_NO_DATA 1
|
||||||
|
|
||||||
# Navigator Parameters
|
# Navigator Parameters
|
||||||
@@ -91,6 +92,9 @@ param set-default BAT1_N_CELLS 4
|
|||||||
param set-default BAT1_A_PER_V 36.364
|
param set-default BAT1_A_PER_V 36.364
|
||||||
param set-default BAT1_V_DIV 18.182
|
param set-default BAT1_V_DIV 18.182
|
||||||
|
|
||||||
|
# Circuit breakers
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default THR_MDL_FAC 0.3
|
param set-default THR_MDL_FAC 0.3
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
# Square quadrotor X PX4 numbering
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
# @class Copter
|
# @class Copter
|
||||||
#
|
#
|
||||||
# @board px4_fmu-v2 exclude
|
# @board px4_fmu-v2 exclude
|
||||||
# @board px4_fmu-v5x exclude
|
|
||||||
# @board bitcraze_crazyflie exclude
|
# @board bitcraze_crazyflie exclude
|
||||||
#
|
#
|
||||||
# @maintainer Iain Galloway <iain.galloway@nxp.com>
|
# @maintainer Iain Galloway <iain.galloway@nxp.com>
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ param set-default MPC_Z_VEL_P_ACC 5
|
|||||||
param set-default MPC_Z_VEL_I_ACC 3
|
param set-default MPC_Z_VEL_I_ACC 3
|
||||||
param set-default MPC_LAND_ALT1 3
|
param set-default MPC_LAND_ALT1 3
|
||||||
param set-default MPC_LAND_ALT2 1
|
param set-default MPC_LAND_ALT2 1
|
||||||
|
param set-default MPC_POS_MODE 3
|
||||||
param set-default CP_GO_NO_DATA 1
|
param set-default CP_GO_NO_DATA 1
|
||||||
|
|
||||||
# Navigator Parameters
|
# Navigator Parameters
|
||||||
@@ -92,6 +93,9 @@ param set-default BAT1_N_CELLS 4
|
|||||||
param set-default BAT1_A_PER_V 36.364
|
param set-default BAT1_A_PER_V 36.364
|
||||||
param set-default BAT1_V_DIV 18.182
|
param set-default BAT1_V_DIV 18.182
|
||||||
|
|
||||||
|
# Circuit breakers
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|
||||||
param set-default THR_MDL_FAC 0.3
|
param set-default THR_MDL_FAC 0.3
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
# Square quadrotor X PX4 numbering
|
||||||
|
|||||||
@@ -7,10 +7,6 @@
|
|||||||
#
|
#
|
||||||
# @maintainer
|
# @maintainer
|
||||||
# @board px4_fmu-v2 exclude
|
# @board px4_fmu-v2 exclude
|
||||||
# @board cuav_x7pro exclude
|
|
||||||
# @board px4_fmu-v4pro exclude
|
|
||||||
# @board px4_fmu-v5x exclude
|
|
||||||
# @board px4_fmu-v6x exclude
|
|
||||||
#
|
#
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.mc_defaults
|
. ${R}etc/init.d/rc.mc_defaults
|
||||||
@@ -40,6 +36,7 @@ param set-default COM_RC_LOSS_T 3
|
|||||||
|
|
||||||
|
|
||||||
# ekf2
|
# ekf2
|
||||||
|
param set-default EKF2_TERR_MASK 1
|
||||||
param set-default EKF2_BARO_NOISE 2
|
param set-default EKF2_BARO_NOISE 2
|
||||||
|
|
||||||
param set-default EKF2_BCOEF_X 31.5
|
param set-default EKF2_BCOEF_X 31.5
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
# @board px4_fmu-v4pro exclude
|
# @board px4_fmu-v4pro exclude
|
||||||
# @board px4_fmu-v5 exclude
|
# @board px4_fmu-v5 exclude
|
||||||
# @board px4_fmu-v5x exclude
|
# @board px4_fmu-v5x exclude
|
||||||
# @board px4_fmu-v6x exclude
|
|
||||||
# @board bitcraze_crazyflie exclude
|
# @board bitcraze_crazyflie exclude
|
||||||
# @board cuav_x7pro exclude
|
# @board cuav_x7pro exclude
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
# @board px4_fmu-v4pro exclude
|
# @board px4_fmu-v4pro exclude
|
||||||
# @board px4_fmu-v5 exclude
|
# @board px4_fmu-v5 exclude
|
||||||
# @board px4_fmu-v5x exclude
|
# @board px4_fmu-v5x exclude
|
||||||
# @board px4_fmu-v6x exclude
|
|
||||||
# @board bitcraze_crazyflie exclude
|
# @board bitcraze_crazyflie exclude
|
||||||
# @board cuav_x7pro exclude
|
# @board cuav_x7pro exclude
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
# @maintainer Oleg Kalachev <okalachev@gmail.com>
|
# @maintainer Oleg Kalachev <okalachev@gmail.com>
|
||||||
#
|
#
|
||||||
# @board px4_fmu-v2 exclude
|
# @board px4_fmu-v2 exclude
|
||||||
# @board px4_fmu-v4pro exclude
|
|
||||||
# @board bitcraze_crazyflie exclude
|
# @board bitcraze_crazyflie exclude
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user