mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-07 05:41:30 +08:00
Compare commits
11 Commits
pr-paramet
...
pr-uavcan_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49d241245e | ||
|
|
e4b28ee98a | ||
|
|
f356112aed | ||
|
|
49055dd8ec | ||
|
|
126cbd5b40 | ||
|
|
03416f4d70 | ||
|
|
d409860ff1 | ||
|
|
8fd1b42000 | ||
|
|
56341689ec | ||
|
|
8031b94f32 | ||
|
|
f19a18798b |
123
.ci/Jenkinsfile-SITL_tests
Normal file
123
.ci/Jenkinsfile-SITL_tests
Normal file
@ -0,0 +1,123 @@
|
||||
#!/usr/bin/env groovy
|
||||
|
||||
pipeline {
|
||||
agent none
|
||||
|
||||
stages {
|
||||
|
||||
stage('Build') {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-ros-melodic:2020-04-01'
|
||||
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'make distclean'
|
||||
sh 'ccache -s'
|
||||
sh 'git fetch --tags'
|
||||
sh 'make px4_sitl_default'
|
||||
sh 'make px4_sitl_default sitl_gazebo'
|
||||
sh 'make px4_sitl_default package'
|
||||
sh 'ccache -s'
|
||||
stash(name: "px4_sitl_package", includes: "build/px4_sitl_default/*.bz2")
|
||||
archiveArtifacts(artifacts: "build/px4_sitl_default/*.bz2", fingerprint: true, onlyIfSuccessful: true)
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'make distclean'
|
||||
}
|
||||
}
|
||||
} // stage Build
|
||||
|
||||
stage('ROS Tests') {
|
||||
steps {
|
||||
script {
|
||||
def missions = [
|
||||
[
|
||||
name: "MC_avoidance",
|
||||
test: "mavros_posix_test_avoidance.test",
|
||||
mission: "avoidance",
|
||||
vehicle: "iris_obs_avoid",
|
||||
run_script: "rostest_avoidance_run.sh"
|
||||
],
|
||||
[
|
||||
name: "MC_safe_landing",
|
||||
test: "mavros_posix_test_safe_landing.test",
|
||||
mission: "MC_safe_landing",
|
||||
vehicle: "iris_obs_avoid",
|
||||
run_script: "rostest_avoidance_run.sh"
|
||||
],
|
||||
|
||||
]
|
||||
|
||||
def test_nodes = [:]
|
||||
for (def i = 0; i < missions.size(); i++) {
|
||||
test_nodes.put(missions[i].name, createTestNode(missions[i]))
|
||||
}
|
||||
|
||||
parallel test_nodes
|
||||
} // script
|
||||
} // steps
|
||||
} // stage ROS Tests
|
||||
|
||||
} //stages
|
||||
|
||||
environment {
|
||||
CCACHE_DIR = '/tmp/ccache'
|
||||
CI = true
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
|
||||
timeout(time: 60, unit: 'MINUTES')
|
||||
}
|
||||
} // pipeline
|
||||
|
||||
def createTestNode(Map test_def) {
|
||||
return {
|
||||
node {
|
||||
cleanWs()
|
||||
docker.image("px4io/px4-dev-ros-melodic:2020-04-01").inside('-e HOME=${WORKSPACE}') {
|
||||
stage(test_def.name) {
|
||||
def run_script = test_def.get('run_script', 'rostest_px4_run.sh')
|
||||
def test_ok = true
|
||||
sh('export')
|
||||
|
||||
unstash('px4_sitl_package')
|
||||
sh('tar -xjpvf build/px4_sitl_default/px4-px4_sitl_default*.bz2')
|
||||
|
||||
// run test
|
||||
try {
|
||||
sh('px4-px4_sitl_default*/px4/test/' + run_script + ' ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle)
|
||||
|
||||
} catch (exc) {
|
||||
// save all test artifacts for debugging
|
||||
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.ulg, .ros/**/rosunit-*.xml, .ros/**/rostest-*.log')
|
||||
test_ok = false
|
||||
}
|
||||
|
||||
// upload log to flight review (https://logs.px4.io/)
|
||||
sh('px4-px4_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
|
||||
|
||||
// log analysis
|
||||
// process ekf log data
|
||||
try {
|
||||
sh('px4-px4_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
|
||||
} catch (exc) {
|
||||
// save log analysis artifacts for debugging
|
||||
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv')
|
||||
// FIXME: don't let the script to fail the build
|
||||
// test_ok = false
|
||||
}
|
||||
|
||||
if (!test_ok) {
|
||||
error('ROS Test failed')
|
||||
}
|
||||
} // stage
|
||||
cleanWs()
|
||||
} // docker.image
|
||||
} // node
|
||||
} // return
|
||||
} // createTestNode
|
||||
@ -9,25 +9,18 @@ pipeline {
|
||||
script {
|
||||
def build_nodes = [:]
|
||||
def docker_images = [
|
||||
armhf: "px4io/px4-dev-armhf:2021-02-04",
|
||||
arm64: "px4io/px4-dev-aarch64:2021-02-04",
|
||||
base: "px4io/px4-dev-base-bionic:2021-02-04",
|
||||
nuttx: "px4io/px4-dev-nuttx-focal:2021-02-04",
|
||||
armhf: "px4io/px4-dev-armhf:2020-04-01",
|
||||
base: "px4io/px4-dev-base-bionic:2020-04-01",
|
||||
nuttx: "px4io/px4-dev-nuttx-bionic:2020-04-01",
|
||||
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
|
||||
]
|
||||
|
||||
def armhf_builds = [
|
||||
target: ["beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
|
||||
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_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_rtps"],
|
||||
image: docker_images.base,
|
||||
@ -37,70 +30,47 @@ pipeline {
|
||||
def nuttx_builds_archive = [
|
||||
target: [
|
||||
"airmind_mindpx-v2_default",
|
||||
"ark_can-flow_canbootloader",
|
||||
"ark_can-flow_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_nora_test",
|
||||
"cuav_x7pro_default",
|
||||
"cuav_x7pro_test",
|
||||
"cubepilot_cubeorange_console",
|
||||
"cubepilot_cubeorange_default",
|
||||
"cubepilot_cubeyellow_console",
|
||||
"cubepilot_cubeyellow_default",
|
||||
"holybro_can-gps-v1_canbootloader",
|
||||
"holybro_can-gps-v1_default",
|
||||
"holybro_durandal-v1_default",
|
||||
"holybro_durandal-v1_test",
|
||||
"holybro_durandal-v1_stackcheck",
|
||||
"holybro_kakutef7_default",
|
||||
"holybro_pix32v5_default",
|
||||
"intel_aerofc-v1_default",
|
||||
"modalai_fc-v1_default",
|
||||
"modalai_fc-v1_rtps",
|
||||
"mro_ctrl-zero-f7_default",
|
||||
"mro_ctrl-zero-f7-oem_default",
|
||||
"mro_ctrl-zero-h7_default",
|
||||
"mro_ctrl-zero-h7-oem_default",
|
||||
"mro_pixracerpro_default",
|
||||
"mro_x21-777_default",
|
||||
"mro_x21_default",
|
||||
"nxp_fmuk66-e_default",
|
||||
"nxp_fmuk66-e_rtps",
|
||||
"nxp_fmuk66-e_socketcan",
|
||||
"nxp_fmuk66-v3_default",
|
||||
"nxp_fmuk66-v3_rtps",
|
||||
"nxp_fmuk66-v3_socketcan",
|
||||
"nxp_fmurt1062-v1_default",
|
||||
"nxp_ucans32k146_default",
|
||||
"nxp_ucans32k146_canbootloader",
|
||||
"nxp_rddrone-uavcan146_default",
|
||||
"omnibus_f4sd_default",
|
||||
"px4_fmu-v2_default",
|
||||
"px4_fmu-v2_fixedwing",
|
||||
"px4_fmu-v2_lpe",
|
||||
"px4_fmu-v2_multicopter",
|
||||
"px4_fmu-v2_rover",
|
||||
"px4_fmu-v2_test",
|
||||
"px4_fmu-v3_default",
|
||||
"px4_fmu-v4_cannode",
|
||||
"px4_fmu-v4_default",
|
||||
"px4_fmu-v4_optimized",
|
||||
"px4_fmu-v4pro_default",
|
||||
"px4_fmu-v5_ctrlalloc",
|
||||
"px4_fmu-v5_debug",
|
||||
"px4_fmu-v5_default",
|
||||
"px4_fmu-v5_debug",
|
||||
"px4_fmu-v5_fixedwing",
|
||||
"px4_fmu-v5_multicopter",
|
||||
"px4_fmu-v5_optimized",
|
||||
"px4_fmu-v5_rover",
|
||||
"px4_fmu-v5_rtps",
|
||||
"px4_fmu-v5_stackcheck",
|
||||
"px4_fmu-v5_uavcanv0periph",
|
||||
"px4_fmu-v5_uavcanv1",
|
||||
"px4_fmu-v5x_base_phy_DP83848C",
|
||||
"px4_fmu-v5x_default",
|
||||
"px4_fmu-v6u_default",
|
||||
"px4_fmu-v6u_test",
|
||||
"px4_fmu-v6x_default",
|
||||
"px4_io-v2_default",
|
||||
"spracing_h7extreme_default",
|
||||
@ -137,7 +107,7 @@ pipeline {
|
||||
// TODO: actually upload artifacts to S3
|
||||
// stage('S3 Upload') {
|
||||
// agent {
|
||||
// docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
// docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
// }
|
||||
// options {
|
||||
// skipDefaultCheckout()
|
||||
|
||||
90
.ci/Jenkinsfile-compile_mac
Normal file
90
.ci/Jenkinsfile-compile_mac
Normal file
@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env groovy
|
||||
|
||||
pipeline {
|
||||
agent none
|
||||
stages {
|
||||
|
||||
stage('Build') {
|
||||
|
||||
parallel {
|
||||
|
||||
stage('px4_sitl_default (OSX)') {
|
||||
agent {
|
||||
label 'mac'
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --tags'
|
||||
sh 'ccache -s'
|
||||
sh 'make px4_sitl_default'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'make distclean'
|
||||
}
|
||||
}
|
||||
} // stage px4_sitl_default
|
||||
|
||||
stage('px4_fmu-v5_default (OSX)') {
|
||||
agent {
|
||||
label 'mac'
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --tags'
|
||||
sh 'ccache -s'
|
||||
sh 'make px4_fmu-v5_default'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'make distclean'
|
||||
}
|
||||
}
|
||||
} // stage px4_fmu-v5_default
|
||||
|
||||
stage('sitl tests (OSX)') {
|
||||
agent {
|
||||
label 'mac'
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --tags'
|
||||
sh 'ccache -s'
|
||||
sh 'make tests'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'make distclean'
|
||||
}
|
||||
}
|
||||
} // stage sitl tests
|
||||
|
||||
} // parallel
|
||||
} // stage Build
|
||||
|
||||
} // stages
|
||||
environment {
|
||||
CCACHE_CPP2 = '1'
|
||||
CCACHE_DIR = '/tmp/ccache'
|
||||
CI = true
|
||||
}
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
|
||||
timeout(time: 120, unit: 'MINUTES')
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,42 +0,0 @@
|
||||
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
|
||||
{
|
||||
"name": "px4-dev-nuttx",
|
||||
"image": "px4io/px4-dev-nuttx-focal:2021-02-04",
|
||||
|
||||
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"terminal.integrated.shell.linux": "/bin/bash"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"chiehyu.vscode-astyle",
|
||||
"dan-c-underwood.arm",
|
||||
"fredericbonnet.cmake-test-adapter",
|
||||
"github.vscode-pull-request-github",
|
||||
"marus25.cortex-debug",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"ms-iot.vscode-ros",
|
||||
"ms-python.python",
|
||||
"ms-vscode.cmake-tools",
|
||||
"ms-vscode.cpptools",
|
||||
"ms-vscode.cpptools-extension-pack",
|
||||
"redhat.vscode-yaml",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"twxs.cmake",
|
||||
"uavcan.dsdl",
|
||||
"wholroyd.jinja",
|
||||
"zixuanwang.linkerscript"
|
||||
],
|
||||
|
||||
"containerUser": "user",
|
||||
"containerEnv": {
|
||||
"LOCAL_USER_ID": "${localEnv:UID}"
|
||||
},
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
"forwardPorts": [14556],
|
||||
}
|
||||
25
.github/workflows/checks.yml
vendored
25
.github/workflows/checks.yml
vendored
@ -17,7 +17,6 @@ jobs:
|
||||
check: [
|
||||
"check_format",
|
||||
"tests",
|
||||
"tests_coverage",
|
||||
"px4_fmu-v2_default stack_check",
|
||||
"validate_module_configs",
|
||||
"shellcheck_all",
|
||||
@ -27,9 +26,11 @@ jobs:
|
||||
"module_documentation",
|
||||
"parameters_metadata",
|
||||
]
|
||||
container:
|
||||
image: px4io/px4-dev-nuttx-focal:2021-02-04
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
ubuntu_release: [
|
||||
#bionic,
|
||||
focal
|
||||
]
|
||||
container: px4io/px4-dev-nuttx-${{ matrix.ubuntu_release }}:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -52,20 +53,10 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
- name: check environment
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
|
||||
- name: ${{matrix.check}}
|
||||
run: make ${{matrix.check}}
|
||||
- name: upload coverage
|
||||
if: contains(matrix.check, 'coverage')
|
||||
uses: codecov/codecov-action@v1
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
flags: unittests
|
||||
file: coverage/lcov.info
|
||||
|
||||
6
.github/workflows/clang-tidy.yml
vendored
6
.github/workflows/clang-tidy.yml
vendored
@ -11,7 +11,7 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-clang:2021-02-04
|
||||
container: px4io/px4-dev-clang:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -34,8 +34,8 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
|
||||
8
.github/workflows/compile_linux.yml
vendored
8
.github/workflows/compile_linux.yml
vendored
@ -11,14 +11,14 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-armhf:2021-02-04
|
||||
container: px4io/px4-dev-armhf:2020-04-01
|
||||
strategy:
|
||||
matrix:
|
||||
config: [
|
||||
aerotenna_ocpoc_default,
|
||||
beaglebone_blue_default,
|
||||
emlid_navio2_default,
|
||||
px4_raspberrypi_default,
|
||||
scumaker_pilotpi_default,
|
||||
]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
@ -42,8 +42,8 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
|
||||
50
.github/workflows/compile_linux_arm64.yml
vendored
50
.github/workflows/compile_linux_arm64.yml
vendored
@ -1,50 +0,0 @@
|
||||
name: Linux ARM64 Targets
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-aarch64:2021-02-04
|
||||
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 = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: make ${{matrix.config}}
|
||||
run: make ${{matrix.config}}
|
||||
- name: ccache post-run
|
||||
run: ccache -s
|
||||
8
.github/workflows/compile_macos.yml
vendored
8
.github/workflows/compile_macos.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
matrix:
|
||||
config: [
|
||||
px4_fmu-v5_default,
|
||||
px4_sitl
|
||||
px4_sitl_default,
|
||||
#tests, # includes px4_sitl
|
||||
]
|
||||
steps:
|
||||
@ -24,7 +24,7 @@ jobs:
|
||||
token: ${{secrets.ACCESS_TOKEN}}
|
||||
|
||||
- name: setup
|
||||
run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
|
||||
run: ./Tools/setup/macos.sh
|
||||
|
||||
- name: Prepare ccache timestamp
|
||||
id: ccache_cache_timestamp
|
||||
@ -43,8 +43,8 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
|
||||
45
.github/workflows/compile_nuttx.yml
vendored
45
.github/workflows/compile_nuttx.yml
vendored
@ -11,66 +11,43 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-nuttx-focal:2021-02-04
|
||||
container: px4io/px4-dev-nuttx-bionic:2020-04-01
|
||||
strategy:
|
||||
matrix:
|
||||
config: [
|
||||
airmind_mindpx-v2_default,
|
||||
ark_can-flow_canbootloader,
|
||||
ark_can-flow_debug,
|
||||
ark_can-flow_default,
|
||||
av_x-v1_default,
|
||||
bitcraze_crazyflie21_default,
|
||||
bitcraze_crazyflie_default,
|
||||
cuav_can-gps-v1_canbootloader,
|
||||
cuav_can-gps-v1_debug,
|
||||
cuav_can-gps-v1_default,
|
||||
cuav_nora_default,
|
||||
cuav_nora_test,
|
||||
cuav_x7pro_default,
|
||||
cuav_x7pro_test,
|
||||
cubepilot_cubeorange_console,
|
||||
cubepilot_cubeorange_default,
|
||||
cubepilot_cubeyellow_console,
|
||||
cubepilot_cubeyellow_default,
|
||||
cubepilot_io-v2_default,
|
||||
holybro_can-gps-v1_canbootloader,
|
||||
holybro_can-gps-v1_debug,
|
||||
holybro_can-gps-v1_default,
|
||||
holybro_durandal-v1_default,
|
||||
holybro_durandal-v1_test,
|
||||
holybro_durandal-v1_stackcheck,
|
||||
holybro_kakutef7_default,
|
||||
holybro_pix32v5_default,
|
||||
intel_aerofc-v1_default,
|
||||
modalai_fc-v1_default,
|
||||
modalai_fc-v1_rtps,
|
||||
mro_ctrl-zero-f7-oem_default,
|
||||
mro_ctrl-zero-f7_default,
|
||||
mro_ctrl-zero-h7-oem_default,
|
||||
mro_ctrl-zero-h7_default,
|
||||
mro_pixracerpro_default,
|
||||
mro_x21-777_default,
|
||||
mro_x21_default,
|
||||
nxp_fmuk66-e_default,
|
||||
nxp_fmuk66-e_rtps,
|
||||
nxp_fmuk66-e_socketcan,
|
||||
nxp_fmuk66-v3_default,
|
||||
nxp_fmuk66-v3_rtps,
|
||||
nxp_fmuk66-e_default,
|
||||
nxp_fmuk66-v3_socketcan,
|
||||
nxp_fmurt1062-v1_default,
|
||||
nxp_ucans32k146_canbootloader,
|
||||
nxp_ucans32k146_default,
|
||||
nxp_rddrone-uavcan146_default,
|
||||
omnibus_f4sd_default,
|
||||
px4_fmu-v2_default,
|
||||
px4_fmu-v2_fixedwing,
|
||||
px4_fmu-v2_lpe,
|
||||
px4_fmu-v2_multicopter,
|
||||
px4_fmu-v2_rover,
|
||||
px4_fmu-v2_test,
|
||||
px4_fmu-v3_default,
|
||||
px4_fmu-v4_cannode,
|
||||
px4_fmu-v4_default,
|
||||
px4_fmu-v4_optimized,
|
||||
px4_fmu-v4pro_default,
|
||||
px4_fmu-v5_ctrlalloc,
|
||||
px4_fmu-v5_debug,
|
||||
px4_fmu-v5_default,
|
||||
px4_fmu-v5_fixedwing,
|
||||
px4_fmu-v5_multicopter,
|
||||
@ -78,12 +55,8 @@ jobs:
|
||||
px4_fmu-v5_rover,
|
||||
px4_fmu-v5_rtps,
|
||||
px4_fmu-v5_stackcheck,
|
||||
px4_fmu-v5_uavcanv0periph,
|
||||
px4_fmu-v5_uavcanv1,
|
||||
px4_fmu-v5x_base_phy_DP83848C,
|
||||
px4_fmu-v5x_default,
|
||||
px4_fmu-v6u_default,
|
||||
px4_fmu-v6u_test,
|
||||
px4_fmu-v6x_default,
|
||||
px4_io-v2_default,
|
||||
spracing_h7extreme_default,
|
||||
@ -111,8 +84,8 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
|
||||
61
.github/workflows/compile_nuttx_cannode.yml
vendored
61
.github/workflows/compile_nuttx_cannode.yml
vendored
@ -1,61 +0,0 @@
|
||||
name: NuttX UAVCAN firmware
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-nuttx-focal:2021-02-04
|
||||
strategy:
|
||||
matrix:
|
||||
config: [
|
||||
ark_can-flow_default,
|
||||
cuav_can-gps-v1_default,
|
||||
holybro_can-gps-v1_default,
|
||||
#nxp_ucans32k146_default,
|
||||
px4_fmu-v4_cannode
|
||||
]
|
||||
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 = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: make ${{matrix.config}}
|
||||
run: make ${{matrix.config}}
|
||||
|
||||
- name: ccache post-run
|
||||
run: ccache -s
|
||||
|
||||
- name: Upload px4 package
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: px4_cannode_${{matrix.config}}
|
||||
path: build/${{matrix.config}}/*.uavcan.bin
|
||||
67
.github/workflows/coverage.yml
vendored
Normal file
67
.github/workflows/coverage.yml
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
name: Coverage
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2020-04-01
|
||||
strategy:
|
||||
matrix:
|
||||
config: [
|
||||
tests,
|
||||
#python_coverage,
|
||||
]
|
||||
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: coverage_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||
restore-keys: coverage_${{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
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: make ${{matrix.config}}
|
||||
env:
|
||||
PX4_CMAKE_BUILD_TYPE: "Coverage"
|
||||
run: make ${{matrix.config}}
|
||||
|
||||
# Report test coverage
|
||||
- name: Upload 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_test --base-directory build/px4_sitl_test --gcov-tool gcov --capture -o coverage/lcov.info
|
||||
- name: Upload coverage information to Codecov
|
||||
uses: codecov/codecov-action@v1
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
flags: ${{matrix.config}}
|
||||
file: coverage/lcov.info
|
||||
77
.github/workflows/deploy_all.yml
vendored
77
.github/workflows/deploy_all.yml
vendored
@ -1,77 +0,0 @@
|
||||
name: Deploy metadata for all targets
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'release/*'
|
||||
- 'pr-metadata-test'
|
||||
|
||||
jobs:
|
||||
enumerate_targets:
|
||||
runs-on: ubuntu-latest
|
||||
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: px4io/px4-dev-${{ matrix.container }}:2021-02-04
|
||||
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.target}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
|
||||
restore-keys: ${{matrix.target}}-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 = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: make ${{matrix.target}}
|
||||
run: make ${{matrix.target}}
|
||||
- name: ccache post-run
|
||||
run: ccache -s
|
||||
|
||||
- name: parameter metadata
|
||||
run: |
|
||||
make ${{matrix.target}} ver_gen
|
||||
./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV
|
||||
cd build/${{ matrix.target }}
|
||||
mkdir _metadata || true
|
||||
cp parameters.* _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 }}/'
|
||||
|
||||
29
.github/workflows/hardware_tests_linux.yml
vendored
Normal file
29
.github/workflows/hardware_tests_linux.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
name: Hardware Linux
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: [emlid_navio2]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
CCACHE_BASEDIR: ${GITHUB_WORKSPACE}
|
||||
run: |
|
||||
make distclean
|
||||
ccache -z
|
||||
make emlid_navio2_default
|
||||
ccache -s
|
||||
|
||||
# sanity check
|
||||
- name: Sanity check
|
||||
run: cd build/emlid_navio2_default/ && ./bin/px4 -s ../../posix-configs/rpi/px4_test.config
|
||||
|
||||
- name: Upload log to flight review
|
||||
run: find . -name *.ulg
|
||||
#run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ./build/px4_sitl_default/tmp/rootfs/log/*/*.ulg
|
||||
10
.github/workflows/mavros_avoidance_tests.yml
vendored
10
.github/workflows/mavros_avoidance_tests.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
- {test_file: "mavros_posix_test_safe_landing.test", vehicle: "iris_obs_avoid", mission: "MC_safe_landing", build_type: "RelWithDebInfo"}
|
||||
|
||||
container:
|
||||
image: px4io/px4-dev-ros-melodic:2021-02-04
|
||||
image: px4io/px4-dev-ros-melodic:2020-04-01
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
@ -43,15 +43,13 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: check environment
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
run: export
|
||||
- name: Build PX4 and sitl_gazebo
|
||||
env:
|
||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||
|
||||
20
.github/workflows/mavros_mission_tests.yml
vendored
20
.github/workflows/mavros_mission_tests.yml
vendored
@ -17,15 +17,15 @@ jobs:
|
||||
config:
|
||||
- {vehicle: "iris", mission: "MC_mission_box", build_type: "RelWithDebInfo"}
|
||||
- {vehicle: "rover", mission: "rover_mission_1", build_type: "RelWithDebInfo"}
|
||||
#- {vehicle: "plane", mission: "FW_mission_1", build_type: "RelWithDebInfo"}
|
||||
#- {vehicle: "plane_catapult",mission: "FW_mission_1", build_type: "RelWithDebInfo"}
|
||||
#- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "Coverage"}
|
||||
#- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "AddressSanitizer"}
|
||||
- {vehicle: "plane", mission: "FW_mission_1", build_type: "RelWithDebInfo"}
|
||||
- {vehicle: "plane_catapult",mission: "FW_mission_1", build_type: "RelWithDebInfo"}
|
||||
- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "Coverage"}
|
||||
- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "AddressSanitizer"}
|
||||
#- {vehicle: "tailsitter", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
|
||||
#- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
|
||||
- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
|
||||
|
||||
container:
|
||||
image: px4io/px4-dev-ros-melodic:2021-02-04
|
||||
image: px4io/px4-dev-ros-melodic:2020-04-01
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
@ -49,15 +49,13 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: check environment
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
run: export
|
||||
- name: Build PX4 and sitl_gazebo
|
||||
env:
|
||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||
|
||||
10
.github/workflows/mavros_offboard_tests.yml
vendored
10
.github/workflows/mavros_offboard_tests.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
||||
#- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
|
||||
|
||||
container:
|
||||
image: px4io/px4-dev-ros-melodic:2021-02-04
|
||||
image: px4io/px4-dev-ros-melodic:2020-04-01
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
@ -44,15 +44,13 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
- name: check environment
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
run: export
|
||||
- name: Build PX4 and sitl_gazebo
|
||||
env:
|
||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||
|
||||
50
.github/workflows/metadata.yml
vendored
50
.github/workflows/metadata.yml
vendored
@ -4,14 +4,15 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'release/*'
|
||||
- 'pr-metadata-test'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
|
||||
airframe:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
container: px4io/px4-dev-base-focal:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -22,11 +23,11 @@ jobs:
|
||||
make airframe_metadata
|
||||
cd build/px4_sitl_default/docs
|
||||
ls -ls *
|
||||
# TODO: deploy to userguide gitbook and s3
|
||||
# TODO: deploy to devguide gitbook and s3
|
||||
|
||||
module:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
container: px4io/px4-dev-base-focal:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -37,11 +38,11 @@ jobs:
|
||||
make module_documentation
|
||||
cd build/px4_sitl_default/docs
|
||||
ls -ls *
|
||||
# TODO: deploy to userguide gitbook and s3
|
||||
# TODO: deploy to devguide gitbook and s3
|
||||
|
||||
parameter:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
container: px4io/px4-dev-base-focal:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -50,22 +51,13 @@ jobs:
|
||||
- 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/'
|
||||
cd build/px4_sitl_default/docs
|
||||
ls -ls *
|
||||
# TODO: deploy 'parameters.md, parameters.xml to S3 px4-travis:Firmware/master/
|
||||
|
||||
uorb_graph:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-nuttx-focal:2021-02-04
|
||||
container: px4io/px4-dev-nuttx-focal:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -78,23 +70,9 @@ jobs:
|
||||
ls -ls *
|
||||
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
|
||||
|
||||
micrortps_agent:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: microRTPS agent
|
||||
run: |
|
||||
make px4_sitl_rtps
|
||||
git clone https://github.com/PX4/micrortps_agent.git
|
||||
cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
|
||||
|
||||
ROS_msgs:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
container: px4io/px4-dev-base-bionic:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
@ -107,7 +85,7 @@ jobs:
|
||||
|
||||
ROS2_bridge:
|
||||
runs-on: ubuntu-latest
|
||||
container: px4io/px4-dev-base-focal:2021-02-04
|
||||
container: px4io/px4-dev-base-bionic:2020-04-01
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
|
||||
28
.github/workflows/sitl_tests.yml
vendored
28
.github/workflows/sitl_tests.yml
vendored
@ -15,12 +15,12 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo", model: "iris" } # Alaska
|
||||
- {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo", model: "standard_vtol" } # Australia
|
||||
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo", model: "tailsitter" } # Florida
|
||||
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage", model: "standard_vtol" } # Zurich
|
||||
- {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo"} # Alaska
|
||||
- {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo"} # Australia
|
||||
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo"} # Florida
|
||||
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage"} # Zurich
|
||||
container:
|
||||
image: px4io/px4-dev-simulation-focal:2021-02-04
|
||||
image: px4io/px4-dev-simulation-focal:2020-04-01
|
||||
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
@ -28,9 +28,9 @@ jobs:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
|
||||
- name: Download MAVSDK
|
||||
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.38.0/mavsdk_0.38.0_ubuntu20.04_amd64.deb
|
||||
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.27.0/mavsdk_0.27.0_ubuntu18.04_amd64.deb
|
||||
- name: Install MAVSDK
|
||||
run: dpkg -i mavsdk_0.38.0_ubuntu20.04_amd64.deb
|
||||
run: dpkg -i mavsdk_0.27.0_ubuntu18.04_amd64.deb
|
||||
|
||||
- name: Prepare ccache timestamp
|
||||
id: ccache_cache_timestamp
|
||||
@ -49,8 +49,8 @@ jobs:
|
||||
mkdir -p ~/.ccache
|
||||
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
|
||||
echo "compression = true" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 5" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 100M" >> ~/.ccache/ccache.conf
|
||||
echo "compression_level = 6" >> ~/.ccache/ccache.conf
|
||||
echo "max_size = 400M" >> ~/.ccache/ccache.conf
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
@ -60,9 +60,7 @@ jobs:
|
||||
PX4_HOME_LON: ${{matrix.config.longitude}}
|
||||
PX4_HOME_ALT: ${{matrix.config.altitude}}
|
||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||
run: |
|
||||
export
|
||||
ulimit -a
|
||||
run: export
|
||||
- name: Build PX4
|
||||
env:
|
||||
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
|
||||
@ -94,7 +92,7 @@ jobs:
|
||||
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
|
||||
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early test/mavsdk_tests/configs/sitl.json
|
||||
|
||||
- name: Look at core files
|
||||
if: failure()
|
||||
@ -106,6 +104,10 @@ jobs:
|
||||
name: coredump
|
||||
path: px4.core
|
||||
|
||||
- name: Upload logs to flight review
|
||||
if: failure()
|
||||
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ./build/px4_sitl_default/tmp/rootfs/log/*/*.ulg
|
||||
|
||||
- name: Upload px4 binary
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v2-preview
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@ -101,6 +101,11 @@ msg/tmp/
|
||||
msg/topics_sources/
|
||||
platforms/posix/apps.cpp
|
||||
platforms/posix/apps.h
|
||||
src/lib/flight_tasks/FlightTasks_generated.cpp
|
||||
src/lib/flight_tasks/FlightTasks_generated.hpp
|
||||
src/lib/parameters/px4_parameters.c
|
||||
src/lib/parameters/px4_parameters.h
|
||||
src/lib/parameters/px4_parameters_public.h
|
||||
src/lib/version/build_git_version.h
|
||||
src/modules/simulator/simulator_config.h
|
||||
src/systemcmds/topic_listener/listener_generated.cpp
|
||||
|
||||
31
.gitmodules
vendored
31
.gitmodules
vendored
@ -4,7 +4,7 @@
|
||||
branch = master
|
||||
[submodule "src/drivers/uavcan/libuavcan"]
|
||||
path = src/drivers/uavcan/libuavcan
|
||||
url = https://github.com/PX4/libuavcan.git
|
||||
url = https://github.com/PX4/uavcan.git
|
||||
branch = px4
|
||||
[submodule "Tools/jMAVSim"]
|
||||
path = Tools/jMAVSim
|
||||
@ -12,15 +12,15 @@
|
||||
branch = master
|
||||
[submodule "Tools/sitl_gazebo"]
|
||||
path = Tools/sitl_gazebo
|
||||
url = https://github.com/PX4/PX4-SITL_gazebo.git
|
||||
url = https://github.com/PX4/sitl_gazebo.git
|
||||
branch = master
|
||||
[submodule "src/lib/matrix"]
|
||||
path = src/lib/matrix
|
||||
url = https://github.com/PX4/PX4-Matrix.git
|
||||
url = https://github.com/PX4/Matrix.git
|
||||
branch = master
|
||||
[submodule "src/lib/ecl"]
|
||||
path = src/lib/ecl
|
||||
url = https://github.com/PX4/PX4-ECL.git
|
||||
url = https://github.com/PX4/ecl.git
|
||||
branch = master
|
||||
[submodule "boards/atlflight/cmake_hexagon"]
|
||||
path = boards/atlflight/cmake_hexagon
|
||||
@ -28,38 +28,23 @@
|
||||
branch = px4
|
||||
[submodule "src/drivers/gps/devices"]
|
||||
path = src/drivers/gps/devices
|
||||
url = https://github.com/PX4/PX4-GPSDrivers.git
|
||||
url = https://github.com/PX4/GpsDrivers.git
|
||||
branch = master
|
||||
[submodule "src/modules/micrortps_bridge/micro-CDR"]
|
||||
path = src/modules/micrortps_bridge/micro-CDR
|
||||
url = https://github.com/PX4/Micro-CDR.git
|
||||
url = https://github.com/PX4/micro-CDR.git
|
||||
branch = px4
|
||||
[submodule "platforms/nuttx/NuttX/nuttx"]
|
||||
path = platforms/nuttx/NuttX/nuttx
|
||||
url = https://github.com/PX4/NuttX.git
|
||||
branch = px4_firmware_nuttx-10.0.0+
|
||||
branch = px4_firmware_nuttx-8.2
|
||||
[submodule "platforms/nuttx/NuttX/apps"]
|
||||
path = platforms/nuttx/NuttX/apps
|
||||
url = https://github.com/PX4/NuttX-apps.git
|
||||
branch = px4_firmware_nuttx-10.0.0+
|
||||
branch = px4_firmware_nuttx-8.2
|
||||
[submodule "platforms/qurt/dspal"]
|
||||
path = platforms/qurt/dspal
|
||||
url = https://github.com/ATLFlight/dspal.git
|
||||
[submodule "Tools/flightgear_bridge"]
|
||||
path = Tools/flightgear_bridge
|
||||
url = https://github.com/PX4/PX4-FlightGear-Bridge.git
|
||||
[submodule "Tools/jsbsim_bridge"]
|
||||
path = Tools/jsbsim_bridge
|
||||
url = https://github.com/PX4/px4-jsbsim-bridge.git
|
||||
[submodule "src/drivers/uavcan_v1/libcanard"]
|
||||
path = src/drivers/uavcan_v1/libcanard
|
||||
url = https://github.com/UAVCAN/libcanard.git
|
||||
[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
|
||||
path = src/drivers/uavcan_v1/public_regulated_data_types
|
||||
url = https://github.com/UAVCAN/public_regulated_data_types.git
|
||||
[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
|
||||
path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
|
||||
url = https://github.com/UAVCAN/public_regulated_data_types
|
||||
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
|
||||
path = src/drivers/uavcannode_gps_demo/libcanard
|
||||
url = https://github.com/UAVCAN/libcanard
|
||||
|
||||
75
.vscode/c_cpp_properties.json
vendored
75
.vscode/c_cpp_properties.json
vendored
@ -1,16 +1,75 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "PX4",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**"
|
||||
],
|
||||
"defines": [],
|
||||
"macFrameworkPath": [],
|
||||
"name": "Linux",
|
||||
"browse": {
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
|
||||
},
|
||||
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
|
||||
"compilerPath": "/usr/bin/g++",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"cppStandard": "c++14",
|
||||
"cStandard": "c11"
|
||||
"cStandard": "c11",
|
||||
"defines": [
|
||||
"__PX4_LINUX",
|
||||
"__PX4_POSIX"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"${workspaceFolder}/src/include/visibility.h"
|
||||
],
|
||||
"includePath": [
|
||||
"${workspaceFolder}/boards/px4/sitl/src",
|
||||
"${workspaceFolder}/build/px4_sitl_default",
|
||||
"${workspaceFolder}/platforms/common/include",
|
||||
"${workspaceFolder}/platforms/posix/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/common/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/common/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
|
||||
"${workspaceFolder}/src",
|
||||
"${workspaceFolder}/src/include",
|
||||
"${workspaceFolder}/src/lib",
|
||||
"${workspaceFolder}/src/lib",
|
||||
"${workspaceFolder}/src/lib/matrix",
|
||||
"${workspaceFolder}/src/modules"
|
||||
],
|
||||
"intelliSenseMode": "${default}"
|
||||
},
|
||||
{
|
||||
"name": "Mac",
|
||||
"browse": {
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
|
||||
},
|
||||
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
|
||||
"compilerPath": "/usr/bin/clang++",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"cppStandard": "c++14",
|
||||
"cStandard": "c11",
|
||||
"defines": [
|
||||
"__PX4_DARWIN",
|
||||
"__PX4_POSIX"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"${workspaceFolder}/src/include/visibility.h"
|
||||
],
|
||||
"includePath": [
|
||||
"${workspaceFolder}/boards/px4/sitl/src",
|
||||
"${workspaceFolder}/build/px4_sitl_default",
|
||||
"${workspaceFolder}/platforms/common/include",
|
||||
"${workspaceFolder}/platforms/posix/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/common/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/common/include",
|
||||
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
|
||||
"${workspaceFolder}/src",
|
||||
"${workspaceFolder}/src/include",
|
||||
"${workspaceFolder}/src/lib",
|
||||
"${workspaceFolder}/src/lib",
|
||||
"${workspaceFolder}/src/lib/matrix",
|
||||
"${workspaceFolder}/src/modules"
|
||||
],
|
||||
"intelliSenseMode": "${default}"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
}
|
||||
|
||||
60
.vscode/cmake-variants.yaml
vendored
60
.vscode/cmake-variants.yaml
vendored
@ -56,36 +56,11 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: airmind_mindpx-v2_default
|
||||
ark_can-flow_default:
|
||||
short: ark_can-flow_default
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: ark_can-flow_default
|
||||
ark_can-flow_canbootloader:
|
||||
short: ark_can-flow_canbootloader
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: ark_can-flow_canbootloader
|
||||
av_x-v1_default:
|
||||
short: av_x-v1
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: av_x-v1_default
|
||||
bitcraze_crazyflie_default:
|
||||
short: bitcraze_crazyflie
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: bitcraze_crazyflie_default
|
||||
cuav_can-gps-v1_default:
|
||||
short: cuav_can-gps-v1_default
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cuav_can-gps-v1_default
|
||||
cuav_can-gps-v1_canbootloader:
|
||||
short: cuav_can-gps-v1_canbootloader
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cuav_can-gps-v1_canbootloader
|
||||
cuav_nora_default:
|
||||
short: cuav_nora
|
||||
buildType: MinSizeRel
|
||||
@ -96,31 +71,26 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cuav_x7pro_default
|
||||
cubepilot_cubeorange_console:
|
||||
cubepilot_cubeorange_default:
|
||||
short: cubepilot_cubeorange
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: cubepilot_orange_console
|
||||
emlid_navio2_default:
|
||||
short: emlid_navio2
|
||||
CONFIG: cubepilot_orange_default
|
||||
cubepilot_cubeyellow_default:
|
||||
short: cubepilot_cubeyellow
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: emlid_navio2_default
|
||||
holybro_can-gps-v1_canbootloader:
|
||||
short: holybro_can-gps-v1_canbootloader
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: holybro_can-gps-v1_canbootloader
|
||||
holybro_can-gps-v1_default:
|
||||
short: holybro_can-gps-v1_default
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: holybro_can-gps-v1_default
|
||||
CONFIG: cubepilot_cubeyellow_default
|
||||
holybro_durandal-v1_default:
|
||||
short: holybro_durandal-v1
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: holybro_durandal-v1_default
|
||||
intel_aerofc-v1_default:
|
||||
short: intel_aerofc-v1
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: intel_aerofc-v1_default
|
||||
modalai_fc-v1_default:
|
||||
short: modalai_fc-v1
|
||||
buildType: MinSizeRel
|
||||
@ -131,16 +101,6 @@ CONFIG:
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: mro_ctrl-zero-f7_default
|
||||
mro_pixracerpro_bootloader:
|
||||
short: mro_pixracerpro_bootloader
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: mro_pixracerpro_bootloader
|
||||
mro_pixracerpro_default:
|
||||
short: mro_pixracerpro_default
|
||||
buildType: MinSizeRel
|
||||
settings:
|
||||
CONFIG: mro_pixracerpro_default
|
||||
mro_x21-777_default:
|
||||
short: mro_x2.1-777
|
||||
buildType: MinSizeRel
|
||||
|
||||
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@ -4,7 +4,6 @@
|
||||
"recommendations": [
|
||||
"chiehyu.vscode-astyle",
|
||||
"dan-c-underwood.arm",
|
||||
"fredericbonnet.cmake-test-adapter",
|
||||
"github.vscode-pull-request-github",
|
||||
"marus25.cortex-debug",
|
||||
"ms-azuretools.vscode-docker",
|
||||
@ -12,9 +11,8 @@
|
||||
"ms-python.python",
|
||||
"ms-vscode.cmake-tools",
|
||||
"ms-vscode.cpptools",
|
||||
"ms-vscode.cpptools-extension-pack",
|
||||
"redhat.vscode-yaml",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"timonwong.shellcheck",
|
||||
"twxs.cmake",
|
||||
"uavcan.dsdl",
|
||||
"wholroyd.jinja",
|
||||
|
||||
84
.vscode/settings.json
vendored
84
.vscode/settings.json
vendored
@ -3,33 +3,70 @@
|
||||
"astyle.c.enable": true,
|
||||
"astyle.cpp.enable": true,
|
||||
"breadcrumbs.enabled": true,
|
||||
"cmake.autoRestartBuild": true,
|
||||
"cmake.buildBeforeRun": true,
|
||||
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
|
||||
"cmake.configureOnOpen": true,
|
||||
"cmake.copyCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
|
||||
"cmake.debugConfig": {
|
||||
"name": "SITL shell (gdb)",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"program": "${command:cmake.launchTargetPath}",
|
||||
"args": [
|
||||
"${workspaceFolder}/ROMFS/px4fmu_common",
|
||||
"-s",
|
||||
"etc/init.d-posix/rcS",
|
||||
"-t",
|
||||
"${workspaceFolder}/test_data"
|
||||
],
|
||||
"stopAtEntry": false,
|
||||
"cwd": "${command:cmake.buildDirectory}/tmp",
|
||||
"environment": [
|
||||
{
|
||||
"name": "PX4_SIM_MODEL",
|
||||
"value": "shell"
|
||||
}
|
||||
],
|
||||
"externalConsole": false,
|
||||
"linux": {
|
||||
"MIMode": "gdb",
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
},
|
||||
{
|
||||
"description": "PX4 ignore wq signals",
|
||||
"text": "handle SIGCONT nostop noprint nopass",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"osx": {
|
||||
"MIMode": "lldb",
|
||||
"setupCommands": [
|
||||
{
|
||||
"text": "pro hand -p true -s false -n false SIGCONT",
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"C_Cpp.autoAddFileAssociations": false,
|
||||
"C_Cpp.clang_format_fallbackStyle": "none",
|
||||
"C_Cpp.default.browse.databaseFilename": "${workspaceRoot}/.vscode/browse.vc.db",
|
||||
"C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
|
||||
"C_Cpp.default.cppStandard": "c++14",
|
||||
"C_Cpp.default.cStandard": "c11",
|
||||
"C_Cpp.default.intelliSenseMode": "gcc-x64",
|
||||
"C_Cpp.default.macFrameworkPath": null,
|
||||
"C_Cpp.formatting": "Disabled",
|
||||
"C_Cpp.intelliSenseEngine": "Default",
|
||||
"C_Cpp.intelliSenseEngineFallback": "Enabled",
|
||||
"C_Cpp.vcpkg.enabled": false,
|
||||
"C_Cpp.workspaceParsingPriority": "low",
|
||||
"cmake.buildBeforeRun": true,
|
||||
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
|
||||
"cmake.buildTask": true,
|
||||
"cmake.configureOnOpen": true,
|
||||
"cmake.ctest.parallelJobs": 1,
|
||||
"cmake.skipConfigureIfCachePresent": true,
|
||||
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
|
||||
"cmakeExplorer.parallelJobs": 1,
|
||||
"cmakeExplorer.suiteDelimiter": "-",
|
||||
"cortex-debug.enableTelemetry": false,
|
||||
"cSpell.allowCompoundWords": true,
|
||||
"cSpell.diagnosticLevel": "Hint",
|
||||
"cSpell.showStatus": false,
|
||||
"cSpell.words": [
|
||||
"acro",
|
||||
"nuttx",
|
||||
"esc"
|
||||
],
|
||||
"debug.toolBarLocation": "docked",
|
||||
"editor.acceptSuggestionOnEnter": "off",
|
||||
"editor.defaultFormatter": "chiehyu.vscode-astyle",
|
||||
@ -51,6 +88,7 @@
|
||||
"git.ignoreLimitWarning": true,
|
||||
"githubPullRequests.defaultMergeMethod": "squash",
|
||||
"githubPullRequests.telemetry.enabled": false,
|
||||
"gitlens.advanced.telemetry.enabled": false,
|
||||
"files.associations": {
|
||||
"*.jinja": "jinja",
|
||||
"algorithm": "cpp",
|
||||
@ -127,18 +165,18 @@
|
||||
"${workspaceFolder}/build": true
|
||||
},
|
||||
"search.showLineNumbers": true,
|
||||
"search.smartCase": true,
|
||||
"shellcheck.exclude": [2154],
|
||||
"telemetry.enableTelemetry": false,
|
||||
"terminal.integrated.copyOnSelection": true,
|
||||
"terminal.integrated.rightClickBehavior": "paste",
|
||||
"terminal.integrated.rightClickCopyPaste": true,
|
||||
"terminal.integrated.scrollback": 5000,
|
||||
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
|
||||
"workbench.editor.highlightModifiedTabs": true,
|
||||
"workbench.enableExperiments": false,
|
||||
"workbench.settings.enableNaturalLanguageSearch": false,
|
||||
"workbench.statusBar.feedback.visible": false,
|
||||
"yaml.schemas": {
|
||||
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
|
||||
},
|
||||
"python.autoComplete.extraPaths": [
|
||||
"/opt/ros/foxy/lib/python3.8/site-packages"
|
||||
]
|
||||
"${workspaceRoot}/validation/module_schema.yaml": "${workspaceRoot}/src/modules/*/module.yaml"
|
||||
}
|
||||
}
|
||||
|
||||
254
.vscode/tasks.json
vendored
254
.vscode/tasks.json
vendored
@ -3,58 +3,12 @@
|
||||
// for the documentation about the tasks.json format
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"type": "shell",
|
||||
"command": "/bin/bash",
|
||||
"args": [
|
||||
"-c",
|
||||
"${command:cmake.tasksBuildCommand}"
|
||||
],
|
||||
"options": {
|
||||
"cwd": "${command:cmake.buildDirectory}"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true,
|
||||
},
|
||||
"problemMatcher": {
|
||||
"base": "$gcc",
|
||||
"fileLocation": ["relative", "${command:cmake.buildDirectory}"]
|
||||
},
|
||||
"presentation":{
|
||||
"echo": false,
|
||||
"showReuseMessage": false,
|
||||
"clear": true,
|
||||
"panel": "shared",
|
||||
"group": "build"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "test",
|
||||
"type": "shell",
|
||||
"command": "make tests",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
"group": {
|
||||
"kind": "test",
|
||||
"isDefault": true,
|
||||
},
|
||||
"presentation":{
|
||||
"echo": true,
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
"panel": "shared",
|
||||
"group": "test"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "jmavsim build",
|
||||
"type": "shell",
|
||||
"command": "ant create_run_jar copy_res",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools/jMAVSim"
|
||||
"cwd": "${workspaceRoot}/Tools/jMAVSim"
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"presentation":{
|
||||
@ -63,7 +17,7 @@
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
"clear": true
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -72,7 +26,7 @@
|
||||
"dependsOn": "jmavsim build",
|
||||
"command": "java -Djava.ext.dirs= -jar jmavsim_run.jar -r 250 -lockstep -tcp localhost:4560 -qgc",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/Tools/jMAVSim/out/production",
|
||||
"cwd": "${workspaceRoot}/Tools/jMAVSim/out/production",
|
||||
"env": {
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
@ -84,7 +38,7 @@
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@ -114,7 +68,7 @@
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": []
|
||||
},
|
||||
@ -123,31 +77,31 @@
|
||||
"type": "shell",
|
||||
"command": "make px4_sitl_default sitl_gazebo",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
"cwd": "${workspaceRoot}"
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"presentation":{
|
||||
"echo": true,
|
||||
"reveal": "always",
|
||||
"reveal": "never",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false,
|
||||
"clear": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "gazebo start",
|
||||
"label": "gazebo iris",
|
||||
"type": "shell",
|
||||
"dependsOn": "gazebo build",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"env": {
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gzserver --verbose ${workspaceFolder}/Tools/sitl_gazebo/worlds/${input:gazeboWorld}.world",
|
||||
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/iris.world",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
@ -155,7 +109,7 @@
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@ -176,26 +130,106 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "gazebo",
|
||||
"label": "gazebo plane",
|
||||
"type": "shell",
|
||||
"dependsOn": "gazebo start",
|
||||
"dependsOn": "gazebo build",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"env": {
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/sitl_gazebo/models/${input:vehicleModel}/${input:vehicleModel}.sdf --model-name=${input:vehicleModel} -x 1.01 -y 0.98 -z 0.83",
|
||||
"isBackground": false,
|
||||
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/plane.world",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": ".",
|
||||
"file": 1,
|
||||
"location": 2,
|
||||
"message": 3
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": ".",
|
||||
"endsPattern": ".",
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "gazebo standard_vtol",
|
||||
"type": "shell",
|
||||
"dependsOn": "gazebo build",
|
||||
"options": {
|
||||
"cwd": "${workspaceRoot}",
|
||||
"env": {
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/standard_vtol.world",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": ".",
|
||||
"file": 1,
|
||||
"location": 2,
|
||||
"message": 3
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": ".",
|
||||
"endsPattern": ".",
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "gazebo tailsitter",
|
||||
"type": "shell",
|
||||
"dependsOn": "gazebo build",
|
||||
"options": {
|
||||
"cwd": "${workspaceRoot}",
|
||||
"env": {
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/tailsitter.world",
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "never",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@ -220,10 +254,10 @@
|
||||
"type": "shell",
|
||||
"dependsOn": "gazebo build",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}",
|
||||
"cwd": "${workspaceRoot}",
|
||||
"env": {
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
|
||||
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
|
||||
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
|
||||
"PX4_SIM_SPEED_FACTOR": "1"
|
||||
}
|
||||
},
|
||||
@ -235,7 +269,7 @@
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
@ -260,42 +294,12 @@
|
||||
"type": "shell",
|
||||
"command": "killall gzserver",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"echo": false,
|
||||
"reveal": "never",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"dependsOn":["px4_sitl_cleanup"]
|
||||
},
|
||||
{
|
||||
"label": "px4_sitl_cleanup",
|
||||
"type": "shell",
|
||||
"command": "rm -rfv /tmp/px4*",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"dependsOn":["px4_kill"]
|
||||
},
|
||||
{
|
||||
"label": "px4_kill",
|
||||
"type": "shell",
|
||||
"command": "killall px4 || true",
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
"reveal": "silent",
|
||||
"focus": false,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false,
|
||||
"clear": false
|
||||
"clear": true
|
||||
},
|
||||
"problemMatcher": []
|
||||
},
|
||||
@ -304,7 +308,7 @@
|
||||
"type": "shell",
|
||||
"command": "./Tools/mavlink_shell.py",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
"cwd": "${workspaceRoot}"
|
||||
},
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
@ -321,7 +325,7 @@
|
||||
"type": "shell",
|
||||
"command": "miniterm.py --raw - 57600",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
"cwd": "${workspaceRoot}"
|
||||
},
|
||||
"presentation": {
|
||||
"echo": true,
|
||||
@ -333,41 +337,5 @@
|
||||
},
|
||||
"problemMatcher": []
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "vehicleModel",
|
||||
"description": "gazebo model",
|
||||
"options": [
|
||||
"iris",
|
||||
"typhoon_h480",
|
||||
"plane",
|
||||
"plane_catapult",
|
||||
"plane_lidar",
|
||||
"standard_vtol",
|
||||
"tailsitter",
|
||||
"tiltrotor",
|
||||
"r1_rover",
|
||||
"boat"
|
||||
],
|
||||
"default": "iris"
|
||||
},
|
||||
{
|
||||
"type": "pickString",
|
||||
"id": "gazeboWorld",
|
||||
"description": "gazebo world",
|
||||
"options": [
|
||||
"baylands",
|
||||
"empty",
|
||||
"ksql_airport",
|
||||
"mcmillan_airfield",
|
||||
"sonoma_raceway",
|
||||
"warehouse",
|
||||
"windy",
|
||||
"yosemite"
|
||||
],
|
||||
"default": "empty"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ include(px4_parse_function_args)
|
||||
include(px4_git)
|
||||
|
||||
execute_process(
|
||||
COMMAND git describe --exclude ext/* --always --tags
|
||||
COMMAND git describe --always --tags
|
||||
OUTPUT_VARIABLE PX4_GIT_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||
@ -406,6 +406,7 @@ add_subdirectory(src/lib EXCLUDE_FROM_ALL)
|
||||
|
||||
add_subdirectory(platforms/${PX4_PLATFORM}/src/px4)
|
||||
add_subdirectory(platforms EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(src/modules/uORB EXCLUDE_FROM_ALL) # TODO: platform layer
|
||||
|
||||
if(EXISTS "${PX4_BOARD_DIR}/CMakeLists.txt")
|
||||
add_subdirectory(${PX4_BOARD_DIR})
|
||||
@ -454,10 +455,3 @@ add_custom_target(size
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR}
|
||||
USES_TERMINAL
|
||||
)
|
||||
|
||||
# install python requirements using configured python
|
||||
add_custom_target(install_python_requirements
|
||||
COMMAND ${PYTHON_EXECUTABLE} -m pip install --requirement ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
||||
DEPENDS ${PX4_SOURCE_DIR}/Tools/setup/requirements.txt
|
||||
USES_TERMINAL
|
||||
)
|
||||
|
||||
159
Jenkinsfile
vendored
159
Jenkinsfile
vendored
@ -12,10 +12,12 @@ pipeline {
|
||||
}
|
||||
}
|
||||
parallel {
|
||||
|
||||
// TODO: temporarily disabled 2020-06-03 waiting on mavlink update
|
||||
// stage('Catkin build on ROS workspace') {
|
||||
// agent {
|
||||
// docker {
|
||||
// image 'px4io/px4-dev-ros-melodic:2021-02-04'
|
||||
// image 'px4io/px4-dev-ros-melodic:2020-04-01'
|
||||
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
// }
|
||||
// }
|
||||
@ -52,44 +54,45 @@ pipeline {
|
||||
// checkoutToSubdirectory('catkin_ws/src/Firmware')
|
||||
// }
|
||||
// }
|
||||
|
||||
stage('Colcon build on ROS2 workspace') {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-ros2-foxy:2021-02-04'
|
||||
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'ls -l'
|
||||
sh '''#!/bin/bash -l
|
||||
echo $0;
|
||||
unset ROS_DISTRO;
|
||||
mkdir -p colcon_ws/src;
|
||||
cd colcon_ws;
|
||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo;
|
||||
git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
|
||||
source /opt/ros/foxy/setup.sh;
|
||||
colcon build --event-handlers console_direct+ --symlink-install;
|
||||
'''
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'rm -rf colcon_ws'
|
||||
}
|
||||
}
|
||||
options {
|
||||
checkoutToSubdirectory('colcon_ws/src/Firmware')
|
||||
}
|
||||
}
|
||||
//
|
||||
// stage('Colcon build on ROS2 workspace') {
|
||||
// agent {
|
||||
// docker {
|
||||
// image 'px4io/px4-dev-ros2-dashing:2020-04-01'
|
||||
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
|
||||
// }
|
||||
// }
|
||||
// steps {
|
||||
// sh 'ls -l'
|
||||
// sh '''#!/bin/bash -l
|
||||
// echo $0;
|
||||
// unset ROS_DISTRO;
|
||||
// mkdir -p colcon_ws/src;
|
||||
// cd colcon_ws;
|
||||
// git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo
|
||||
// git clone --recursive ${WORKSPACE}/colcon_ws/src/Firmware/Tools/sitl_gazebo src/mavlink_sitl_gazebo;
|
||||
// git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
|
||||
// source /opt/ros/bouncy/setup.sh;
|
||||
// source /opt/ros/melodic/setup.sh;
|
||||
// colcon build --event-handlers console_direct+ --symlink-install;
|
||||
// '''
|
||||
// }
|
||||
// post {
|
||||
// always {
|
||||
// sh 'rm -rf colcon_ws'
|
||||
// }
|
||||
// }
|
||||
// options {
|
||||
// checkoutToSubdirectory('colcon_ws/src/Firmware')
|
||||
// }
|
||||
// }
|
||||
|
||||
stage('Airframe') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --all --tags'
|
||||
sh 'make airframe_metadata'
|
||||
dir('build/px4_sitl_default/docs') {
|
||||
archiveArtifacts(artifacts: 'airframes.md, airframes.xml')
|
||||
@ -105,15 +108,14 @@ pipeline {
|
||||
|
||||
stage('Parameter') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --all --tags'
|
||||
sh 'make parameters_metadata'
|
||||
dir('build/px4_sitl_default/docs') {
|
||||
archiveArtifacts(artifacts: 'parameters.md, parameters.xml, parameters.json.xz')
|
||||
stash includes: 'parameters.md, parameters.xml, parameters.json.xz', name: 'metadata_parameters'
|
||||
archiveArtifacts(artifacts: 'parameters.md, parameters.xml')
|
||||
stash includes: 'parameters.md, parameters.xml', name: 'metadata_parameters'
|
||||
}
|
||||
}
|
||||
post {
|
||||
@ -125,11 +127,10 @@ pipeline {
|
||||
|
||||
stage('Module') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --all --tags'
|
||||
sh 'make module_documentation'
|
||||
dir('build/px4_sitl_default/docs') {
|
||||
archiveArtifacts(artifacts: 'modules/*.md')
|
||||
@ -146,14 +147,13 @@ pipeline {
|
||||
stage('uORB graphs') {
|
||||
agent {
|
||||
docker {
|
||||
image 'px4io/px4-dev-nuttx-focal:2021-02-04'
|
||||
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
|
||||
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'make distclean'
|
||||
sh 'git fetch --all --tags'
|
||||
sh 'make uorb_graphs'
|
||||
dir('Tools/uorb_graph') {
|
||||
archiveArtifacts(artifacts: 'graph_px4_sitl.json')
|
||||
@ -174,20 +174,48 @@ pipeline {
|
||||
|
||||
parallel {
|
||||
|
||||
stage('Userguide') {
|
||||
stage('Devguide') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
unstash 'metadata_airframes'
|
||||
unstash 'metadata_parameters'
|
||||
unstash 'metadata_module_documentation'
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh('git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/Devguide.git')
|
||||
sh('cp airframes.md Devguide/en/airframes/airframe_reference.md')
|
||||
sh('cp parameters.md Devguide/en/advanced/parameter_reference.md')
|
||||
sh('cp -R modules/*.md Devguide/en/middleware/')
|
||||
sh('cd Devguide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
|
||||
sh('cd Devguide; git push origin master || true')
|
||||
sh('rm -rf Devguide')
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'master'
|
||||
branch 'pr-jenkins' // for testing
|
||||
}
|
||||
}
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
}
|
||||
}
|
||||
|
||||
stage('Userguide') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
unstash 'metadata_airframes'
|
||||
unstash 'metadata_parameters'
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh('git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_user_guide.git')
|
||||
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 -R modules/*.md px4_user_guide/en/modules/')
|
||||
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 master || true')
|
||||
sh('rm -rf px4_user_guide')
|
||||
@ -206,7 +234,7 @@ pipeline {
|
||||
|
||||
stage('QGroundControl') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
@ -232,39 +260,9 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('microRTPS agent') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
sh('git fetch --all --tags')
|
||||
sh('make distclean')
|
||||
sh('make px4_sitl_rtps')
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
|
||||
sh("rm -rf micrortps_agent/src micrortps_agent/idl")
|
||||
sh('cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent')
|
||||
sh('cd micrortps_agent; git status; git add src; git commit -a -m "Update microRTPS agent source code `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('cd micrortps_agent; git status; git add idl; git commit -a -m "Update IDL definitions `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('cd micrortps_agent; git status; git add CMakeLists.txt; git commit -a -m "Update CMakeLists.txt `date`" || true')
|
||||
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
|
||||
sh('rm -rf micrortps_agent')
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'master'
|
||||
branch 'pr-jenkins' // for testing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('PX4 ROS msgs') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
@ -272,12 +270,12 @@ pipeline {
|
||||
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
|
||||
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
|
||||
// 'master' branch
|
||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
||||
sh('cd px4_msgs; git push origin master || true')
|
||||
// 'ros1' branch
|
||||
sh('cd px4_msgs; git checkout ros1')
|
||||
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
|
||||
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
|
||||
sh('cd px4_msgs; git push origin ros1 || true')
|
||||
sh('rm -rf px4_msgs')
|
||||
@ -293,7 +291,7 @@ pipeline {
|
||||
|
||||
stage('PX4 ROS2 bridge') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
@ -336,7 +334,7 @@ pipeline {
|
||||
|
||||
stage('S3') {
|
||||
agent {
|
||||
docker { image 'px4io/px4-dev-base-focal:2021-02-04' }
|
||||
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
|
||||
}
|
||||
steps {
|
||||
sh('export')
|
||||
@ -346,7 +344,6 @@ pipeline {
|
||||
withAWS(credentials: 'px4_aws_s3_key', region: 'us-east-1') {
|
||||
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'airframes.xml', path: 'Firmware/master/')
|
||||
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'parameters.xml', path: 'Firmware/master/')
|
||||
s3Upload(acl: 'PublicRead', bucket: 'px4-travis', file: 'parameters.json.xz', path: 'Firmware/master/')
|
||||
}
|
||||
}
|
||||
when {
|
||||
|
||||
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2012 - 2021, PX4 Development Team
|
||||
Copyright (c) 2012 - 2020, PX4 Development Team
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
||||
15
Makefile
15
Makefile
@ -174,8 +174,6 @@ define cmake-build
|
||||
@$(call cmake-cache-check)
|
||||
@# make sure to start from scratch when switching from GNU Make to Ninja
|
||||
@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ -e $(BUILD_DIR)/Makefile ]; then rm -rf $(BUILD_DIR); fi
|
||||
@# make sure to start from scratch if ninja build file is missing
|
||||
@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ ! -f $(BUILD_DIR)/build.ninja ]; then rm -rf $(BUILD_DIR); fi
|
||||
@# only excplicitly configure the first build, if cache file already exists the makefile will rerun cmake automatically if necessary
|
||||
@if [ ! -e $(BUILD_DIR)/CMakeCache.txt ] || [ $(CMAKE_CACHE_CHECK) ]; then \
|
||||
mkdir -p $(BUILD_DIR) \
|
||||
@ -270,9 +268,9 @@ px4fmu_firmware: \
|
||||
misc_qgc_extra_firmware: \
|
||||
check_nxp_fmuk66-v3_default \
|
||||
check_nxp_fmurt1062-v1_default \
|
||||
check_intel_aerofc-v1_default \
|
||||
check_mro_x21_default \
|
||||
check_bitcraze_crazyflie_default \
|
||||
check_bitcraze_crazyflie21_default \
|
||||
check_airmind_mindpx-v2_default \
|
||||
check_px4_fmu-v2_lpe \
|
||||
sizes
|
||||
@ -303,7 +301,8 @@ check_%:
|
||||
@echo
|
||||
|
||||
uorb_graphs:
|
||||
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --exclude-path src/lib --file Tools/uorb_graph/graph_full
|
||||
@./Tools/uorb_graph/create_from_startupscript.sh
|
||||
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --file Tools/uorb_graph/graph_full
|
||||
@$(MAKE) --no-print-directory px4_fmu-v2_default uorb_graph
|
||||
@$(MAKE) --no-print-directory px4_fmu-v4_default uorb_graph
|
||||
@$(MAKE) --no-print-directory px4_sitl_default uorb_graph
|
||||
@ -318,7 +317,7 @@ coverity_scan: px4_sitl_default
|
||||
.PHONY: parameters_metadata airframe_metadata module_documentation px4_metadata doxygen
|
||||
|
||||
parameters_metadata:
|
||||
@$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen
|
||||
@$(MAKE) --no-print-directory px4_sitl_default metadata_parameters
|
||||
|
||||
airframe_metadata:
|
||||
@$(MAKE) --no-print-directory px4_sitl_default metadata_airframes
|
||||
@ -362,10 +361,8 @@ tests:
|
||||
|
||||
tests_coverage:
|
||||
@$(MAKE) clean
|
||||
@$(MAKE) --no-print-directory tests PX4_CMAKE_BUILD_TYPE=Coverage
|
||||
@mkdir -p coverage
|
||||
@lcov --directory build/px4_sitl_test --base-directory build/px4_sitl_test --gcov-tool gcov --capture -o coverage/lcov.info
|
||||
|
||||
@$(MAKE) --no-print-directory px4_sitl_default test_coverage_genhtml PX4_CMAKE_BUILD_TYPE=Coverage
|
||||
@echo "Open "$(SRC_DIR)"/build/px4_sitl_default/coverage-html/index.html to see coverage"
|
||||
|
||||
rostest: px4_sitl_default
|
||||
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
|
||||
|
||||
110
README.md
110
README.md
@ -1,37 +1,33 @@
|
||||
# PX4 Drone Autopilot
|
||||
|
||||
[](https://github.com/PX4/PX4-Autopilot/releases) [](https://zenodo.org/badge/latestdoi/22634/PX4/PX4-Autopilot)
|
||||
[](https://github.com/PX4/Firmware/releases) [](https://zenodo.org/badge/latestdoi/22634/PX4/Firmware)
|
||||
|
||||
[](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22)
|
||||
[](https://github.com/PX4/Firmware/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [](https://github.com/PX4/Firmware/actions?query=workflow%3A%22SITL+Tests%22)
|
||||
|
||||
[](http://slack.px4.io)
|
||||
|
||||
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/PX4-Autopilot/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
|
||||
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/Firmware/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
|
||||
|
||||
PX4 is highly portable, OS-independent and supports Linux, NuttX and QuRT out of the box.
|
||||
|
||||
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/PX4-Autopilot/blob/master/LICENSE))
|
||||
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/Firmware/blob/master/LICENSE))
|
||||
* [Supported airframes](https://docs.px4.io/master/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)):
|
||||
* [Multicopters](https://docs.px4.io/master/en/frames_multicopter/)
|
||||
* [Fixed wing](https://docs.px4.io/master/en/frames_plane/)
|
||||
* [VTOL](https://docs.px4.io/master/en/frames_vtol/)
|
||||
* [Autogyro](https://docs.px4.io/master/en/frames_autogyro/)
|
||||
* [Rover](https://docs.px4.io/master/en/frames_rover/)
|
||||
* many more experimental types (Blimps, Boats, Submarines, High altitude balloons, etc)
|
||||
* Releases: [Downloads](https://github.com/PX4/PX4-Autopilot/releases)
|
||||
* [Multicopters](https://docs.px4.io/master/en/airframes/airframe_reference.html#copter)
|
||||
* [Fixed wing](https://docs.px4.io/master/en/airframes/airframe_reference.html#plane)
|
||||
* [VTOL](https://docs.px4.io/master/en/airframes/airframe_reference.html#vtol)
|
||||
* many more experimental types (Rovers, Blimps, Boats, Submarines, Autogyros, etc)
|
||||
* Releases: [Downloads](https://github.com/PX4/Firmware/releases)
|
||||
|
||||
|
||||
## Building a PX4 based drone, rover, boat or robot
|
||||
## PX4 Users
|
||||
|
||||
The [PX4 User Guide](https://docs.px4.io/master/en/) explains how to assemble [supported vehicles](https://docs.px4.io/master/en/airframes/airframe_reference.html) and fly drones with PX4.
|
||||
See the [forum and chat](https://docs.px4.io/master/en/#support) if you need help!
|
||||
|
||||
|
||||
## Changing code and contributing
|
||||
## PX4 Developers
|
||||
|
||||
This [Developer Guide](https://docs.px4.io/master/en/development/development.html) is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.
|
||||
This [Developer Guide](https://dev.px4.io/) is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.
|
||||
|
||||
Developers should read the [Guide for Contributions](https://docs.px4.io/master/en/contribute/).
|
||||
Developers should read the [Guide for Contributions](https://dev.px4.io/master/en/contribute/).
|
||||
See the [forum and chat](https://dev.px4.io/master/en/#support) if you need help!
|
||||
|
||||
|
||||
@ -44,74 +40,56 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
|
||||
|
||||
## Maintenance Team
|
||||
|
||||
* Project: Founder
|
||||
* [Lorenz Meier](https://github.com/LorenzMeier)
|
||||
* Architecture
|
||||
* [Daniel Agar](https://github.com/dagar)
|
||||
* [Dev Call](https://github.com/PX4/PX4-Autopilot/labels/devcall)
|
||||
* [Ramon Roche](https://github.com/mrpollo)
|
||||
* Project: Founder - [Lorenz Meier](https://github.com/LorenzMeier), Architecture: [Daniel Agar](https://github.com/dagar)
|
||||
* [Dev Call](https://github.com/PX4/Firmware/labels/devcall) - [Ramon Roche](https://github.com/mrpollo)
|
||||
* Communication Architecture
|
||||
* [Beat Kueng](https://github.com/bkueng)
|
||||
* [Julian Oes](https://github.com/JulianOes)
|
||||
* UI in QGroundControl
|
||||
* [Gus Grubba](https://github.com/dogmaphobic)
|
||||
* [Multicopter Flight Control](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
|
||||
* [Multicopter Flight Control](https://github.com/PX4/Firmware/labels/multicopter)
|
||||
* [Mathieu Bresciani](https://github.com/bresch)
|
||||
* [Multicopter Software Architecture](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
|
||||
* [Multicopter Software Architecture](https://github.com/PX4/Firmware/labels/multicopter)
|
||||
* [Matthias Grob](https://github.com/MaEtUgR)
|
||||
* [VTOL Flight Control](https://github.com/PX4/PX4-Autopilot/labels/vtol)
|
||||
* [VTOL Flight Control](https://github.com/PX4/Firmware/labels/vtol)
|
||||
* [Roman Bapst](https://github.com/RomanBapst)
|
||||
* [Fixed Wing Flight Control](https://github.com/PX4/PX4-Autopilot/labels/fixedwing)
|
||||
* [Fixed Wing Flight Control](https://github.com/PX4/Firmware/labels/fixedwing)
|
||||
* [Roman Bapst](https://github.com/RomanBapst)
|
||||
* OS / NuttX
|
||||
* [David Sidrane](https://github.com/davids5)
|
||||
* Driver Architecture
|
||||
* [Daniel Agar](https://github.com/dagar)
|
||||
* Commander Architecture
|
||||
* [Julian Oes](https://github.com/julianoes)
|
||||
* [UAVCAN](https://github.com/PX4/PX4-Autopilot/labels/uavcan)
|
||||
* [Daniel Agar](https://github.com/dagar)
|
||||
* [State Estimation](https://github.com/PX4/PX4-Autopilot/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22)
|
||||
* [Paul Riseborough](https://github.com/priseborough)
|
||||
* Vision based navigation and Obstacle Avoidance
|
||||
* [Markus Achtelik](https://github.com/markusachtelik)
|
||||
* RTPS/ROS2 Interface
|
||||
* [Nuno Marques](https://github.com/TSC21)
|
||||
* OS / NuttX [David Sidrane](https://github.com/davids5)
|
||||
* Driver Architecture [Daniel Agar](https://github.com/dagar)
|
||||
* Commander Architecture [Julian Oes](https://github.com/julianoes)
|
||||
* [UAVCAN](https://github.com/PX4/Firmware/labels/uavcan) [Daniel Agar](https://github.com/dagar)
|
||||
* [State Estimation](https://github.com/PX4/Firmware/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22) - [Paul Riseborough](https://github.com/priseborough)
|
||||
* Vision based navigation
|
||||
* [Julian Kent](https://github.com/jkflying)
|
||||
* Obstacle Avoidance - [Martina Rivizzigno](https://github.com/mrivi)
|
||||
* RTPS/ROS2 Interface - [Nuno Marques](https://github.com/TSC21)
|
||||
|
||||
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
|
||||
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/Firmware/graphs/contributors) (Github).
|
||||
|
||||
## Supported Hardware
|
||||
|
||||
This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.
|
||||
|
||||
### Pixhawk Standard Boards
|
||||
* FMUv6X and FMUv6U (STM32H7, 2021)
|
||||
* Various vendors will provide FMUv6X and FMUv6U based designs Q3/2021
|
||||
* FMUv5 and FMUv5X (STM32F7, 2019/20)
|
||||
* [Pixhawk 4 (FMUv5)](https://docs.px4.io/master/en/flight_controller/pixhawk4.html)
|
||||
* [Pixhawk 4 mini (FMUv5)](https://docs.px4.io/master/en/flight_controller/pixhawk4_mini.html)
|
||||
* [CUAV V5+ (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_plus.html)
|
||||
* [CUAV V5 nano (FMUv5)](https://docs.px4.io/master/en/flight_controller/cuav_v5_nano.html)
|
||||
* [Auterion Skynode (FMUv5X)](https://docs.px4.io/master/en/flight_controller/auterion_skynode.html)
|
||||
* FMUv4 (STM32F4, 2015)
|
||||
* [Pixracer](https://docs.px4.io/master/en/flight_controller/pixracer.html)
|
||||
* [Pixhawk 3 Pro](https://docs.px4.io/master/en/flight_controller/pixhawk3_pro.html)
|
||||
* FMUv3 (STM32F4, 2014)
|
||||
This repository contains code supporting these boards:
|
||||
* FMUv2
|
||||
* [Pixhawk](https://docs.px4.io/master/en/flight_controller/pixhawk.html)
|
||||
* [Pixfalcon](https://docs.px4.io/master/en/flight_controller/pixfalcon.html)
|
||||
* FMUv3
|
||||
* [Pixhawk 2](https://docs.px4.io/master/en/flight_controller/pixhawk-2.html)
|
||||
* [Pixhawk Mini](https://docs.px4.io/master/en/flight_controller/pixhawk_mini.html)
|
||||
* [CUAV Pixhack v3](https://docs.px4.io/master/en/flight_controller/pixhack_v3.html)
|
||||
* FMUv2 (STM32F4, 2013)
|
||||
* [Pixhawk](https://docs.px4.io/master/en/flight_controller/pixhawk.html)
|
||||
* [Pixfalcon](https://docs.px4.io/master/en/flight_controller/pixfalcon.html)
|
||||
|
||||
### Manufacturer and Community supported
|
||||
* [Holybro Durandal](https://docs.px4.io/master/en/flight_controller/durandal.html)
|
||||
* [Hex Cube Orange](https://docs.px4.io/master/en/flight_controller/cubepilot_cube_orange.html)
|
||||
* [Hex Cube Yellow](https://docs.px4.io/master/en/flight_controller/cubepilot_cube_yellow.html)
|
||||
* FMUv4
|
||||
* [Pixracer](https://docs.px4.io/master/en/flight_controller/pixracer.html)
|
||||
* [Pixhawk 3 Pro](https://docs.px4.io/master/en/flight_controller/pixhawk3_pro.html)
|
||||
* FMUv5 (ARM Cortex M7)
|
||||
* [Pixhawk 4](https://docs.px4.io/master/en/flight_controller/pixhawk4.html)
|
||||
* [Pixhawk 4 mini](https://docs.px4.io/master/en/flight_controller/pixhawk4_mini.html)
|
||||
* [CUAV V5+](https://docs.px4.io/master/en/flight_controller/cuav_v5_plus.html)
|
||||
* [CUAV V5 nano](https://docs.px4.io/master/en/flight_controller/cuav_v5_nano.html)
|
||||
* [Airmind MindPX V2.8](http://www.mindpx.net/assets/accessories/UserGuide_MindPX.pdf)
|
||||
* [Airmind MindRacer V1.2](http://mindpx.net/assets/accessories/mindracer_user_guide_v1.2.pdf)
|
||||
* [Bitcraze Crazyflie 2.0](https://docs.px4.io/master/en/flight_controller/crazyflie2.html)
|
||||
* [Omnibus F4 SD](https://docs.px4.io/master/en/flight_controller/omnibus_f4_sd.html)
|
||||
* [Holybro Durandal](https://docs.px4.io/master/en/flight_controller/durandal.html)
|
||||
* [Holybro Kakute F7](https://docs.px4.io/master/en/flight_controller/kakutef7.html)
|
||||
* [Raspberry PI with Navio 2](https://docs.px4.io/master/en/flight_controller/raspberry_pi_navio2.html)
|
||||
|
||||
@ -119,4 +97,4 @@ Additional information about supported hardware can be found in [PX4 user Guide
|
||||
|
||||
## Project Roadmap
|
||||
|
||||
A high level project roadmap is available [here](https://github.com/orgs/PX4/projects/25).
|
||||
A high level project roadmap is available [here](https://www.dronecode.org/roadmap/).
|
||||
|
||||
@ -31,11 +31,10 @@
|
||||
#
|
||||
############################################################################
|
||||
|
||||
set(romfs_src_dir ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root})
|
||||
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/etc)
|
||||
message(STATUS "ROMFS: ${config_romfs_root}")
|
||||
|
||||
file(RELATIVE_PATH romfs_path_relative ${PX4_SOURCE_DIR} ${romfs_src_dir})
|
||||
message(STATUS "ROMFS: ${romfs_path_relative}")
|
||||
set(romfs_src_dir ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root})
|
||||
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/genromfs)
|
||||
|
||||
set_property(GLOBAL PROPERTY PX4_ROMFS_FILES)
|
||||
set_property(GLOBAL PROPERTY PX4_ROMFS_CMAKE_FILES)
|
||||
@ -82,51 +81,21 @@ file(GLOB jinja_templates ${PX4_SOURCE_DIR}/Tools/serial/*.jinja)
|
||||
if (px4_constrained_flash_build)
|
||||
set(added_arguments --constrained-flash)
|
||||
endif()
|
||||
if(PX4_ETHERNET)
|
||||
set(added_arguments ${added_arguments} --ethernet)
|
||||
endif()
|
||||
# create list of relative romfs file names
|
||||
set(romfs_copy_files_relative)
|
||||
foreach(romfs_file IN LISTS romfs_copy_files)
|
||||
string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file})
|
||||
list(APPEND romfs_copy_files_relative ${romfs_file_rel})
|
||||
endforeach()
|
||||
# copy the ROMFS files by creating a tar and extracting it to the build
|
||||
# directory (which preserves the directory structure)
|
||||
file(MAKE_DIRECTORY ${romfs_gen_root_dir})
|
||||
set(romfs_tar_file ${PX4_BINARY_DIR}/romfs_files.tar)
|
||||
add_custom_command(
|
||||
OUTPUT ${romfs_tar_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cf ${romfs_tar_file} ${romfs_copy_files_relative}
|
||||
WORKING_DIRECTORY ${romfs_src_dir}
|
||||
DEPENDS
|
||||
${romfs_copy_files}
|
||||
${jinja_templates}
|
||||
${module_config_files}
|
||||
${romfs_cmake_files}
|
||||
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
|
||||
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
|
||||
)
|
||||
set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp)
|
||||
add_custom_command(
|
||||
OUTPUT ${romfs_extract_stamp}
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp}
|
||||
WORKING_DIRECTORY ${romfs_gen_root_dir}
|
||||
DEPENDS ${romfs_tar_file}
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${romfs_gen_root_dir}/init.d/rcS
|
||||
${romfs_gen_root_dir}/init.d/rc.serial
|
||||
${romfs_gen_root_dir}/init.d/rc.autostart
|
||||
${romfs_gen_root_dir}/init.d/rc.autostart.post
|
||||
romfs_copy.stamp
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}
|
||||
# TODO: we should only copy the files in ${romfs_copy_files}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${romfs_src_dir} ${romfs_gen_root_dir}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/init.d-posix
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/mixers-sitl
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/mixers/CMakeLists.txt
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/CMakeLists.txt
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/airframes/CMakeLists.txt
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||
--airframes-path ${romfs_gen_root_dir}/init.d
|
||||
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
|
||||
@ -137,66 +106,47 @@ add_custom_command(
|
||||
--config-files ${module_config_files} #--verbose
|
||||
COMMAND ${CMAKE_COMMAND} -E touch romfs_copy.stamp
|
||||
DEPENDS
|
||||
${romfs_extract_stamp}
|
||||
${jinja_templates}
|
||||
${module_config_files}
|
||||
${romfs_cmake_files}
|
||||
${romfs_copy_files}
|
||||
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
|
||||
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
|
||||
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
|
||||
COMMENT "ROMFS: copying, generating airframes"
|
||||
)
|
||||
|
||||
# copy extras into ROMFS
|
||||
set(extras_dependencies)
|
||||
|
||||
if(config_bl_file)
|
||||
file(MAKE_DIRECTORY ${PX4_BINARY_DIR}/romfs_extras)
|
||||
configure_file(${config_bl_file} ${PX4_BINARY_DIR}/romfs_extras COPYONLY)
|
||||
|
||||
list(APPEND extras_dependencies
|
||||
${config_bl_file}
|
||||
)
|
||||
endif()
|
||||
|
||||
# copy px4io binary if configured
|
||||
if(config_io_board)
|
||||
list(APPEND extras_dependencies
|
||||
copy_px4io_bin
|
||||
${fw_io_bin}
|
||||
)
|
||||
file(RELATIVE_PATH iofw_file_relative ${PX4_SOURCE_DIR} ${fw_io_bin})
|
||||
message(STATUS "ROMFS: Adding ${iofw_file_relative} -> /etc/extras/${config_io_board}.bin")
|
||||
endif()
|
||||
|
||||
|
||||
# board bootloader (built or included)
|
||||
if(TARGET copy_bootloader_bin)
|
||||
|
||||
if(board_bootloader_firmware)
|
||||
file(RELATIVE_PATH bl_file_relative ${PX4_SOURCE_DIR} ${board_bootloader_firmware})
|
||||
message(STATUS "ROMFS: Adding ${bl_file_relative} -> /etc/extras/bootloader.bin")
|
||||
else()
|
||||
file(RELATIVE_PATH bl_file_relative ${PX4_SOURCE_DIR} ${bootloader_bin})
|
||||
message(STATUS "ROMFS: Adding ${bl_file_relative} -> /etc/extras/bootloader.bin")
|
||||
endif()
|
||||
|
||||
if(config_build_bootloader)
|
||||
list(APPEND extras_dependencies
|
||||
copy_bootloader_bin
|
||||
${bootloader_bin}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
# optional board architecture defaults
|
||||
set(board_arch_rc_file "rc.board_arch_defaults")
|
||||
if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file}")
|
||||
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file})
|
||||
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/${board_arch_rc_file}")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${romfs_gen_root_dir}/init.d/${board_arch_rc_file}
|
||||
${board_arch_rc_file}.stamp
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file} ${romfs_gen_root_dir}/init.d/${board_arch_rc_file}
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${board_arch_rc_file}.stamp
|
||||
DEPENDS
|
||||
${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file}
|
||||
romfs_copy.stamp
|
||||
COMMENT "ROMFS: copying ${board_arch_rc_file}"
|
||||
)
|
||||
|
||||
list(APPEND extras_dependencies
|
||||
${board_arch_rc_file}.stamp
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
set(OPTIONAL_BOARD_RC)
|
||||
list(APPEND OPTIONAL_BOARD_RC
|
||||
rc.board_defaults
|
||||
@ -208,8 +158,7 @@ list(APPEND OPTIONAL_BOARD_RC
|
||||
foreach(board_rc_file ${OPTIONAL_BOARD_RC})
|
||||
|
||||
if(EXISTS "${PX4_BOARD_DIR}/init/${board_rc_file}")
|
||||
file(RELATIVE_PATH rc_file_relative ${PX4_SOURCE_DIR} ${PX4_BOARD_DIR}/init/${board_rc_file})
|
||||
message(STATUS "ROMFS: Adding ${rc_file_relative} -> /etc/init.d/${board_rc_file}")
|
||||
message(STATUS "ROMFS: Adding ${board_rc_file}")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
@ -230,75 +179,17 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
|
||||
|
||||
endforeach()
|
||||
|
||||
|
||||
if(config_uavcan_peripheral_firmware)
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
foreach(uavcan_peripheral_config ${config_uavcan_peripheral_firmware})
|
||||
# include the px4io binary in ROMFS
|
||||
message(STATUS "ROMFS: Adding UAVCAN peripheral ${uavcan_peripheral_config} -> /etc/uavcan/fw/")
|
||||
ExternalProject_Add(build_${uavcan_peripheral_config}
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}
|
||||
DOWNLOAD_COMMAND ""
|
||||
UPDATE_COMMAND ""
|
||||
CMAKE_ARGS -DCONFIG=${uavcan_peripheral_config}
|
||||
INSTALL_COMMAND ""
|
||||
USES_TERMINAL_BUILD true
|
||||
DEPENDS git_nuttx git_nuttx_apps
|
||||
BUILD_ALWAYS 1
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(build_${uavcan_peripheral_config} BINARY_DIR)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${romfs_gen_root_dir}/uavcan/fw/_${uavcan_board_id}.bin
|
||||
${uavcan_peripheral_config}.stamp
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/uavcan/fw/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${BINARY_DIR}/deploy/*.bin ${romfs_gen_root_dir}/uavcan/fw/
|
||||
COMMAND ls -lsa ${romfs_gen_root_dir}/uavcan/fw/
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${uavcan_peripheral_config}.stamp
|
||||
DEPENDS
|
||||
build_${uavcan_peripheral_config}
|
||||
COMMENT "ROMFS: copying ${uavcan_peripheral_config}"
|
||||
)
|
||||
|
||||
list(APPEND extras_dependencies
|
||||
${uavcan_peripheral_config}.stamp
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
list(APPEND extras_dependencies
|
||||
${config_romfs_extra_dependencies}
|
||||
)
|
||||
|
||||
if (config_romfs_extra_files)
|
||||
set(extras_copy_cmd COMMAND ${CMAKE_COMMAND} -E copy_if_different ${config_romfs_extra_files} ${romfs_gen_root_dir}/extras/)
|
||||
else()
|
||||
set(extras_copy_cmd "")
|
||||
endif()
|
||||
add_custom_command(OUTPUT romfs_extras.stamp
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/extras/
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PX4_BINARY_DIR}/romfs_extras/ ${romfs_gen_root_dir}/extras/
|
||||
${extras_copy_cmd}
|
||||
COMMAND ${CMAKE_COMMAND} -E touch romfs_extras.stamp
|
||||
DEPENDS
|
||||
romfs_copy.stamp
|
||||
${config_romfs_extra_files}
|
||||
${extras_dependencies}
|
||||
COMMENT "ROMFS: copying extras"
|
||||
)
|
||||
|
||||
add_custom_target(romfs_gen_files_target
|
||||
DEPENDS
|
||||
${romfs_extract_stamp}
|
||||
${romfs_gen_root_dir}/init.d/rc.serial
|
||||
romfs_extras.stamp
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT romfs_pruned.stamp
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
|
||||
@ -329,11 +220,7 @@ if("${CONFIG_FS_CROMFS}" STREQUAL "y")
|
||||
COMMENT "ROMFS: generating image"
|
||||
)
|
||||
|
||||
add_library(romfs STATIC nsh_romfsimg.c)
|
||||
add_dependencies(romfs prebuild_targets)
|
||||
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
|
||||
|
||||
elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
|
||||
else()
|
||||
# create romfs.img
|
||||
find_program(GENROMFS genromfs)
|
||||
if(NOT GENROMFS)
|
||||
@ -368,13 +255,13 @@ elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
|
||||
COMMAND ${SED} 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c
|
||||
DEPENDS romfs.img
|
||||
)
|
||||
|
||||
add_library(romfs STATIC nsh_romfsimg.c)
|
||||
add_dependencies(romfs prebuild_targets)
|
||||
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
|
||||
endif()
|
||||
|
||||
|
||||
add_library(romfs STATIC nsh_romfsimg.c)
|
||||
add_dependencies(romfs prebuild_targets)
|
||||
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
|
||||
|
||||
|
||||
# shellcheck
|
||||
find_program(SHELLCHECK_PATH shellcheck)
|
||||
@ -384,15 +271,11 @@ if(SHELLCHECK_PATH)
|
||||
# TODO: fix SC2086, SC2166
|
||||
add_custom_target(shellcheck
|
||||
COMMAND ${SHELLCHECK_PATH} --shell=sh
|
||||
--exclude=SC1090 # SC1090: use of source (.) - Can't follow non-constant source. Use a directive to specify location.
|
||||
--exclude=SC1091 # SC1091: use of source (.) - Not following: xxxx openBinaryFile: does not exist (No such file or directory)
|
||||
--exclude=SC2121 # SC2121: To assign a variable, use just 'var=value'
|
||||
--exclude=SC2086 # SC2086: Double quote to prevent globbing and word splitting.
|
||||
--exclude=SC2166 # SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
|
||||
--exclude=SC2154 # SC2154: <var> is referenced but not assigned (NuttX uses different asssignment)
|
||||
--exclude=SC2164 # SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
|
||||
--exclude=SC2169 # SC2169: In dash, 'source' in place of '.' is not supported. (we alias it)
|
||||
--exclude=SC2039 # SC2039: In POSIX sh, 'source' in place of '.' is undefined. (we alias it)
|
||||
--exclude=SC2181 # SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
|
||||
`find ${romfs_gen_root_dir}/init.d -type f`
|
||||
DEPENDS ${romfs_gen_root_dir}/init.d/rc.autostart
|
||||
|
||||
@ -14,7 +14,7 @@ set +e
|
||||
# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS.
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
set R /
|
||||
|
||||
#
|
||||
# Mount the procfs.
|
||||
#
|
||||
@ -30,69 +30,74 @@ sercon
|
||||
#
|
||||
ver all
|
||||
|
||||
if mft query -q -k MTD -s MTD_PARAMETERS -v /fs/mtd_params
|
||||
#
|
||||
# Start the ORB (first app to start)
|
||||
# tone_alarm and tune_control
|
||||
# is dependent.
|
||||
#
|
||||
uorb start
|
||||
|
||||
#
|
||||
# Set the parameter file if mtd starts successfully.
|
||||
#
|
||||
if mtd start
|
||||
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
|
||||
|
||||
#
|
||||
# Load parameters.
|
||||
#
|
||||
param select $PARAM_FILE
|
||||
if ! param load
|
||||
then
|
||||
param reset_all
|
||||
param reset
|
||||
fi
|
||||
|
||||
#
|
||||
# Optional board architecture defaults: rc.board_arch_defaults
|
||||
#
|
||||
set BOARD_ARCH_RC_DEFAULTS ${R}etc/init.d/rc.board_arch_defaults
|
||||
if [ -f $BOARD_ARCH_RC_DEFAULTS ]
|
||||
then
|
||||
echo "Board architecture defaults: ${BOARD_ARCH_RC_DEFAULTS}"
|
||||
. $BOARD_ARCH_RC_DEFAULTS
|
||||
fi
|
||||
unset BOARD_ARCH_RC_DEFAULTS
|
||||
|
||||
#
|
||||
# Optional board defaults: rc.board_defaults
|
||||
#
|
||||
set BOARD_RC_DEFAULTS ${R}etc/init.d/rc.board_defaults
|
||||
set BOARD_RC_DEFAULTS /etc/init.d/rc.board_defaults
|
||||
if [ -f $BOARD_RC_DEFAULTS ]
|
||||
then
|
||||
echo "Board defaults: ${BOARD_RC_DEFAULTS}"
|
||||
. $BOARD_RC_DEFAULTS
|
||||
sh $BOARD_RC_DEFAULTS
|
||||
fi
|
||||
unset BOARD_RC_DEFAULTS
|
||||
|
||||
#
|
||||
# Start system state indicator.
|
||||
#
|
||||
rgbled start -X -q
|
||||
rgbled_ncp5623c start -X -q
|
||||
rgbled start -X
|
||||
rgbled_ncp5623c start -X
|
||||
rgbled_pwm start
|
||||
|
||||
if param greater LIGHT_EN_BLINKM 0
|
||||
then
|
||||
if blinkm start -X
|
||||
then
|
||||
blinkm systemstate
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# board sensors: rc.sensors
|
||||
#
|
||||
set BOARD_RC_SENSORS ${R}etc/init.d/rc.board_sensors
|
||||
set BOARD_RC_SENSORS /etc/init.d/rc.board_sensors
|
||||
if [ -f $BOARD_RC_SENSORS ]
|
||||
then
|
||||
echo "Board sensors: ${BOARD_RC_SENSORS}"
|
||||
. $BOARD_RC_SENSORS
|
||||
sh $BOARD_RC_SENSORS
|
||||
fi
|
||||
unset BOARD_RC_SENSORS
|
||||
|
||||
analog_measurement start
|
||||
|
||||
#
|
||||
# Start UART/Serial device drivers.
|
||||
# Note: rc.serial is auto-generated from Tools/serial/generate_config.py
|
||||
#
|
||||
. ${R}etc/init.d/rc.serial
|
||||
sh /etc/init.d/rc.serial
|
||||
|
||||
# Check for flow sensor
|
||||
if param compare SENS_EN_PX4FLOW 1
|
||||
@ -101,4 +106,3 @@ then
|
||||
fi
|
||||
|
||||
uavcannode start
|
||||
unset R
|
||||
|
||||
@ -33,8 +33,3 @@
|
||||
|
||||
add_subdirectory(init.d)
|
||||
add_subdirectory(mixers)
|
||||
# TODO: make this configurable from the board config, or better combine
|
||||
if("${PX4_BOARD}" MATCHES "sitl")
|
||||
add_subdirectory(mixers-sitl)
|
||||
add_subdirectory(init.d-posix)
|
||||
endif()
|
||||
|
||||
5
ROMFS/px4fmu_common/extras/README.txt
Normal file
5
ROMFS/px4fmu_common/extras/README.txt
Normal file
@ -0,0 +1,5 @@
|
||||
px4fmuv3_bl.bin: Bootloader binary of the PX4 Bootloader
|
||||
(https://github.com/PX4/Bootloader)
|
||||
based on commit 184b813699a9cfd6f43a5a21556a06b4372baf5f
|
||||
for the target px4fmuv3_bl
|
||||
|
||||
BIN
ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
Executable file
BIN
ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
Executable file
Binary file not shown.
13
ROMFS/px4fmu_common/init.d-posix/10016_iris
Normal file
13
ROMFS/px4fmu_common/init.d-posix/10016_iris
Normal file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
# @maintainer Julian Oes <julian@oes.ch>
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER quad_w
|
||||
|
||||
17
ROMFS/px4fmu_common/init.d-posix/10020_if750a
Normal file
17
ROMFS/px4fmu_common/init.d-posix/10020_if750a
Normal file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name IF750A SITL
|
||||
# InspiredFlight 750 Auterion edition. Gazebo Only.
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2: Multi GPS blending (as the model has 2 GPS's)
|
||||
param set EKF2_GPS_MASK 7 # Uses speed, hpos and vpos accuracy
|
||||
fi
|
||||
|
||||
set MIXER quad_x
|
||||
11
ROMFS/px4fmu_common/init.d-posix/10030_px4vision
Normal file
11
ROMFS/px4fmu_common/init.d-posix/10030_px4vision
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name PX4Vision SITL
|
||||
# Holybro px4vision. Gazebo Only.
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
sh /etc/init.d/airframes/4016_holybro_px4vision
|
||||
|
||||
set MIXER quad_x
|
||||
22
ROMFS/px4fmu_common/init.d-posix/1010_iris_opt_flow
Normal file
22
ROMFS/px4fmu_common/init.d-posix/1010_iris_opt_flow
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Optical Flow)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2
|
||||
param set EKF2_AID_MASK 2
|
||||
param set EKF2_EVP_NOISE 0.05
|
||||
param set EKF2_EVA_NOISE 0.05
|
||||
|
||||
# LPE: Flow-only mode
|
||||
param set LPE_FUSION 242
|
||||
param set LPE_FAKE_ORIGIN 1
|
||||
|
||||
param set MPC_ALT_MODE 2
|
||||
fi
|
||||
18
ROMFS/px4fmu_common/init.d-posix/1011_iris_irlock
Normal file
18
ROMFS/px4fmu_common/init.d-posix/1011_iris_irlock
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (irlock)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# enable fusion of landing target velocity
|
||||
param set LTEST_MODE 1
|
||||
param set PLD_HACC_RAD 0.1
|
||||
fi
|
||||
|
||||
# Start up Landing Target Estimator module
|
||||
landing_target_estimator start
|
||||
13
ROMFS/px4fmu_common/init.d-posix/1012_iris_rplidar
Normal file
13
ROMFS/px4fmu_common/init.d-posix/1012_iris_rplidar
Normal file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (rplidar)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set LPE_FUSION 242
|
||||
fi
|
||||
21
ROMFS/px4fmu_common/init.d-posix/1013_iris_vision
Normal file
21
ROMFS/px4fmu_common/init.d-posix/1013_iris_vision
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Vision)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2: Vision position and heading
|
||||
param set EKF2_AID_MASK 24
|
||||
param set EKF2_EV_DELAY 5
|
||||
|
||||
# LPE: Vision + baro
|
||||
param set LPE_FUSION 132
|
||||
|
||||
# AEQ: External heading set to use vision input
|
||||
param set ATT_EXT_HDG_M 1
|
||||
fi
|
||||
16
ROMFS/px4fmu_common/init.d-posix/1014_solo
Normal file
16
ROMFS/px4fmu_common/init.d-posix/1014_solo
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Solo
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set MC_PITCHRATE_P 0.1
|
||||
param set MC_ROLLRATE_P 0.1
|
||||
fi
|
||||
|
||||
set MIXER quad_x
|
||||
14
ROMFS/px4fmu_common/init.d-posix/1015_iris_obs_avoid
Normal file
14
ROMFS/px4fmu_common/init.d-posix/1015_iris_obs_avoid
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Obstacle Avoidance)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set COM_OBS_AVOID 1
|
||||
param set MPC_XY_CRUISE 5.0
|
||||
fi
|
||||
@ -0,0 +1,2 @@
|
||||
# shellcheck disable=SC2154
|
||||
mavlink start -x -u 14558 -r 4000000 -m onboard -o 14541 # add mavlink stream for SDK
|
||||
8
ROMFS/px4fmu_common/init.d-posix/1016_iris_rtps
Normal file
8
ROMFS/px4fmu_common/init.d-posix/1016_iris_rtps
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (RTPS)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
21
ROMFS/px4fmu_common/init.d-posix/1017_iris_opt_flow_mockup
Normal file
21
ROMFS/px4fmu_common/init.d-posix/1017_iris_opt_flow_mockup
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Optical Flow)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2
|
||||
param set EKF2_AID_MASK 2
|
||||
param set SENS_FLOW_ROT 0
|
||||
|
||||
# LPE: Flow-only mode
|
||||
param set LPE_FUSION 242
|
||||
param set LPE_FAKE_ORIGIN 1
|
||||
|
||||
param set MPC_ALT_MODE 2
|
||||
fi
|
||||
15
ROMFS/px4fmu_common/init.d-posix/1018_iris_vision_velocity
Normal file
15
ROMFS/px4fmu_common/init.d-posix/1018_iris_vision_velocity
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Vision Velocity)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2: Vision velocity and heading
|
||||
param set EKF2_AID_MASK 272
|
||||
param set EKF2_EV_DELAY 5
|
||||
fi
|
||||
14
ROMFS/px4fmu_common/init.d-posix/1019_iris_dual_gps
Normal file
14
ROMFS/px4fmu_common/init.d-posix/1019_iris_dual_gps
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Dual GPS)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/10016_iris
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# EKF2: Multi GPS blending
|
||||
param set EKF2_GPS_MASK 7 # Uses speed, hpos and vpos accuracy
|
||||
fi
|
||||
23
ROMFS/px4fmu_common/init.d-posix/1020_uuv_generic
Normal file
23
ROMFS/px4fmu_common/init.d-posix/1020_uuv_generic
Normal file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name UUV
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.uuv_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
#Set data link loss failsafe mode (0: disabled)
|
||||
param set NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
fi
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
|
||||
set MIXER custom
|
||||
23
ROMFS/px4fmu_common/init.d-posix/1021_uuv_hippocampus
Normal file
23
ROMFS/px4fmu_common/init.d-posix/1021_uuv_hippocampus
Normal file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Hippocampus UUV
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.uuv_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
#Set data link loss failsafe mode (0: disabled)
|
||||
param set NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
fi
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
|
||||
set MIXER custom
|
||||
47
ROMFS/px4fmu_common/init.d-posix/1030_plane
Normal file
47
ROMFS/px4fmu_common/init.d-posix/1030_plane
Normal file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set EKF2_ARSP_THR 8
|
||||
param set EKF2_FUSE_BETA 1
|
||||
param set EKF2_MAG_ACCLIM 0
|
||||
param set EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set FW_LND_AIRSPD_SC 1
|
||||
param set FW_LND_ANG 8
|
||||
param set FW_THR_LND_MAX 0
|
||||
|
||||
param set FW_L1_PERIOD 15
|
||||
|
||||
param set FW_P_TC 0.5
|
||||
param set FW_PR_FF 0.40
|
||||
param set FW_PR_I 0.05
|
||||
param set FW_PR_P 0.05
|
||||
|
||||
param set FW_R_TC 0.7
|
||||
param set FW_RR_FF 0.20
|
||||
param set FW_RR_I 0.02
|
||||
param set FW_RR_P 0.22
|
||||
|
||||
param set FW_L1_PERIOD 12
|
||||
|
||||
param set FW_W_EN 1
|
||||
|
||||
param set MIS_LTRMIN_ALT 30
|
||||
param set MIS_TAKEOFF_ALT 30
|
||||
|
||||
param set NAV_ACC_RAD 15
|
||||
param set NAV_DLL_ACT 2
|
||||
param set NAV_LOITER_RAD 50
|
||||
|
||||
param set RWTO_TKOFF 1
|
||||
|
||||
fi
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
14
ROMFS/px4fmu_common/init.d-posix/1031_plane_cam
Normal file
14
ROMFS/px4fmu_common/init.d-posix/1031_plane_cam
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with camera
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/1030_plane
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
# Camera trigger interface is MAVLink
|
||||
param set TRIG_INTERFACE 3
|
||||
# Distance trigger mode enabled
|
||||
param set TRIG_MODE 4
|
||||
fi
|
||||
12
ROMFS/px4fmu_common/init.d-posix/1032_plane_catapult
Normal file
12
ROMFS/px4fmu_common/init.d-posix/1032_plane_catapult
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with catapult
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/1030_plane
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set RWTO_TKOFF 0
|
||||
|
||||
fi
|
||||
12
ROMFS/px4fmu_common/init.d-posix/1033_plane_lidar
Normal file
12
ROMFS/px4fmu_common/init.d-posix/1033_plane_lidar
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with downward facing LIDAR.
|
||||
#
|
||||
|
||||
sh /etc/init.d-posix/1030_plane
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set FW_LND_USETER 1
|
||||
|
||||
fi
|
||||
58
ROMFS/px4fmu_common/init.d-posix/1033_rascal
Normal file
58
ROMFS/px4fmu_common/init.d-posix/1033_rascal
Normal file
@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set EKF2_ARSP_THR 8
|
||||
param set EKF2_FUSE_BETA 1
|
||||
#param set EKF2_MAG_ACCLIM 0
|
||||
#param set EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set FW_LND_AIRSPD_SC 1.1
|
||||
param set FW_LND_ANG 5
|
||||
param set FW_THR_LND_MAX 0
|
||||
param set FW_LND_HHDIST 30
|
||||
param set FW_LND_FL_PMIN 9.5
|
||||
param set FW_LND_FL_PMAX 20
|
||||
param set FW_LND_FLALT 5
|
||||
param set FW_LND_TLALT 15
|
||||
|
||||
param set FW_L1_PERIOD 25
|
||||
|
||||
param set FW_P_TC 0.4
|
||||
param set FW_PR_FF 0.40
|
||||
param set FW_PR_I 0.05
|
||||
param set FW_PR_P 0.05
|
||||
|
||||
param set FW_R_TC 0.45
|
||||
param set FW_RR_FF 0.40
|
||||
param set FW_RR_I 0.132
|
||||
param set FW_RR_P 0.085
|
||||
|
||||
param set FW_W_EN 1
|
||||
|
||||
param set MIS_LTRMIN_ALT 30
|
||||
param set MIS_TAKEOFF_ALT 20
|
||||
param set MIS_DIST_1WP 2500
|
||||
param set MIS_DIST_WPS 10000
|
||||
|
||||
param set NAV_ACC_RAD 15
|
||||
param set NAV_DLL_ACT 2
|
||||
param set NAV_LOITER_RAD 50
|
||||
|
||||
param set RWTO_TKOFF 1
|
||||
#param set FW_THR_SLEW_MAX 0.3 # fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
param set RWTO_MAX_PITCH 20
|
||||
param set RWTO_MAX_ROLL 10
|
||||
#param set RWTO_MAX_THR 0.6 # fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
param set RWTO_PSP 8
|
||||
param set RWTO_AIRSPD_SCL 1.8
|
||||
|
||||
fi
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
58
ROMFS/px4fmu_common/init.d-posix/1034_rascal-electric
Normal file
58
ROMFS/px4fmu_common/init.d-posix/1034_rascal-electric
Normal file
@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set EKF2_ARSP_THR 8
|
||||
param set EKF2_FUSE_BETA 1
|
||||
#param set EKF2_MAG_ACCLIM 0
|
||||
#param set EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set FW_LND_AIRSPD_SC 1.1
|
||||
param set FW_LND_ANG 5
|
||||
param set FW_THR_LND_MAX 0
|
||||
param set FW_LND_HHDIST 30
|
||||
param set FW_LND_FL_PMIN 9.5
|
||||
param set FW_LND_FL_PMAX 20
|
||||
param set FW_LND_FLALT 5
|
||||
param set FW_LND_TLALT 15
|
||||
|
||||
param set FW_L1_PERIOD 25
|
||||
|
||||
param set FW_P_TC 0.4
|
||||
param set FW_PR_FF 0.40
|
||||
param set FW_PR_I 0.05
|
||||
param set FW_PR_P 0.05
|
||||
|
||||
param set FW_R_TC 0.45
|
||||
param set FW_RR_FF 0.40
|
||||
param set FW_RR_I 0.132
|
||||
param set FW_RR_P 0.085
|
||||
|
||||
param set FW_W_EN 1
|
||||
|
||||
param set MIS_LTRMIN_ALT 30
|
||||
param set MIS_TAKEOFF_ALT 20
|
||||
param set MIS_DIST_1WP 2500
|
||||
param set MIS_DIST_WPS 10000
|
||||
|
||||
param set NAV_ACC_RAD 15
|
||||
param set NAV_DLL_ACT 2
|
||||
param set NAV_LOITER_RAD 50
|
||||
|
||||
param set RWTO_TKOFF 1
|
||||
#param set FW_THR_SLEW_MAX 0.3 # fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
param set RWTO_MAX_PITCH 20
|
||||
param set RWTO_MAX_ROLL 10
|
||||
#param set RWTO_MAX_THR 0.6 # fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
param set RWTO_PSP 8
|
||||
param set RWTO_AIRSPD_SCL 1.8
|
||||
|
||||
fi
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
49
ROMFS/px4fmu_common/init.d-posix/1040_standard_vtol
Normal file
49
ROMFS/px4fmu_common/init.d-posix/1040_standard_vtol
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Standard VTOL
|
||||
#
|
||||
# @type Standard VTOL
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.vtol_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set FW_AIRSPD_MAX 25
|
||||
param set FW_AIRSPD_MIN 14
|
||||
param set FW_AIRSPD_TRIM 16
|
||||
param set FW_L1_PERIOD 12
|
||||
|
||||
param set MC_ROLLRATE_P 0.3
|
||||
|
||||
param set MIS_LTRMIN_ALT 10
|
||||
param set MIS_TAKEOFF_ALT 10
|
||||
param set MIS_YAW_TMT 10
|
||||
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_THR_MIN 0.1
|
||||
param set MPC_TKO_SPEED 1
|
||||
param set MPC_XY_P 0.8
|
||||
param set MPC_XY_VEL_P_ACC 3
|
||||
param set MPC_XY_VEL_I_ACC 4
|
||||
param set MPC_XY_VEL_D_ACC 0.1
|
||||
param set MPC_Z_VEL_MAX_DN 1.5
|
||||
|
||||
param set NAV_ACC_RAD 5
|
||||
param set NAV_LOITER_RAD 80
|
||||
|
||||
param set VT_F_TRANS_DUR 5
|
||||
param set VT_F_TRANS_THR 0.75
|
||||
param set VT_ARSP_TRANS 16
|
||||
param set VT_MOT_ID 1234
|
||||
param set VT_FW_MOT_OFFID 1234
|
||||
param set VT_TYPE 2
|
||||
param set VT_B_TRANS_DUR 8
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 22
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
|
||||
set MIXER custom
|
||||
46
ROMFS/px4fmu_common/init.d-posix/1041_tailsitter
Normal file
46
ROMFS/px4fmu_common/init.d-posix/1041_tailsitter
Normal file
@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Quadrotor + Tailsitter
|
||||
#
|
||||
# @type VTOL Quad Tailsitter
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.vtol_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set FW_AIRSPD_MAX 25
|
||||
param set FW_AIRSPD_MIN 14
|
||||
param set FW_AIRSPD_TRIM 16
|
||||
param set FW_L1_PERIOD 12
|
||||
|
||||
param set MC_ROLLRATE_P 0.3
|
||||
|
||||
param set MIS_LTRMIN_ALT 10
|
||||
param set MIS_TAKEOFF_ALT 10
|
||||
param set MIS_YAW_TMT 10
|
||||
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_THR_MIN 0.1
|
||||
param set MPC_TKO_SPEED 1
|
||||
param set MPC_XY_P 0.15
|
||||
param set MPC_XY_VEL_D_ACC 0.1
|
||||
param set MPC_XY_VEL_I_ACC 4
|
||||
param set MPC_XY_VEL_P_ACC 1
|
||||
param set MPC_Z_VEL_MAX_DN 1.5
|
||||
param set MPC_Z_VEL_P_ACC 16
|
||||
|
||||
param set NAV_ACC_RAD 5
|
||||
param set NAV_LOITER_RAD 80
|
||||
|
||||
param set VT_F_TRANS_DUR 1.5
|
||||
param set VT_F_TRANS_THR 0.7
|
||||
param set VT_TYPE 0
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 20
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/quad_x_vtol.main.mix
|
||||
set MIXER custom
|
||||
52
ROMFS/px4fmu_common/init.d-posix/1042_tiltrotor
Normal file
52
ROMFS/px4fmu_common/init.d-posix/1042_tiltrotor
Normal file
@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name VTOL Tiltrotor
|
||||
#
|
||||
# @type VTOL Tiltrotor
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.vtol_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set FW_ARSP_MODE 1
|
||||
param set FW_AIRSPD_MAX 25
|
||||
param set FW_AIRSPD_MIN 14
|
||||
param set FW_AIRSPD_TRIM 16
|
||||
param set FW_L1_PERIOD 12
|
||||
|
||||
param set MC_ROLLRATE_P 0.3
|
||||
|
||||
param set MIS_LTRMIN_ALT 10
|
||||
param set MIS_TAKEOFF_ALT 10
|
||||
param set MIS_YAW_TMT 10
|
||||
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_ACC_HOR_MAX 2
|
||||
param set MPC_THR_MIN 0.1
|
||||
param set MPC_TKO_SPEED 1
|
||||
param set MPC_XY_P 0.15
|
||||
param set MPC_XY_VEL_D_ACC 0.1
|
||||
param set MPC_XY_VEL_I_ACC 4
|
||||
param set MPC_XY_VEL_P_ACC 1
|
||||
param set MPC_Z_VEL_MAX_DN 1.5
|
||||
param set MPC_Z_VEL_P_ACC 16
|
||||
|
||||
param set NAV_ACC_RAD 5
|
||||
param set NAV_LOITER_RAD 80
|
||||
|
||||
param set VT_F_TRANS_DUR 5.0
|
||||
param set VT_F_TRANS_THR 0.75
|
||||
param set VT_FWD_THRUST_SC 1.1
|
||||
param set VT_TILT_FW 1
|
||||
param set VT_TILT_TRANS 0.6
|
||||
param set VT_ELEV_MC_LOCK 0
|
||||
param set VT_TYPE 1
|
||||
param set VT_B_TRANS_DUR 8
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 21
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/tiltrotor_sitl.main.mix
|
||||
set MIXER custom
|
||||
37
ROMFS/px4fmu_common/init.d-posix/1060_rover
Normal file
37
ROMFS/px4fmu_common/init.d-posix/1060_rover
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Rover
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.rover_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set GND_L1_DIST 5
|
||||
param set GND_SP_CTRL_MODE 1
|
||||
param set GND_SPEED_D 0.001
|
||||
param set GND_SPEED_I 3
|
||||
param set GND_SPEED_IMAX 0.125
|
||||
param set GND_SPEED_P 0.25
|
||||
param set GND_SPEED_THR_SC 1
|
||||
param set GND_SPEED_TRIM 4
|
||||
param set GND_THR_CRUISE 0.3
|
||||
param set GND_THR_IDLE 0
|
||||
param set GND_THR_MAX 0.5
|
||||
param set GND_THR_MIN 0
|
||||
|
||||
param set MIS_LTRMIN_ALT 0.01
|
||||
param set MIS_TAKEOFF_ALT 0.01
|
||||
param set NAV_ACC_RAD 0.5
|
||||
param set NAV_LOITER_RAD 2
|
||||
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
param set GND_MAX_ANG 0.6
|
||||
param set GND_WHEEL_BASE 2.0
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 10
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
|
||||
38
ROMFS/px4fmu_common/init.d-posix/1061_r1_rover
Normal file
38
ROMFS/px4fmu_common/init.d-posix/1061_r1_rover
Normal file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Aion Robotics R1 Rover
|
||||
# @type Rover
|
||||
# @class Rover
|
||||
|
||||
sh /etc/init.d/rc.rover_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set GND_L1_DIST 5
|
||||
param set GND_SP_CTRL_MODE 1
|
||||
param set GND_SPEED_D 3
|
||||
param set GND_SPEED_I 0.001
|
||||
param set GND_SPEED_IMAX 0.125
|
||||
param set GND_SPEED_P 0.25
|
||||
param set GND_SPEED_THR_SC 1
|
||||
param set GND_SPEED_TRIM 4
|
||||
param set GND_THR_CRUISE 0.3
|
||||
param set GND_THR_IDLE 0
|
||||
param set GND_THR_MAX 0.5
|
||||
param set GND_THR_MIN 0
|
||||
|
||||
param set MIS_LTRMIN_ALT 0.01
|
||||
param set MIS_TAKEOFF_ALT 0.01
|
||||
param set NAV_ACC_RAD 0.5
|
||||
param set NAV_LOITER_RAD 2
|
||||
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
param set GND_MAX_ANG 0.6
|
||||
param set GND_WHEEL_BASE 2.0
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 10
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/rover_diff_sitl.main.mix
|
||||
43
ROMFS/px4fmu_common/init.d-posix/1062_tf-r1
Normal file
43
ROMFS/px4fmu_common/init.d-posix/1062_tf-r1
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name ThunderFly TF-R1 UAV Rover
|
||||
# @type Rover
|
||||
# @class Rover
|
||||
#
|
||||
# @url https://github.com/ThunderFly-aerospace/TF-R1/
|
||||
# @maintainer ThunderFly s.r.o.
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.rover_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set GND_L1_DIST 5
|
||||
param set GND_SP_CTRL_MODE 1
|
||||
param set GND_SPEED_D 3
|
||||
param set GND_SPEED_I 0.001
|
||||
param set GND_SPEED_IMAX 0.125
|
||||
param set GND_SPEED_P 0.25
|
||||
param set GND_SPEED_THR_SC 1
|
||||
param set GND_SPEED_TRIM 15
|
||||
param set GND_SPEED_MAX 25
|
||||
param set GND_THR_CRUISE 0.3
|
||||
param set GND_THR_IDLE 0
|
||||
param set GND_THR_MAX 0.5
|
||||
param set GND_THR_MIN 0
|
||||
|
||||
param set MIS_LTRMIN_ALT 0.01
|
||||
param set MIS_TAKEOFF_ALT 0.01
|
||||
param set NAV_ACC_RAD 0.5
|
||||
param set NAV_LOITER_RAD 2
|
||||
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
param set GND_MAX_ANG 0.6
|
||||
param set GND_WHEEL_BASE 3.0
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 10
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
|
||||
37
ROMFS/px4fmu_common/init.d-posix/1070_boat
Normal file
37
ROMFS/px4fmu_common/init.d-posix/1070_boat
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Boat
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.boat_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set GND_L1_DIST 5
|
||||
param set GND_SP_CTRL_MODE 1
|
||||
param set GND_SPEED_D 0.001
|
||||
param set GND_SPEED_I 3
|
||||
param set GND_SPEED_IMAX 0.125
|
||||
param set GND_SPEED_P 0.25
|
||||
param set GND_SPEED_THR_SC 1
|
||||
param set GND_SPEED_TRIM 4
|
||||
param set GND_THR_CRUISE 0.3
|
||||
param set GND_THR_IDLE 0
|
||||
param set GND_THR_MAX 0.5
|
||||
param set GND_THR_MIN 0
|
||||
|
||||
param set MIS_LTRMIN_ALT 0.01
|
||||
param set MIS_TAKEOFF_ALT 0.01
|
||||
param set NAV_ACC_RAD 0.5
|
||||
param set NAV_LOITER_RAD 2
|
||||
|
||||
param set CBRK_AIRSPD_CHK 162128
|
||||
|
||||
param set GND_MAX_ANG 0.6
|
||||
param set GND_WHEEL_BASE 2.0
|
||||
|
||||
fi
|
||||
|
||||
set MAV_TYPE 11
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/boat_sitl.main.mix
|
||||
64
ROMFS/px4fmu_common/init.d-posix/17001_tf-g1
Normal file
64
ROMFS/px4fmu_common/init.d-posix/17001_tf-g1
Normal file
@ -0,0 +1,64 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name ThunderFly TF-G1
|
||||
# ThunderFly TF-G1 autogyro airframe. Only for FlightGear simulator
|
||||
#
|
||||
# @type Autogyro
|
||||
# @class Autogyro
|
||||
#
|
||||
# @url https://github.com/ThunderFly-aerospace/TF-G1/
|
||||
#
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.fw_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set EKF2_ARSP_THR 8
|
||||
param set EKF2_FUSE_BETA 1
|
||||
param set ASPD_STALL 10.0
|
||||
|
||||
param set FW_P_RMAX_NEG 20.0
|
||||
param set FW_P_RMAX_POS 60.0
|
||||
param set FW_W_RMAX 10
|
||||
param set FW_W_EN 1
|
||||
|
||||
param set FW_PR_IMAX 0.4
|
||||
param set FW_R_TC 0.4
|
||||
param set FW_RR_FF 0.5
|
||||
param set FW_RR_I 0.1
|
||||
param set FW_RR_IMAX 0.2
|
||||
param set FW_RR_P 0.08
|
||||
|
||||
param set MIS_LTRMIN_ALT 50
|
||||
param set MIS_TAKEOFF_ALT 3
|
||||
|
||||
param set NAV_ACC_RAD 20
|
||||
param set NAV_DLL_ACT 2
|
||||
param set NAV_LOITER_RAD 100
|
||||
|
||||
param set RWTO_TKOFF 1
|
||||
param set MAV_BROADCAST 1
|
||||
|
||||
param set FW_ARSP_SCALE_EN 0
|
||||
|
||||
param set FW_AIRSPD_MAX 35
|
||||
param set FW_AIRSPD_MIN 7
|
||||
param set FW_AIRSPD_TRIM 15
|
||||
|
||||
param set FW_P_LIM_MAX 25
|
||||
param set FW_P_LIM_MIN -5
|
||||
param set FW_R_LIM 30
|
||||
|
||||
param set FW_MAN_P_MAX 30.0
|
||||
param set FW_MAN_R_MAX 30.0
|
||||
|
||||
param set FW_THR_CRUISE 0.8
|
||||
param set FW_THR_IDLE 0
|
||||
param set COM_DISARM_PRFLT 0
|
||||
|
||||
fi
|
||||
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/autogyro_sitl.main.mix
|
||||
set MIXER custom
|
||||
15
ROMFS/px4fmu_common/init.d-posix/2507_cloudship
Normal file
15
ROMFS/px4fmu_common/init.d-posix/2507_cloudship
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Cloudship
|
||||
# @type Airship
|
||||
# @class Airship
|
||||
#
|
||||
# @output MAIN1 thrust tilt
|
||||
# @output MAIN2 starboard thruster
|
||||
# @output MAIN3 port thruster
|
||||
# @output MAIN4 tail thruster
|
||||
|
||||
sh /etc/init.d/rc.airship_defaults
|
||||
|
||||
set MIXER cloudship
|
||||
set PWM_OUT 1234
|
||||
32
ROMFS/px4fmu_common/init.d-posix/6011_typhoon_h480
Normal file
32
ROMFS/px4fmu_common/init.d-posix/6011_typhoon_h480
Normal file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Typhoon H480 SITL
|
||||
#
|
||||
# @type Hexarotor x
|
||||
#
|
||||
|
||||
sh /etc/init.d/rc.mc_defaults
|
||||
|
||||
if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set MC_PITCHRATE_P 0.1
|
||||
param set MC_PITCHRATE_I 0.05
|
||||
param set MC_PITCH_P 6.0
|
||||
param set MC_ROLLRATE_P 0.15
|
||||
param set MC_ROLLRATE_I 0.1
|
||||
param set MC_ROLL_P 6.0
|
||||
param set MPC_XY_VEL_I_ACC 4
|
||||
param set MPC_XY_VEL_P_ACC 3
|
||||
|
||||
param set RTL_DESCEND_ALT 10
|
||||
param set RTL_LAND_DELAY 0
|
||||
|
||||
param set TRIG_INTERFACE 3
|
||||
param set TRIG_MODE 4
|
||||
param set MNT_MODE_IN 0
|
||||
param set MAV_PROTO_VER 2
|
||||
fi
|
||||
|
||||
set MAV_TYPE 13
|
||||
|
||||
set MIXER hexa_x
|
||||
10
ROMFS/px4fmu_common/init.d-posix/6011_typhoon_h480.post
Normal file
10
ROMFS/px4fmu_common/init.d-posix/6011_typhoon_h480.post
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix
|
||||
|
||||
mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local
|
||||
# shellcheck disable=SC2154
|
||||
mavlink stream -r 50 -s ATTITUDE_QUATERNION -u $udp_offboard_port_local
|
||||
mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_offboard_port_local
|
||||
@ -1,39 +0,0 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
add_subdirectory(airframes)
|
||||
|
||||
px4_add_romfs_files(
|
||||
rc.replay
|
||||
rcS
|
||||
)
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
# @maintainer Julian Oes <julian@oes.ch>
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
set MIXER quad_w
|
||||
@ -1,48 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
# @maintainer Julian Oes <julian@oes.ch>
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
. ${R}etc/init.d/rc.ctrlalloc
|
||||
|
||||
param set-default MPC_USE_HTE 0
|
||||
|
||||
param set-default VM_MASS 1.5
|
||||
param set-default VM_INERTIA_XX 0.03
|
||||
param set-default VM_INERTIA_YY 0.03
|
||||
param set-default VM_INERTIA_ZZ 0.05
|
||||
|
||||
param set-default CA_AIRFRAME 0
|
||||
param set-default CA_METHOD 1
|
||||
param set-default CA_ACT0_MIN 0.0
|
||||
param set-default CA_ACT1_MIN 0.0
|
||||
param set-default CA_ACT2_MIN 0.0
|
||||
param set-default CA_ACT3_MIN 0.0
|
||||
param set-default CA_ACT0_MAX 1.0
|
||||
param set-default CA_ACT1_MAX 1.0
|
||||
param set-default CA_ACT2_MAX 1.0
|
||||
param set-default CA_ACT3_MAX 1.0
|
||||
|
||||
param set-default CA_MC_R0_PX 0.1515
|
||||
param set-default CA_MC_R0_PY 0.245
|
||||
param set-default CA_MC_R0_CT 6.5
|
||||
param set-default CA_MC_R0_KM 0.05
|
||||
param set-default CA_MC_R1_PX -0.1515
|
||||
param set-default CA_MC_R1_PY -0.1875
|
||||
param set-default CA_MC_R1_CT 6.5
|
||||
param set-default CA_MC_R1_KM 0.05
|
||||
param set-default CA_MC_R2_PX 0.1515
|
||||
param set-default CA_MC_R2_PY -0.245
|
||||
param set-default CA_MC_R2_CT 6.5
|
||||
param set-default CA_MC_R2_KM -0.05
|
||||
param set-default CA_MC_R3_PX -0.1515
|
||||
param set-default CA_MC_R3_PY 0.1875
|
||||
param set-default CA_MC_R3_CT 6.5
|
||||
param set-default CA_MC_R3_KM -0.05
|
||||
|
||||
set MIXER direct
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (foggy_lidar)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
param set-default EKF2_RNG_AID 1
|
||||
param set-default EKF2_RNG_A_HMAX 10
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name IF750A SITL
|
||||
# InspiredFlight 750 Auterion edition. Gazebo Only.
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
# EKF2: Multi GPS blending (as the model has 2 GPS's)
|
||||
param set-default SENS_GPS_MASK 7
|
||||
param set-default TRIG_INTERFACE 3
|
||||
param set-default TRIG_MODE 4
|
||||
param set-default MNT_MODE_IN 4
|
||||
param set-default MNT_MODE_OUT 2
|
||||
param set-default MNT_DO_STAB 2
|
||||
|
||||
set MIXER quad_x
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name PX4Vision SITL
|
||||
# Holybro px4vision. Gazebo Only.
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/airframes/4016_holybro_px4vision
|
||||
|
||||
set MIXER quad_x
|
||||
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Optical Flow)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# EKF2
|
||||
param set-default EKF2_AID_MASK 2
|
||||
param set-default EKF2_EVP_NOISE 0.05
|
||||
param set-default EKF2_EVA_NOISE 0.05
|
||||
|
||||
# LPE: Flow-only mode
|
||||
param set-default LPE_FUSION 242
|
||||
param set-default LPE_FAKE_ORIGIN 1
|
||||
|
||||
param set-default MPC_ALT_MODE 2
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (irlock)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# enable fusion of landing target velocity
|
||||
param set-default LTEST_MODE 1
|
||||
param set-default PLD_HACC_RAD 0.1
|
||||
|
||||
# Start up Landing Target Estimator module
|
||||
landing_target_estimator start
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (rplidar)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
param set-default LPE_FUSION 242
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Vision)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# EKF2: Vision position and heading
|
||||
param set-default EKF2_AID_MASK 24
|
||||
param set-default EKF2_EV_DELAY 5
|
||||
|
||||
# LPE: Vision + baro
|
||||
param set-default LPE_FUSION 132
|
||||
|
||||
# AEQ: External heading set to use vision input
|
||||
param set-default ATT_EXT_HDG_M 1
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Solo
|
||||
#
|
||||
# @type Quadrotor
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
param set-default MC_PITCHRATE_P 0.1
|
||||
param set-default MC_ROLLRATE_P 0.1
|
||||
|
||||
set MIXER quad_x
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Obstacle Avoidance)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
param set-default COM_OBS_AVOID 1
|
||||
param set-default MPC_XY_CRUISE 5.0
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
# shellcheck disable=SC2154
|
||||
mavlink start -x -u 14558 -r 4000000 -m onboard -o 14541 -p # add mavlink stream for SDK
|
||||
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (RTPS)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Optical Flow)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# EKF2
|
||||
param set-default EKF2_AID_MASK 2
|
||||
param set-default SENS_FLOW_ROT 0
|
||||
|
||||
# LPE: Flow-only mode
|
||||
param set-default LPE_FUSION 242
|
||||
param set-default LPE_FAKE_ORIGIN 1
|
||||
|
||||
param set-default MPC_ALT_MODE 2
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Vision Velocity)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# EKF2: Vision velocity and heading
|
||||
param set-default EKF2_AID_MASK 272
|
||||
param set-default EKF2_EV_DELAY 5
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name 3DR Iris Quadrotor SITL (Dual GPS)
|
||||
#
|
||||
# @type Quadrotor Wide
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/10016_iris
|
||||
|
||||
# EKF2: Multi GPS blending
|
||||
param set-default SENS_GPS_MASK 7
|
||||
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name UUV
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.uuv_defaults
|
||||
|
||||
#Set data link loss failsafe mode (0: disabled)
|
||||
param set-default NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set-default CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Hippocampus UUV
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.uuv_defaults
|
||||
|
||||
#Set data link loss failsafe mode (0: disabled)
|
||||
param set-default NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set-default CBRK_AIRSPD_CHK 162128
|
||||
|
||||
#param set CBRK_GPSFAIL 240024
|
||||
|
||||
set MAV_TYPE 12
|
||||
param set MAV_TYPE ${MAV_TYPE}
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name BlueROV2 Heavy Configuration
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.uuv_defaults
|
||||
|
||||
#Set data link loss failsafe mode (0: disabled)
|
||||
param set-default NAV_DLL_ACT 0
|
||||
|
||||
# disable circuit breaker for airspeed sensor
|
||||
param set-default CBRK_AIRSPD_CHK 162128
|
||||
|
||||
set PWM_OUT 12345678
|
||||
set MIXER_FILE etc/mixers-sitl/vectored6dof_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,54 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
param set-default EKF2_ARSP_THR 8
|
||||
param set-default EKF2_FUSE_BETA 1
|
||||
param set-default EKF2_MAG_ACCLIM 0
|
||||
param set-default EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set-default FW_LND_AIRSPD_SC 1
|
||||
param set-default FW_LND_ANG 8
|
||||
param set-default FW_THR_LND_MAX 0
|
||||
|
||||
param set-default FW_L1_PERIOD 12
|
||||
|
||||
param set-default FW_MAN_P_MAX 30
|
||||
|
||||
param set-default FW_PR_I 0.4
|
||||
param set-default FW_PR_P 0.9
|
||||
param set-default FW_PR_FF 0.2
|
||||
param set-default FW_PSP_OFF 2
|
||||
param set-default FW_P_LIM_MAX 32
|
||||
param set-default FW_P_LIM_MIN -15
|
||||
|
||||
param set-default FW_RR_FF 0.1
|
||||
param set-default FW_RR_P 0.3
|
||||
|
||||
param set-default FW_THR_MAX 0.6
|
||||
param set-default FW_THR_MIN 0.05
|
||||
param set-default FW_THR_CRUISE 0.25
|
||||
|
||||
param set-default FW_T_ALT_TC 2
|
||||
param set-default FW_T_CLMB_MAX 8
|
||||
param set-default FW_T_HRATE_FF 0.5
|
||||
param set-default FW_T_SINK_MAX 2.7
|
||||
param set-default FW_T_SINK_MIN 2.2
|
||||
param set-default FW_T_TAS_TC 2
|
||||
|
||||
param set-default FW_W_EN 1
|
||||
|
||||
param set-default MIS_LTRMIN_ALT 30
|
||||
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_LOITER_RAD 50
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with camera
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/1030_plane
|
||||
|
||||
# Camera trigger interface is MAVLink
|
||||
param set-default TRIG_INTERFACE 3
|
||||
|
||||
# Distance trigger mode enabled
|
||||
param set-default TRIG_MODE 4
|
||||
@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with catapult
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/1030_plane
|
||||
|
||||
param set-default RWTO_TKOFF 0
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL with downward facing LIDAR.
|
||||
#
|
||||
|
||||
. ${R}etc/init.d-posix/airframes/1030_plane
|
||||
|
||||
param set-default FW_LND_USETER 1
|
||||
|
||||
@ -1,59 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
param set-default EKF2_ARSP_THR 8
|
||||
param set-default EKF2_FUSE_BETA 1
|
||||
|
||||
param set-default FW_LND_AIRSPD_SC 1.1
|
||||
param set-default FW_LND_ANG 5
|
||||
param set-default FW_THR_LND_MAX 0
|
||||
param set-default FW_LND_HHDIST 30
|
||||
param set-default FW_LND_FL_PMIN 9.5
|
||||
param set-default FW_LND_FL_PMAX 20
|
||||
param set-default FW_LND_FLALT 5
|
||||
param set-default FW_LND_TLALT 15
|
||||
|
||||
param set-default FW_L1_PERIOD 25
|
||||
|
||||
param set-default FW_P_TC 0.4
|
||||
param set-default FW_PR_FF 0.40
|
||||
param set-default FW_PR_I 0.05
|
||||
param set-default FW_PR_P 0.05
|
||||
|
||||
param set-default FW_R_TC 0.45
|
||||
param set-default FW_RR_FF 0.40
|
||||
param set-default FW_RR_I 0.132
|
||||
param set-default FW_RR_P 0.085
|
||||
|
||||
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_DIST_1WP 2500
|
||||
param set-default MIS_DIST_WPS 10000
|
||||
|
||||
param set-default NAV_ACC_RAD 15
|
||||
param set-default NAV_DLL_ACT 2
|
||||
param set-default NAV_LOITER_RAD 50
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
|
||||
# fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
#param set FW_THR_SLEW_MAX 0.3
|
||||
|
||||
param set-default RWTO_MAX_PITCH 20
|
||||
param set-default RWTO_MAX_ROLL 10
|
||||
|
||||
# fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
#param set-default RWTO_MAX_THR 0.6
|
||||
|
||||
param set-default RWTO_PSP 8
|
||||
param set-default RWTO_AIRSPD_SCL 1.8
|
||||
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,58 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
param set-default EKF2_ARSP_THR 8
|
||||
param set-default EKF2_FUSE_BETA 1
|
||||
|
||||
param set-default FW_LND_AIRSPD_SC 1.1
|
||||
param set-default FW_LND_ANG 5
|
||||
param set-default FW_THR_LND_MAX 0
|
||||
param set-default FW_LND_HHDIST 30
|
||||
param set-default FW_LND_FL_PMIN 9.5
|
||||
param set-default FW_LND_FL_PMAX 20
|
||||
param set-default FW_LND_FLALT 5
|
||||
param set-default FW_LND_TLALT 15
|
||||
|
||||
param set-default FW_L1_PERIOD 25
|
||||
|
||||
param set-default FW_P_TC 0.4
|
||||
param set-default FW_PR_FF 0.40
|
||||
param set-default FW_PR_I 0.05
|
||||
param set-default FW_PR_P 0.05
|
||||
|
||||
param set-default FW_R_TC 0.45
|
||||
param set-default FW_RR_FF 0.40
|
||||
param set-default FW_RR_I 0.132
|
||||
param set-default FW_RR_P 0.085
|
||||
|
||||
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_DIST_1WP 2500
|
||||
param set-default MIS_DIST_WPS 10000
|
||||
|
||||
param set-default NAV_ACC_RAD 15
|
||||
param set-default NAV_DLL_ACT 2
|
||||
param set-default NAV_LOITER_RAD 50
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
|
||||
# fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
#param set FW_THR_SLEW_MAX 0.3
|
||||
|
||||
param set-default RWTO_MAX_PITCH 20
|
||||
param set-default RWTO_MAX_ROLL 10
|
||||
|
||||
# fix takeoff failure for JSBsim in autonomous mission mode.
|
||||
#param set RWTO_MAX_THR 0.6
|
||||
|
||||
param set-default RWTO_PSP 8
|
||||
param set-default RWTO_AIRSPD_SCL 1.8
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
@ -1,43 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# @name Plane SITL
|
||||
#
|
||||
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
param set-default EKF2_ARSP_THR 8
|
||||
param set-default EKF2_FUSE_BETA 1
|
||||
param set-default EKF2_MAG_ACCLIM 0
|
||||
param set-default EKF2_MAG_YAWLIM 0
|
||||
|
||||
param set-default FW_LND_AIRSPD_SC 1
|
||||
param set-default FW_LND_ANG 8
|
||||
param set-default FW_THR_LND_MAX 0
|
||||
|
||||
param set-default FW_L1_PERIOD 15
|
||||
|
||||
param set-default FW_P_TC 0.5
|
||||
param set-default FW_PR_FF 0.40
|
||||
param set-default FW_PR_I 0.05
|
||||
param set-default FW_PR_P 0.05
|
||||
|
||||
param set-default FW_R_TC 0.7
|
||||
param set-default FW_RR_FF 0.20
|
||||
param set-default FW_RR_I 0.02
|
||||
param set-default FW_RR_P 0.22
|
||||
|
||||
param set-default FW_L1_PERIOD 12
|
||||
|
||||
param set-default FW_W_EN 1
|
||||
|
||||
param set-default MIS_LTRMIN_ALT 30
|
||||
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_LOITER_RAD 50
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
|
||||
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
|
||||
set MIXER custom
|
||||
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