mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-17 21:11:29 +08:00
Compare commits
1 Commits
pr-cmake_p
...
pr-output_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d7f6ea09c |
214
.ci/Jenkinsfile-compile
Normal file
214
.ci/Jenkinsfile-compile
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
#!/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_cannode_canbootloader",
|
||||||
|
"ark_cannode_default",
|
||||||
|
"ark_can-rtk-gps_canbootloader",
|
||||||
|
"ark_can-rtk-gps_default",
|
||||||
|
"ark_fmu-v6x_bootloader",
|
||||||
|
"ark_fmu-v6x_default",
|
||||||
|
"atl_mantis-edu_default",
|
||||||
|
"av_x-v1_default",
|
||||||
|
"bitcraze_crazyflie_default",
|
||||||
|
"bitcraze_crazyflie21_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_kakuteh7v2_default",
|
||||||
|
"holybro_kakuteh7mini_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_default",
|
||||||
|
"mro_ctrl-zero-f7-oem_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_stackcheck",
|
||||||
|
"px4_fmu-v5_uavcanv0periph",
|
||||||
|
"px4_fmu-v5x_default",
|
||||||
|
"px4_fmu-v6c_default",
|
||||||
|
"px4_fmu-v6u_default",
|
||||||
|
"px4_fmu-v6x_default",
|
||||||
|
"px4_fmu-v6xrt_bootloader",
|
||||||
|
"px4_fmu-v6xrt_default",
|
||||||
|
"px4_io-v2_default",
|
||||||
|
"raspberrypi_pico_default",
|
||||||
|
"sky-drones_smartap-airlink_default",
|
||||||
|
"spracing_h7extreme_default",
|
||||||
|
"thepeach_k1_default",
|
||||||
|
"thepeach_r1_default",
|
||||||
|
"uvify_core_default",
|
||||||
|
"siyi_n7_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 .')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
904
.ci/Jenkinsfile-hardware
Normal file
904
.ci/Jenkinsfile-hardware
Normal file
@ -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
|
||||||
|
}
|
||||||
@ -15,7 +15,6 @@
|
|||||||
"extensions": [
|
"extensions": [
|
||||||
"chiehyu.vscode-astyle",
|
"chiehyu.vscode-astyle",
|
||||||
"dan-c-underwood.arm",
|
"dan-c-underwood.arm",
|
||||||
"editorconfig.editorconfig",
|
|
||||||
"fredericbonnet.cmake-test-adapter",
|
"fredericbonnet.cmake-test-adapter",
|
||||||
"github.vscode-pull-request-github",
|
"github.vscode-pull-request-github",
|
||||||
"marus25.cortex-debug",
|
"marus25.cortex-debug",
|
||||||
|
|||||||
@ -1,14 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[{*.{c,cpp,cc,h,hpp},CMakeLists.txt,Kconfig}]
|
|
||||||
indent_style = tab
|
|
||||||
tab_width = 8
|
|
||||||
# Not in the official standard, but supported by many editors
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
[*.yaml, *.yml]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
10
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
10
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -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:
|
||||||
|
|||||||
158
.github/workflows/build_all_targets.yml
vendored
158
.github/workflows/build_all_targets.yml
vendored
@ -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
|
|
||||||
2
.github/workflows/checks.yml
vendored
2
.github/workflows/checks.yml
vendored
@ -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",
|
||||||
@ -24,7 +23,6 @@ jobs:
|
|||||||
"shellcheck_all",
|
"shellcheck_all",
|
||||||
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
|
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
|
||||||
"NO_NINJA_BUILD=1 px4_sitl_default",
|
"NO_NINJA_BUILD=1 px4_sitl_default",
|
||||||
"px4_sitl_allyes",
|
|
||||||
"airframe_metadata",
|
"airframe_metadata",
|
||||||
"module_documentation",
|
"module_documentation",
|
||||||
"parameters_metadata",
|
"parameters_metadata",
|
||||||
|
|||||||
6
.github/workflows/clang-tidy.yml
vendored
6
.github/workflows/clang-tidy.yml
vendored
@ -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
|
|
||||||
|
|||||||
58
.github/workflows/compile_linux.yml
vendored
Normal file
58
.github/workflows/compile_linux.yml
vendored
Normal file
@ -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
|
||||||
54
.github/workflows/compile_linux_arm64.yml
vendored
Normal file
54
.github/workflows/compile_linux_arm64.yml
vendored
Normal file
@ -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
|
||||||
133
.github/workflows/compile_nuttx.yml
vendored
Normal file
133
.github/workflows/compile_nuttx.yml
vendored
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
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,
|
||||||
|
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-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
|
||||||
46
.github/workflows/compile_ubuntu.yml
vendored
46
.github/workflows/compile_ubuntu.yml
vendored
@ -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
|
|
||||||
57
.github/workflows/deploy_all.yml
vendored
Normal file
57
.github/workflows/deploy_all.yml
vendored
Normal file
@ -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 }}/'
|
||||||
|
|
||||||
102
.github/workflows/dev_container.yml
vendored
102
.github/workflows/dev_container.yml
vendored
@ -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
|
|
||||||
118
.github/workflows/flash_analysis.yml
vendored
118
.github/workflows/flash_analysis.yml
vendored
@ -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
|
|
||||||
10
.github/workflows/mavros_mission_tests.yml
vendored
10
.github/workflows/mavros_mission_tests.yml
vendored
@ -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
|
||||||
|
|||||||
10
.github/workflows/mavros_offboard_tests.yml
vendored
10
.github/workflows/mavros_offboard_tests.yml
vendored
@ -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
|
||||||
|
|||||||
133
.github/workflows/metadata.yml
vendored
Normal file
133
.github/workflows/metadata.yml
vendored
Normal file
@ -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/
|
||||||
4
.github/workflows/python_checks.yml
vendored
4
.github/workflows/python_checks.yml
vendored
@ -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
|
||||||
|
|||||||
230
.github/workflows/sitl_tests.yml
vendored
230
.github/workflows/sitl_tests.yml
vendored
@ -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
|
|
||||||
|
|||||||
33
.github_changelog_generator
Normal file
33
.github_changelog_generator
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# How to install:
|
||||||
|
# gem install github_changelog_generator
|
||||||
|
# How to run:
|
||||||
|
# github_changelog_generator -u PX4 -p Firmware
|
||||||
|
# Description:
|
||||||
|
# The following params are sensible defaults for the PX4 project,
|
||||||
|
# if you want to do a changelog before a release you need to update since-tag and future-releases,
|
||||||
|
|
||||||
|
# Params:
|
||||||
|
# github_changelog_generator --help for all options
|
||||||
|
|
||||||
|
# max-issues
|
||||||
|
# max threshold for github api queries
|
||||||
|
# make sure you set your CHANGELOG_GITHUB_TOKEN before
|
||||||
|
# running
|
||||||
|
max-issues=1500
|
||||||
|
|
||||||
|
# exclude-tags-regex
|
||||||
|
# excludes release candidates
|
||||||
|
exclude-tags-regex=rc[0-9]{1,}|beta[0-9]{1,}
|
||||||
|
|
||||||
|
# since-tag
|
||||||
|
# version of last stable release
|
||||||
|
# you need to change this depending on what you need
|
||||||
|
# if you want a changelog between versions this is the lowest version
|
||||||
|
since-tag=1.6.5
|
||||||
|
|
||||||
|
# future-release
|
||||||
|
# version you are about to release
|
||||||
|
# if you want a changelog between a version and all unreleased changes grouped as a release
|
||||||
|
# eg: v1.6.5 to v1.7.0
|
||||||
|
future-release=v1.7.0
|
||||||
|
|
||||||
23
.gitmodules
vendored
23
.gitmodules
vendored
@ -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,25 +71,8 @@
|
|||||||
[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
|
||||||
branch = px4
|
branch = px4
|
||||||
[submodule "Tools/simulation/gz"]
|
|
||||||
path = Tools/simulation/gz
|
|
||||||
url = https://github.com/PX4/PX4-gazebo-models.git
|
|
||||||
branch = main
|
|
||||||
[submodule "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
|
|
||||||
[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
|
|
||||||
|
|||||||
35
.travis.yml
Normal file
35
.travis.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
language: cpp
|
||||||
|
|
||||||
|
git:
|
||||||
|
depth: 100
|
||||||
|
submodules: false
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
# In order to stay under the coverity rate limit, we only run this weekly
|
||||||
|
# and not on push which is configured in travis-ci settings.
|
||||||
|
if: branch = main
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
|
||||||
|
|
||||||
|
install:
|
||||||
|
- export PATH=$HOME/.local/bin:$PATH
|
||||||
|
- pip install --user --upgrade pip
|
||||||
|
- pip install --user -r Tools/setup/requirements.txt
|
||||||
|
|
||||||
|
script:
|
||||||
|
- make
|
||||||
|
|
||||||
|
addons:
|
||||||
|
coverity_scan:
|
||||||
|
project:
|
||||||
|
name: "PX4/Firmware"
|
||||||
|
description: "Build submitted via Travis CI"
|
||||||
|
notification_email: ci@px4.io
|
||||||
|
build_command_prepend: "make distclean"
|
||||||
|
build_command: "make px4_sitl_default"
|
||||||
|
branch_pattern: coverity_scan
|
||||||
2
.vscode/cmake-kits.json
vendored
2
.vscode/cmake-kits.json
vendored
@ -2,4 +2,4 @@
|
|||||||
{
|
{
|
||||||
"name": "PX4 detect"
|
"name": "PX4 detect"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
100
.vscode/cmake-variants.yaml
vendored
100
.vscode/cmake-variants.yaml
vendored
@ -71,26 +71,6 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: px4_fmu-v5x_default
|
CONFIG: px4_fmu-v5x_default
|
||||||
px4_fmu-v6c_default:
|
|
||||||
short: px4_fmu-v6c
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: px4_fmu-v6c_default
|
|
||||||
px4_fmu-v6c_bootloader:
|
|
||||||
short: px4_fmu-v6c_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: px4_fmu-v6c_bootloader
|
|
||||||
px4_fmu-v6u_default:
|
|
||||||
short: px4_fmu-v6u
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: px4_fmu-v6u_default
|
|
||||||
px4_fmu-v6u_bootloader:
|
|
||||||
short: px4_fmu-v6u_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: px4_fmu-v6u_bootloader
|
|
||||||
px4_fmu-v6x_default:
|
px4_fmu-v6x_default:
|
||||||
short: px4_fmu-v6x
|
short: px4_fmu-v6x
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@ -111,11 +91,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
|
||||||
@ -156,16 +131,6 @@ CONFIG:
|
|||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
settings:
|
settings:
|
||||||
CONFIG: ark_can-rtk-gps_canbootloader
|
CONFIG: ark_can-rtk-gps_canbootloader
|
||||||
ark_septentrio-gps_default:
|
|
||||||
short: ark_septentrio-gps_default
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_septentrio-gps_default
|
|
||||||
ark_septentrio-gps_canbootloader:
|
|
||||||
short: ark_septentrio-gps_canbootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_septentrio-gps_canbootloader
|
|
||||||
ark_cannode_default:
|
ark_cannode_default:
|
||||||
short: ark_cannode_default
|
short: ark_cannode_default
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@ -186,26 +151,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:
|
|
||||||
short: ark_pi6x_bootloader
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_pi6x_bootloader
|
|
||||||
ark_pi6x_default:
|
|
||||||
short: ark_pi6x_default
|
|
||||||
buildType: MinSizeRel
|
|
||||||
settings:
|
|
||||||
CONFIG: ark_pi6x_default
|
|
||||||
atl_mantis-edu_default:
|
atl_mantis-edu_default:
|
||||||
short: atl_mantis-edu
|
short: atl_mantis-edu
|
||||||
buildType: MinSizeRel
|
buildType: MinSizeRel
|
||||||
@ -241,11 +186,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 +241,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 +291,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
|
|
||||||
|
|||||||
1
.vscode/extensions.json
vendored
1
.vscode/extensions.json
vendored
@ -4,7 +4,6 @@
|
|||||||
"recommendations": [
|
"recommendations": [
|
||||||
"chiehyu.vscode-astyle",
|
"chiehyu.vscode-astyle",
|
||||||
"dan-c-underwood.arm",
|
"dan-c-underwood.arm",
|
||||||
"editorconfig.editorconfig",
|
|
||||||
"fredericbonnet.cmake-test-adapter",
|
"fredericbonnet.cmake-test-adapter",
|
||||||
"github.vscode-pull-request-github",
|
"github.vscode-pull-request-github",
|
||||||
"marus25.cortex-debug",
|
"marus25.cortex-debug",
|
||||||
|
|||||||
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
@ -15,7 +15,6 @@
|
|||||||
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
|
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
|
||||||
"cmake.configureOnOpen": true,
|
"cmake.configureOnOpen": true,
|
||||||
"cmake.ctest.parallelJobs": 1,
|
"cmake.ctest.parallelJobs": 1,
|
||||||
"cmake.options.statusBarVisibility": "compact",
|
|
||||||
"cmake.skipConfigureIfCachePresent": true,
|
"cmake.skipConfigureIfCachePresent": true,
|
||||||
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
|
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
|
||||||
"cmakeExplorer.parallelJobs": 1,
|
"cmakeExplorer.parallelJobs": 1,
|
||||||
|
|||||||
172
.ycm_extra_conf.py
Normal file
172
.ycm_extra_conf.py
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
# This file is NOT licensed under the GPLv3, which is the license for the rest
|
||||||
|
# of YouCompleteMe.
|
||||||
|
#
|
||||||
|
# Here's the license text for this file:
|
||||||
|
#
|
||||||
|
# This is free and unencumbered software released into the public domain.
|
||||||
|
#
|
||||||
|
# Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
|
# distribute this software, either in source code form or as a compiled
|
||||||
|
# binary, for any purpose, commercial or non-commercial, and by any
|
||||||
|
# means.
|
||||||
|
#
|
||||||
|
# In jurisdictions that recognize copyright laws, the author or authors
|
||||||
|
# of this software dedicate any and all copyright interest in the
|
||||||
|
# software to the public domain. We make this dedication for the benefit
|
||||||
|
# of the public at large and to the detriment of our heirs and
|
||||||
|
# successors. We intend this dedication to be an overt act of
|
||||||
|
# relinquishment in perpetuity of all present and future rights to this
|
||||||
|
# software under copyright law.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
# OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# For more information, please refer to <http://unlicense.org/>
|
||||||
|
|
||||||
|
import os
|
||||||
|
import ycm_core
|
||||||
|
|
||||||
|
# These are the compilation flags that will be used in case there's no
|
||||||
|
# compilation database set (by default, one is not set).
|
||||||
|
# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
|
||||||
|
flags = [
|
||||||
|
'-Wall',
|
||||||
|
'-Wextra',
|
||||||
|
'-Werror',
|
||||||
|
#'-Wc++98-compat',
|
||||||
|
'-Wno-long-long',
|
||||||
|
'-Wno-variadic-macros',
|
||||||
|
'-fexceptions',
|
||||||
|
'-DNDEBUG',
|
||||||
|
# You 100% do NOT need -DUSE_CLANG_COMPLETER in your flags; only the YCM
|
||||||
|
# source code needs it.
|
||||||
|
#'-DUSE_CLANG_COMPLETER',
|
||||||
|
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which
|
||||||
|
# language to use when compiling headers. So it will guess. Badly. So C++
|
||||||
|
# headers will be compiled as C headers. You don't want that so ALWAYS specify
|
||||||
|
# a "-std=<something>".
|
||||||
|
# For a C project, you would set this to something like 'c99' instead of
|
||||||
|
# 'c++14'.
|
||||||
|
'-std=c++14',
|
||||||
|
# ...and the same thing goes for the magic -x option which specifies the
|
||||||
|
# language that the files to be compiled are written in. This is mostly
|
||||||
|
# relevant for c++ headers.
|
||||||
|
# For a C project, you would set this to 'c' instead of 'c++'.
|
||||||
|
'-x',
|
||||||
|
'c++',
|
||||||
|
'-undef', # get rid of standard definitions to allow us to include arm math header
|
||||||
|
'-I', os.path.join(os.path.expanduser("~"),'gcc-arm-none-eabi-4_7-2013q3/arm-none-eabi/include'),
|
||||||
|
'-I', 'Build/px4_io-v2_default.build/nuttx-export/include/',
|
||||||
|
'-I', './NuttX/nuttx/arch/arm/include',
|
||||||
|
'-include', './src/include/visibility.h',
|
||||||
|
'-I', './src',
|
||||||
|
'-I', './src/modules',
|
||||||
|
'-I', './src/include',
|
||||||
|
'-I', './src/lib',
|
||||||
|
'-I', './NuttX',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# Set this to the absolute path to the folder (NOT the file!) containing the
|
||||||
|
# compile_commands.json file to use that instead of 'flags'. See here for
|
||||||
|
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
|
||||||
|
#
|
||||||
|
# Most projects will NOT need to set this to anything; you can just change the
|
||||||
|
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
|
||||||
|
compilation_database_folder = ''
|
||||||
|
|
||||||
|
if os.path.exists( compilation_database_folder ):
|
||||||
|
database = ycm_core.CompilationDatabase( compilation_database_folder )
|
||||||
|
else:
|
||||||
|
database = None
|
||||||
|
|
||||||
|
SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
|
||||||
|
|
||||||
|
def DirectoryOfThisScript():
|
||||||
|
return os.path.dirname( os.path.abspath( __file__ ) )
|
||||||
|
|
||||||
|
|
||||||
|
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
|
||||||
|
if not working_directory:
|
||||||
|
return list( flags )
|
||||||
|
new_flags = []
|
||||||
|
make_next_absolute = False
|
||||||
|
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
|
||||||
|
for flag in flags:
|
||||||
|
new_flag = flag
|
||||||
|
|
||||||
|
if make_next_absolute:
|
||||||
|
make_next_absolute = False
|
||||||
|
if not flag.startswith( '/' ):
|
||||||
|
new_flag = os.path.join( working_directory, flag )
|
||||||
|
|
||||||
|
for path_flag in path_flags:
|
||||||
|
if flag == path_flag:
|
||||||
|
make_next_absolute = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if flag.startswith( path_flag ):
|
||||||
|
path = flag[ len( path_flag ): ]
|
||||||
|
new_flag = path_flag + os.path.join( working_directory, path )
|
||||||
|
break
|
||||||
|
|
||||||
|
if new_flag:
|
||||||
|
new_flags.append( new_flag )
|
||||||
|
return new_flags
|
||||||
|
|
||||||
|
|
||||||
|
def IsHeaderFile( filename ):
|
||||||
|
extension = os.path.splitext( filename )[ 1 ]
|
||||||
|
return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
|
||||||
|
|
||||||
|
|
||||||
|
def GetCompilationInfoForFile( filename ):
|
||||||
|
# The compilation_commands.json file generated by CMake does not have entries
|
||||||
|
# for header files. So we do our best by asking the db for flags for a
|
||||||
|
# corresponding source file, if any. If one exists, the flags for that file
|
||||||
|
# should be good enough.
|
||||||
|
if IsHeaderFile( filename ):
|
||||||
|
basename = os.path.splitext( filename )[ 0 ]
|
||||||
|
for extension in SOURCE_EXTENSIONS:
|
||||||
|
replacement_file = basename + extension
|
||||||
|
if os.path.exists( replacement_file ):
|
||||||
|
compilation_info = database.GetCompilationInfoForFile(
|
||||||
|
replacement_file )
|
||||||
|
if compilation_info.compiler_flags_:
|
||||||
|
return compilation_info
|
||||||
|
return None
|
||||||
|
return database.GetCompilationInfoForFile( filename )
|
||||||
|
|
||||||
|
|
||||||
|
def FlagsForFile( filename, **kwargs ):
|
||||||
|
if database:
|
||||||
|
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
|
||||||
|
# python list, but a "list-like" StringVec object
|
||||||
|
compilation_info = GetCompilationInfoForFile( filename )
|
||||||
|
if not compilation_info:
|
||||||
|
return None
|
||||||
|
|
||||||
|
final_flags = MakeRelativePathsInFlagsAbsolute(
|
||||||
|
compilation_info.compiler_flags_,
|
||||||
|
compilation_info.compiler_working_dir_ )
|
||||||
|
|
||||||
|
# NOTE: This is just for YouCompleteMe; it's highly likely that your project
|
||||||
|
# does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
|
||||||
|
# ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
|
||||||
|
#try:
|
||||||
|
# final_flags.remove( '-stdlib=libc++' )
|
||||||
|
#except ValueError:
|
||||||
|
# pass
|
||||||
|
else:
|
||||||
|
relative_to = DirectoryOfThisScript()
|
||||||
|
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
|
||||||
|
|
||||||
|
return {
|
||||||
|
'flags': final_flags,
|
||||||
|
'do_cache': True
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# Copyright (c) 2017 - 2024 PX4 Development Team. All rights reserved.
|
# Copyright (c) 2017 - 2022 PX4 Development Team. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
@ -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})
|
||||||
|
|
||||||
@ -140,9 +132,7 @@ list(GET VERSION_LIST 2 PX4_VERSION_PATCH)
|
|||||||
string(REPLACE "-" ";" PX4_VERSION_PATCH ${PX4_VERSION_PATCH})
|
string(REPLACE "-" ";" PX4_VERSION_PATCH ${PX4_VERSION_PATCH})
|
||||||
list(GET PX4_VERSION_PATCH 0 PX4_VERSION_PATCH)
|
list(GET PX4_VERSION_PATCH 0 PX4_VERSION_PATCH)
|
||||||
|
|
||||||
# # Capture only the hash part after 'g'
|
message(STATUS "PX4 version: ${PX4_GIT_TAG} (${PX4_VERSION_MAJOR}.${PX4_VERSION_MINOR}.${PX4_VERSION_PATCH})")
|
||||||
string(REGEX MATCH "g([a-f0-9]+)$" GIT_HASH "${PX4_GIT_TAG}")
|
|
||||||
set(PX4_GIT_HASH ${CMAKE_MATCH_1})
|
|
||||||
|
|
||||||
define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
|
define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
|
||||||
BRIEF_DOCS "PX4 module libs"
|
BRIEF_DOCS "PX4 module libs"
|
||||||
@ -158,7 +148,6 @@ define_property(GLOBAL PROPERTY PX4_MODULE_PATHS
|
|||||||
BRIEF_DOCS "PX4 module paths"
|
BRIEF_DOCS "PX4 module paths"
|
||||||
FULL_DOCS "List of paths to all PX4 modules"
|
FULL_DOCS "List of paths to all PX4 modules"
|
||||||
)
|
)
|
||||||
|
|
||||||
define_property(GLOBAL PROPERTY PX4_SRC_FILES
|
define_property(GLOBAL PROPERTY PX4_SRC_FILES
|
||||||
BRIEF_DOCS "src files from all PX4 modules & libs"
|
BRIEF_DOCS "src files from all PX4 modules & libs"
|
||||||
FULL_DOCS "SRC files from px4_add_{module,library}"
|
FULL_DOCS "SRC files from px4_add_{module,library}"
|
||||||
@ -173,10 +162,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 +173,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 +397,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 +463,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 +484,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 --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
|
||||||
|
|
||||||
|
|||||||
83
Firmware.sublime-project
Normal file
83
Firmware.sublime-project
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"folders":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path": ".",
|
||||||
|
"file_exclude_patterns":
|
||||||
|
[
|
||||||
|
"*.o",
|
||||||
|
"*.a",
|
||||||
|
"*.d",
|
||||||
|
".built",
|
||||||
|
".context",
|
||||||
|
".depend",
|
||||||
|
".config",
|
||||||
|
".version",
|
||||||
|
"Make.dep",
|
||||||
|
".configured",
|
||||||
|
"*.sublime-project",
|
||||||
|
"*.sublime-workspace",
|
||||||
|
".project",
|
||||||
|
".cproject",
|
||||||
|
"cscope.out"
|
||||||
|
],
|
||||||
|
"folder_exclude_patterns":
|
||||||
|
[
|
||||||
|
".settings",
|
||||||
|
"nuttx/arch/arm/src/board",
|
||||||
|
"nuttx/arch/arm/src/chip",
|
||||||
|
"build_*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
"tab_size": 8,
|
||||||
|
"translate_tabs_to_spaces": false,
|
||||||
|
"highlight_line": true,
|
||||||
|
"AStyleFormatter":
|
||||||
|
{
|
||||||
|
"options_c":
|
||||||
|
{
|
||||||
|
"use_only_additional_options": true,
|
||||||
|
"additional_options_file": "${project_path}/Tools/astyle/astylerc"
|
||||||
|
},
|
||||||
|
"options_c++":
|
||||||
|
{
|
||||||
|
"use_only_additional_options": true,
|
||||||
|
"additional_options_file": "${project_path}/Tools/astyle/astylerc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build_systems":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "PX4: make all",
|
||||||
|
"working_dir": "${project_path}",
|
||||||
|
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||||
|
"cmd": ["make"],
|
||||||
|
"shell": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PX4: make and upload",
|
||||||
|
"working_dir": "${project_path}",
|
||||||
|
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||||
|
"cmd": ["make upload px4_fmu-v2_default -j8"],
|
||||||
|
"shell": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PX4: make posix",
|
||||||
|
"working_dir": "${project_path}",
|
||||||
|
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||||
|
"cmd": ["make posix"],
|
||||||
|
"shell": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MindPX_V2: make and upload",
|
||||||
|
"working_dir": "${project_path}",
|
||||||
|
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||||
|
"cmd": ["make upload mindpx-v2_default -j8"],
|
||||||
|
"shell": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
4
Jenkinsfile
vendored
4
Jenkinsfile
vendored
@ -171,9 +171,9 @@ pipeline {
|
|||||||
sh('cp airframes.md PX4-user_guide/en/airframes/airframe_reference.md')
|
sh('cp airframes.md PX4-user_guide/en/airframes/airframe_reference.md')
|
||||||
sh('cp parameters.md PX4-user_guide/en/advanced_config/parameter_reference.md')
|
sh('cp parameters.md PX4-user_guide/en/advanced_config/parameter_reference.md')
|
||||||
sh('cp -R modules/*.md PX4-user_guide/en/modules/')
|
sh('cp -R modules/*.md PX4-user_guide/en/modules/')
|
||||||
sh('cp -R graph_*.json PX4-user_guide/public/middleware/') // vitepress
|
sh('cp -R graph_*.json PX4-user_guide/.vuepress/public/en/middleware/')
|
||||||
sh('cp -R msg_docs/*.md PX4-user_guide/en/msg_docs/')
|
sh('cp -R msg_docs/*.md PX4-user_guide/en/msg_docs/')
|
||||||
sh('cp -R failsafe_sim/* PX4-user_guide/public/config/failsafe') // vitepress
|
sh('cp -R failsafe_sim/* PX4-user_guide/.vuepress/public/en/config/failsafe')
|
||||||
sh('cd PX4-user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
|
sh('cd PX4-user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
|
||||||
sh('cd PX4-user_guide; git push origin main || true')
|
sh('cd PX4-user_guide; git push origin main || true')
|
||||||
sh('rm -rf PX4-user_guide')
|
sh('rm -rf PX4-user_guide')
|
||||||
|
|||||||
11
Kconfig
11
Kconfig
@ -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
|
||||||
|
|||||||
48
Makefile
48
Makefile
@ -1,6 +1,6 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 - 2024 PX4 Development Team. All rights reserved.
|
# Copyright (c) 2015 - 2020 PX4 Development Team. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
@ -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
|
||||||
@ -323,37 +323,7 @@ px4io_update:
|
|||||||
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
|
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
|
||||||
git status
|
git status
|
||||||
|
|
||||||
bootloaders_update: \
|
bootloaders_update: ark_fmu-v6x_bootloader cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
|
||||||
3dr_ctrl-zero-h7-oem-revg_bootloader \
|
|
||||||
ark_fmu-v6x_bootloader \
|
|
||||||
ark_fpv_bootloader \
|
|
||||||
ark_pi6x_bootloader \
|
|
||||||
cuav_nora_bootloader \
|
|
||||||
cuav_x7pro_bootloader \
|
|
||||||
cuav_7-nano_bootloader \
|
|
||||||
cubepilot_cubeorange_bootloader \
|
|
||||||
cubepilot_cubeorangeplus_bootloader \
|
|
||||||
hkust_nxt-dual_bootloader \
|
|
||||||
hkust_nxt-v1_bootloader \
|
|
||||||
holybro_durandal-v1_bootloader \
|
|
||||||
holybro_kakuteh7_bootloader \
|
|
||||||
holybro_kakuteh7mini_bootloader \
|
|
||||||
holybro_kakuteh7v2_bootloader \
|
|
||||||
matek_h743_bootloader \
|
|
||||||
matek_h743-mini_bootloader \
|
|
||||||
matek_h743-slim_bootloader \
|
|
||||||
micoair_h743_bootloader \
|
|
||||||
micoair_h743-aio_bootloader \
|
|
||||||
modalai_fc-v2_bootloader \
|
|
||||||
mro_ctrl-zero-classic_bootloader \
|
|
||||||
mro_ctrl-zero-h7_bootloader \
|
|
||||||
mro_ctrl-zero-h7-oem_bootloader \
|
|
||||||
mro_pixracerpro_bootloader \
|
|
||||||
px4_fmu-v6c_bootloader \
|
|
||||||
px4_fmu-v6u_bootloader \
|
|
||||||
px4_fmu-v6x_bootloader \
|
|
||||||
px4_fmu-v6xrt_bootloader \
|
|
||||||
siyi_n7_bootloader
|
|
||||||
git status
|
git status
|
||||||
|
|
||||||
.PHONY: coverity_scan
|
.PHONY: coverity_scan
|
||||||
@ -384,9 +354,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 +367,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 +520,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,18 +19,21 @@ 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
|
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
param set-default CA_ROTOR0_PX 1
|
param set-default CA_ROTOR0_PX 0.15
|
||||||
param set-default CA_ROTOR0_PY 1
|
param set-default CA_ROTOR0_PY 0.15
|
||||||
param set-default CA_ROTOR1_PX -1
|
param set-default CA_ROTOR0_KM 0.05
|
||||||
param set-default CA_ROTOR1_PY -1
|
param set-default CA_ROTOR1_PX -0.15
|
||||||
param set-default CA_ROTOR2_PX 1
|
param set-default CA_ROTOR1_PY -0.15
|
||||||
param set-default CA_ROTOR2_PY -1
|
param set-default CA_ROTOR1_KM 0.05
|
||||||
|
param set-default CA_ROTOR2_PX 0.15
|
||||||
|
param set-default CA_ROTOR2_PY -0.15
|
||||||
param set-default CA_ROTOR2_KM -0.05
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
param set-default CA_ROTOR3_PX -1
|
param set-default CA_ROTOR3_PX -0.15
|
||||||
param set-default CA_ROTOR3_PY 1
|
param set-default CA_ROTOR3_PY 0.15
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
|
||||||
param set-default PWM_MAIN_FUNC1 101
|
param set-default PWM_MAIN_FUNC1 101
|
||||||
|
|||||||
@ -21,8 +21,12 @@ 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 BAT_N_CELLS 3
|
||||||
|
|
||||||
|
param set-default SIH_T_MAX 6.0
|
||||||
param set-default SIH_MASS 0.3
|
param set-default SIH_MASS 0.3
|
||||||
param set-default SIH_IXX 0.00402
|
param set-default SIH_IXX 0.00402
|
||||||
param set-default SIH_IYY 0.0144
|
param set-default SIH_IYY 0.0144
|
||||||
@ -41,9 +45,9 @@ param set-default CA_ROTOR_COUNT 1
|
|||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_P 1
|
param set-default CA_SV_CS1_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS1_TYPE 3
|
param set-default CA_SV_CS1_TYPE 3
|
||||||
param set-default CA_SV_CS2_TRQ_Y 1
|
param set-default CA_SV_CS2_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 4
|
param set-default CA_SV_CS2_TYPE 4
|
||||||
param set-default PWM_MAIN_FUNC3 201
|
param set-default PWM_MAIN_FUNC3 201
|
||||||
param set-default PWM_MAIN_FUNC4 202
|
param set-default PWM_MAIN_FUNC4 202
|
||||||
|
|||||||
@ -30,15 +30,19 @@ 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 BAT_N_CELLS 3
|
||||||
|
|
||||||
|
param set-default SIH_T_MAX 2.0
|
||||||
param set-default SIH_Q_MAX 0.0165
|
param set-default SIH_Q_MAX 0.0165
|
||||||
param set-default SIH_MASS 0.2
|
param set-default SIH_MASS 0.2
|
||||||
# IXX and IZZ are inverted from the thesis as the body frame is pitched by 90 deg
|
# IXX and IZZ are inverted from the thesis as the body frame is pitched by 90 deg
|
||||||
param set-default SIH_IXX 0.00354
|
param set-default SIH_IXX 0.00354
|
||||||
param set-default SIH_IYY 0.000625
|
param set-default SIH_IYY 0.000625
|
||||||
param set-default SIH_IZZ 0.00300
|
param set-default SIH_IZZ 0.00300
|
||||||
param set-default SIH_IXZ 0
|
param set-default SIH_IXZ 0.0
|
||||||
param set-default SIH_KDV 0.2
|
param set-default SIH_KDV 0.2
|
||||||
param set-default SIH_L_ROLL 0.145
|
param set-default SIH_L_ROLL 0.145
|
||||||
|
|
||||||
|
|||||||
@ -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.0
|
||||||
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
|
||||||
|
|
||||||
|
|||||||
@ -8,36 +8,37 @@
|
|||||||
param set-default CA_AIRFRAME 7
|
param set-default CA_AIRFRAME 7
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
param set-default CA_R_REV 255
|
param set-default CA_R_REV 255
|
||||||
param set-default CA_ROTOR0_AX 1
|
param set-default CA_ROTOR0_AX 1.0000
|
||||||
param set-default CA_ROTOR0_AY 0
|
param set-default CA_ROTOR0_AY 0.0000
|
||||||
param set-default CA_ROTOR0_AZ 0
|
param set-default CA_ROTOR0_AZ 0.0000
|
||||||
param set-default CA_ROTOR0_KM 0
|
param set-default CA_ROTOR0_KM 0.0000
|
||||||
param set-default CA_ROTOR0_PX 0
|
param set-default CA_ROTOR0_PX 0.0000
|
||||||
param set-default CA_ROTOR0_PY -0.3
|
param set-default CA_ROTOR0_PY -0.3000
|
||||||
param set-default CA_ROTOR0_PZ -0.3
|
param set-default CA_ROTOR0_PZ -0.3000
|
||||||
param set-default CA_ROTOR1_AX 1
|
param set-default CA_ROTOR1_AX 1.0000
|
||||||
param set-default CA_ROTOR1_AY 0
|
param set-default CA_ROTOR1_AY 0.0000
|
||||||
param set-default CA_ROTOR1_AZ 0
|
param set-default CA_ROTOR1_AZ 0.0000
|
||||||
param set-default CA_ROTOR1_KM 0
|
param set-default CA_ROTOR1_KM 0.0000
|
||||||
param set-default CA_ROTOR1_PX 0
|
param set-default CA_ROTOR1_PX 0.0000
|
||||||
param set-default CA_ROTOR1_PY 0.3
|
param set-default CA_ROTOR1_PY 0.3000
|
||||||
param set-default CA_ROTOR1_PZ -0.3
|
param set-default CA_ROTOR1_PZ -0.3000
|
||||||
param set-default CA_ROTOR2_AX 1
|
param set-default CA_ROTOR2_AX 1.0000
|
||||||
param set-default CA_ROTOR2_AY 0
|
param set-default CA_ROTOR2_AY 0.0000
|
||||||
param set-default CA_ROTOR2_AZ 0
|
param set-default CA_ROTOR2_AZ 0.0000
|
||||||
param set-default CA_ROTOR2_KM 0
|
param set-default CA_ROTOR2_KM 0.0000
|
||||||
param set-default CA_ROTOR2_PX 0
|
param set-default CA_ROTOR2_PX 0.0000
|
||||||
param set-default CA_ROTOR2_PY 0.3
|
param set-default CA_ROTOR2_PY 0.3000
|
||||||
param set-default CA_ROTOR2_PZ 0.3
|
param set-default CA_ROTOR2_PZ 0.3000
|
||||||
param set-default CA_ROTOR3_AX 1
|
param set-default CA_ROTOR3_AX 1.0000
|
||||||
param set-default CA_ROTOR3_AY 0
|
param set-default CA_ROTOR3_AY 0.0000
|
||||||
param set-default CA_ROTOR3_AZ 0
|
param set-default CA_ROTOR3_AZ 0.0000
|
||||||
param set-default CA_ROTOR3_KM 0
|
param set-default CA_ROTOR3_KM 0.0000
|
||||||
param set-default CA_ROTOR3_PX 0
|
param set-default CA_ROTOR3_PX 0.0000
|
||||||
param set-default CA_ROTOR3_PY -0.3
|
param set-default CA_ROTOR3_PY -0.3000
|
||||||
param set-default CA_ROTOR3_PZ 0.3
|
param set-default CA_ROTOR3_PZ 0.3000
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
|
|||||||
@ -9,49 +9,49 @@ param set-default CA_AIRFRAME 7
|
|||||||
|
|
||||||
param set-default CA_ROTOR_COUNT 8
|
param set-default CA_ROTOR_COUNT 8
|
||||||
param set-default CA_R_REV 255
|
param set-default CA_R_REV 255
|
||||||
param set-default CA_ROTOR0_AX 1
|
param set-default CA_ROTOR0_AX 1.0000
|
||||||
param set-default CA_ROTOR0_AY -1
|
param set-default CA_ROTOR0_AY -1.0000
|
||||||
param set-default CA_ROTOR0_AZ 0
|
param set-default CA_ROTOR0_AZ 0.0000
|
||||||
param set-default CA_ROTOR0_KM 0
|
param set-default CA_ROTOR0_KM 0.0000
|
||||||
param set-default CA_ROTOR0_PX 0.5
|
param set-default CA_ROTOR0_PX 0.5000
|
||||||
param set-default CA_ROTOR0_PY 0.3
|
param set-default CA_ROTOR0_PY 0.3000
|
||||||
param set-default CA_ROTOR0_PZ 0.2
|
param set-default CA_ROTOR0_PZ 0.2000
|
||||||
param set-default CA_ROTOR1_AX 1
|
param set-default CA_ROTOR1_AX 1.0000
|
||||||
param set-default CA_ROTOR1_AY 1
|
param set-default CA_ROTOR1_AY 1.0000
|
||||||
param set-default CA_ROTOR1_AZ 0
|
param set-default CA_ROTOR1_AZ 0.0000
|
||||||
param set-default CA_ROTOR1_KM 0
|
param set-default CA_ROTOR1_KM 0.0000
|
||||||
param set-default CA_ROTOR1_PX 0.5
|
param set-default CA_ROTOR1_PX 0.5000
|
||||||
param set-default CA_ROTOR1_PY -0.3
|
param set-default CA_ROTOR1_PY -0.3000
|
||||||
param set-default CA_ROTOR1_PZ 0.2
|
param set-default CA_ROTOR1_PZ 0.2000
|
||||||
param set-default CA_ROTOR2_AX 1
|
param set-default CA_ROTOR2_AX 1.0000
|
||||||
param set-default CA_ROTOR2_AY 1
|
param set-default CA_ROTOR2_AY 1.0000
|
||||||
param set-default CA_ROTOR2_AZ 0
|
param set-default CA_ROTOR2_AZ 0.0000
|
||||||
param set-default CA_ROTOR2_KM 0
|
param set-default CA_ROTOR2_KM 0.0000
|
||||||
param set-default CA_ROTOR2_PX -0.5
|
param set-default CA_ROTOR2_PX -0.5000
|
||||||
param set-default CA_ROTOR2_PY 0.3
|
param set-default CA_ROTOR2_PY 0.3000
|
||||||
param set-default CA_ROTOR2_PZ 0.2
|
param set-default CA_ROTOR2_PZ 0.2000
|
||||||
param set-default CA_ROTOR3_AX 1
|
param set-default CA_ROTOR3_AX 1.0000
|
||||||
param set-default CA_ROTOR3_AY -1
|
param set-default CA_ROTOR3_AY -1.0000
|
||||||
param set-default CA_ROTOR3_AZ 0
|
param set-default CA_ROTOR3_AZ 0.0000
|
||||||
param set-default CA_ROTOR3_KM 0
|
param set-default CA_ROTOR3_KM 0.0000
|
||||||
param set-default CA_ROTOR3_PX -0.5
|
param set-default CA_ROTOR3_PX -0.5000
|
||||||
param set-default CA_ROTOR3_PY -0.3
|
param set-default CA_ROTOR3_PY -0.3000
|
||||||
param set-default CA_ROTOR3_PZ 0.2
|
param set-default CA_ROTOR3_PZ 0.2000
|
||||||
param set-default CA_ROTOR4_AZ -1
|
param set-default CA_ROTOR4_AZ -1.0000
|
||||||
param set-default CA_ROTOR4_KM 0
|
param set-default CA_ROTOR4_KM 0.0000
|
||||||
param set-default CA_ROTOR4_PX 0.5
|
param set-default CA_ROTOR4_PX 0.5000
|
||||||
param set-default CA_ROTOR4_PY 0.5
|
param set-default CA_ROTOR4_PY 0.5000
|
||||||
param set-default CA_ROTOR5_AZ 1
|
param set-default CA_ROTOR5_AZ 1.0000
|
||||||
param set-default CA_ROTOR5_KM 0
|
param set-default CA_ROTOR5_KM 0.0000
|
||||||
param set-default CA_ROTOR5_PX 0.5
|
param set-default CA_ROTOR5_PX 0.5000
|
||||||
param set-default CA_ROTOR5_PY -0.5
|
param set-default CA_ROTOR5_PY -0.5000
|
||||||
param set-default CA_ROTOR6_AZ 1
|
param set-default CA_ROTOR6_AZ 1.0000
|
||||||
param set-default CA_ROTOR6_KM 0
|
param set-default CA_ROTOR6_KM 0.0000
|
||||||
param set-default CA_ROTOR6_PX -0.5
|
param set-default CA_ROTOR6_PX -0.5000
|
||||||
param set-default CA_ROTOR6_PY 0.5
|
param set-default CA_ROTOR6_PY 0.5000
|
||||||
param set-default CA_ROTOR7_KM 0
|
param set-default CA_ROTOR7_KM 0.0000
|
||||||
param set-default CA_ROTOR7_PX -0.5
|
param set-default CA_ROTOR7_PX -0.5000
|
||||||
param set-default CA_ROTOR7_PY -0.5
|
param set-default CA_ROTOR7_PY -0.5000
|
||||||
|
|
||||||
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
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -54,9 +54,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -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
|
||||||
@ -56,9 +57,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -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
|
||||||
@ -56,9 +57,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,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_TAKEOFF_ALT 20
|
param set-default MIS_TAKEOFF_ALT 20
|
||||||
|
param set-default MIS_DIST_1WP 2500
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
param set-default NAV_DLL_ACT 2
|
param set-default NAV_DLL_ACT 2
|
||||||
@ -41,9 +42,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -55,3 +56,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
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,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_TAKEOFF_ALT 20
|
param set-default MIS_TAKEOFF_ALT 20
|
||||||
|
param set-default MIS_DIST_1WP 2500
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
param set-default NAV_DLL_ACT 2
|
param set-default NAV_DLL_ACT 2
|
||||||
@ -41,9 +42,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -40,9 +40,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,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_TAKEOFF_ALT 20
|
param set-default MIS_TAKEOFF_ALT 20
|
||||||
|
param set-default MIS_DIST_1WP 2500
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
param set-default NAV_DLL_ACT 2
|
param set-default NAV_DLL_ACT 2
|
||||||
@ -41,9 +42,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -55,3 +56,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
|
||||||
|
|
||||||
|
|||||||
@ -48,9 +48,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
@ -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
|
||||||
@ -54,9 +55,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -23,7 +23,9 @@ 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 MIS_DIST_1WP 2500
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 15
|
param set-default NAV_ACC_RAD 15
|
||||||
param set-default NAV_DLL_ACT 2
|
param set-default NAV_DLL_ACT 2
|
||||||
@ -45,9 +47,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -45,9 +45,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -27,8 +27,8 @@ param set-default CA_ROTOR2_KM -0.05
|
|||||||
param set-default CA_ROTOR3_PX -0.1515
|
param set-default CA_ROTOR3_PX -0.1515
|
||||||
param set-default CA_ROTOR3_PY 0.1875
|
param set-default CA_ROTOR3_PY 0.1875
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
param set-default CA_ROTOR4_AX 1
|
param set-default CA_ROTOR4_AX 1.0
|
||||||
param set-default CA_ROTOR4_AZ 0
|
param set-default CA_ROTOR4_AZ 0.0
|
||||||
param set-default CA_ROTOR4_PX 0.2
|
param set-default CA_ROTOR4_PX 0.2
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
@ -37,7 +37,7 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
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
|
||||||
param set-default PWM_MAIN_FUNC3 103
|
param set-default PWM_MAIN_FUNC3 103
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -50,11 +50,11 @@ param set-default SENS_IMU_MODE 1
|
|||||||
|
|
||||||
param set-default FW_P_TC 0.6
|
param set-default FW_P_TC 0.6
|
||||||
|
|
||||||
param set-default FW_PR_FF 0.0
|
param set-default FW_PR_FF 0.1
|
||||||
param set-default FW_PSP_OFF 2
|
param set-default FW_PSP_OFF 2
|
||||||
param set-default FW_RR_FF 0.1
|
param set-default FW_RR_FF 0.1
|
||||||
param set-default FW_RR_I 0.2
|
param set-default FW_RR_I 0.2
|
||||||
param set-default FW_RR_P 0.5
|
param set-default FW_RR_P 0.3
|
||||||
param set-default FW_THR_TRIM 0.35
|
param set-default FW_THR_TRIM 0.35
|
||||||
param set-default FW_THR_MAX 0.8
|
param set-default FW_THR_MAX 0.8
|
||||||
param set-default FW_THR_MIN 0.05
|
param set-default FW_THR_MIN 0.05
|
||||||
@ -66,6 +66,8 @@ param set-default FW_T_SINK_MIN 1.6
|
|||||||
param set-default MC_AIRMODE 1
|
param set-default MC_AIRMODE 1
|
||||||
param set-default MC_ROLL_P 3
|
param set-default MC_ROLL_P 3
|
||||||
param set-default MC_PITCH_P 3
|
param set-default MC_PITCH_P 3
|
||||||
|
param set-default MC_ROLLRATE_P 0.3
|
||||||
|
param set-default MC_PITCHRATE_P 0.3
|
||||||
|
|
||||||
param set-default VT_ARSP_TRANS 10
|
param set-default VT_ARSP_TRANS 10
|
||||||
param set-default VT_B_TRANS_DUR 5
|
param set-default VT_B_TRANS_DUR 5
|
||||||
@ -75,3 +77,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
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
param set-default CA_SV_TL_COUNT 2
|
param set-default CA_SV_TL_COUNT 2
|
||||||
|
|||||||
@ -27,8 +27,8 @@ param set-default CA_ROTOR2_KM -0.05
|
|||||||
param set-default CA_ROTOR3_PX -0.1515
|
param set-default CA_ROTOR3_PX -0.1515
|
||||||
param set-default CA_ROTOR3_PY 0.1875
|
param set-default CA_ROTOR3_PY 0.1875
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
param set-default CA_ROTOR4_AX 1
|
param set-default CA_ROTOR4_AX 1.0
|
||||||
param set-default CA_ROTOR4_AZ 0
|
param set-default CA_ROTOR4_AZ 0.0
|
||||||
param set-default CA_ROTOR4_PX 0.2
|
param set-default CA_ROTOR4_PX 0.2
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
@ -37,7 +37,7 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
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
|
||||||
param set-default PWM_MAIN_FUNC3 103
|
param set-default PWM_MAIN_FUNC3 103
|
||||||
@ -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
|
||||||
@ -56,9 +57,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ param set-default NAV_ACC_RAD 0.5
|
|||||||
param set-default NAV_LOITER_RAD 2
|
param set-default NAV_LOITER_RAD 2
|
||||||
|
|
||||||
param set-default GND_MAX_ANG 0.6
|
param set-default GND_MAX_ANG 0.6
|
||||||
param set-default GND_WHEEL_BASE 2
|
param set-default GND_WHEEL_BASE 2.0
|
||||||
|
|
||||||
param set-default CA_AIRFRAME 5
|
param set-default CA_AIRFRAME 5
|
||||||
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -4,9 +4,31 @@
|
|||||||
# @type Rover
|
# @type Rover
|
||||||
# @class Rover
|
# @class Rover
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.rover_differential_defaults
|
. ${R}etc/init.d/rc.rover_defaults
|
||||||
|
|
||||||
|
param set-default GND_L1_DIST 5
|
||||||
|
param set-default GND_SP_CTRL_MODE 1
|
||||||
|
param set-default GND_SPEED_D 3
|
||||||
|
param set-default GND_SPEED_I 0.001
|
||||||
|
param set-default GND_SPEED_IMAX 0.125
|
||||||
|
param set-default GND_SPEED_P 0.25
|
||||||
|
param set-default GND_SPEED_THR_SC 1
|
||||||
|
param set-default GND_SPEED_TRIM 4
|
||||||
|
param set-default GND_THR_CRUISE 0.3
|
||||||
|
param set-default GND_THR_MAX 0.5
|
||||||
|
param set-default GND_THR_MIN 0
|
||||||
|
|
||||||
|
param set-default NAV_ACC_RAD 0.5
|
||||||
|
param set-default NAV_LOITER_RAD 2
|
||||||
|
|
||||||
|
param set-default GND_MAX_ANG 0.6
|
||||||
|
param set-default GND_WHEEL_BASE 2.0
|
||||||
|
|
||||||
|
param set-default CA_AIRFRAME 6
|
||||||
|
|
||||||
|
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 101
|
param set-default PWM_MAIN_FUNC2 101
|
||||||
param set-default PWM_MAIN_FUNC6 102
|
param set-default PWM_MAIN_FUNC6 102
|
||||||
param set-default PWM_MAIN_FUNC7 102
|
param set-default PWM_MAIN_FUNC7 102
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ param set-default NAV_ACC_RAD 0.5
|
|||||||
param set-default NAV_LOITER_RAD 2
|
param set-default NAV_LOITER_RAD 2
|
||||||
|
|
||||||
param set-default GND_MAX_ANG 0.6
|
param set-default GND_MAX_ANG 0.6
|
||||||
param set-default GND_WHEEL_BASE 3
|
param set-default GND_WHEEL_BASE 3.0
|
||||||
|
|
||||||
param set-default CA_AIRFRAME 5
|
param set-default CA_AIRFRAME 5
|
||||||
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ param set-default NAV_ACC_RAD 0.5
|
|||||||
param set-default NAV_LOITER_RAD 2
|
param set-default NAV_LOITER_RAD 2
|
||||||
|
|
||||||
param set-default GND_MAX_ANG 0.6
|
param set-default GND_MAX_ANG 0.6
|
||||||
param set-default GND_WHEEL_BASE 2
|
param set-default GND_WHEEL_BASE 2.0
|
||||||
|
|
||||||
param set-default CA_AIRFRAME 9
|
param set-default CA_AIRFRAME 9
|
||||||
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
param set-default FW_AIRSPD_STALL 8
|
param set-default FW_AIRSPD_STALL 8
|
||||||
|
|
||||||
param set-default FW_P_RMAX_NEG 20
|
param set-default FW_P_RMAX_NEG 20.0
|
||||||
param set-default FW_W_RMAX 10
|
param set-default FW_W_RMAX 10
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ param set-default FW_P_LIM_MAX 25
|
|||||||
param set-default FW_P_LIM_MIN -5
|
param set-default FW_P_LIM_MIN -5
|
||||||
param set-default FW_R_LIM 30
|
param set-default FW_R_LIM 30
|
||||||
|
|
||||||
param set-default FW_MAN_R_MAX 30
|
param set-default FW_MAN_R_MAX 30.0
|
||||||
|
|
||||||
param set-default FW_THR_TRIM 0.8
|
param set-default FW_THR_TRIM 0.8
|
||||||
param set-default FW_THR_IDLE 0
|
param set-default FW_THR_IDLE 0
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
param set-default FW_AIRSPD_STALL 5
|
param set-default FW_AIRSPD_STALL 5
|
||||||
|
|
||||||
param set-default FW_P_RMAX_NEG 20
|
param set-default FW_P_RMAX_NEG 20.0
|
||||||
param set-default FW_W_RMAX 10
|
param set-default FW_W_RMAX 10
|
||||||
param set-default FW_W_EN 1
|
param set-default FW_W_EN 1
|
||||||
|
|
||||||
@ -29,9 +29,9 @@ param set-default NAV_LOITER_RAD 50
|
|||||||
# Parameters related to autogyro takeoff PR
|
# Parameters related to autogyro takeoff PR
|
||||||
#param set-default AG_TKOFF 1
|
#param set-default AG_TKOFF 1
|
||||||
#param set-default AG_PROT_TYPE 1
|
#param set-default AG_PROT_TYPE 1
|
||||||
#param set-default AG_PROT_MIN_RPM 50
|
#param set-default AG_PROT_MIN_RPM 50.0
|
||||||
#param set-default AG_PROT_TRG_RPM 900
|
#param set-default AG_PROT_TRG_RPM 900.0
|
||||||
#param set-defoult AG_ROTOR_RPM 900
|
#param set-defoult AG_ROTOR_RPM 900.0
|
||||||
|
|
||||||
param set-default FW_ARSP_SCALE_EN 0
|
param set-default FW_ARSP_SCALE_EN 0
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ param set-default FW_P_LIM_MAX 25
|
|||||||
param set-default FW_P_LIM_MIN -5
|
param set-default FW_P_LIM_MIN -5
|
||||||
param set-default FW_R_LIM 30
|
param set-default FW_R_LIM 30
|
||||||
|
|
||||||
param set-default FW_MAN_R_MAX 30
|
param set-default FW_MAN_R_MAX 30.0
|
||||||
|
|
||||||
param set-default FW_THR_CRUISE 0.8
|
param set-default FW_THR_CRUISE 0.8
|
||||||
param set-default FW_THR_IDLE 0
|
param set-default FW_THR_IDLE 0
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -14,21 +14,21 @@
|
|||||||
param set-default CA_AIRFRAME 9
|
param set-default CA_AIRFRAME 9
|
||||||
|
|
||||||
param set-default CA_ROTOR_COUNT 3
|
param set-default CA_ROTOR_COUNT 3
|
||||||
param set-default CA_ROTOR0_AX 1
|
param set-default CA_ROTOR0_AX 1.0000
|
||||||
param set-default CA_ROTOR0_AZ 0
|
param set-default CA_ROTOR0_AZ 0.0000
|
||||||
param set-default CA_ROTOR0_KM 0
|
param set-default CA_ROTOR0_KM 0.0000
|
||||||
param set-default CA_ROTOR0_PY 2
|
param set-default CA_ROTOR0_PY 2.0000
|
||||||
param set-default CA_ROTOR1_AX 1
|
param set-default CA_ROTOR1_AX 1.0000
|
||||||
param set-default CA_ROTOR1_AZ 0
|
param set-default CA_ROTOR1_AZ 0.0000
|
||||||
param set-default CA_ROTOR1_KM 0
|
param set-default CA_ROTOR1_KM 0.0000
|
||||||
param set-default CA_ROTOR1_PY -2
|
param set-default CA_ROTOR1_PY -2.0000
|
||||||
param set-default CA_ROTOR2_AY -1
|
param set-default CA_ROTOR2_AY -1.0000
|
||||||
param set-default CA_ROTOR2_AZ 0
|
param set-default CA_ROTOR2_AZ 0.0000
|
||||||
param set-default CA_ROTOR2_KM 0
|
param set-default CA_ROTOR2_KM 0.0000
|
||||||
param set-default CA_ROTOR2_PX -10
|
param set-default CA_ROTOR2_PX -10.0000
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 1
|
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.0000
|
||||||
|
|
||||||
param set-default CA_R_REV 7
|
param set-default CA_R_REV 7
|
||||||
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -13,9 +13,9 @@ param set-default MAV_TYPE 13
|
|||||||
|
|
||||||
param set-default MC_PITCHRATE_P 0.1
|
param set-default MC_PITCHRATE_P 0.1
|
||||||
param set-default MC_PITCHRATE_I 0.05
|
param set-default MC_PITCHRATE_I 0.05
|
||||||
param set-default MC_PITCH_P 6
|
param set-default MC_PITCH_P 6.0
|
||||||
param set-default MC_ROLLRATE_I 0.1
|
param set-default MC_ROLLRATE_I 0.1
|
||||||
param set-default MC_ROLL_P 6
|
param set-default MC_ROLL_P 6.0
|
||||||
param set-default MPC_XY_VEL_I_ACC 4
|
param set-default MPC_XY_VEL_I_ACC 4
|
||||||
param set-default MPC_XY_VEL_P_ACC 3
|
param set-default MPC_XY_VEL_P_ACC 3
|
||||||
|
|
||||||
@ -27,11 +27,11 @@ param set-default MNT_MODE_IN 4
|
|||||||
param set-default MNT_DO_STAB 2
|
param set-default MNT_DO_STAB 2
|
||||||
|
|
||||||
|
|
||||||
param set-default CA_ROTOR0_PX 0
|
param set-default CA_ROTOR0_PX 0.0
|
||||||
param set-default CA_ROTOR0_PY 1
|
param set-default CA_ROTOR0_PY 1.0
|
||||||
param set-default CA_ROTOR0_KM -0.05
|
param set-default CA_ROTOR0_KM -0.05
|
||||||
param set-default CA_ROTOR1_PX 0
|
param set-default CA_ROTOR1_PX 0.0
|
||||||
param set-default CA_ROTOR1_PY -1
|
param set-default CA_ROTOR1_PY -1.0
|
||||||
param set-default CA_ROTOR1_KM 0.05
|
param set-default CA_ROTOR1_KM 0.05
|
||||||
param set-default CA_ROTOR2_PX 0.866025
|
param set-default CA_ROTOR2_PX 0.866025
|
||||||
param set-default CA_ROTOR2_PY -0.5
|
param set-default CA_ROTOR2_PY -0.5
|
||||||
|
|||||||
@ -52,4 +52,3 @@ param set-default SIM_GZ_EC_MAX3 1000
|
|||||||
param set-default SIM_GZ_EC_MAX4 1000
|
param set-default SIM_GZ_EC_MAX4 1000
|
||||||
|
|
||||||
param set-default MPC_THR_HOVER 0.60
|
param set-default MPC_THR_HOVER 0.60
|
||||||
param set-default NAV_DLL_ACT 2
|
|
||||||
|
|||||||
@ -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
|
||||||
@ -70,9 +70,9 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -40,8 +40,8 @@ param set-default CA_ROTOR2_KM -0.05
|
|||||||
param set-default CA_ROTOR3_PX -0.1515
|
param set-default CA_ROTOR3_PX -0.1515
|
||||||
param set-default CA_ROTOR3_PY 0.1875
|
param set-default CA_ROTOR3_PY 0.1875
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
param set-default CA_ROTOR4_AX 1
|
param set-default CA_ROTOR4_AX 1.0
|
||||||
param set-default CA_ROTOR4_AZ 0
|
param set-default CA_ROTOR4_AZ 0.0
|
||||||
param set-default CA_ROTOR4_PX 0.2
|
param set-default CA_ROTOR4_PX 0.2
|
||||||
|
|
||||||
param set-default SIM_GZ_EC_FUNC1 101
|
param set-default SIM_GZ_EC_FUNC1 101
|
||||||
@ -66,6 +66,7 @@ param set-default SIM_GZ_SV_FUNC2 202
|
|||||||
param set-default SIM_GZ_SV_FUNC3 203
|
param set-default SIM_GZ_SV_FUNC3 203
|
||||||
|
|
||||||
param set-default COM_RC_IN_MODE 1
|
param set-default COM_RC_IN_MODE 1
|
||||||
|
param set-default ASPD_PRIMARY 1
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
@ -73,7 +74,7 @@ param set-default CA_SV_CS0_TRQ_R -0.5
|
|||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
|
|
||||||
param set-default NPFG_PERIOD 12
|
param set-default NPFG_PERIOD 12
|
||||||
param set-default FW_PR_FF 0.2
|
param set-default FW_PR_FF 0.2
|
||||||
@ -101,9 +102,8 @@ param set-default MPC_XY_VEL_I_ACC 4
|
|||||||
param set-default MPC_XY_VEL_D_ACC 0.1
|
param set-default MPC_XY_VEL_D_ACC 0.1
|
||||||
|
|
||||||
param set-default NAV_ACC_RAD 5
|
param set-default NAV_ACC_RAD 5
|
||||||
param set-default NAV_DLL_ACT 2
|
|
||||||
|
|
||||||
param set-default VT_FWD_THRUST_EN 4
|
param set-default VT_FWD_THRUST_EN 4
|
||||||
param set-default VT_F_TRANS_THR 0.3
|
param set-default VT_F_TRANS_THR 0.75
|
||||||
param set-default VT_TYPE 2
|
param set-default VT_TYPE 2
|
||||||
param set-default FD_ESCS_EN 0
|
param set-default FD_ESCS_EN 0
|
||||||
|
|||||||
@ -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,22 +97,39 @@ 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
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
param set-default CA_ROTOR0_PX 1
|
param set-default CA_ROTOR0_PX 0.15
|
||||||
param set-default CA_ROTOR0_PY 1
|
param set-default CA_ROTOR0_PY 0.15
|
||||||
param set-default CA_ROTOR1_PX -1
|
param set-default CA_ROTOR0_KM 0.05
|
||||||
param set-default CA_ROTOR1_PY -1
|
param set-default CA_ROTOR1_PX -0.15
|
||||||
param set-default CA_ROTOR2_PX 1
|
param set-default CA_ROTOR1_PY -0.15
|
||||||
param set-default CA_ROTOR2_PY -1
|
param set-default CA_ROTOR1_KM 0.05
|
||||||
|
param set-default CA_ROTOR2_PX 0.15
|
||||||
|
param set-default CA_ROTOR2_PY -0.15
|
||||||
param set-default CA_ROTOR2_KM -0.05
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
param set-default CA_ROTOR3_PX -1
|
param set-default CA_ROTOR3_PX -0.15
|
||||||
param set-default CA_ROTOR3_PY 1
|
param set-default CA_ROTOR3_PY 0.15
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
|
||||||
|
# Outputs
|
||||||
|
# param set-default PWM_AUX_FUNC1 101
|
||||||
|
# param set-default PWM_AUX_FUNC2 102
|
||||||
|
# param set-default PWM_AUX_FUNC3 103
|
||||||
|
# param set-default PWM_AUX_FUNC4 104
|
||||||
|
|
||||||
|
# param set-default PWM_MAIN_FUNC1 101
|
||||||
|
# param set-default PWM_MAIN_FUNC2 102
|
||||||
|
# param set-default PWM_MAIN_FUNC3 103
|
||||||
|
# param set-default PWM_MAIN_FUNC4 104
|
||||||
|
|
||||||
param set-default SIM_GZ_EC_FUNC1 101
|
param set-default SIM_GZ_EC_FUNC1 101
|
||||||
param set-default SIM_GZ_EC_FUNC2 102
|
param set-default SIM_GZ_EC_FUNC2 102
|
||||||
param set-default SIM_GZ_EC_FUNC3 103
|
param set-default SIM_GZ_EC_FUNC3 103
|
||||||
@ -127,4 +145,4 @@ param set-default SIM_GZ_EC_MAX2 1100
|
|||||||
param set-default SIM_GZ_EC_MAX3 1100
|
param set-default SIM_GZ_EC_MAX3 1100
|
||||||
param set-default SIM_GZ_EC_MAX4 1100
|
param set-default SIM_GZ_EC_MAX4 1100
|
||||||
|
|
||||||
param set-default NAV_DLL_ACT 2
|
|
||||||
|
|||||||
@ -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,15 +56,16 @@ 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
|
||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
param set-default CA_SV_CS3_TRQ_Y 1
|
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||||
param set-default CA_SV_CS3_TYPE 4
|
param set-default CA_SV_CS3_TYPE 4
|
||||||
param set-default CA_SV_CS4_TYPE 9
|
param set-default CA_SV_CS4_TYPE 9
|
||||||
param set-default CA_SV_CS5_TYPE 10
|
param set-default CA_SV_CS5_TYPE 10
|
||||||
|
|||||||
@ -1,56 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# @name Aion Robotics R1 Rover
|
|
||||||
# @type Rover
|
|
||||||
# @class Rover
|
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.rover_differential_defaults
|
|
||||||
|
|
||||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
|
||||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=rover}
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=r1_rover}
|
|
||||||
|
|
||||||
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
|
|
||||||
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 101 # right wheel
|
|
||||||
param set-default SIM_GZ_WH_MIN1 70
|
|
||||||
param set-default SIM_GZ_WH_MAX1 130
|
|
||||||
param set-default SIM_GZ_WH_DIS1 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
|
||||||
param set-default SIM_GZ_WH_MIN2 70
|
|
||||||
param set-default SIM_GZ_WH_MAX2 130
|
|
||||||
param set-default SIM_GZ_WH_DIS2 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_REV 1 # reverse right wheel
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# @name Gazebo x500 mono cam
|
|
||||||
#
|
|
||||||
# @type Quadrotor
|
|
||||||
#
|
|
||||||
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=x500_mono_cam}
|
|
||||||
|
|
||||||
. ${R}etc/init.d-posix/airframes/4001_gz_x500
|
|
||||||
@ -1,94 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# @name Gazebo lawnmower
|
|
||||||
# @type Rover
|
|
||||||
# @class Rover
|
|
||||||
|
|
||||||
. ${R}etc/init.d/rc.rover_differential_defaults
|
|
||||||
|
|
||||||
PX4_SIMULATOR=${PX4_SIMULATOR:=gz}
|
|
||||||
PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}
|
|
||||||
PX4_SIM_MODEL=${PX4_SIM_MODEL:=lawnmower}
|
|
||||||
|
|
||||||
param set-default SIM_GZ_EN 1 # Gazebo bridge
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# We can arm and drive in manual mode when it slides and GPS check fails:
|
|
||||||
param set-default COM_ARM_WO_GPS 1
|
|
||||||
|
|
||||||
# Rover parameters
|
|
||||||
param set-default RD_WHEEL_TRACK 0.9
|
|
||||||
param set-default RD_YAW_RATE_I 0.1
|
|
||||||
param set-default RD_YAW_RATE_P 5
|
|
||||||
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:
|
|
||||||
|
|
||||||
# "Motors" - motor channels 0 (Right) and 1 (Left) - via Wheels GZ bridge:
|
|
||||||
param set-default SIM_GZ_WH_FUNC1 101 # right wheel
|
|
||||||
#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_FAIL1 100
|
|
||||||
|
|
||||||
param set-default SIM_GZ_WH_FUNC2 102 # left wheel
|
|
||||||
#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_FAIL2 100
|
|
||||||
|
|
||||||
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.
|
|
||||||
# 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
|
|
||||||
# controls in practical scenarios.
|
|
||||||
|
|
||||||
# Cutter deck blades clutch, PCA9685 servo channel 3, "RC FLAPS" (406) - leftmost switch, or "Servo 3" (203):
|
|
||||||
param set-default SIM_GZ_SV_FUNC3 203
|
|
||||||
param set-default SIM_GZ_SV_MIN3 0
|
|
||||||
param set-default SIM_GZ_SV_MAX3 1000
|
|
||||||
param set-default SIM_GZ_SV_DIS3 500
|
|
||||||
param set-default SIM_GZ_SV_FAIL3 500
|
|
||||||
|
|
||||||
# Gas engine throttle, PCA9685 servo channel 4, "RC AUX1" (407) - left knob, or "Servo 4" (204):
|
|
||||||
# - on minimum when disarmed or failed:
|
|
||||||
param set-default SIM_GZ_SV_FUNC4 204
|
|
||||||
param set-default SIM_GZ_SV_MIN4 0
|
|
||||||
param set-default SIM_GZ_SV_MAX4 1000
|
|
||||||
param set-default SIM_GZ_SV_DIS4 500
|
|
||||||
param set-default SIM_GZ_SV_FAIL4 500
|
|
||||||
|
|
||||||
# Controlling PCA9685 servos 5,6,7,8 directly via "Servo 5..8" setting, by publishing actuator_servos.control[]:
|
|
||||||
|
|
||||||
# Strobes, PCA9685 servo channel 5, "Servo 5" (205) - flashing indicates Mission mode:
|
|
||||||
#param set-default SIM_GZ_SV_FUNC5 205
|
|
||||||
#param set-default SIM_GZ_SV_MIN5 1000
|
|
||||||
#param set-default SIM_GZ_SV_MAX5 2000
|
|
||||||
#param set-default SIM_GZ_SV_DIS5 1000
|
|
||||||
#param set-default SIM_GZ_SV_FAIL5 1000
|
|
||||||
|
|
||||||
# Horn, PCA9685 servo channel 6, "Servo 6" (206) - for alarms like GPS failure:
|
|
||||||
#param set-default SIM_GZ_SV_FUNC6 206
|
|
||||||
|
|
||||||
# Spare PCA9685 servo channel 7 on "RC AUX2" (408) - right knob, or "Servo 7" (207):
|
|
||||||
#param set-default SIM_GZ_SV_FUNC7 207
|
|
||||||
|
|
||||||
# Spare PCA9685 servo channel 8 - "Servo 8" (208):
|
|
||||||
#param set-default SIM_GZ_SV_FUNC8 208
|
|
||||||
@ -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
|
|
||||||
@ -9,14 +9,14 @@
|
|||||||
|
|
||||||
param set-default MAV_TYPE 13
|
param set-default MAV_TYPE 13
|
||||||
|
|
||||||
param set-default MC_PITCHRATE_P 0.08
|
param set-default MC_PITCHRATE_P 0.0800
|
||||||
param set-default MC_PITCHRATE_I 0.04
|
param set-default MC_PITCHRATE_I 0.0400
|
||||||
param set-default MC_PITCHRATE_D 0.001
|
param set-default MC_PITCHRATE_D 0.0010
|
||||||
param set-default MC_PITCH_P 9
|
param set-default MC_PITCH_P 9.0
|
||||||
param set-default MC_ROLLRATE_P 0.08
|
param set-default MC_ROLLRATE_P 0.0800
|
||||||
param set-default MC_ROLLRATE_I 0.04
|
param set-default MC_ROLLRATE_I 0.0400
|
||||||
param set-default MC_ROLLRATE_D 0.001
|
param set-default MC_ROLLRATE_D 0.0010
|
||||||
param set-default MC_ROLL_P 9
|
param set-default MC_ROLL_P 9.0
|
||||||
param set-default MPC_XY_VEL_I_ACC 4
|
param set-default MPC_XY_VEL_I_ACC 4
|
||||||
param set-default MPC_XY_VEL_P_ACC 3
|
param set-default MPC_XY_VEL_P_ACC 3
|
||||||
|
|
||||||
@ -31,11 +31,11 @@ param set-default MAV_PROTO_VER 2
|
|||||||
param set-default CA_AIRFRAME 0
|
param set-default CA_AIRFRAME 0
|
||||||
param set-default CA_ROTOR_COUNT 6
|
param set-default CA_ROTOR_COUNT 6
|
||||||
|
|
||||||
param set-default CA_ROTOR0_PX 0
|
param set-default CA_ROTOR0_PX 0.0
|
||||||
param set-default CA_ROTOR0_PY 1
|
param set-default CA_ROTOR0_PY 1.0
|
||||||
param set-default CA_ROTOR0_KM -0.05
|
param set-default CA_ROTOR0_KM -0.05
|
||||||
param set-default CA_ROTOR1_PX 0
|
param set-default CA_ROTOR1_PX 0.0
|
||||||
param set-default CA_ROTOR1_PY -1
|
param set-default CA_ROTOR1_PY -1.0
|
||||||
param set-default CA_ROTOR1_KM 0.05
|
param set-default CA_ROTOR1_KM 0.05
|
||||||
param set-default CA_ROTOR2_PX 0.866025
|
param set-default CA_ROTOR2_PX 0.866025
|
||||||
param set-default CA_ROTOR2_PY -0.5
|
param set-default CA_ROTOR2_PY -0.5
|
||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -80,15 +80,6 @@ px4_add_romfs_files(
|
|||||||
4005_gz_x500_vision
|
4005_gz_x500_vision
|
||||||
4006_gz_px4vision
|
4006_gz_px4vision
|
||||||
4008_gz_advanced_plane
|
4008_gz_advanced_plane
|
||||||
4009_gz_r1_rover
|
|
||||||
4010_gz_x500_mono_cam
|
|
||||||
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
|
||||||
|
|
||||||
@ -40,62 +37,58 @@ if [ "$PX4_SIMULATOR" = "sihsim" ] || [ "$(param show -q SYS_AUTOSTART)" -eq "0"
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "$PX4_SIMULATOR" = "gz" ] || [ "$(param show -q SIM_GZ_EN)" = "1" ]; then
|
elif [ "$PX4_SIMULATOR" = "gz" ] || [ "$(param show -q SIM_GZ_EN)" = "1" ]; then
|
||||||
# Use Gazebo
|
|
||||||
|
|
||||||
echo "INFO [init] Gazebo simulator"
|
# set local coordinate frame reference
|
||||||
|
if [ -n "${PX4_HOME_LAT}" ]; then
|
||||||
|
param set SIM_GZ_HOME_LAT ${PX4_HOME_LAT}
|
||||||
|
fi
|
||||||
|
|
||||||
# Only start up Gazebo if PX4_GZ_STANDALONE is not set.
|
if [ -n "${PX4_HOME_LON}" ]; then
|
||||||
if [ -z "${PX4_GZ_STANDALONE}" ]; then
|
param set SIM_GZ_HOME_LON ${PX4_HOME_LON}
|
||||||
|
fi
|
||||||
|
|
||||||
# "gz sim" only available in Garden and later
|
if [ -n "${PX4_HOME_ALT}" ]; then
|
||||||
GZ_SIM_VERSIONS=$(gz sim --versions 2>&1)
|
param set SIM_GZ_HOME_ALT ${PX4_HOME_LON}
|
||||||
if [ $? -eq 0 ] && [ "${GZ_SIM_VERSIONS}" != "" ]
|
fi
|
||||||
then
|
|
||||||
# "gz sim" from Garden on
|
|
||||||
gz_command="gz"
|
|
||||||
gz_sub_command="sim"
|
|
||||||
|
|
||||||
# Specify render engine if `GZ_SIM_RENDER_ENGINE` is set
|
# source generated gz_env.sh for GZ_SIM_RESOURCE_PATH
|
||||||
# (for example, if you want to use Ogre 1.x instead of Ogre 2.x):
|
if [ -f ./gz_env.sh ]; then
|
||||||
if [ -n "${PX4_GZ_SIM_RENDER_ENGINE}" ]; then
|
. ./gz_env.sh
|
||||||
echo "INFO [init] Setting Gazebo render engine to '${PX4_GZ_SIM_RENDER_ENGINE}'!"
|
|
||||||
gz_sub_command="${gz_sub_command} --render-engine ${PX4_GZ_SIM_RENDER_ENGINE}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "ERROR [init] Gazebo gz please install gz-garden"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# look for running ${gz_command} gazebo world
|
elif [ -f ../gz_env.sh ]; then
|
||||||
gz_world=$( ${gz_command} topic -l | grep -m 1 -e "^/world/.*/clock" | sed 's/\/world\///g; s/\/clock//g' )
|
. ../gz_env.sh
|
||||||
|
fi
|
||||||
|
|
||||||
# shellcheck disable=SC2153
|
# "gz sim" only avaiilable in Garden and later
|
||||||
if [ -z "${gz_world}" ] && [ -n "${PX4_GZ_WORLD}" ]; then
|
GZ_SIM_VERSIONS=$(gz sim --versions 2>&1)
|
||||||
|
if [ $? -eq 0 ] && [ "${GZ_SIM_VERSIONS}" != "" ]
|
||||||
# source generated gz_env.sh for GZ_SIM_RESOURCE_PATH
|
then
|
||||||
if [ -f ./gz_env.sh ]; then
|
# "gz sim" from Garden on
|
||||||
. ./gz_env.sh
|
gz_command="gz"
|
||||||
|
gz_sub_command="sim"
|
||||||
elif [ -f ../gz_env.sh ]; then
|
|
||||||
. ../gz_env.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "INFO [init] starting gazebo with world: ${PX4_GZ_WORLDS}/${PX4_GZ_WORLD}.sdf"
|
|
||||||
|
|
||||||
${gz_command} ${gz_sub_command} --verbose=1 -r -s "${PX4_GZ_WORLDS}/${PX4_GZ_WORLD}.sdf" &
|
|
||||||
|
|
||||||
if [ -z "${HEADLESS}" ]; then
|
|
||||||
# HEADLESS not set, starting gui
|
|
||||||
${gz_command} ${gz_sub_command} -g &
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
# Gazebo is already running, do not start the simulator, nor the GUI
|
|
||||||
echo "INFO [init] gazebo already running world: ${gz_world}"
|
|
||||||
PX4_GZ_WORLD=${gz_world}
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo "INFO [init] Standalone PX4 launch, waiting for Gazebo"
|
echo "ERROR [init] Gazebo gz please install gz-garden"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# look for running ${gz_command} gazebo world
|
||||||
|
gz_world=$( ${gz_command} topic -l | grep -m 1 -e "^/world/.*/clock" | sed 's/\/world\///g; s/\/clock//g' )
|
||||||
|
|
||||||
|
# shellcheck disable=SC2153
|
||||||
|
if [ -z "${gz_world}" ] && [ -n "${PX4_GZ_WORLDS}" ] && [ -n "${PX4_GZ_WORLD}" ]; then
|
||||||
|
|
||||||
|
echo "INFO [init] starting gazebo with world: ${PX4_GZ_WORLDS}/${PX4_GZ_WORLD}.sdf"
|
||||||
|
|
||||||
|
${gz_command} ${gz_sub_command} --verbose=1 -r -s "${PX4_GZ_WORLDS}/${PX4_GZ_WORLD}.sdf" &
|
||||||
|
|
||||||
|
if [ -z "${HEADLESS}" ]; then
|
||||||
|
# HEADLESS not set, starting gui
|
||||||
|
${gz_command} ${gz_sub_command} -g &
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "INFO [init] gazebo already running world: ${gz_world}"
|
||||||
|
PX4_GZ_WORLD=${gz_world}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# start gz_bridge
|
# start gz_bridge
|
||||||
@ -103,31 +96,62 @@ elif [ "$PX4_SIMULATOR" = "gz" ] || [ "$(param show -q SIM_GZ_EN)" = "1" ]; then
|
|||||||
# model specified, gz_bridge will spawn model
|
# model specified, gz_bridge will spawn model
|
||||||
|
|
||||||
if [ -n "${PX4_GZ_MODEL_POSE}" ]; then
|
if [ -n "${PX4_GZ_MODEL_POSE}" ]; then
|
||||||
# model pose provided: [x, y, z, roll, pitch, yaw]
|
|
||||||
|
|
||||||
# Clean potential input line formatting.
|
# Clean potential input line formatting.
|
||||||
model_pose="$( echo "${PX4_GZ_MODEL_POSE}" | sed -e 's/^[ \t]*//; s/[ \t]*$//; s/,/ /g; s/ / /g; s/ /,/g' )"
|
model_pose="$( echo "${PX4_GZ_MODEL_POSE}" | sed -e 's/^[ \t]*//; s/[ \t]*$//; s/,/ /g; s/ / /g; s/ /,/g' )"
|
||||||
echo "INFO [init] PX4_GZ_MODEL_POSE set, spawning at: ${model_pose}"
|
echo "INFO [init] PX4_GZ_MODEL_POSE set, spawning at: ${model_pose}"
|
||||||
|
|
||||||
else
|
else
|
||||||
# model pose not provided, origin will be used
|
|
||||||
|
|
||||||
echo "WARN [init] PX4_GZ_MODEL_POSE not set, spawning at origin."
|
echo "WARN [init] PX4_GZ_MODEL_POSE not set, spawning at origin."
|
||||||
model_pose="0,0,0,0,0,0"
|
model_pose="0,0,0,0,0,0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# start gz bridge with pose arg.
|
# start gz bridge with pose arg.
|
||||||
if ! gz_bridge start -p "${model_pose}" -m "${PX4_SIM_MODEL#*gz_}" -w "${PX4_GZ_WORLD}" -i "${px4_instance}"; then
|
if gz_bridge start -p "${model_pose}" -m "${PX4_SIM_MODEL#*gz_}" -w "${PX4_GZ_WORLD}" -i "${px4_instance}"; then
|
||||||
echo "ERROR [init] gz_bridge failed to start and spawn model"
|
if param compare -s SENS_EN_BAROSIM 1
|
||||||
|
then
|
||||||
|
sensor_baro_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_GPSSIM 1
|
||||||
|
then
|
||||||
|
sensor_gps_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_MAGSIM 1
|
||||||
|
then
|
||||||
|
sensor_mag_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_ARSPDSIM 1
|
||||||
|
then
|
||||||
|
sensor_airspeed_sim start
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "ERROR [init] gz_bridge failed to start"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ -n "${PX4_GZ_MODEL_NAME}" ]; then
|
elif [ -n "${PX4_GZ_MODEL_NAME}" ]; then
|
||||||
# model name specificed, gz_bridge will attach to existing model
|
# model name specificed, gz_bridge will attach to existing model
|
||||||
|
|
||||||
echo "INFO [init] PX4_GZ_MODEL_NAME set, PX4 will attach to existing model"
|
if gz_bridge start -n "${PX4_GZ_MODEL_NAME}" -w "${PX4_GZ_WORLD}"; then
|
||||||
if ! gz_bridge start -n "${PX4_GZ_MODEL_NAME}" -w "${PX4_GZ_WORLD}"; then
|
if param compare -s SENS_EN_BAROSIM 1
|
||||||
echo "ERROR [init] gz_bridge failed to start and attach to existing model"
|
then
|
||||||
|
sensor_baro_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_GPSSIM 1
|
||||||
|
then
|
||||||
|
sensor_gps_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_MAGSIM 1
|
||||||
|
then
|
||||||
|
sensor_mag_sim start
|
||||||
|
fi
|
||||||
|
if param compare -s SENS_EN_ARSPDSIM 1
|
||||||
|
then
|
||||||
|
sensor_airspeed_sim start
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "ERROR [init] gz_bridge failed to start"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -136,24 +160,6 @@ elif [ "$PX4_SIMULATOR" = "gz" ] || [ "$(param show -q SIM_GZ_EN)" = "1" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start the sensor simulator modules
|
|
||||||
if param compare -s SENS_EN_BAROSIM 1
|
|
||||||
then
|
|
||||||
sensor_baro_sim start
|
|
||||||
fi
|
|
||||||
if param compare -s SENS_EN_GPSSIM 1
|
|
||||||
then
|
|
||||||
sensor_gps_sim start
|
|
||||||
fi
|
|
||||||
if param compare -s SENS_EN_MAGSIM 1
|
|
||||||
then
|
|
||||||
sensor_mag_sim start
|
|
||||||
fi
|
|
||||||
if param compare -s SENS_EN_ARSPDSIM 1
|
|
||||||
then
|
|
||||||
sensor_airspeed_sim start
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "$PX4_SIM_MODEL" = "jmavsim_iris" ] || [ "$(param show -q SYS_AUTOSTART)" -eq "10017" ]; then
|
elif [ "$PX4_SIM_MODEL" = "jmavsim_iris" ] || [ "$(param show -q SYS_AUTOSTART)" -eq "10017" ]; then
|
||||||
|
|
||||||
echo "INFO [init] jMAVSim simulator"
|
echo "INFO [init] jMAVSim simulator"
|
||||||
@ -170,12 +176,6 @@ elif [ "$PX4_SIM_MODEL" = "jmavsim_iris" ] || [ "$(param show -q SYS_AUTOSTART)"
|
|||||||
|
|
||||||
else
|
else
|
||||||
# otherwise start simulator (mavlink) module
|
# otherwise start simulator (mavlink) module
|
||||||
|
|
||||||
# EKF2 specifics
|
|
||||||
param set-default EKF2_GPS_DELAY 10
|
|
||||||
param set-default EKF2_MULTI_IMU 3
|
|
||||||
param set-default SENS_IMU_MODE 0
|
|
||||||
|
|
||||||
simulator_tcp_port=$((4560+px4_instance))
|
simulator_tcp_port=$((4560+px4_instance))
|
||||||
|
|
||||||
# Check if PX4_SIM_HOSTNAME environment variable is empty
|
# Check if PX4_SIM_HOSTNAME environment variable is empty
|
||||||
|
|||||||
@ -153,11 +153,11 @@ fi
|
|||||||
|
|
||||||
param set-default BAT1_N_CELLS 4
|
param set-default BAT1_N_CELLS 4
|
||||||
|
|
||||||
|
param set-default CBRK_AIRSPD_CHK 0
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
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
|
||||||
@ -165,6 +165,10 @@ param set-default COM_RC_IN_MODE 1
|
|||||||
# Speedup SITL startup
|
# Speedup SITL startup
|
||||||
param set-default EKF2_REQ_GPS_H 0.5
|
param set-default EKF2_REQ_GPS_H 0.5
|
||||||
|
|
||||||
|
# Multi-EKF
|
||||||
|
param set-default EKF2_MULTI_IMU 3
|
||||||
|
param set-default SENS_IMU_MODE 0
|
||||||
|
|
||||||
param set-default IMU_GYRO_FFT_EN 1
|
param set-default IMU_GYRO_FFT_EN 1
|
||||||
param set-default MAV_PROTO_VER 2 # Ensures QGC does not drop the first few packets after a SITL restart due to MAVLINK 1 packets
|
param set-default MAV_PROTO_VER 2 # Ensures QGC does not drop the first few packets after a SITL restart due to MAVLINK 1 packets
|
||||||
|
|
||||||
@ -181,8 +185,12 @@ 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
|
||||||
|
|
||||||
|
# Allow to override SYS_MC_EST_GROUP via env
|
||||||
|
if [ -n "$SYS_MC_EST_GROUP" ]; then
|
||||||
|
param set SYS_MC_EST_GROUP $SYS_MC_EST_GROUP
|
||||||
|
fi
|
||||||
|
|
||||||
# Adapt timeout parameters if simulation runs faster or slower than realtime.
|
# Adapt timeout parameters if simulation runs faster or slower than realtime.
|
||||||
if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
|
if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
|
||||||
@ -190,11 +198,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
|
||||||
|
|
||||||
@ -241,35 +249,13 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
load_mon start
|
load_mon start
|
||||||
|
battery_simulator start
|
||||||
if param compare SIM_BAT_ENABLE 1
|
|
||||||
then
|
|
||||||
battery_simulator start
|
|
||||||
fi
|
|
||||||
|
|
||||||
tone_alarm start
|
tone_alarm start
|
||||||
rc_update start
|
rc_update start
|
||||||
manual_control start
|
manual_control start
|
||||||
sensors start
|
sensors start
|
||||||
commander start
|
commander start
|
||||||
|
|
||||||
#
|
|
||||||
# state estimator selection
|
|
||||||
if param compare -s EKF2_EN 1
|
|
||||||
then
|
|
||||||
ekf2 start &
|
|
||||||
fi
|
|
||||||
|
|
||||||
if param compare -s LPE_EN 1
|
|
||||||
then
|
|
||||||
local_position_estimator start
|
|
||||||
fi
|
|
||||||
|
|
||||||
if param compare -s ATT_EN 1
|
|
||||||
then
|
|
||||||
attitude_estimator_q start
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! pwm_out_sim start -m sim
|
if ! pwm_out_sim start -m sim
|
||||||
then
|
then
|
||||||
tune_control play error
|
tune_control play error
|
||||||
@ -344,7 +330,7 @@ fi
|
|||||||
[ -e "$autostart_file".post ] && . "$autostart_file".post
|
[ -e "$autostart_file".post ] && . "$autostart_file".post
|
||||||
|
|
||||||
# Run script to start logging
|
# Run script to start logging
|
||||||
if param compare -s EKF2_EN 1
|
if param compare SYS_MC_EST_GROUP 2
|
||||||
then
|
then
|
||||||
set LOGGER_ARGS "-p ekf2_timestamps"
|
set LOGGER_ARGS "-p ekf2_timestamps"
|
||||||
else
|
else
|
||||||
|
|||||||
@ -34,94 +34,26 @@
|
|||||||
add_subdirectory(airframes)
|
add_subdirectory(airframes)
|
||||||
|
|
||||||
px4_add_romfs_files(
|
px4_add_romfs_files(
|
||||||
|
rc.airship_apps
|
||||||
|
rc.airship_defaults
|
||||||
rc.autostart_ext
|
rc.autostart_ext
|
||||||
|
|
||||||
rcS
|
|
||||||
rc.sensors
|
|
||||||
rc.vehicle_setup
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
rc.balloon_apps
|
rc.balloon_apps
|
||||||
rc.balloon_defaults
|
rc.balloon_defaults
|
||||||
rc.sysinit
|
rc.boat_defaults
|
||||||
|
rc.fw_apps
|
||||||
|
rc.fw_defaults
|
||||||
|
rc.heli_defaults
|
||||||
|
rc.logging
|
||||||
|
rc.mc_apps
|
||||||
|
rc.mc_defaults
|
||||||
|
rcS
|
||||||
|
rc.sensors
|
||||||
|
rc.thermal_cal
|
||||||
|
rc.rover_apps
|
||||||
|
rc.rover_defaults
|
||||||
|
rc.uuv_apps
|
||||||
|
rc.uuv_defaults
|
||||||
|
rc.vehicle_setup
|
||||||
|
rc.vtol_apps
|
||||||
|
rc.vtol_defaults
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CONFIG_MODULES_AIRSHIP_ATT_CONTROL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.airship_apps
|
|
||||||
rc.airship_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_FW_RATE_CONTROL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.fw_apps
|
|
||||||
rc.fw_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_MC_RATE_CONTROL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.heli_defaults
|
|
||||||
rc.mc_apps
|
|
||||||
rc.mc_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_ROVER_POS_CONTROL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.rover_apps
|
|
||||||
rc.rover_defaults
|
|
||||||
|
|
||||||
rc.boat_defaults # hack
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_ROVER_DIFFERENTIAL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.rover_differential_apps
|
|
||||||
rc.rover_differential_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_ROVER_ACKERMANN)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.rover_ackermann_apps
|
|
||||||
rc.rover_ackermann_defaults
|
|
||||||
)
|
|
||||||
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)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.uuv_apps
|
|
||||||
rc.uuv_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_VTOL_ATT_CONTROL)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.vtol_apps
|
|
||||||
rc.vtol_defaults
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_LOGGER)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.logging
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_MODULES_TEMPERATURE_COMPENSATION)
|
|
||||||
px4_add_romfs_files(
|
|
||||||
rc.thermal_cal
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|||||||
@ -11,28 +11,30 @@
|
|||||||
|
|
||||||
. ${R}etc/init.d/rc.mc_defaults
|
. ${R}etc/init.d/rc.mc_defaults
|
||||||
|
|
||||||
|
|
||||||
param set SYS_HITL 1
|
param set SYS_HITL 1
|
||||||
|
|
||||||
param set UAVCAN_ENABLE 0
|
param set UAVCAN_ENABLE 0
|
||||||
|
|
||||||
# disable some checks to allow to fly
|
|
||||||
# - without real battery
|
|
||||||
param set-default CBRK_SUPPLY_CHK 894281
|
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR_COUNT 4
|
||||||
param set-default CA_ROTOR0_PX 1
|
param set-default CA_ROTOR0_PX 0.15
|
||||||
param set-default CA_ROTOR0_PY 1
|
param set-default CA_ROTOR0_PY 0.15
|
||||||
param set-default CA_ROTOR1_PX -1
|
param set-default CA_ROTOR1_PX -0.15
|
||||||
param set-default CA_ROTOR1_PY -1
|
param set-default CA_ROTOR1_PY -0.15
|
||||||
param set-default CA_ROTOR2_PX 1
|
param set-default CA_ROTOR2_PX 0.15
|
||||||
param set-default CA_ROTOR2_PY -1
|
param set-default CA_ROTOR2_PY -0.15
|
||||||
param set-default CA_ROTOR2_KM -0.05
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
param set-default CA_ROTOR3_PX -1
|
param set-default CA_ROTOR3_PX -0.15
|
||||||
param set-default CA_ROTOR3_PY 1
|
param set-default CA_ROTOR3_PY 0.15
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
|
||||||
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_FUNC3 103
|
param set-default HIL_ACT_FUNC3 103
|
||||||
param set-default HIL_ACT_FUNC4 104
|
param set-default HIL_ACT_FUNC4 104
|
||||||
|
|
||||||
|
# disable some checks to allow to fly
|
||||||
|
# - without real battery
|
||||||
|
param set-default CBRK_SUPPLY_CHK 894281
|
||||||
|
# - without safety switch
|
||||||
|
param set-default CBRK_IO_SAFETY 22027
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
. ${R}etc/init.d/rc.vtol_defaults
|
. ${R}etc/init.d/rc.vtol_defaults
|
||||||
|
|
||||||
|
|
||||||
param set-default BAT1_N_CELLS 3
|
param set-default BAT1_N_CELLS 3
|
||||||
|
|
||||||
param set-default COM_RC_IN_MODE 1
|
param set-default COM_RC_IN_MODE 1
|
||||||
@ -54,29 +55,26 @@ param set-default VT_TYPE 2
|
|||||||
|
|
||||||
param set-default CA_AIRFRAME 2
|
param set-default CA_AIRFRAME 2
|
||||||
param set-default CA_ROTOR_COUNT 5
|
param set-default CA_ROTOR_COUNT 5
|
||||||
param set-default CA_ROTOR4_AX 1
|
param set-default CA_ROTOR0_PX 0.15
|
||||||
param set-default CA_ROTOR4_AZ 0
|
param set-default CA_ROTOR0_PY 0.15
|
||||||
param set-default CA_ROTOR4_PX 0.2
|
param set-default CA_ROTOR1_PX -0.15
|
||||||
|
param set-default CA_ROTOR1_PY -0.15
|
||||||
# Square quadrotor X PX4 numbering
|
param set-default CA_ROTOR2_PX 0.15
|
||||||
param set-default CA_ROTOR_COUNT 4
|
param set-default CA_ROTOR2_PY -0.15
|
||||||
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_ROTOR2_KM -0.05
|
||||||
param set-default CA_ROTOR3_PX -1
|
param set-default CA_ROTOR3_PX -0.15
|
||||||
param set-default CA_ROTOR3_PY 1
|
param set-default CA_ROTOR3_PY 0.15
|
||||||
param set-default CA_ROTOR3_KM -0.05
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
param set-default CA_ROTOR4_AX 1.0
|
||||||
|
param set-default CA_ROTOR4_AZ 0.0
|
||||||
|
param set-default CA_ROTOR4_PX 0.2
|
||||||
|
|
||||||
param set-default CA_SV_CS_COUNT 3
|
param set-default CA_SV_CS_COUNT 3
|
||||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||||
param set-default CA_SV_CS0_TYPE 1
|
param set-default CA_SV_CS0_TYPE 1
|
||||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||||
param set-default CA_SV_CS1_TYPE 2
|
param set-default CA_SV_CS1_TYPE 2
|
||||||
param set-default CA_SV_CS2_TRQ_P 1
|
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||||
param set-default CA_SV_CS2_TYPE 3
|
param set-default CA_SV_CS2_TYPE 3
|
||||||
|
|
||||||
param set-default HIL_ACT_FUNC1 101
|
param set-default HIL_ACT_FUNC1 101
|
||||||
@ -96,5 +94,9 @@ 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
|
||||||
|
|
||||||
|
|||||||
@ -12,31 +12,33 @@
|
|||||||
|
|
||||||
. ${R}etc/init.d/rc.mc_defaults
|
. ${R}etc/init.d/rc.mc_defaults
|
||||||
|
|
||||||
|
|
||||||
param set UAVCAN_ENABLE 0
|
param set UAVCAN_ENABLE 0
|
||||||
|
|
||||||
|
param set-default CA_ROTOR_COUNT 4
|
||||||
|
param set-default CA_ROTOR0_PX 0.15
|
||||||
|
param set-default CA_ROTOR0_PY 0.15
|
||||||
|
param set-default CA_ROTOR1_PX -0.15
|
||||||
|
param set-default CA_ROTOR1_PY -0.15
|
||||||
|
param set-default CA_ROTOR2_PX 0.15
|
||||||
|
param set-default CA_ROTOR2_PY -0.15
|
||||||
|
param set-default CA_ROTOR2_KM -0.05
|
||||||
|
param set-default CA_ROTOR3_PX -0.15
|
||||||
|
param set-default CA_ROTOR3_PY 0.15
|
||||||
|
param set-default CA_ROTOR3_KM -0.05
|
||||||
|
|
||||||
|
param set-default HIL_ACT_FUNC1 101
|
||||||
|
param set-default HIL_ACT_FUNC2 102
|
||||||
|
param set-default HIL_ACT_FUNC3 103
|
||||||
|
param set-default HIL_ACT_FUNC4 104
|
||||||
|
|
||||||
# set SYS_HITL to 2 to start the SIH and avoid sensors startup
|
# set SYS_HITL to 2 to start the SIH and avoid sensors startup
|
||||||
param set SYS_HITL 2
|
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
|
||||||
|
|
||||||
# Square quadrotor X PX4 numbering
|
|
||||||
param set-default CA_ROTOR_COUNT 4
|
|
||||||
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 HIL_ACT_FUNC1 101
|
|
||||||
param set-default HIL_ACT_FUNC2 102
|
|
||||||
param set-default HIL_ACT_FUNC3 103
|
|
||||||
param set-default HIL_ACT_FUNC4 104
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user