Compare commits

..

1 Commits

Author SHA1 Message Date
Daniel Agar d72d6ea28e WIP: in tree Dockerfile and github actions push to github registry 2021-05-06 15:08:03 -04:00
3885 changed files with 84677 additions and 321317 deletions
+31 -36
View File
@@ -9,10 +9,11 @@ pipeline {
script { script {
def build_nodes = [:] def build_nodes = [:]
def docker_images = [ def docker_images = [
armhf: "px4io/px4-dev-armhf:2021-09-08", armhf: "px4io/px4-dev-armhf:2021-04-29",
arm64: "px4io/px4-dev-aarch64:2021-09-08", arm64: "px4io/px4-dev-aarch64:2021-04-29",
base: "px4io/px4-dev-base-bionic:2021-09-08", base: "px4io/px4-dev-base-bionic:2021-04-29",
nuttx: "px4io/px4-dev-nuttx-focal:2021-09-08", nuttx: "px4io/px4-dev-nuttx-focal:2021-04-29",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
] ]
def armhf_builds = [ def armhf_builds = [
@@ -28,7 +29,7 @@ pipeline {
] ]
def base_builds = [ def base_builds = [
target: ["px4_sitl_default"], target: ["px4_sitl_rtps"],
image: docker_images.base, image: docker_images.base,
archive: false archive: false
] ]
@@ -38,11 +39,6 @@ pipeline {
"airmind_mindpx-v2_default", "airmind_mindpx-v2_default",
"ark_can-flow_canbootloader", "ark_can-flow_canbootloader",
"ark_can-flow_default", "ark_can-flow_default",
"ark_can-gps_canbootloader",
"ark_can-gps_default",
"ark_can-rtk-gps_canbootloader",
"ark_can-rtk-gps_default",
"atl_mantis-edu_default",
"av_x-v1_default", "av_x-v1_default",
"bitcraze_crazyflie_default", "bitcraze_crazyflie_default",
"bitcraze_crazyflie21_default", "bitcraze_crazyflie21_default",
@@ -52,31 +48,18 @@ pipeline {
"cuav_x7pro_default", "cuav_x7pro_default",
"cubepilot_cubeorange_default", "cubepilot_cubeorange_default",
"cubepilot_cubeyellow_default", "cubepilot_cubeyellow_default",
"diatone_mamba-f405-mk2_default",
"freefly_can-rtk-gps_canbootloader",
"freefly_can-rtk-gps_default",
"holybro_can-gps-v1_canbootloader", "holybro_can-gps-v1_canbootloader",
"holybro_can-gps-v1_default", "holybro_can-gps-v1_default",
"holybro_durandal-v1_default", "holybro_durandal-v1_default",
"holybro_kakutef7_default", "holybro_kakutef7_default",
"holybro_kakuteh7_default",
"holybro_pix32v5_default", "holybro_pix32v5_default",
"matek_gnss-m9n-f4_canbootloader",
"matek_gnss-m9n-f4_default",
"matek_h743-mini_default",
"matek_h743-slim_default",
"matek_h743_default",
"modalai_fc-v1_default", "modalai_fc-v1_default",
"modalai_fc-v1_rtps", "modalai_fc-v1_rtps",
"modalai_fc-v2_default",
"mro_ctrl-zero-f7_default", "mro_ctrl-zero-f7_default",
"mro_ctrl-zero-f7-oem_default", "mro_ctrl-zero-f7-oem_default",
"mro_ctrl-zero-h7-oem_default",
"mro_ctrl-zero-h7-oem_rtps",
"mro_ctrl-zero-h7_default", "mro_ctrl-zero-h7_default",
"mro_ctrl-zero-h7_rtps", "mro_ctrl-zero-h7-oem_default",
"mro_pixracerpro_default", "mro_pixracerpro_default",
"mro_pixracerpro_rtps",
"mro_x21-777_default", "mro_x21-777_default",
"mro_x21_default", "mro_x21_default",
"nxp_fmuk66-e_default", "nxp_fmuk66-e_default",
@@ -86,31 +69,33 @@ pipeline {
"nxp_fmuk66-v3_rtps", "nxp_fmuk66-v3_rtps",
"nxp_fmuk66-v3_socketcan", "nxp_fmuk66-v3_socketcan",
"nxp_fmurt1062-v1_default", "nxp_fmurt1062-v1_default",
"nxp_ucans32k146_canbootloader",
"nxp_ucans32k146_default", "nxp_ucans32k146_default",
"nxp_ucans32k146_canbootloader",
"omnibus_f4sd_default", "omnibus_f4sd_default",
"px4_fmu-v2_default", "px4_fmu-v2_default",
"px4_fmu-v2_fixedwing", "px4_fmu-v2_fixedwing",
"px4_fmu-v2_lto",
"px4_fmu-v2_multicopter", "px4_fmu-v2_multicopter",
"px4_fmu-v2_rover", "px4_fmu-v2_rover",
"px4_fmu-v3_default", "px4_fmu-v3_default",
"px4_fmu-v4_cannode",
"px4_fmu-v4_default", "px4_fmu-v4_default",
"px4_fmu-v4pro_default", "px4_fmu-v4pro_default",
"px4_fmu-v5_cyphal", "px4_fmu-v5_ctrlalloc",
"px4_fmu-v5_debug", "px4_fmu-v5_debug",
"px4_fmu-v5_default", "px4_fmu-v5_default",
"px4_fmu-v5_lto", "px4_fmu-v5_fixedwing",
"px4_fmu-v5_multicopter",
"px4_fmu-v5_optimized",
"px4_fmu-v5_rover",
"px4_fmu-v5_rtps", "px4_fmu-v5_rtps",
"px4_fmu-v5_stackcheck", "px4_fmu-v5_stackcheck",
"px4_fmu-v5_uavcanv0periph", "px4_fmu-v5_uavcanv0periph",
"px4_fmu-v5_uavcanv1",
"px4_fmu-v5x_base_phy_DP83848C",
"px4_fmu-v5x_default", "px4_fmu-v5x_default",
"px4_fmu-v6c_default",
"px4_fmu-v6u_default", "px4_fmu-v6u_default",
"px4_fmu-v6x_default", "px4_fmu-v6x_default",
"px4_io-v2_default", "px4_io-v2_default",
"raspberrypi_pico_default",
"sky-drones_smartap-airlink_default",
"spracing_h7extreme_default", "spracing_h7extreme_default",
"uvify_core_default" "uvify_core_default"
], ],
@@ -118,8 +103,14 @@ pipeline {
archive: true archive: true
] ]
def snapdragon_builds = [
target: ["atlflight_eagle_qurt", "atlflight_eagle_default"],
image: docker_images.snapdragon,
archive: false
]
def docker_builds = [ def docker_builds = [
armhf_builds, base_builds, nuttx_builds_archive armhf_builds, base_builds, nuttx_builds_archive//, snapdragon_builds
] ]
for (def build_type = 0; build_type < docker_builds.size(); build_type++) { for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
@@ -139,7 +130,7 @@ pipeline {
// TODO: actually upload artifacts to S3 // TODO: actually upload artifacts to S3
// stage('S3 Upload') { // stage('S3 Upload') {
// agent { // agent {
// docker { image 'px4io/px4-dev-base-focal:2021-09-08' } // docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
// } // }
// options { // options {
// skipDefaultCheckout() // skipDefaultCheckout()
@@ -164,14 +155,18 @@ pipeline {
} }
options { options {
buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14')) buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
timeout(time: 90, unit: 'MINUTES') timeout(time: 60, unit: 'MINUTES')
} }
} }
def createBuildNode(Boolean archive, String docker_image, String target) { def createBuildNode(Boolean archive, String docker_image, String target) {
return { return {
// TODO: fix the snapdragon image
bypass_entrypoint = '' bypass_entrypoint = ''
if (docker_image == 'lorenzmeier/px4-dev-snapdragon:2020-04-01') {
bypass_entrypoint = ' --entrypoint=""'
}
node { node {
docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') { docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') {
@@ -180,7 +175,7 @@ def createBuildNode(Boolean archive, String docker_image, String target) {
try { try {
sh('export') sh('export')
checkout(scm) checkout(scm)
sh('make distclean; git clean -ff -x -d .') sh('make distclean')
sh('git fetch --tags') sh('git fetch --tags')
sh('ccache -s') sh('ccache -s')
sh('make ' + target) sh('make ' + target)
@@ -197,7 +192,7 @@ def createBuildNode(Boolean archive, String docker_image, String target) {
throw (exc) throw (exc)
} }
finally { finally {
sh('make distclean; git clean -ff -x -d .') sh('make distclean')
} }
} }
} }
+698 -593
View File
File diff suppressed because it is too large Load Diff
+2 -12
View File
@@ -1,17 +1,11 @@
--- ---
Checks: '*, Checks: '*,
-*-avoid-c-arrays,
-*-uppercase-literal-suffix,
-*-magic-numbers,
-altera-id-dependent-backward-branch,
-altera-unroll-loops,
-android*, -android*,
-bugprone-integer-division, -bugprone-integer-division,
-cert-dcl50-cpp, -cert-dcl50-cpp,
-cert-env33-c, -cert-env33-c,
-cert-err34-c, -cert-err34-c,
-cert-err58-cpp, -cert-err58-cpp,
-cert-flp30-c,
-cert-msc30-c, -cert-msc30-c,
-cert-msc50-cpp, -cert-msc50-cpp,
-clang-analyzer-core.CallAndMessage, -clang-analyzer-core.CallAndMessage,
@@ -24,7 +18,6 @@ Checks: '*,
-clang-analyzer-deadcode.DeadStores, -clang-analyzer-deadcode.DeadStores,
-clang-analyzer-optin.cplusplus.VirtualCall, -clang-analyzer-optin.cplusplus.VirtualCall,
-clang-analyzer-optin.performance.Padding, -clang-analyzer-optin.performance.Padding,
-clang-analyzer-security.FloatLoopCounter,
-clang-analyzer-security.insecureAPI.strcpy, -clang-analyzer-security.insecureAPI.strcpy,
-clang-analyzer-unix.API, -clang-analyzer-unix.API,
-clang-analyzer-unix.cstring.BadSizeArg, -clang-analyzer-unix.cstring.BadSizeArg,
@@ -44,7 +37,8 @@ Checks: '*,
-cppcoreguidelines-pro-type-union-access, -cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions, -cppcoreguidelines-special-member-functions,
-fuchsia-*, -fuchsia-default-arguments,
-fuchsia-overloaded-operator,
-google-build-using-namespace, -google-build-using-namespace,
-google-explicit-constructor, -google-explicit-constructor,
-google-global-names-in-headers, -google-global-names-in-headers,
@@ -68,7 +62,6 @@ Checks: '*,
-hicpp-use-equals-delete, -hicpp-use-equals-delete,
-hicpp-use-override, -hicpp-use-override,
-hicpp-vararg, -hicpp-vararg,
-llvmlibc-*,
-llvm-header-guard, -llvm-header-guard,
-llvm-include-order, -llvm-include-order,
-llvm-namespace-comment, -llvm-namespace-comment,
@@ -81,7 +74,6 @@ Checks: '*,
-modernize-deprecated-headers, -modernize-deprecated-headers,
-modernize-loop-convert, -modernize-loop-convert,
-modernize-pass-by-value, -modernize-pass-by-value,
-modernize-raw-string-literal,
-modernize-return-braced-init-list, -modernize-return-braced-init-list,
-modernize-use-auto, -modernize-use-auto,
-modernize-use-bool-literals, -modernize-use-bool-literals,
@@ -89,9 +81,7 @@ Checks: '*,
-modernize-use-equals-default, -modernize-use-equals-default,
-modernize-use-equals-delete, -modernize-use-equals-delete,
-modernize-use-override, -modernize-use-override,
-modernize-use-trailing-return-type,
-modernize-use-using, -modernize-use-using,
-modernize-use-trailing-return-type,
-performance-inefficient-string-concatenation, -performance-inefficient-string-concatenation,
-readability-avoid-const-params-in-decls, -readability-avoid-const-params-in-decls,
-readability-container-size-empty, -readability-container-size-empty,
-7
View File
@@ -1,7 +0,0 @@
FROM gcr.io/oss-fuzz-base/base-builder:v1
COPY . $SRC/PX4-Autopilot
RUN apt-get install -y libjpeg8-dev zlib1g-dev
RUN pip3 install --upgrade pip
RUN python3 -m pip install -r $SRC/PX4-Autopilot/Tools/setup/requirements.txt
WORKDIR $SRC/PX4-Autopilot
COPY ./.clusterfuzzlite/build.sh $SRC/
-4
View File
@@ -1,4 +0,0 @@
#!/usr/bin/env bash -eu
PX4_FUZZ=1 make px4_sitl
cp build/px4_sitl_default/bin/px4 $OUT/px4
-1
View File
@@ -1 +0,0 @@
language: c++
+1 -1
View File
@@ -2,7 +2,7 @@
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp // https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
{ {
"name": "px4-dev-nuttx", "name": "px4-dev-nuttx",
"image": "px4io/px4-dev-nuttx-focal:2021-09-08", "image": "px4io/px4-dev-nuttx-focal:2021-04-29",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
+8 -10
View File
@@ -1,34 +1,32 @@
--- ---
name: 🐛 Bug report name: Bug report
about: Create a report to help us improve about: Create a report to help us improve
labels: bug-report
--- ---
## Describe the bug **Describe the bug**
A clear and concise description of the bug. A clear and concise description of the bug.
## To Reproduce **To Reproduce**
Steps to reproduce the behavior: Steps to reproduce the behavior:
1. Drone switched on '...' 1. Drone switched on '...'
2. Uploaded mission '....' (attach QGC mission file) 2. Uploaded mission '....' (attach QGC mission file)
3. Took off '....' 3. Took off '....'
4. See error 4. See error
## Expected behavior **Expected behavior**
A clear and concise description of what you expected to happen. A clear and concise description of what you expected to happen.
## Log Files and Screenshots **Log Files and Screenshots**
*Always* provide a link to the flight log file: *Always* provide a link to the flight log file:
- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/master/en/getting_started/flight_reporting.html)). - Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/master/en/getting_started/flight_reporting.html)).
- Upload the log to the [PX4 Flight Review](http://logs.px4.io/) - Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/).
- Share the link to the log (Copy and paste the URL of the log)
Add screenshots to help explain your problem. Add screenshots to help explain your problem.
## Drone (please complete the following information): **Drone (please complete the following information):**
- Describe the type of drone. - Describe the type of drone.
- Photo of the IMU / autopilot setup if possible. - Photo of the IMU / autopilot setup if possible.
## Additional context **Additional context**
Add any other context about the problem here. Add any other context about the problem here.
+5 -6
View File
@@ -1,20 +1,19 @@
--- ---
name: 🚀 Feature Request name: 🚀 Feature Request
about: Suggest an idea for this project about: Suggest an idea for this project
labels: feature-request
--- ---
For general questions please use [PX4 Discuss](http://discuss.px4.io/) or Slack (you can find an invite link on this project README). For general questions please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/).
## Describe problem solved by the proposed feature **Describe problem solved by the proposed feature**
A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ... A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...
## Describe your preferred solution **Describe your preferred solution**
A clear and concise description of what you want to happen. A clear and concise description of what you want to happen.
## Describe possible alternatives **Describe possible alternatives**
A clear and concise description of alternative solutions or features you've considered. A clear and concise description of alternative solutions or features you've considered.
## Additional context **Additional context**
Add any other context or screenshots for the feature request here. Add any other context or screenshots for the feature request here.
+3 -6
View File
@@ -1,13 +1,10 @@
--- ---
name: ⛔ Support Question name: ⛔ Support Question
about: See http://discuss.px4.io/ for questions about using PX4. about: See [PX4 Discuss](http://discuss.px4.io/) for questions about using PX4.
--- ---
## Attention! Please read the note below We use GitHub issues only to discuss PX4 bugs and new features. For
questions about using PX4 or related components, please use [PX4 Discuss](http://discuss.px4.io/).
We use GitHub issues only to discuss PX4 bugs and new features.
**For questions about using PX4 or related components, please use [PX4 Discuss](http://discuss.px4.io/).**
Thanks! Thanks!
@@ -1,11 +1,9 @@
--- ---
name: ⛔ Documentation Issue name: ⛔ Documentation Issue
about: See https://github.com/PX4/px4_user_guide for documentation issues about: See https://github.com/PX4/Devguide for documentation issues
--- ---
## Attention! Please read the note below PX4 has dedicated repositories for developer documentation (https://github.com/PX4/Devguide) and user documentation (https://github.com/PX4/px4_user_guide).
**Please submit the documentation issue to the [User Guide](https://github.com/PX4/px4_user_guide) repository.**
Thanks! Thanks!
-14
View File
@@ -1,14 +0,0 @@
**How this PR solves the problem**
Depending on how complex the PR is, something between a line and a few paragraphs with logs and videos.
**JIRA ID in title, and link here**
Add a link and the title of the JIRA for context
**Upstream/develop PR that this was backported from**
If applicable, link to PR and/or commit
**Critical bug that needs backporting?**
Yes/No, link to backport PR when applicable
**Additional context**
Add any other related context or media.
-24
View File
@@ -1,24 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="20">
<linearGradient id="smooth" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="round">
<rect width="90" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#round)">
<rect width="42" height="20" fill="#555"/>
<rect x="42" width="48" height="20" fill="#E01563"/>
<rect width="90" height="20" fill="url(#smooth)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="22" y="15" fill="#010101" fill-opacity=".3">slack</text>
<text x="22" y="14">slack</text>
<text x="65" y="15" fill="#010101" fill-opacity=".3">Join us!</text>
<text x="65" y="14">Join us!</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 894 B

+71
View File
@@ -0,0 +1,71 @@
name: Checks
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
check: [
"check_format",
"tests",
"tests_coverage",
"px4_fmu-v2_default stack_check",
"validate_module_configs",
"shellcheck_all",
"NO_NINJA_BUILD=1 px4_fmu-v5_default",
"NO_NINJA_BUILD=1 px4_sitl_default",
"airframe_metadata",
"module_documentation",
"parameters_metadata",
]
container:
image: ghcr.io/px4/px4-dev:2021-05-06
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
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: tests_${{matrix.ubuntu_release}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: tests_${{matrix.ubuntu_release}}-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: 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
+46
View File
@@ -0,0 +1,46 @@
name: Clang Tidy
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-clang:2021-04-29
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: clang-tidy-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: clang-tidy-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 clang-tidy-quiet
run: |
ccache -z
make clang-tidy-quiet
ccache -s
+53
View File
@@ -0,0 +1,53 @@
name: Linux Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2021-04-29
strategy:
matrix:
config: [
beaglebone_blue_default,
emlid_navio2_default,
px4_raspberrypi_default,
scumaker_pilotpi_default,
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: 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
+50
View File
@@ -0,0 +1,50 @@
name: Linux ARM64 Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:2021-04-29
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
+55
View File
@@ -0,0 +1,55 @@
name: MacOS build
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: macos-10.15
strategy:
matrix:
config: [
px4_fmu-v5_default,
px4_sitl
#tests, # includes px4_sitl
]
steps:
- uses: actions/checkout@v1
with:
token: ${{secrets.ACCESS_TOKEN}}
- name: setup
run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
- 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: macos_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: macos_${{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: |
ccache -z
make ${{matrix.config}}
ccache -s
+138
View File
@@ -0,0 +1,138 @@
name: Nuttx Targets
on:
push:
branches:
- 'master'
- 'github-actions'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
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_x7pro_default,
cubepilot_cubeorange_default,
cubepilot_cubeorange_test,
cubepilot_cubeyellow_default,
cubepilot_cubeyellow_test,
cubepilot_io-v2_default,
holybro_can-gps-v1_canbootloader,
holybro_can-gps-v1_debug,
holybro_can-gps-v1_default,
holybro_durandal-v1_default,
holybro_kakutef7_default,
holybro_pix32v5_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-v3_socketcan,
nxp_fmurt1062-v1_default,
nxp_ucans32k146_canbootloader,
nxp_ucans32k146_default,
omnibus_f4sd_default,
px4_fmu-v2_default,
px4_fmu-v2_fixedwing,
px4_fmu-v2_multicopter,
px4_fmu-v2_rover,
px4_fmu-v3_default,
px4_fmu-v4_cannode,
px4_fmu-v4_default,
px4_fmu-v4pro_default,
px4_fmu-v5_ctrlalloc,
px4_fmu-v5_debug,
px4_fmu-v5_default,
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-v6x_default,
px4_io-v2_default,
spracing_h7extreme_default,
uvify_core_default
]
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: make ${{matrix.config}} bloaty_compileunits
run: make ${{matrix.config}} bloaty_compileunits || true
- name: make ${{matrix.config}} bloaty_inlines
run: make ${{matrix.config}} bloaty_inlines || true
- name: make ${{matrix.config}} bloaty_segments
run: make ${{matrix.config}} bloaty_segments || true
- name: make ${{matrix.config}} bloaty_symbols
run: make ${{matrix.config}} bloaty_symbols || true
- name: make ${{matrix.config}} bloaty_templates
run: make ${{matrix.config}} bloaty_templates || true
- name: make ${{matrix.config}} bloaty_ram
run: make ${{matrix.config}} bloaty_ram || true
- name: make ${{matrix.config}} bloaty_compare_master
run: make ${{matrix.config}} bloaty_compare_master || true
- name: ccache post-run
run: ccache -s
- name: Upload px4 package
uses: actions/upload-artifact@v1
with:
name: px4_package_${{matrix.config}}
path: build/${{matrix.config}}/${{matrix.config}}.px4
@@ -0,0 +1,61 @@
name: NuttX UAVCAN firmware
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
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
+31
View File
@@ -0,0 +1,31 @@
name: Build and publish Docker image
on:
push:
branches:
- 'master'
- 'github-actions'
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64
push: true
tags: |
px4/px4-dev:latest
ghcr.io/px4/px4-dev:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
+77
View File
@@ -0,0 +1,77 @@
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-04-29
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 }}/'
+137
View File
@@ -0,0 +1,137 @@
name: MAVROS Mission Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
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: "tailsitter", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
#- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2021-04-29
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
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: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
./test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=${{matrix.config.mission}} vehicle:=${{matrix.config.vehicle}}
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: ecl EKF analysis
if: always()
run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
- name: Upload logs to flight review
if: always()
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2
with:
name: binary
path: build/px4_sitl_default/bin/px4
- name: Store PX4 log
if: failure()
uses: actions/upload-artifact@v2
with:
name: px4_log
path: ~/.ros/log/*/*.ulg
- name: Store ROS log
if: failure()
uses: actions/upload-artifact@v2
with:
name: ros_log
path: ~/.ros/**/rostest-*.log
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavros_mission
file: coverage/lcov.info
+132
View File
@@ -0,0 +1,132 @@
name: MAVROS Offboard Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config:
- {test_file: "mavros_posix_tests_offboard_posctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
#- {test_file: "mavros_posix_tests_offboard_attctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
#- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2021-04-29
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
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: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
ccache -z
make px4_sitl_default
make px4_sitl_default sitl_gazebo
ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
./test/rostest_px4_run.sh ${{matrix.config.test_file}} vehicle:=${{matrix.config.vehicle}}
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: ecl EKF analysis
if: always()
run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
- name: Upload logs to flight review
if: always()
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2
with:
name: binary
path: build/px4_sitl_default/bin/px4
- name: Store PX4 log
if: failure()
uses: actions/upload-artifact@v2
with:
name: px4_log
path: ~/.ros/log/*/*.ulg
- name: Store ROS log
if: failure()
uses: actions/upload-artifact@v2
with:
name: ros_log
path: ~/.ros/**/rostest-*.log
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavros_offboard
file: coverage/lcov.info
+119
View File
@@ -0,0 +1,119 @@
name: Metadata
on:
push:
branches:
- 'master'
- 'release/*'
- 'pr-metadata-test'
jobs:
airframe:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: airframe metadata
run: |
make airframe_metadata
cd build/px4_sitl_default/docs
ls -ls *
# TODO: deploy to userguide gitbook and s3
module:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: module documentation
run: |
make module_documentation
cd build/px4_sitl_default/docs
ls -ls *
# TODO: deploy to userguide gitbook and s3
parameter:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: parameter metadata
run: |
make parameters_metadata
./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read
env:
AWS_S3_BUCKET: 'px4-travis'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1'
SOURCE_DIR: 'build/px4_sitl_default/docs/'
DEST_DIR: 'Firmware/${{ env.version }}/_general/'
uorb_graph:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: uORB graph
run: |
make uorb_graphs
cd Tools/uorb_graph
ls -ls *
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
micrortps_agent:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
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: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: PX4 ROS msgs
run: |
git clone https://github.com/PX4/px4_msgs.git
python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
ROS2_bridge:
runs-on: ubuntu-latest
container: ghcr.io/px4/px4-dev:2021-05-06
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: PX4 ROS2 bridge
run: |
git clone https://github.com/PX4/px4_ros_com.git
./msg/tools/uorb_to_ros_rtps_ids.py -i msg/tools/uorb_rtps_message_ids.yaml -o px4_ros_com/templates/uorb_rtps_message_ids.yaml
+25
View File
@@ -0,0 +1,25 @@
name: Python CI Checks
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Install Python3
run: sudo apt-get install python3 python3-setuptools python3-pip -y
- name: Install tools
run: pip3 install --user mypy flake8
- name: Check MAVSDK test scripts with mypy
run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
- name: Check MAVSDK test scripts with flake8
run: $HOME/.local/bin/flake8 test/mavsdk_tests/*.py
+132
View File
@@ -0,0 +1,132 @@
name: SITL Tests
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
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
container:
image: px4io/px4-dev-simulation-focal:2021-04-29
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Download MAVSDK
run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
- name: Install MAVSDK
run: dpkg -i "mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
- 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: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
echo "max_size = 100M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
env:
PX4_HOME_LAT: ${{matrix.config.latitude}}
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: |
export
ulimit -a
- name: Build PX4
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: make px4_sitl_default
- name: ccache post-run px4/firmware
run: ccache -s
- name: Build SITL Gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: make px4_sitl_default sitl_gazebo
- name: ccache post-run sitl_gazebo
run: ccache -s
- name: Build MAVSDK tests
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
DONT_RUN: 1
run: make px4_sitl_default gazebo mavsdk_tests
- name: ccache post-run mavsdk_tests
run: ccache -s
- name: Core dump settings
run: |
ulimit -c unlimited
echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
- name: Run SITL tests
env:
PX4_HOME_LAT: ${{matrix.config.latitude}}
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json
- name: Look at core files
if: failure()
run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
- name: Upload px4 coredump
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: coredump
path: px4.core
- name: Upload px4 binary
if: failure()
uses: actions/upload-artifact@v2-preview
with:
name: binary
path: build/px4_sitl_default/bin/px4
# Report test coverage
- name: Upload coverage
if: contains(matrix.config.build_type, 'Coverage')
run: |
git config --global credential.helper "" # disable the keychain credential helper
git config --global --add credential.helper store # enable the local store credential helper
echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
mkdir -p coverage
lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
- name: Upload coverage information to Codecov
if: contains(matrix.config.build_type, 'Coverage')
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavsdk
file: coverage/lcov.info
+3 -1
View File
@@ -105,4 +105,6 @@ src/lib/version/build_git_version.h
src/modules/simulator/simulator_config.h src/modules/simulator/simulator_config.h
src/systemcmds/topic_listener/listener_generated.cpp src/systemcmds/topic_listener/listener_generated.cpp
!src/drivers/distance_sensor/broadcom/afbrs50/Lib/* # SITL
dataman
eeprom/
+39 -39
View File
@@ -1,19 +1,31 @@
[submodule "src/modules/mavlink/mavlink"] [submodule "mavlink/include/mavlink/v2.0"]
path = src/modules/mavlink/mavlink path = mavlink/include/mavlink/v2.0
url = https://github.com/Auterion/mavlink.git url = https://github.com/mavlink/c_library_v2.git
branch = master branch = master
[submodule "src/drivers/uavcan/libuavcan"] [submodule "src/drivers/uavcan/libuavcan"]
path = src/drivers/uavcan/libuavcan path = src/drivers/uavcan/libuavcan
url = https://github.com/dronecan/libuavcan.git url = https://github.com/PX4/libuavcan.git
branch = main branch = px4
[submodule "Tools/jMAVSim"] [submodule "Tools/jMAVSim"]
path = Tools/jMAVSim path = Tools/jMAVSim
url = https://github.com/PX4/jMAVSim.git url = https://github.com/PX4/jMAVSim.git
branch = master branch = master
[submodule "Tools/sitl_gazebo"] [submodule "Tools/sitl_gazebo"]
path = Tools/sitl_gazebo path = Tools/sitl_gazebo
url = git@github.com:Auterion/sitl_gazebo.git url = https://github.com/PX4/PX4-SITL_gazebo.git
branch = develop branch = master
[submodule "src/lib/matrix"]
path = src/lib/matrix
url = https://github.com/PX4/PX4-Matrix.git
branch = master
[submodule "src/lib/ecl"]
path = src/lib/ecl
url = https://github.com/PX4/PX4-ECL.git
branch = master
[submodule "boards/atlflight/cmake_hexagon"]
path = boards/atlflight/cmake_hexagon
url = https://github.com/PX4/cmake_hexagon.git
branch = px4
[submodule "src/drivers/gps/devices"] [submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices path = src/drivers/gps/devices
url = https://github.com/PX4/PX4-GPSDrivers.git url = https://github.com/PX4/PX4-GPSDrivers.git
@@ -25,45 +37,33 @@
[submodule "platforms/nuttx/NuttX/nuttx"] [submodule "platforms/nuttx/NuttX/nuttx"]
path = platforms/nuttx/NuttX/nuttx path = platforms/nuttx/NuttX/nuttx
url = https://github.com/PX4/NuttX.git url = https://github.com/PX4/NuttX.git
branch = px4_firmware_nuttx-10.1.0+ branch = px4_firmware_nuttx-10.0.0+
[submodule "platforms/nuttx/NuttX/apps"] [submodule "platforms/nuttx/NuttX/apps"]
path = platforms/nuttx/NuttX/apps path = platforms/nuttx/NuttX/apps
url = https://github.com/PX4/NuttX-apps.git url = https://github.com/PX4/NuttX-apps.git
branch = px4_firmware_nuttx-10.1.0+ branch = px4_firmware_nuttx-10.0.0+
[submodule "platforms/qurt/dspal"]
path = platforms/qurt/dspal
url = https://github.com/ATLFlight/dspal.git
[submodule "Tools/flightgear_bridge"] [submodule "Tools/flightgear_bridge"]
path = Tools/flightgear_bridge path = Tools/flightgear_bridge
url = https://github.com/PX4/PX4-FlightGear-Bridge.git url = https://github.com/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jsbsim_bridge"] [submodule "Tools/jsbsim_bridge"]
path = Tools/jsbsim_bridge path = Tools/jsbsim_bridge
url = https://github.com/PX4/px4-jsbsim-bridge.git url = https://github.com/PX4/px4-jsbsim-bridge.git
[submodule "src/drivers/cyphal/libcanard"] [submodule "src/drivers/uavcan_v1/libcanard"]
path = src/drivers/cyphal/libcanard path = src/drivers/uavcan_v1/libcanard
url = https://github.com/opencyphal/libcanard.git url = https://github.com/UAVCAN/libcanard.git
[submodule "src/drivers/cyphal/public_regulated_data_types"] [submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
path = src/drivers/cyphal/public_regulated_data_types path = src/drivers/uavcan_v1/public_regulated_data_types
url = https://github.com/opencyphal/public_regulated_data_types.git url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/cyphal/legacy_data_types"] [submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
path = src/drivers/cyphal/legacy_data_types path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
url = https://github.com/PX4/public_regulated_data_types.git url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
path = src/drivers/uavcannode_gps_demo/libcanard
url = https://github.com/UAVCAN/libcanard.git
[submodule "src/drivers/uavcan_v1/legacy_data_types"]
path = src/drivers/uavcan_v1/legacy_data_types
url = https://github.com/px4/public_regulated_data_types/
branch = legacy branch = legacy
[submodule "src/lib/crypto/monocypher"]
path = src/lib/crypto/monocypher
url = https://github.com/PX4/Monocypher.git
branch = px4
[submodule "src/lib/events/libevents"]
path = src/lib/events/libevents
url = https://github.com/mavlink/libevents.git
[submodule "Tools/simulation-ignition"]
path = Tools/simulation-ignition
url = https://github.com/PX4/px4-simulation-ignition.git
[submodule "src/lib/crypto/libtomcrypt"]
path = src/lib/crypto/libtomcrypt
url = https://github.com/PX4/libtomcrypt.git
branch = px4
[submodule "src/lib/crypto/libtommath"]
path = src/lib/crypto/libtommath
url = https://github.com/PX4/libtommath.git
branch = px4
[submodule "src/modules/microdds_client/Micro-XRCE-DDS-Client"]
path = src/modules/microdds_client/Micro-XRCE-DDS-Client
url = https://github.com/eProsima/Micro-XRCE-DDS-Client.git
-2
View File
@@ -9,5 +9,3 @@ launch.json
ipch/ ipch/
browse.vc.db* browse.vc.db*
*.log
-105
View File
@@ -6,21 +6,6 @@ CONFIG:
buildType: RelWithDebInfo buildType: RelWithDebInfo
settings: settings:
CONFIG: px4_sitl_default CONFIG: px4_sitl_default
px4_sitl_rtps:
short: px4_sitl_rtps
buildType: RelWithDebInfo
settings:
CONFIG: px4_sitl_rtps
px4_sitl_asan:
short: px4_sitl (AddressSanitizer)
buildType: AddressSanitizer
settings:
CONFIG: px4_sitl_default
px4_sitl_ubsan:
short: px4_sitl (UndefinedBehaviorSanitizer)
buildType: UndefinedBehaviorSanitizer
settings:
CONFIG: px4_sitl_default
px4_sitl_replay: px4_sitl_replay:
short: px4_sitl_replay short: px4_sitl_replay
buildType: RelWithDebInfo buildType: RelWithDebInfo
@@ -61,26 +46,11 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: px4_fmu-v5_default CONFIG: px4_fmu-v5_default
px4_fmu-v5_debug:
short: px4_fmu-v5_debug
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v5_debug
px4_fmu-v5x_default: px4_fmu-v5x_default:
short: px4_fmu-v5x short: px4_fmu-v5x
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: px4_fmu-v5x_default CONFIG: px4_fmu-v5x_default
px4_fmu-v6x_default:
short: px4_fmu-v6x
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6x_default
px4_fmu-v6x_bootloader:
short: px4_fmu-v6x_bootloader
buildType: MinSizeRel
settings:
CONFIG: px4_fmu-v6x_bootloader
airmind_mindpx-v2_default: airmind_mindpx-v2_default:
short: airmind_mindpx-v2 short: airmind_mindpx-v2
buildType: MinSizeRel buildType: MinSizeRel
@@ -96,46 +66,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: ark_can-flow_canbootloader CONFIG: ark_can-flow_canbootloader
ark_can-gps_default:
short: ark_can-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-gps_default
ark_can-gps_canbootloader:
short: ark_can-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_can-gps_canbootloader
ark_can-rtk-gps_default:
short: ark_can-rtk-gps_default
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_default
ark_can-rtk-gps_debug:
short: ark_can-rtk-gps_debug
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_debug
ark_can-rtk-gps_canbootloader:
short: ark_can-rtk-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_can-rtk-gps_canbootloader
ark_cannode_default:
short: ark_cannode_default
buildType: MinSizeRel
settings:
CONFIG: ark_cannode_default
ark_cannode_canbootloader:
short: ark_cannode_canbootloader
buildType: MinSizeRel
settings:
CONFIG: ark_cannode_canbootloader
atl_mantis-edu_default:
short: atl_mantis-edu
buildType: MinSizeRel
settings:
CONFIG: atl_mantis-edu_default
av_x-v1_default: av_x-v1_default:
short: av_x-v1 short: av_x-v1
buildType: MinSizeRel buildType: MinSizeRel
@@ -176,16 +106,6 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: emlid_navio2_default CONFIG: emlid_navio2_default
freefly_can-rtk-gps_default:
short: freefly_can-rtk-gps_default
buildType: MinSizeRel
settings:
CONFIG: freefly_can-rtk-gps_default
freefly_can-rtk-gps_canbootloader:
short: freefly_can-rtk-gps_canbootloader
buildType: MinSizeRel
settings:
CONFIG: freefly_can-rtk-gps_canbootloader
holybro_can-gps-v1_canbootloader: holybro_can-gps-v1_canbootloader:
short: holybro_can-gps-v1_canbootloader short: holybro_can-gps-v1_canbootloader
buildType: MinSizeRel buildType: MinSizeRel
@@ -201,31 +121,11 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: holybro_durandal-v1_default CONFIG: holybro_durandal-v1_default
matek_h743-slim_default:
short: matek_h743-slim
buildType: MinSizeRel
settings:
CONFIG: matek_h743-slim_default
matek_gnss-m9n-f4_canbootloader:
short: matek_gnss-m9n-f4_canbootloader
buildType: MiniSizeRel
settings:
CONFIG: matek_m9nf4can_canbootloader
matek_gnss-m9n-f4_default:
short: matek_gnss-m9n-f4_default
buildType: MiniSizeRel
settings:
CONFIG: matek_gnss-m9n-f4_default
modalai_fc-v1_default: modalai_fc-v1_default:
short: modalai_fc-v1 short: modalai_fc-v1
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: modalai_fc-v1_default CONFIG: modalai_fc-v1_default
modalai_fc-v2_default:
short: modalai_fc-v2
buildType: MinSizeRel
settings:
CONFIG: modalai_fc-v2_default
mro_ctrl-zero-f7_default: mro_ctrl-zero-f7_default:
short: mro_ctrl-zero-f7 short: mro_ctrl-zero-f7
buildType: MinSizeRel buildType: MinSizeRel
@@ -251,8 +151,3 @@ CONFIG:
buildType: MinSizeRel buildType: MinSizeRel
settings: settings:
CONFIG: nxp_fmuk66-v3_default CONFIG: nxp_fmuk66-v3_default
raspberrypi_pico_default:
short: raspberrypi_pico
buildType: MinSizeRel
settings:
CONFIG: raspberrypi_pico_default
+5 -2
View File
@@ -14,6 +14,7 @@
"C_Cpp.workspaceParsingPriority": "low", "C_Cpp.workspaceParsingPriority": "low",
"cmake.buildBeforeRun": true, "cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}", "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.buildTask": true,
"cmake.configureOnOpen": true, "cmake.configureOnOpen": true,
"cmake.ctest.parallelJobs": 1, "cmake.ctest.parallelJobs": 1,
"cmake.skipConfigureIfCachePresent": true, "cmake.skipConfigureIfCachePresent": true,
@@ -30,6 +31,7 @@
"esc" "esc"
], ],
"debug.toolBarLocation": "docked", "debug.toolBarLocation": "docked",
"editor.acceptSuggestionOnEnter": "off",
"editor.defaultFormatter": "chiehyu.vscode-astyle", "editor.defaultFormatter": "chiehyu.vscode-astyle",
"editor.dragAndDrop": false, "editor.dragAndDrop": false,
"editor.insertSpaces": false, "editor.insertSpaces": false,
@@ -126,6 +128,8 @@
}, },
"search.showLineNumbers": true, "search.showLineNumbers": true,
"telemetry.enableTelemetry": false, "telemetry.enableTelemetry": false,
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.rightClickBehavior": "paste",
"terminal.integrated.scrollback": 5000, "terminal.integrated.scrollback": 5000,
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}", "window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
"workbench.editor.highlightModifiedTabs": true, "workbench.editor.highlightModifiedTabs": true,
@@ -133,6 +137,5 @@
"workbench.settings.enableNaturalLanguageSearch": false, "workbench.settings.enableNaturalLanguageSearch": false,
"yaml.schemas": { "yaml.schemas": {
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml" "${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
}, }
"cortex-debug.openocdPath": "${env:PICO_SDK_PATH}/../openocd/src/openocd" // Added for rp2040
} }
+28 -78
View File
@@ -40,7 +40,7 @@
# * Common functions should be included in px_base.cmake. # * Common functions should be included in px_base.cmake.
# #
# * OS/ board specific fucntions should be include in # * OS/ board specific fucntions should be include in
# px_impl_${PX4_PLATFORM}.cmake # px_impl_${PX4_PLATFORM}.cmake or px4_impl_${PX4_PLATFORM}_${PX4_BOARD}.cmake.
# #
# Formatting # Formatting
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
@@ -99,10 +99,10 @@
# #
#============================================================================= #=============================================================================
cmake_minimum_required(VERSION 3.9 FATAL_ERROR) cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE FILEPATH "PX4 source directory" FORCE) set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE FILEPATH "PX4 binary directory" FORCE) set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake) list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake)
include(px4_parse_function_args) include(px4_parse_function_args)
@@ -125,19 +125,10 @@ define_property(GLOBAL PROPERTY PX4_MODULE_LIBRARIES
FULL_DOCS "List of all PX4 module libraries" FULL_DOCS "List of all PX4 module libraries"
) )
define_property(GLOBAL PROPERTY PX4_KERNEL_MODULE_LIBRARIES
BRIEF_DOCS "PX4 kernel side module libs"
FULL_DOCS "List of all PX4 kernel module libraries"
)
define_property(GLOBAL PROPERTY PX4_MODULE_PATHS define_property(GLOBAL PROPERTY PX4_MODULE_PATHS
BRIEF_DOCS "PX4 module paths" BRIEF_DOCS "PX4 module paths"
FULL_DOCS "List of paths to all PX4 modules" FULL_DOCS "List of paths to all PX4 modules"
) )
define_property(GLOBAL PROPERTY PX4_SRC_FILES
BRIEF_DOCS "src files from all PX4 modules & libs"
FULL_DOCS "SRC files from px4_add_{module,library}"
)
#============================================================================= #=============================================================================
# configuration # configuration
@@ -147,41 +138,13 @@ set(CONFIG "px4_sitl_default" CACHE STRING "desired configuration")
include(px4_add_module) include(px4_add_module)
set(config_module_list) set(config_module_list)
set(config_kernel_list)
# Find Python
# If using catkin, Python 2 is found since it points
# to the Python libs installed with the ROS distro
if (NOT CATKIN_DEVEL_PREFIX)
find_package(PythonInterp 3)
# We have a custom error message to tell users how to install python3.
if (NOT PYTHONINTERP_FOUND)
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
" macOS: brew install python")
endif()
else()
find_package(PythonInterp REQUIRED)
endif()
option(PYTHON_COVERAGE "Python code coverage" OFF)
if(PYTHON_COVERAGE)
message(STATUS "python coverage enabled")
set(PYTHON_EXECUTABLE coverage run -p)
endif()
include(px4_config) include(px4_config)
include(kconfig) include(px4_add_board)
include(${PX4_CONFIG_FILE})
message(STATUS "PX4 config: ${PX4_CONFIG}") message(STATUS "PX4 config: ${PX4_CONFIG}")
message(STATUS "PX4 platform: ${PX4_PLATFORM}") message(STATUS "PX4 platform: ${PX4_PLATFORM}")
if($ENV{CLION_IDE})
# CLion automatically executes some compiler commands after configuring the
# project. This would fail on NuttX, as visibility.h tries to (indirectly)
# include nuttx/config.h, which at that point does not exist yet
add_definitions(-DPX4_DISABLE_GCC_POISON)
endif()
if(${PX4_PLATFORM} STREQUAL "posix") if(${PX4_PLATFORM} STREQUAL "posix")
if(ENABLE_LOCKSTEP_SCHEDULER) if(ENABLE_LOCKSTEP_SCHEDULER)
add_definitions(-DENABLE_LOCKSTEP_SCHEDULER) add_definitions(-DENABLE_LOCKSTEP_SCHEDULER)
@@ -191,18 +154,6 @@ if(${PX4_PLATFORM} STREQUAL "posix")
endif() endif()
endif() endif()
option(PX4_RESTRICTED_BUILD "Enable restricted build (limit param access)" OFF)
if(PX4_RESTRICTED_BUILD)
add_definitions(-DPX4_RESTRICTED_BUILD)
message(STATUS "Enabling restricted build")
endif()
if(PX4_EXPORT_CONTROLLED_BUILD)
add_definitions(-DPX4_EXPORT_CONTROLLED_BUILD)
message(STATUS "Enabling export controlled build (with flight time and wind restrictions)")
endif()
# external modules # external modules
set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location") set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location")
@@ -252,14 +203,6 @@ message(STATUS "cmake build type: ${CMAKE_BUILD_TYPE}")
# #
project(px4 CXX C ASM) project(px4 CXX C ASM)
# Check if LTO option and check if toolchain supports it
if(LTO)
include(CheckIPOSupported)
check_ipo_supported()
message(AUTHOR_WARNING "LTO enabled: LTO is highly experimental and should not be used in production")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
set(package-contact "px4users@googlegroups.com") set(package-contact "px4users@googlegroups.com")
set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD 14)
@@ -336,6 +279,27 @@ if (CATKIN_DEVEL_PREFIX)
endif() endif()
endif() endif()
# Python
# If using catkin, Python 2 is found since it points
# to the Python libs installed with the ROS distro
if (NOT CATKIN_DEVEL_PREFIX)
find_package(PythonInterp 3)
# We have a custom error message to tell users how to install python3.
if (NOT PYTHONINTERP_FOUND)
message(FATAL_ERROR "Python 3 not found. Please install Python 3:\n"
" Ubuntu: sudo apt install python3 python3-dev python3-pip\n"
" macOS: brew install python")
endif()
else()
find_package(PythonInterp REQUIRED)
endif()
option(PYTHON_COVERAGE "Python code coverage" OFF)
if(PYTHON_COVERAGE)
message(STATUS "python coverage enabled")
set(PYTHON_EXECUTABLE coverage run -p)
endif()
#============================================================================= #=============================================================================
# get chip and chip manufacturer # get chip and chip manufacturer
# #
@@ -438,7 +402,6 @@ endif()
# subdirectories # subdirectories
# #
add_library(parameters_interface INTERFACE) add_library(parameters_interface INTERFACE)
add_library(kernel_parameters_interface INTERFACE)
include(px4_add_library) include(px4_add_library)
add_subdirectory(src/lib EXCLUDE_FROM_ALL) add_subdirectory(src/lib EXCLUDE_FROM_ALL)
@@ -454,20 +417,9 @@ foreach(module ${config_module_list})
add_subdirectory(src/${module}) add_subdirectory(src/${module})
endforeach() endforeach()
# add events lib after modules and libs as it needs to know all source files (PX4_SRC_FILES)
add_subdirectory(src/lib/events EXCLUDE_FROM_ALL)
# metadata needs PX4_MODULE_CONFIG_FILES
add_subdirectory(src/lib/metadata EXCLUDE_FROM_ALL)
# must be the last module before firmware # must be the last module before firmware
add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL) add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL)
if(${PX4_PLATFORM} STREQUAL "nuttx" AND NOT CONFIG_BUILD_FLAT)
target_link_libraries(parameters_interface INTERFACE usr_parameters)
target_link_libraries(kernel_parameters_interface INTERFACE parameters)
else()
target_link_libraries(parameters_interface INTERFACE parameters) target_link_libraries(parameters_interface INTERFACE parameters)
endif()
# firmware added last to generate the builtin for included modules # firmware added last to generate the builtin for included modules
add_subdirectory(platforms/${PX4_PLATFORM}) add_subdirectory(platforms/${PX4_PLATFORM})
@@ -484,10 +436,8 @@ endforeach()
add_custom_command(OUTPUT ${uorb_graph_config} add_custom_command(OUTPUT ${uorb_graph_config}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/uorb_graph/create.py COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/uorb_graph/create.py
${graph_module_list} --src-path src/lib ${graph_module_list}
--merge-depends
--exclude-path src/examples --exclude-path src/examples
--exclude-path src/lib/parameters # FIXME: enable & fix
--file ${PX4_SOURCE_DIR}/Tools/uorb_graph/graph_${uorb_graph_config} --file ${PX4_SOURCE_DIR}/Tools/uorb_graph/graph_${uorb_graph_config}
WORKING_DIRECTORY ${PX4_SOURCE_DIR} WORKING_DIRECTORY ${PX4_SOURCE_DIR}
COMMENT "Generating uORB graph" COMMENT "Generating uORB graph"
+29
View File
@@ -0,0 +1,29 @@
#
# PX4 development environment
#
FROM ubuntu:20.04
LABEL maintainer="Daniel Agar <daniel@agar.ca>"
COPY Tools/setup/ubuntu.sh /tmp/ubuntu.sh
COPY Tools/setup/requirements.txt /tmp/requirements.txt
RUN DEBIAN_FRONTEND=noninteractive /tmp/ubuntu.sh --no-sim-tools \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
# create user with id 1001 (jenkins docker workflow default)
RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user
ENV CCACHE_UMASK=000
ENV PATH="/usr/lib/ccache:$PATH"
# SITL UDP PORTS
EXPOSE 14556/udp
EXPOSE 14557/udp
# create and start as LOCAL_USER_ID
COPY Tools/setup/entrypoint.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["/bin/bash"]
Vendored
+28 -50
View File
@@ -15,7 +15,7 @@ pipeline {
// stage('Catkin build on ROS workspace') { // stage('Catkin build on ROS workspace') {
// agent { // agent {
// docker { // docker {
// image 'px4io/px4-dev-ros-melodic:2021-08-18' // image 'px4io/px4-dev-ros-melodic:2021-04-29'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE' // args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// } // }
// } // }
@@ -56,7 +56,7 @@ pipeline {
stage('Colcon build on ROS2 workspace') { stage('Colcon build on ROS2 workspace') {
agent { agent {
docker { docker {
image 'px4io/px4-dev-ros2-foxy:2021-08-18' image 'px4io/px4-dev-ros2-foxy:2021-04-29'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE' args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
} }
} }
@@ -85,10 +85,10 @@ pipeline {
stage('Airframe') { stage('Airframe') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
sh 'git fetch --all --tags' sh 'git fetch --all --tags'
sh 'make airframe_metadata' sh 'make airframe_metadata'
dir('build/px4_sitl_default/docs') { dir('build/px4_sitl_default/docs') {
@@ -98,17 +98,17 @@ pipeline {
} }
post { post {
always { always {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
} }
} }
} }
stage('Parameter') { stage('Parameter') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
sh 'git fetch --all --tags' sh 'git fetch --all --tags'
sh 'make parameters_metadata' sh 'make parameters_metadata'
dir('build/px4_sitl_default/docs') { dir('build/px4_sitl_default/docs') {
@@ -118,17 +118,17 @@ pipeline {
} }
post { post {
always { always {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
} }
} }
} }
stage('Module') { stage('Module') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
sh 'git fetch --all --tags' sh 'git fetch --all --tags'
sh 'make module_documentation' sh 'make module_documentation'
dir('build/px4_sitl_default/docs') { dir('build/px4_sitl_default/docs') {
@@ -138,25 +138,7 @@ pipeline {
} }
post { post {
always { always {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
}
}
}
stage('msg file docs') {
agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' }
}
steps {
sh 'mkdir -p build/msg_docs; ./msg/tools/generate_msg_docs.py -d build/msg_docs'
dir('build') {
archiveArtifacts(artifacts: 'msg_docs/*.md')
stash includes: 'msg_docs/*.md', name: 'msg_documentation'
}
}
post {
always {
sh 'make distclean; git clean -ff -x -d .'
} }
} }
} }
@@ -164,23 +146,23 @@ pipeline {
stage('uORB graphs') { stage('uORB graphs') {
agent { agent {
docker { docker {
image 'px4io/px4-dev-nuttx-focal:2021-08-18' image 'px4io/px4-dev-nuttx-focal:2021-04-29'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
} }
} }
steps { steps {
sh 'export' sh 'export'
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
sh 'git fetch --all --tags' sh 'git fetch --all --tags'
sh 'make uorb_graphs' sh 'make uorb_graphs'
dir('Tools/uorb_graph') { dir('Tools/uorb_graph') {
archiveArtifacts(artifacts: 'graph_*.json') archiveArtifacts(artifacts: 'graph_px4_sitl.json')
stash includes: 'graph_*.json', name: 'uorb_graph' stash includes: 'graph_px4_sitl.json', name: 'uorb_graph'
} }
} }
post { post {
always { always {
sh 'make distclean; git clean -ff -x -d .' sh 'make distclean'
} }
} }
} }
@@ -194,22 +176,18 @@ pipeline {
stage('Userguide') { stage('Userguide') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
unstash 'metadata_airframes' unstash 'metadata_airframes'
unstash 'metadata_parameters' unstash 'metadata_parameters'
unstash 'metadata_module_documentation' unstash 'metadata_module_documentation'
unstash 'msg_documentation'
unstash 'uorb_graph'
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) { 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('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 airframes.md px4_user_guide/en/airframes/airframe_reference.md')
sh('cp parameters.md px4_user_guide/en/advanced_config/parameter_reference.md') sh('cp parameters.md px4_user_guide/en/advanced_config/parameter_reference.md')
sh('cp -R modules/*.md px4_user_guide/en/modules/') sh('cp -R modules/*.md px4_user_guide/en/modules/')
sh('cp -R graph_*.json px4_user_guide/.vuepress/public/en/middleware/')
sh('cp -R msg_docs/*.md px4_user_guide/en/msg_docs/')
sh('cd px4_user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true') sh('cd px4_user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
sh('cd px4_user_guide; git push origin master || true') sh('cd px4_user_guide; git push origin master || true')
sh('rm -rf px4_user_guide') sh('rm -rf px4_user_guide')
@@ -228,7 +206,7 @@ pipeline {
stage('QGroundControl') { stage('QGroundControl') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
@@ -256,12 +234,12 @@ pipeline {
stage('microRTPS agent') { stage('microRTPS agent') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
sh('git fetch --all --tags') sh('git fetch --all --tags')
sh('make distclean; git clean -ff -x -d .') sh('make distclean')
sh('make px4_sitl_rtps') sh('make px4_sitl_rtps')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) { 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("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
@@ -286,11 +264,11 @@ pipeline {
stage('PX4 ROS msgs') { stage('PX4 ROS msgs') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
sh('make distclean; git clean -ff -x -d .') sh('make distclean')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) { 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") sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
// 'master' branch // 'master' branch
@@ -315,15 +293,15 @@ pipeline {
stage('PX4 ROS2 bridge') { stage('PX4 ROS2 bridge') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
sh('make distclean; git clean -ff -x -d .') sh('make distclean')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) { 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_ros_com.git -b ${BRANCH_NAME}") sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_ros_com.git -b ${BRANCH_NAME}")
// deploy uORB RTPS ID map // deploy uORB RTPS ID map
sh('./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml') sh('./msg/tools/uorb_to_ros_rtps_ids.py -i msg/tools/uorb_rtps_message_ids.yaml -o px4_ros_com/templates/uorb_rtps_message_ids.yaml')
sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS ID map `date`" || true') sh('cd px4_ros_com; git status; git add .; git commit -a -m "Update uORB RTPS ID map `date`" || true')
sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true') sh('cd px4_ros_com; git push origin ${BRANCH_NAME} || true')
// deploy uORB RTPS required tools // deploy uORB RTPS required tools
@@ -358,7 +336,7 @@ pipeline {
stage('S3') { stage('S3') {
agent { agent {
docker { image 'px4io/px4-dev-base-focal:2021-08-18' } docker { image 'ghcr.io/px4/px4-dev:2021-05-06' }
} }
steps { steps {
sh('export') sh('export')
@@ -396,7 +374,7 @@ pipeline {
GIT_COMMITTER_NAME = "PX4BuildBot" GIT_COMMITTER_NAME = "PX4BuildBot"
} }
options { options {
buildDiscarder(logRotator(numToKeepStr: '20', artifactDaysToKeepStr: '30')) buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
timeout(time: 90, unit: 'MINUTES') timeout(time: 60, unit: 'MINUTES')
} }
} }
-192
View File
@@ -1,192 +0,0 @@
# PX4 Firmware Configuration
mainmenu "PX4 Firmware Configuration"
comment "Vendor: $(VENDOR)"
comment "Model: $(MODEL)"
comment "Label: $(LABEL)"
menu "Toolchain"
choice
prompt "Platform"
default PLATFORM_NUTTX
config PLATFORM_NUTTX
bool "nuttx"
config PLATFORM_POSIX
bool "posix"
config PLATFORM_QURT
bool "qurt"
endchoice
config BOARD_PLATFORM
string
default "nuttx" if PLATFORM_NUTTX
default "posix" if PLATFORM_POSIX
default "qurt" if PLATFORM_QURT
config BOARD_LOCKSTEP
bool "Force enable lockstep"
depends on PLATFORM_POSIX
help
forces lockstep behaviour, despite REPLAY env variable
config BOARD_NOLOCKSTEP
bool "Force disable lockstep"
depends on PLATFORM_POSIX
help
forces nolockstep behaviour, despite REPLAY env variable
config BOARD_LINUX
bool "Linux OS"
depends on PLATFORM_POSIX
help
Board Platform is running the Linux operating system
config BOARD_TOOLCHAIN
string "Toolchain"
default ""
config BOARD_ARCHITECTURE
string "Architecture"
default ""
config BOARD_LTO
bool "(EXPERIMENTAL) Link Time Optimization (LTO)"
default n
help
Enables LTO flag in linker
Note: Highly EXPERIMENTAL, furthermore make sure you're using a modern compiler GCC 9 or later
config BOARD_FULL_OPTIMIZATION
bool "Full optmization (O3)"
default n
help
Enables Cmake Release for -O3 optimization
config BOARD_ROMFSROOT
string "ROMFSROOT"
default "px4fmu_common"
help
relative path to the ROMFS root directory
config BOARD_IO
string "IO board name"
default "px4_io-v2_default"
depends on DRIVERS_PX4IO
help
name of IO board to be built and included in the ROMFS (requires a valid ROMFSROOT)
config BOARD_CONSTRAINED_FLASH
bool "Contrained flash"
help
flag to enable constrained flash options (eg limit init script status text)
config BOARD_NO_HELP
bool "No help"
help
optional condition flag to disable help text on constrained flash systems
config BOARD_CONSTRAINED_MEMORY
bool "Contrained memory"
help
flag to enable constrained memory options (eg limit maximum number of uORB publications)
config BOARD_EXTERNAL_METADATA
bool "External metadata"
help
flag to exclude metadata to reduce flash
config BOARD_LINKER_PREFIX
string "linker prefix"
help
optional to prefix on the Linker script.
config BOARD_COMPILE_DEFINITIONS
string "add custom compile definitions"
help
add custom compile defitions to this specific target
endmenu #Toolchain
config BOARD_TESTING
bool "Testing"
select SYSTEMCMDS_TESTS
help
flag to enable automatic inclusion of PX4 testing modules
config BOARD_ETHERNET
bool "Ethernet"
help
flag to indicate that ethernet is enabled
config BOARD_CRYPTO
bool "Crypto support"
help
Enable PX4 Crypto Support. Select the implementation under drivers
config BOARD_PROTECTED
bool "Memory protection"
help
Enable memory protection via MPU/MMU
menu "Serial ports"
config BOARD_SERIAL_URT6
string "URT6 tty port"
config BOARD_SERIAL_GPS1
string "GPS1 tty port"
config BOARD_SERIAL_GPS2
string "GPS2 tty port"
config BOARD_SERIAL_GPS3
string "GPS3 tty port"
config BOARD_SERIAL_GPS4
string "GPS4 tty port"
config BOARD_SERIAL_GPS5
string "GPS5 tty port"
config BOARD_SERIAL_TEL1
string "TEL1 tty port"
config BOARD_SERIAL_TEL2
string "TEL2 tty port"
config BOARD_SERIAL_TEL3
string "TEL3 tty port"
config BOARD_SERIAL_TEL4
string "TEL4 tty port"
config BOARD_SERIAL_TEL5
string "TEL5 tty port"
config BOARD_SERIAL_RC
string "RC tty port"
config BOARD_SERIAL_WIFI
string "WIFI tty port"
config BOARD_SERIAL_PPB
string "PPB (Pixhawk Payload Bus) tty port"
endmenu
menu "drivers"
source "src/drivers/Kconfig"
endmenu
menu "modules"
source "src/modules/Kconfig"
endmenu
menu "systemcmds"
source "src/systemcmds/Kconfig"
endmenu
menu "examples"
source "src/examples/Kconfig"
endmenu
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License BSD 3-Clause License
Copyright (c) 2012 - 2022, PX4 Development Team Copyright (c) 2012 - 2021, PX4 Development Team
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
+35 -105
View File
@@ -63,7 +63,7 @@ all: px4_sitl_default
space := $(subst ,, ) space := $(subst ,, )
define make_list define make_list
$(shell [ -f .github/workflows/compile_${1}.yml ] && cat .github/workflows/compile_${1}.yml | sed -E 's|[[:space:]]+(.*),|check_\1|g' | grep check_${2}) $(shell cat .github/workflows/compile_${1}.yml | sed -E 's|[[:space:]]+(.*),|check_\1|g' | grep check_${2})
endef endef
# Parsing # Parsing
@@ -129,22 +129,6 @@ else
BUILD_DIR_SUFFIX := BUILD_DIR_SUFFIX :=
endif endif
ifdef PX4_RESTRICTED_BUILD
CMAKE_ARGS += -DPX4_RESTRICTED_BUILD=ON
BUILD_DIR_SUFFIX := $(BUILD_DIR_SUFFIX)_restricted
endif
# pass the PX4_EXPORT_CONTROLLED_BUILD on to CMAKE_ARGS, and set it to 0 (OFF) by default
PX4_EXPORT_CONTROLLED_BUILD ?= 0
ifeq ($(PX4_EXPORT_CONTROLLED_BUILD),1)
CMAKE_ARGS += -DPX4_EXPORT_CONTROLLED_BUILD=ON
BUILD_DIR_SUFFIX := $(BUILD_DIR_SUFFIX)_export_controlled
else ifeq ($(PX4_EXPORT_CONTROLLED_BUILD),0)
CMAKE_ARGS += -DPX4_EXPORT_CONTROLLED_BUILD=OFF
else
$(error ERROR: Invalid value of flag PX4_EXPORT_CONTROLLED_BUILD, has to be '0' or '1')
endif
# additional config parameters passed to cmake # additional config parameters passed to cmake
ifdef EXTERNAL_MODULES_LOCATION ifdef EXTERNAL_MODULES_LOCATION
CMAKE_ARGS += -DEXTERNAL_MODULES_LOCATION:STRING=$(EXTERNAL_MODULES_LOCATION) CMAKE_ARGS += -DEXTERNAL_MODULES_LOCATION:STRING=$(EXTERNAL_MODULES_LOCATION)
@@ -174,11 +158,6 @@ else
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=UndefinedBehaviorSanitizer CMAKE_ARGS += -DCMAKE_BUILD_TYPE=UndefinedBehaviorSanitizer
endif endif
# Fuzz Testing
ifdef PX4_FUZZ
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=FuzzTesting
endif
endif endif
# Pick up specific Python path if set # Pick up specific Python path if set
@@ -186,16 +165,10 @@ ifdef PYTHON_EXECUTABLE
CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} CMAKE_ARGS += -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
endif endif
# Check if the microRTPS agent is to be built
ifdef BUILD_MICRORTPS_AGENT
CMAKE_ARGS += -DBUILD_MICRORTPS_AGENT=ON
endif
# Functions # Functions
# -------------------------------------------------------------------- # --------------------------------------------------------------------
# describe how to build a cmake config # describe how to build a cmake config
define cmake-build define cmake-build
$(eval CMAKE_ARGS += -DCONFIG=$(1))
@$(eval BUILD_DIR = "$(SRC_DIR)/build/$(1)") @$(eval BUILD_DIR = "$(SRC_DIR)/build/$(1)")
@# check if the desired cmake configuration matches the cache then CMAKE_CACHE_CHECK stays empty @# check if the desired cmake configuration matches the cache then CMAKE_CACHE_CHECK stays empty
@$(call cmake-cache-check) @$(call cmake-cache-check)
@@ -234,8 +207,8 @@ define colorecho
+@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}' +@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}'
endef endef
# Get a list of all config targets boards/*/*.px4board # Get a list of all config targets boards/*/*.cmake
ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 -name '*.px4board' -print | sed -e 's|boards\/||' | sed -e 's|\.px4board||' | sed -e 's|\/|_|g' | sort) ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 ! -name '*common*' ! -name '*sdflight*' -name '*.cmake' -print | sed -e 's|boards\/||' | sed -e 's|\.cmake||' | sed -e 's|\/|_|g' | sort)
# ADD CONFIGS HERE # ADD CONFIGS HERE
# -------------------------------------------------------------------- # --------------------------------------------------------------------
@@ -243,33 +216,38 @@ ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 -name '*.px4bo
# All targets. # All targets.
$(ALL_CONFIG_TARGETS): $(ALL_CONFIG_TARGETS):
@$(call cmake-build,$@$(BUILD_DIR_SUFFIX)) @$(eval PX4_CONFIG = $@)
@$(eval CMAKE_ARGS += -DCONFIG=$(PX4_CONFIG))
@$(call cmake-build,$(PX4_CONFIG)$(BUILD_DIR_SUFFIX))
# Filter for only default targets to allow omiting the "_default" postfix # Filter for only default targets to allow omiting the "_default" postfix
CONFIG_TARGETS_DEFAULT := $(patsubst %_default,%,$(filter %_default,$(ALL_CONFIG_TARGETS))) CONFIG_TARGETS_DEFAULT := $(patsubst %_default,%,$(filter %_default,$(ALL_CONFIG_TARGETS)))
$(CONFIG_TARGETS_DEFAULT): $(CONFIG_TARGETS_DEFAULT):
@$(call cmake-build,$@_default$(BUILD_DIR_SUFFIX)) @$(eval PX4_CONFIG = $@_default)
@$(eval CMAKE_ARGS += -DCONFIG=$(PX4_CONFIG))
@$(call cmake-build,$(PX4_CONFIG)$(BUILD_DIR_SUFFIX))
all_config_targets: $(ALL_CONFIG_TARGETS) all_config_targets: $(ALL_CONFIG_TARGETS)
all_default_targets: $(CONFIG_TARGETS_DEFAULT) all_default_targets: $(CONFIG_TARGETS_DEFAULT)
updateconfig:
@./Tools/kconfig/updateconfig.py
# board reorganization deprecation warnings (2018-11-22) # board reorganization deprecation warnings (2018-11-22)
define deprecation_warning define deprecation_warning
$(warning $(1) has been deprecated and will be removed, please use $(2)!) $(warning $(1) has been deprecated and will be removed, please use $(2)!)
endef endef
skynode:
$(MAKE) px4_fmu-v5x $(ARGS)
skynode_rtps:
$(MAKE) px4_fmu-v5x_rtps $(ARGS)
# All targets with just dependencies but no recipe must either be marked as phony (or have the special @: as recipe). # All targets with just dependencies but no recipe must either be marked as phony (or have the special @: as recipe).
.PHONY: all px4_sitl_default all_config_targets all_default_targets .PHONY: all px4_sitl_default all_config_targets all_default_targets
# Multi- config targets.
eagle_default: atlflight_eagle_default atlflight_eagle_qurt
eagle_rtps: atlflight_eagle_rtps atlflight_eagle_qurt-rtps
excelsior_default: atlflight_excelsior_default atlflight_excelsior_qurt
excelsior_rtps: atlflight_excelsior_rtps atlflight_excelsior_qurt-rtps
.PHONY: eagle_default eagle_rtps
.PHONY: excelsior_default excelsior_rtps
# Other targets # Other targets
# -------------------------------------------------------------------- # --------------------------------------------------------------------
@@ -296,6 +274,7 @@ misc_qgc_extra_firmware: \
check_bitcraze_crazyflie_default \ check_bitcraze_crazyflie_default \
check_bitcraze_crazyflie21_default \ check_bitcraze_crazyflie21_default \
check_airmind_mindpx-v2_default \ check_airmind_mindpx-v2_default \
check_px4_fmu-v2_lpe \
sizes sizes
# builds with RTPS # builds with RTPS
@@ -323,40 +302,12 @@ check_%:
@$(MAKE) --no-print-directory $(subst check_,,$@) @$(MAKE) --no-print-directory $(subst check_,,$@)
@echo @echo
all_variants_%:
@echo 'Building all $(subst all_variants_,,$@) variants:' $(filter $(subst all_variants_,,$@)_%, $(ALL_CONFIG_TARGETS))
@echo
$(foreach a,$(filter $(subst all_variants_,,$@)_%, $(ALL_CONFIG_TARGETS)), $(call cmake-build,$(a)$(BUILD_DIR_SUFFIX)))
uorb_graphs: uorb_graphs:
@./Tools/uorb_graph/create.py --src-path src --exclude-path src/examples --exclude-path src/lib/parameters --merge-depends --file Tools/uorb_graph/graph_full @./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.py --src-path src --exclude-path src/examples --exclude-path src/lib/parameters --exclude-path src/modules/mavlink --merge-depends --file Tools/uorb_graph/graph_full_no_mavlink
@$(MAKE) --no-print-directory px4_fmu-v2_default uorb_graph @$(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_fmu-v4_default uorb_graph
@$(MAKE) --no-print-directory px4_fmu-v5_default uorb_graph
@$(MAKE) --no-print-directory px4_sitl_default uorb_graph @$(MAKE) --no-print-directory px4_sitl_default uorb_graph
px4io_update:
@$(MAKE) --no-print-directory px4_io-v2_default
@$(MAKE) --no-print-directory cubepilot_io-v2_default
# px4_io-v2_default
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/durandal-v1/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/holybro/pix32v5/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/mro/x21-777/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v2/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v3/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v4pro/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v5/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v5x/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v6x/extras/px4_io-v2_default.bin
cp build/px4_io-v2_default/px4_io-v2_default.bin boards/px4/fmu-v6c/extras/px4_io-v2_default.bin
# cubepilot_io-v2_default
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeorange/extras/cubepilot_io-v2_default.bin
cp build/cubepilot_io-v2_default/cubepilot_io-v2_default.bin boards/cubepilot/cubeyellow/extras/cubepilot_io-v2_default.bin
git status
bootloaders_update: cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader matek_h743_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6c_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader
git status
.PHONY: coverity_scan .PHONY: coverity_scan
@@ -364,21 +315,18 @@ coverity_scan: px4_sitl_default
# Documentation # Documentation
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: parameters_metadata airframe_metadata module_documentation extract_events px4_metadata doxygen .PHONY: parameters_metadata airframe_metadata module_documentation px4_metadata doxygen
parameters_metadata: parameters_metadata:
@$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen @$(MAKE) --no-print-directory px4_sitl_default metadata_parameters ver_gen
airframe_metadata: airframe_metadata:
@$(MAKE) --no-print-directory px4_sitl_default metadata_airframes ver_gen @$(MAKE) --no-print-directory px4_sitl_default metadata_airframes
module_documentation: module_documentation:
@$(MAKE) --no-print-directory px4_sitl_default metadata_module_documentation @$(MAKE) --no-print-directory px4_sitl_default metadata_module_documentation
extract_events: px4_metadata: parameters_metadata airframe_metadata module_documentation
@$(MAKE) --no-print-directory px4_sitl_default metadata_extract_events ver_gen
px4_metadata: parameters_metadata airframe_metadata module_documentation extract_events
doxygen: doxygen:
@mkdir -p "$(SRC_DIR)"/build/doxygen @mkdir -p "$(SRC_DIR)"/build/doxygen
@@ -405,6 +353,7 @@ format:
.PHONY: rostest python_coverage .PHONY: rostest python_coverage
tests: tests:
$(eval CMAKE_ARGS += -DCONFIG=px4_sitl_test)
$(eval CMAKE_ARGS += -DTESTFILTER=$(TESTFILTER)) $(eval CMAKE_ARGS += -DTESTFILTER=$(TESTFILTER))
$(eval ARGS += test_results) $(eval ARGS += test_results)
$(eval ASAN_OPTIONS += color=always:check_initialization_order=1:detect_stack_use_after_return=1) $(eval ASAN_OPTIONS += color=always:check_initialization_order=1:detect_stack_use_after_return=1)
@@ -512,39 +461,35 @@ shellcheck_all:
@make px4_fmu-v5_default shellcheck @make px4_fmu-v5_default shellcheck
validate_module_configs: validate_module_configs:
@find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f \ @find "$(SRC_DIR)"/src/modules "$(SRC_DIR)"/src/drivers "$(SRC_DIR)"/src/lib -name *.yaml -type f -print0 | xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
-not -path "$(SRC_DIR)/src/lib/mixer_module/*" -not -path "$(SRC_DIR)/src/lib/crypto/libtommath/*" -print0 | \
xargs -0 "$(SRC_DIR)"/Tools/validate_yaml.py --schema-file "$(SRC_DIR)"/validation/module_schema.yaml
# Cleanup # Cleanup
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: clean submodulesclean submodulesupdate gazeboclean distclean .PHONY: clean submodulesclean submodulesupdate gazeboclean distclean
clean: clean:
@[ ! -d "$(SRC_DIR)/build" ] || find "$(SRC_DIR)/build" -mindepth 1 -maxdepth 1 -type d -exec sh -c "echo {}; cmake --build {} -- clean || rm -rf {}" \; # use generated build system to clean, wipe build directory if it fails @rm -rf "$(SRC_DIR)"/build
@git submodule foreach git clean -dX --force # some submodules generate build artifacts in source @git submodule foreach git clean -df
submodulesclean: submodulesclean:
@git submodule foreach --quiet --recursive git clean -ff -x -d @git submodule foreach --quiet --recursive git clean -ff -x -d
@git submodule update --quiet --init --recursive --force || true @git submodule update --quiet --init --recursive --force || true
@git submodule sync --recursive @git submodule sync --recursive
@git submodule update --init --recursive --force --jobs 4 @git submodule update --init --recursive --force
submodulesupdate: submodulesupdate:
@git submodule update --quiet --init --recursive --jobs 4 || true @git submodule update --quiet --init --recursive || true
@git submodule sync --recursive @git submodule sync --recursive
@git submodule update --init --recursive --jobs 4 @git submodule update --init --recursive
@git fetch --all --tags --recurse-submodules=yes --jobs=4
gazeboclean: gazeboclean:
@rm -rf ~/.gazebo/* @rm -rf ~/.gazebo/*
distclean: gazeboclean distclean: gazeboclean
@git submodule deinit --force $(SRC_DIR) @git submodule deinit -f .
@rm -rf "$(SRC_DIR)/build" @git clean -ff -x -d -e ".cproject" -e ".idea" -e ".project" -e ".settings" -e ".vscode"
@git clean --force -X "$(SRC_DIR)/msg/" "$(SRC_DIR)/platforms/" "$(SRC_DIR)/posix-configs/" "$(SRC_DIR)/ROMFS/" "$(SRC_DIR)/src/" "$(SRC_DIR)/test/" "$(SRC_DIR)/Tools/"
# Help / Error / Misc # Help / Error
# -------------------------------------------------------------------- # --------------------------------------------------------------------
# All other targets are handled by PX4_MAKE. Add a rule here to avoid printing an error. # All other targets are handled by PX4_MAKE. Add a rule here to avoid printing an error.
@@ -558,7 +503,7 @@ help:
@echo "Where <target> is one of:" @echo "Where <target> is one of:"
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | \ @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | \
awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | \ awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | \
egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(Makefile)' egrep -v -e '^[^[:alnum:]]' -e '^($(subst $(space),|,$(ALL_CONFIG_TARGETS)))$$' -e '_default$$' -e '^(posix|eagle|Makefile)'
@echo @echo
@echo "Or, $(MAKE) <config_target> [<make_target(s)>]" @echo "Or, $(MAKE) <config_target> [<make_target(s)>]"
@echo "Use '$(MAKE) list_config_targets' for a list of configuration targets." @echo "Use '$(MAKE) list_config_targets' for a list of configuration targets."
@@ -578,18 +523,3 @@ check_px4: $(call make_list,nuttx,"px4") \
check_nxp: $(call make_list,nuttx,"nxp") \ check_nxp: $(call make_list,nuttx,"nxp") \
sizes sizes
ifneq ($(ROS2_WS_DIR),)
ROS2_WS_DIR := $(basename ${ROS2_WS_DIR})
else
ROS2_WS_DIR := ~/colcon_ws
endif
update_ros2_bridge:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --all
update_px4_ros_com:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_ros_com
update_px4_msgs:
@Tools/update_px4_ros2_bridge.sh --ws_dir ${ROS2_WS_DIR} --px4_msgs
+17
View File
@@ -0,0 +1,17 @@
Please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/) to align on pull requests if necessary. You can then open draft pull requests to get early feedback.
**Describe problem solved by this pull request**
A clear and concise description of the problem this proposed change will solve.
E.g. For this use case I ran into...
**Describe your solution**
A clear and concise description of what you have implemented.
**Describe possible alternatives**
A clear and concise description of alternative solutions or features you've considered.
**Test data / coverage**
How was it tested? What cases were covered? Logs uploaded to https://review.px4.io/ and screenshots of the important plot parts.
**Additional context**
Add any other related context or media.
+3 -3
View File
@@ -4,11 +4,11 @@
[![Nuttx Targets](https://github.com/PX4/PX4-Autopilot/workflows/Nuttx%20Targets/badge.svg)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [![SITL Tests](https://github.com/PX4/PX4-Autopilot/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22) [![Nuttx Targets](https://github.com/PX4/PX4-Autopilot/workflows/Nuttx%20Targets/badge.svg)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [![SITL Tests](https://github.com/PX4/PX4-Autopilot/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22)
[![Slack](/.github/slack.svg)](https://join.slack.com/t/px4/shared_invite/zt-si4xo5qs-R4baYFmMjlrT4rQK5yUnaA) [![Slack](https://px4-slack.herokuapp.com/badge.svg)](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/PX4-Autopilot/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 MacOS out of the box. 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/PX4-Autopilot/blob/master/LICENSE))
* [Supported airframes](https://docs.px4.io/master/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)): * [Supported airframes](https://docs.px4.io/master/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)):
@@ -110,7 +110,7 @@ This repository contains code supporting Pixhawk standard boards (best supported
* [Hex Cube Yellow](https://docs.px4.io/master/en/flight_controller/cubepilot_cube_yellow.html) * [Hex Cube Yellow](https://docs.px4.io/master/en/flight_controller/cubepilot_cube_yellow.html)
* [Airmind MindPX V2.8](http://www.mindpx.net/assets/accessories/UserGuide_MindPX.pdf) * [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) * [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/complete_vehicles/crazyflie2.html) * [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) * [Omnibus F4 SD](https://docs.px4.io/master/en/flight_controller/omnibus_f4_sd.html)
* [Holybro Kakute F7](https://docs.px4.io/master/en/flight_controller/kakutef7.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) * [Raspberry PI with Navio 2](https://docs.px4.io/master/en/flight_controller/raspberry_pi_navio2.html)
+34 -51
View File
@@ -115,12 +115,10 @@ add_custom_command(
set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp) set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp)
add_custom_command( add_custom_command(
OUTPUT ${romfs_extract_stamp} OUTPUT ${romfs_extract_stamp}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/*
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file} COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp} COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp}
WORKING_DIRECTORY ${romfs_gen_root_dir} WORKING_DIRECTORY ${romfs_gen_root_dir}
DEPENDS ${romfs_tar_file} DEPENDS ${romfs_tar_file}
VERBATIM
) )
add_custom_command( add_custom_command(
@@ -143,14 +141,38 @@ add_custom_command(
COMMENT "ROMFS: copying, generating airframes" COMMENT "ROMFS: copying, generating airframes"
) )
if(EXISTS ${PX4_BOARD_DIR}/extras/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin)
set(BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin")
configure_file(${PX4_SOURCE_DIR}/platforms/nuttx/init/rc.board_bootloader_upgrade.in ${romfs_gen_root_dir}/init.d/rc.board_bootloader_upgrade @ONLY)
endif()
# copy extras into ROMFS # copy extras into ROMFS
set(extras_dependencies) set(extras_dependencies)
# 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()
list(APPEND extras_dependencies
copy_bootloader_bin
${bootloader_bin}
)
endif()
# optional board architecture defaults # optional board architecture defaults
set(board_arch_rc_file "rc.board_arch_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}") if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/${board_arch_rc_file}")
@@ -175,7 +197,6 @@ if(EXISTS "${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/init/${CONFIG_ARCH_CHIP}/
endif() endif()
# board custom init files
set(OPTIONAL_BOARD_RC) set(OPTIONAL_BOARD_RC)
list(APPEND OPTIONAL_BOARD_RC list(APPEND OPTIONAL_BOARD_RC
rc.board_defaults rc.board_defaults
@@ -210,59 +231,21 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
endforeach() endforeach()
# board extras
set(OPTIONAL_BOARD_EXTRAS)
file(GLOB OPTIONAL_BOARD_EXTRAS ${PX4_BOARD_DIR}/extras/*)
foreach(board_extra_file ${OPTIONAL_BOARD_EXTRAS})
if(EXISTS "${board_extra_file}")
file(RELATIVE_PATH extra_file_base_name ${PX4_BOARD_DIR}/extras/ ${board_extra_file})
file(RELATIVE_PATH extra_file_relative_source ${PX4_SOURCE_DIR} ${board_extra_file})
message(STATUS "ROMFS: Adding ${extra_file_relative_source} -> /etc/extras/${extra_file_base_name}")
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/extras/${extra_file_base_name}
${extra_file_base_name}.stamp
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PX4_BOARD_DIR}/extras/${extra_file_base_name} ${romfs_gen_root_dir}/extras/${extra_file_base_name}
COMMAND ${CMAKE_COMMAND} -E touch ${extra_file_base_name}.stamp
DEPENDS
${board_extra_file}
romfs_copy.stamp
COMMENT "ROMFS: copying ${board_extra_file}"
)
list(APPEND extras_dependencies
${extra_file_base_name}.stamp
)
endif()
endforeach()
if(config_uavcan_peripheral_firmware) if(config_uavcan_peripheral_firmware)
include(ExternalProject) include(ExternalProject)
foreach(uavcan_peripheral_config ${config_uavcan_peripheral_firmware}) foreach(uavcan_peripheral_config ${config_uavcan_peripheral_firmware})
# include the UAVCAN peripheral binaries in ROMFS # include the px4io binary in ROMFS
message(STATUS "ROMFS: Adding UAVCAN peripheral ${uavcan_peripheral_config} -> /etc/uavcan/fw/") message(STATUS "ROMFS: Adding UAVCAN peripheral ${uavcan_peripheral_config} -> /etc/uavcan/fw/")
# ExternalProject_Add() with GIT_SUBMODULES "" initializes no submodules.
cmake_policy(SET CMP0097 NEW)
include(ExternalProject)
ExternalProject_Add(build_${uavcan_peripheral_config} ExternalProject_Add(build_${uavcan_peripheral_config}
GIT_REPOSITORY ${CMAKE_SOURCE_DIR} SOURCE_DIR ${CMAKE_SOURCE_DIR}
GIT_TAG ${PX4_GIT_TAG} DOWNLOAD_COMMAND ""
GIT_SUBMODULES "" UPDATE_COMMAND ""
DOWNLOAD_NO_PROGRESS true
CMAKE_ARGS -DCONFIG=${uavcan_peripheral_config} CMAKE_ARGS -DCONFIG=${uavcan_peripheral_config}
INSTALL_COMMAND "" INSTALL_COMMAND ""
USES_TERMINAL_BUILD true USES_TERMINAL_BUILD true
DEPENDS git_nuttx git_nuttx_apps
BUILD_ALWAYS 1 BUILD_ALWAYS 1
) )
+10 -1
View File
@@ -15,6 +15,15 @@ set +e
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
set R / set R /
#
# Mount the procfs.
#
mount -t procfs /proc
#
# Start CDC/ACM serial driver.
#
sercon
# #
# Print full system version. # Print full system version.
@@ -88,7 +97,7 @@ unset BOARD_RC_SENSORS
# Check for flow sensor # Check for flow sensor
if param compare SENS_EN_PX4FLOW 1 if param compare SENS_EN_PX4FLOW 1
then then
px4flow start -X & px4flow start -X
fi fi
uavcannode start uavcannode start
@@ -34,10 +34,9 @@
add_subdirectory(airframes) add_subdirectory(airframes)
px4_add_romfs_files( px4_add_romfs_files(
px4-rc.mavlink
px4-rc.params px4-rc.params
px4-rc.rtps
px4-rc.simulator px4-rc.simulator
px4-rc.mavlink
rc.replay rc.replay
rcS rcS
) )
@@ -8,30 +8,41 @@
# #
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc
param set-default SYS_CTRL_ALLOC 1 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_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_ROTOR_COUNT 4 param set-default CA_MC_R0_PX 0.1515
param set-default CA_ROTOR0_PX 0.1515 param set-default CA_MC_R0_PY 0.245
param set-default CA_ROTOR0_PY 0.245 param set-default CA_MC_R0_CT 6.5
param set-default CA_ROTOR0_KM 0.05 param set-default CA_MC_R0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515 param set-default CA_MC_R1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875 param set-default CA_MC_R1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05 param set-default CA_MC_R1_CT 6.5
param set-default CA_ROTOR2_PX 0.1515 param set-default CA_MC_R1_KM 0.05
param set-default CA_ROTOR2_PY -0.245 param set-default CA_MC_R2_PX 0.1515
param set-default CA_ROTOR2_KM -0.05 param set-default CA_MC_R2_PY -0.245
param set-default CA_ROTOR3_PX -0.1515 param set-default CA_MC_R2_CT 6.5
param set-default CA_ROTOR3_PY 0.1875 param set-default CA_MC_R2_KM -0.05
param set-default CA_ROTOR3_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
param set-default PWM_MAIN_FUNC1 101 set MIXER direct
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
set MIXER skip
set MIXER_AUX none
@@ -7,5 +7,6 @@
. ${R}etc/init.d-posix/airframes/10016_iris . ${R}etc/init.d-posix/airframes/10016_iris
param set-default EKF2_RNG_AID 1
param set-default EKF2_RNG_A_HMAX 10 param set-default EKF2_RNG_A_HMAX 10
@@ -1,101 +0,0 @@
#!/bin/sh
#
# @name 6DoF Omnicopter SITL
#
# @type Quadrotor Wide
#
# @maintainer Jaeyoung Lim <jalim@ethz.ch>
#
. ${R}etc/init.d/rc.mc_defaults
param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 8
param set-default CA_R_REV 255
param set-default CA_ROTOR0_PX 0.14435
param set-default CA_ROTOR0_PY -0.14435
param set-default CA_ROTOR0_PZ -0.14435
param set-default CA_ROTOR0_KM 0.05 # CCW
param set-default CA_ROTOR0_AX -0.788675
param set-default CA_ROTOR0_AY -0.211325
param set-default CA_ROTOR0_AZ -0.57735
param set-default CA_ROTOR1_PX -0.14435
param set-default CA_ROTOR1_PY -0.14435
param set-default CA_ROTOR1_PZ -0.14435
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR1_AX 0.211325
param set-default CA_ROTOR1_AY -0.788675
param set-default CA_ROTOR1_AZ 0.57735
param set-default CA_ROTOR2_PX 0.14435
param set-default CA_ROTOR2_PY 0.14435
param set-default CA_ROTOR2_PZ -0.14435
param set-default CA_ROTOR2_KM 0.05
param set-default CA_ROTOR2_AX -0.211325
param set-default CA_ROTOR2_AY 0.788675
param set-default CA_ROTOR2_AZ 0.57735
param set-default CA_ROTOR3_PX -0.14435
param set-default CA_ROTOR3_PY 0.14435
param set-default CA_ROTOR3_PZ -0.14435
param set-default CA_ROTOR3_KM 0.05
param set-default CA_ROTOR3_AX 0.788675
param set-default CA_ROTOR3_AY 0.211325
param set-default CA_ROTOR3_AZ -0.57735
param set-default CA_ROTOR4_PX 0.14435
param set-default CA_ROTOR4_PY -0.14435
param set-default CA_ROTOR4_PZ 0.14435
param set-default CA_ROTOR4_KM 0.05
param set-default CA_ROTOR4_AX 0.788675
param set-default CA_ROTOR4_AY 0.211325
param set-default CA_ROTOR4_AZ -0.57735
param set-default CA_ROTOR5_PX -0.14435
param set-default CA_ROTOR5_PY -0.14435
param set-default CA_ROTOR5_PZ 0.14435
param set-default CA_ROTOR5_KM 0.05
param set-default CA_ROTOR5_AX -0.211325
param set-default CA_ROTOR5_AY 0.788675
param set-default CA_ROTOR5_AZ 0.57735
param set-default CA_ROTOR6_PX 0.14435
param set-default CA_ROTOR6_PY 0.14435
param set-default CA_ROTOR6_PZ 0.14435
param set-default CA_ROTOR6_KM 0.05
param set-default CA_ROTOR6_AX 0.211325
param set-default CA_ROTOR6_AY -0.788675
param set-default CA_ROTOR6_AZ 0.57735
param set-default CA_ROTOR7_PX -0.14435
param set-default CA_ROTOR7_PY 0.14435
param set-default CA_ROTOR7_PZ 0.14435
param set-default CA_ROTOR7_KM 0.05
param set-default CA_ROTOR7_AX -0.788675
param set-default CA_ROTOR7_AY -0.211325
param set-default CA_ROTOR7_AZ -0.57735
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106
param set-default PWM_MAIN_FUNC7 107
param set-default PWM_MAIN_FUNC8 108
# disable MC desaturation which improves attitude tracking
param set-default CA_METHOD 0
# disable attitude failure detection
param set-default FD_FAIL_P 0
param set-default FD_FAIL_R 0
set MIXER skip
set MIXER_AUX none
@@ -1,12 +0,0 @@
#!/bin/sh
#
# @name Quadrotor SITL model for JSBSim
#
# @type Quadrotor Wide
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
. ${R}etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -1,30 +0,0 @@
#!/bin/sh
#
# @name Hexacopter SITL model for JSBSim
#
# @type Hexarotor x
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
. ${R}etc/init.d/rc.mc_defaults
param set-default MC_PITCHRATE_P 0.1
param set-default MC_PITCHRATE_I 0.05
param set-default MC_PITCH_P 6.0
param set-default MC_ROLLRATE_P 0.15
param set-default MC_ROLLRATE_I 0.1
param set-default MC_ROLL_P 6.0
param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_P_ACC 3
param set-default RTL_DESCEND_ALT 10
param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 4
param set-default MNT_DO_STAB 2
param set-default MAV_TYPE 13
set MIXER hexa_x
@@ -1,23 +0,0 @@
#!/bin/sh
#
# @name QuadrotorX SITL for SIH
#
# @type Quadrotor
#
# @maintainer Romain Chiappinelli <romain.chiap@gmail.com>
#
. ${R}etc/init.d/rc.mc_defaults
set MIXER quad_x
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set SIH_VEHICLE_TYPE 0
@@ -1,33 +0,0 @@
#!/bin/sh
#
# @name Plane SITL for SIH
#
# @type Plane
#
# @maintainer Romain Chiappinelli <romain.chiap@gmail.com>
. ${R}etc/init.d/rc.fw_defaults
set MIXER AERT
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set-default BAT_N_CELLS 3
param set SIH_T_MAX 6.0
param set SIH_MASS 0.3
param set SIH_IXX 0.00402
param set SIH_IYY 0.0144
param set SIH_IZZ 0.0177
param set SIH_IXZ 0.00046
param set SIH_KDV 0.2
param set SIH_VEHICLE_TYPE 1 # sih as fixed wing
param set RWTO_TKOFF 1 # enable takeoff from runway (as opposed to launched)
@@ -1,45 +0,0 @@
#!/bin/sh
#
# @name SIH Tailsitter Duo
#
# @type VTOL
#
# @maintainer Romain Chiappinelli <romain.chiap@gmail.com>
. ${R}etc/init.d/rc.vtol_defaults
param set-default VT_ELEV_MC_LOCK 0
param set-default VT_TYPE 0
param set-default VT_FW_DIFTHR_EN 1
param set-default VT_FW_DIFTHR_SC 0.3
param set-default MPC_MAN_Y_MAX 60
param set-default MC_PITCH_P 5
param set-default MAV_TYPE 19
set MAV_TYPE 19
set MIXER vtol_tailsitter_duo_sat
# disable some checks to allow to fly:
# - with usb
param set-default CBRK_USB_CHK 197848
# - without real battery
param set-default CBRK_SUPPLY_CHK 894281
# - without safety switch
param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027
param set-default BAT_N_CELLS 3
param set SIH_T_MAX 2.0
param set SIH_Q_MAX 0.0165
param set SIH_MASS 0.2
# IXX and IZZ are inverted from the thesis as the body frame is pitched by 90 deg
param set SIH_IXX 0.00354
param set SIH_IYY 0.000625
param set SIH_IZZ 0.00300
param set SIH_IXZ 0.0
param set SIH_KDV 0.2
param set SIH_L_ROLL 0.145
# sih as tailsitter
param set SIH_VEHICLE_TYPE 2
@@ -10,7 +10,6 @@
# enable fusion of landing target velocity # enable fusion of landing target velocity
param set-default LTEST_MODE 1 param set-default LTEST_MODE 1
param set-default PLD_HACC_RAD 0.1 param set-default PLD_HACC_RAD 0.1
param set-default RTL_PLD_MD 2
# Start up Landing Target Estimator module # Start up Landing Target Estimator module
landing_target_estimator start landing_target_estimator start
@@ -8,6 +8,6 @@
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
param set-default MC_PITCHRATE_P 0.1 param set-default MC_PITCHRATE_P 0.1
param set-default MC_ROLLRATE_P 0.05 param set-default MC_ROLLRATE_P 0.1
set MIXER quad_x set MIXER quad_x
@@ -0,0 +1,8 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (RTPS)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
@@ -5,8 +5,16 @@
. ${R}etc/init.d/rc.uuv_defaults . ${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 # disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128 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_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
set MIXER custom set MIXER custom
@@ -5,8 +5,16 @@
. ${R}etc/init.d/rc.uuv_defaults . ${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 # disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128 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_FILE etc/mixers-sitl/uuv_x_sitl.main.mix
set MIXER custom set MIXER custom
@@ -5,65 +5,12 @@
. ${R}etc/init.d/rc.uuv_defaults . ${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 # disable circuit breaker for airspeed sensor
param set-default CBRK_AIRSPD_CHK 162128 param set-default CBRK_AIRSPD_CHK 162128
param set-default SYS_CTRL_ALLOC 1 set PWM_OUT 12345678
param set-default CA_AIRFRAME 7 set MIXER_FILE etc/mixers-sitl/vectored6dof_sitl.main.mix
set MIXER custom
param set-default CA_ROTOR_COUNT 8
param set-default CA_R_REV 255
param set-default CA_ROTOR0_AX 1.0000
param set-default CA_ROTOR0_AY -1.0000
param set-default CA_ROTOR0_AZ 0.0000
param set-default CA_ROTOR0_KM 0.0000
param set-default CA_ROTOR0_PX 0.5000
param set-default CA_ROTOR0_PY 0.3000
param set-default CA_ROTOR0_PZ 0.2000
param set-default CA_ROTOR1_AX 1.0000
param set-default CA_ROTOR1_AY 1.0000
param set-default CA_ROTOR1_AZ 0.0000
param set-default CA_ROTOR1_KM 0.0000
param set-default CA_ROTOR1_PX 0.5000
param set-default CA_ROTOR1_PY -0.3000
param set-default CA_ROTOR1_PZ 0.2000
param set-default CA_ROTOR2_AX 1.0000
param set-default CA_ROTOR2_AY 1.0000
param set-default CA_ROTOR2_AZ 0.0000
param set-default CA_ROTOR2_KM 0.0000
param set-default CA_ROTOR2_PX -0.5000
param set-default CA_ROTOR2_PY 0.3000
param set-default CA_ROTOR2_PZ 0.2000
param set-default CA_ROTOR3_AX 1.0000
param set-default CA_ROTOR3_AY -1.0000
param set-default CA_ROTOR3_AZ 0.0000
param set-default CA_ROTOR3_KM 0.0000
param set-default CA_ROTOR3_PX -0.5000
param set-default CA_ROTOR3_PY -0.3000
param set-default CA_ROTOR3_PZ 0.2000
param set-default CA_ROTOR4_AZ -1.0000
param set-default CA_ROTOR4_KM 0.0000
param set-default CA_ROTOR4_PX 0.5000
param set-default CA_ROTOR4_PY 0.5000
param set-default CA_ROTOR5_AZ 1.0000
param set-default CA_ROTOR5_KM 0.0000
param set-default CA_ROTOR5_PX 0.5000
param set-default CA_ROTOR5_PY -0.5000
param set-default CA_ROTOR6_AZ 1.0000
param set-default CA_ROTOR6_KM 0.0000
param set-default CA_ROTOR6_PX -0.5000
param set-default CA_ROTOR6_PY 0.5000
param set-default CA_ROTOR7_KM 0.0000
param set-default CA_ROTOR7_PX -0.5000
param set-default CA_ROTOR7_PY -0.5000
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106
param set-default PWM_MAIN_FUNC7 107
param set-default PWM_MAIN_FUNC8 108
set MIXER skip
@@ -1,11 +0,0 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor SITL (Depth Camera)
#
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
# param set COM_OBS_AVOID 1
param set-default MPC_XY_CRUISE 5.0
@@ -5,31 +5,39 @@
. ${R}etc/init.d/rc.fw_defaults . ${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_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0 param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_AIRSPD_SC 1 param set-default FW_LND_AIRSPD_SC 1
param set-default FW_LND_ANG 8 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_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_P 0.9
param set-default FW_PR_FF 0.2 param set-default FW_PR_FF 0.2
param set-default FW_PSP_OFF 2 param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15 param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1 param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3 param set-default FW_RR_P 0.3
param set-default FW_SPOILERS_LND 0.4
param set-default FW_THR_MAX 0.6 param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05 param set-default FW_THR_MIN 0.05
param set-default FW_THR_TRIM 0.25 param set-default FW_THR_CRUISE 0.25
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8 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_MAX 2.7
param set-default FW_T_SINK_MIN 2.2 param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
param set-default FW_W_EN 1 param set-default FW_W_EN 1
@@ -38,35 +46,9 @@ param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
#param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 6
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS3_TRQ_Y 1.0
param set-default CA_SV_CS3_TYPE 4
param set-default CA_SV_CS4_TYPE 9
param set-default CA_SV_CS5_TYPE 10
param set-default PWM_MAIN_FUNC3 204
param set-default PWM_MAIN_FUNC4 205
param set-default PWM_MAIN_FUNC5 101
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default PWM_MAIN_FUNC9 206
param set-default PWM_MAIN_REV 256
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom set MIXER custom
@@ -5,14 +5,21 @@
. ${R}etc/init.d/rc.fw_defaults . ${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_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5 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_PMIN 9.5
param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5 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_L1_PERIOD 25
param set-default FW_P_TC 0.4
param set-default FW_PR_FF 0.40 param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05 param set-default FW_PR_I 0.05
param set-default FW_PR_P 0.05 param set-default FW_PR_P 0.05
@@ -31,10 +38,18 @@ param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1 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_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_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8 param set-default RWTO_AIRSPD_SCL 1.8
@@ -5,14 +5,21 @@
. ${R}etc/init.d/rc.fw_defaults . ${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_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5 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_PMIN 9.5
param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5 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_L1_PERIOD 25
param set-default FW_P_TC 0.4
param set-default FW_PR_FF 0.40 param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05 param set-default FW_PR_I 0.05
param set-default FW_PR_P 0.05 param set-default FW_PR_P 0.05
@@ -31,10 +38,18 @@ param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1 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_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_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8 param set-default RWTO_AIRSPD_SCL 1.8
@@ -5,11 +5,14 @@
. ${R}etc/init.d/rc.fw_defaults . ${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_ACCLIM 0
param set-default EKF2_MAG_YAWLIM 0 param set-default EKF2_MAG_YAWLIM 0
param set-default FW_LND_AIRSPD_SC 1 param set-default FW_LND_AIRSPD_SC 1
param set-default FW_LND_ANG 8 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_L1_PERIOD 15
@@ -32,6 +35,7 @@ param set-default MIS_TAKEOFF_ALT 30
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
@@ -5,14 +5,21 @@
. ${R}etc/init.d/rc.fw_defaults . ${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_AIRSPD_SC 1.1
param set-default FW_LND_ANG 5 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_PMIN 9.5
param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FL_PMAX 20
param set-default FW_LND_FLALT 5 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_L1_PERIOD 25
param set-default FW_P_TC 0.4
param set-default FW_PR_FF 0.40 param set-default FW_PR_FF 0.40
param set-default FW_PR_I 0.05 param set-default FW_PR_I 0.05
param set-default FW_PR_P 0.05 param set-default FW_PR_P 0.05
@@ -31,9 +38,11 @@ param set-default MIS_DIST_WPS 10000
param set-default NAV_ACC_RAD 15 param set-default NAV_ACC_RAD 15
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 50
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default RWTO_MAX_PITCH 20 param set-default RWTO_MAX_PITCH 20
param set-default RWTO_MAX_ROLL 10
param set-default RWTO_PSP 8 param set-default RWTO_PSP 8
param set-default RWTO_AIRSPD_SCL 1.8 param set-default RWTO_AIRSPD_SCL 1.8
@@ -1,48 +0,0 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
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_L1_PERIOD 12
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_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_TRIM 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 FW_USE_NPFG 1
param set-default RWTO_TKOFF 1
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -1,9 +0,0 @@
#!/bin/sh
#
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
param set-default FW_THR_TRIM 0.0
param set-default RWTO_TKOFF 0
@@ -7,62 +7,26 @@
. ${R}etc/init.d/rc.vtol_defaults . ${R}etc/init.d/rc.vtol_defaults
# TODO: Enable motor failure detection when the
# VTOL no longer reports 0A for all ESCs in SITL
param set-default FD_ACT_EN 0
param set-default FD_ACT_MOT_TOUT 500
# param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 2
param set-default CA_ROTOR_COUNT 5
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default CA_ROTOR4_AX 1.0
param set-default CA_ROTOR4_AZ 0.0
param set-default CA_ROTOR4_PX 0.2
param set-default CA_SV_CS_COUNT 3
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_FUNC8 203
param set-default FW_L1_PERIOD 12 param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
param set-default FW_PR_FF 0.2 param set-default FW_PR_FF 0.2
param set-default FW_PR_I 0.4
param set-default FW_PR_P 0.9 param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2 param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15 param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1 param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3 param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.25 param set-default FW_THR_CRUISE 0.25
param set-default FW_THR_MAX 0.6 param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05 param set-default FW_THR_MIN 0.05
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8 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_MAX 2.7
param set-default FW_T_SINK_MIN 2.2 param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
param set-default MC_AIRMODE 1
param set-default MC_ROLLRATE_P 0.3 param set-default MC_ROLLRATE_P 0.3
param set-default MC_YAW_P 1.6 param set-default MC_YAW_P 1.6
@@ -75,6 +39,7 @@ param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1 param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5 param set-default NAV_ACC_RAD 5
param set-default NAV_LOITER_RAD 80
param set-default VT_FWD_THRUST_EN 4 param set-default VT_FWD_THRUST_EN 4
param set-default VT_F_TRANS_THR 0.75 param set-default VT_F_TRANS_THR 0.75
@@ -83,5 +48,7 @@ param set-default VT_FW_MOT_OFFID 1234
param set-default VT_B_TRANS_DUR 8 param set-default VT_B_TRANS_DUR 8
param set-default VT_TYPE 2 param set-default VT_TYPE 2
set MAV_TYPE 22
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
set MIXER custom set MIXER custom
@@ -7,49 +7,15 @@
. ${R}etc/init.d/rc.vtol_defaults . ${R}etc/init.d/rc.vtol_defaults
param set-default MAV_TYPE 20
# param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 4
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 1
param set-default CA_ROTOR0_PY 2
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -1
param set-default CA_ROTOR1_PY -1
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 1
param set-default CA_ROTOR2_PY -1
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -1
param set-default CA_ROTOR3_PY 1
param set-default CA_ROTOR3_KM -0.05
param set-default CA_SV_CS_COUNT 2
param set-default CA_SV_CS0_TYPE 5
param set-default CA_SV_CS0_TRQ_P 0.5
param set-default CA_SV_CS0_TRQ_Y -0.5
param set-default CA_SV_CS1_TYPE 6
param set-default CA_SV_CS1_TRQ_P 0.5
param set-default CA_SV_CS1_TRQ_Y 0.5
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 0
param set-default PWM_MAIN_FUNC6 201
param set-default PWM_MAIN_FUNC7 202
param set-default PWM_MAIN_REV 96 # invert both elevons
param set-default FW_L1_PERIOD 12 param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
param set-default FW_PR_I 0.2 param set-default FW_PR_I 0.2
param set-default FW_PR_P 0.2 param set-default FW_PR_P 0.3
param set-default FW_PSP_OFF 2 param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15 param set-default FW_P_LIM_MIN -15
param set-default FW_RR_P 0.2 param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.33 param set-default FW_THR_CRUISE 0.33
param set-default FW_THR_MAX 0.6 param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05 param set-default FW_THR_MIN 0.05
param set-default FW_T_ALT_TC 2 param set-default FW_T_ALT_TC 2
@@ -59,7 +25,6 @@ param set-default FW_T_SINK_MAX 2.7
param set-default FW_T_SINK_MIN 2.2 param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2 param set-default FW_T_TAS_TC 2
param set-default MC_AIRMODE 1
param set-default MC_ROLLRATE_P 0.3 param set-default MC_ROLLRATE_P 0.3
param set-default MPC_ACC_HOR_MAX 2 param set-default MPC_ACC_HOR_MAX 2
@@ -69,14 +34,15 @@ param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1 param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5 param set-default NAV_ACC_RAD 5
param set-default NAV_LOITER_RAD 80
param set-default VT_FW_DIFTHR_EN 1
param set-default VT_FW_DIFTHR_SC 0.5
param set-default VT_F_TRANS_DUR 1.5 param set-default VT_F_TRANS_DUR 1.5
param set-default VT_F_TRANS_THR 0.7 param set-default VT_F_TRANS_THR 0.7
param set-default VT_TYPE 0 param set-default VT_TYPE 0
param set-default WV_EN 0 param set-default WV_EN 0
set MAV_TYPE 20
set MIXER_FILE etc/mixers-sitl/quad_x_vtol.main.mix set MIXER_FILE etc/mixers-sitl/quad_x_vtol.main.mix
set MIXER custom set MIXER custom
@@ -7,68 +7,27 @@
. ${R}etc/init.d/rc.vtol_defaults . ${R}etc/init.d/rc.vtol_defaults
param set-default MAV_TYPE 21
param set-default SYS_CTRL_ALLOC 1
param set-default CA_AIRFRAME 3
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.1515
param set-default CA_ROTOR0_PY 0.245
param set-default CA_ROTOR0_KM 0.05
param set-default CA_ROTOR1_PX -0.1515
param set-default CA_ROTOR1_PY -0.1875
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.1515
param set-default CA_ROTOR2_PY -0.245
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.1515
param set-default CA_ROTOR3_PY 0.1875
param set-default CA_ROTOR3_KM -0.05
param set-default CA_ROTOR0_TILT 1
param set-default CA_ROTOR2_TILT 3
param set-default CA_SV_CS0_TRQ_R -0.5
param set-default CA_SV_CS0_TYPE 1
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default CA_SV_CS_COUNT 3
param set-default CA_SV_TL1_CT 0
param set-default CA_SV_TL3_CT 0
param set-default CA_SV_TL_COUNT 4
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 204
param set-default PWM_MAIN_FUNC6 205
param set-default PWM_MAIN_FUNC7 206
param set-default PWM_MAIN_FUNC8 207
param set-default PWM_MAIN_FUNC9 201
param set-default PWM_MAIN_FUNC10 202
param set-default PWM_MAIN_FUNC11 203
param set-default FW_L1_PERIOD 12 param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
param set-default FW_PR_FF 0.2 param set-default FW_PR_FF 0.2
param set-default FW_PR_I 0.4
param set-default FW_PR_P 0.9 param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2 param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15 param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1 param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3 param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.38 param set-default FW_THR_CRUISE 0.38
param set-default FW_THR_MAX 0.6 param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05 param set-default FW_THR_MIN 0.05
param set-default FW_T_ALT_TC 2
param set-default FW_T_CLMB_MAX 8 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_MAX 2.7
param set-default FW_T_SINK_MIN 2.2 param set-default FW_T_SINK_MIN 2.2
param set-default FW_T_TAS_TC 2
param set-default MC_YAW_P 1.6 param set-default MC_YAW_P 1.6
param set-default MC_AIRMODE 1
param set-default MC_YAWRATE_P 0.3
param set-default MC_YAWRATE_I 0.3
param set-default MIS_TAKEOFF_ALT 10 param set-default MIS_TAKEOFF_ALT 10
@@ -79,6 +38,7 @@ param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1 param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5 param set-default NAV_ACC_RAD 5
param set-default NAV_LOITER_RAD 80
param set-default VT_B_TRANS_DUR 8 param set-default VT_B_TRANS_DUR 8
param set-default VT_FWD_THRUST_EN 4 param set-default VT_FWD_THRUST_EN 4
@@ -86,5 +46,7 @@ param set-default VT_MOT_ID 1234
param set-default VT_TILT_TRANS 0.6 param set-default VT_TILT_TRANS 0.6
param set-default VT_TYPE 1 param set-default VT_TYPE 1
set MAV_TYPE 21
set MIXER_FILE etc/mixers-sitl/tiltrotor_sitl.main.mix set MIXER_FILE etc/mixers-sitl/tiltrotor_sitl.main.mix
set MIXER custom set MIXER custom
@@ -8,13 +8,16 @@
. ${R}etc/init.d/rc.vtol_defaults . ${R}etc/init.d/rc.vtol_defaults
param set-default FW_L1_PERIOD 12 param set-default FW_L1_PERIOD 12
param set-default FW_MAN_P_MAX 30
param set-default FW_PR_FF 0.2 param set-default FW_PR_FF 0.2
param set-default FW_PR_I 0.4
param set-default FW_PR_P 0.9 param set-default FW_PR_P 0.9
param set-default FW_PSP_OFF 2 param set-default FW_PSP_OFF 2
param set-default FW_P_LIM_MAX 32
param set-default FW_P_LIM_MIN -15 param set-default FW_P_LIM_MIN -15
param set-default FW_RR_FF 0.1 param set-default FW_RR_FF 0.1
param set-default FW_RR_P 0.3 param set-default FW_RR_P 0.3
param set-default FW_THR_TRIM 0.25 param set-default FW_THR_CRUISE 0.25
param set-default FW_THR_MAX 0.6 param set-default FW_THR_MAX 0.6
param set-default FW_THR_MIN 0.05 param set-default FW_THR_MIN 0.05
param set-default FW_T_ALT_TC 2 param set-default FW_T_ALT_TC 2
@@ -36,6 +39,7 @@ param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_D_ACC 0.1 param set-default MPC_XY_VEL_D_ACC 0.1
param set-default NAV_ACC_RAD 5 param set-default NAV_ACC_RAD 5
param set-default NAV_LOITER_RAD 80
param set-default VT_FWD_THRUST_EN 4 param set-default VT_FWD_THRUST_EN 4
param set-default VT_F_TRANS_THR 0.75 param set-default VT_F_TRANS_THR 0.75
@@ -48,5 +52,7 @@ param set-default RC_MAP_AUX1 8
param set-default RC_MAP_AUX2 9 param set-default RC_MAP_AUX2 9
param set-default RC_MAP_AUX3 10 param set-default RC_MAP_AUX3 10
set MAV_TYPE 22
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
set MIXER custom set MIXER custom
@@ -1,17 +0,0 @@
#!/bin/sh
#
# @name Standard VTOL with gimbal
#
# @type Standard VTOL with gimbal
#
. ${R}etc/init.d-posix/1040_standard_vtol
param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 0
param set-default MAV_TYPE 22
set MIXER_FILE etc/mixers-sitl/standard_vtol_sitl.main.mix
set MIXER custom
@@ -1,10 +0,0 @@
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,54 +0,0 @@
#!/bin/sh
#
# @name VTOL Tiltrotor Tricopter
#
# @type VTOL Tiltrotor Tricopter
#
. ${R}etc/init.d/rc.vtol_defaults
param set-default FW_AIRSPD_MAX 25
param set-default FW_AIRSPD_MIN 14
param set-default FW_AIRSPD_TRIM 16
param set-default FW_L1_PERIOD 12
param set-default MC_ROLLRATE_P 0.3
param set-default MIS_LTRMIN_ALT 10
param set-default MIS_TAKEOFF_ALT 10
param set-default MIS_YAW_TMT 10
param set-default MC_PITCHRATE_P 0.3
param set-default MC_PITCH_P 5.0
param set-default MC_ROLLRATE_P 0.4
param set-default MC_ROLL_P 5.0
param set-default MC_YAWRATE_P 0.8
param set-default MC_YAW_P 1.5
param set-default MPC_ACC_HOR_MAX 2
param set-default MPC_ACC_HOR_MAX 2
param set-default MPC_MAN_Y_MAX 70
param set-default MPC_THR_MIN 0.1
param set-default MPC_TKO_SPEED 1
param set-default MPC_XY_P 0.15
param set-default MPC_XY_VEL_D 0.005
param set-default MPC_XY_VEL_I 0.2
param set-default MPC_XY_VEL_P 0.05
param set-default MPC_Z_VEL_MAX_DN 1.5
param set-default MPC_Z_VEL_P 0.8
param set-default NAV_ACC_RAD 5
param set-default NAV_LOITER_RAD 80
param set-default VT_F_TRANS_DUR 5.0
param set-default VT_F_TRANS_THR 0.75
param set-default VT_TILT_FW 3.1415
param set-default VT_TILT_TRANS 1.2
param set-default VT_ELEV_MC_LOCK 0
param set-default VT_TYPE 1
param set-default VT_B_TRANS_DUR 8
param set-default MAV_TYPE 24
set MIXER_FILE etc/mixers-sitl/tiltrotor_tri_sitl.main.mix
set MIXER custom
@@ -28,13 +28,6 @@ param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6 param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0 param set-default GND_WHEEL_BASE 2.0
param set-default SYS_CTRL_ALLOC 1 set MAV_TYPE 10
param set-default CA_AIRFRAME 5
param set-default CA_R_REV 1 set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
param set-default PWM_MAIN_FUNC1 201
param set-default PWM_MAIN_FUNC2 201
param set-default PWM_MAIN_FUNC6 101
param set-default PWM_MAIN_FUNC7 101
set MIXER_FILE skip
@@ -28,13 +28,6 @@ param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6 param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0 param set-default GND_WHEEL_BASE 2.0
param set-default SYS_CTRL_ALLOC 1 set MAV_TYPE 10
param set-default CA_AIRFRAME 6
param set-default CA_R_REV 3 set MIXER_FILE etc/mixers-sitl/rover_diff_sitl.main.mix
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 101
param set-default PWM_MAIN_FUNC6 102
param set-default PWM_MAIN_FUNC7 102
set MIXER_FILE skip
@@ -10,8 +10,6 @@
. ${R}etc/init.d/rc.rover_defaults . ${R}etc/init.d/rc.rover_defaults
param set-default MAV_TYPE 10
param set-default GND_L1_DIST 5 param set-default GND_L1_DIST 5
param set-default GND_SP_CTRL_MODE 1 param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 3 param set-default GND_SPEED_D 3
@@ -35,4 +33,6 @@ param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6 param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 3.0 param set-default GND_WHEEL_BASE 3.0
set MAV_TYPE 10
set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
@@ -1,39 +0,0 @@
#!/bin/sh
#
# @name Rover
#
. ${R}etc/init.d/rc.rover_defaults
param set-default GND_L1_DIST 5
param set-default GND_SP_CTRL_MODE 1
param set-default GND_SPEED_D 0.001
param set-default GND_SPEED_I 3
param set-default GND_SPEED_IMAX 0.125
param set-default GND_SPEED_P 0.25
param set-default GND_SPEED_THR_SC 1
param set-default GND_SPEED_TRIM 4
param set-default GND_THR_CRUISE 0.3
param set-default GND_THR_IDLE 0
param set-default GND_THR_MAX 0.5
param set-default GND_THR_MIN 0
param set-default MIS_LTRMIN_ALT 0.01
param set-default MIS_TAKEOFF_ALT 0.01
param set-default NAV_ACC_RAD 0.5
param set-default NAV_LOITER_RAD 2
param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0
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
param set-default MAV_TYPE 10
set MIXER_FILE etc/mixers-sitl/rover_ackermann_sitl.main.mix
@@ -1,10 +0,0 @@
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
@@ -28,23 +28,6 @@ param set-default CBRK_AIRSPD_CHK 162128
param set-default GND_MAX_ANG 0.6 param set-default GND_MAX_ANG 0.6
param set-default GND_WHEEL_BASE 2.0 param set-default GND_WHEEL_BASE 2.0
param set-default SYS_CTRL_ALLOC 1 set MAV_TYPE 11
param set-default CA_AIRFRAME 9
param set-default CA_ROTOR_COUNT 2 set MIXER_FILE etc/mixers-sitl/boat_sitl.main.mix
param set-default CA_ROTOR0_AX 1
param set-default CA_ROTOR0_AZ 0
param set-default CA_ROTOR0_KM 0
param set-default CA_ROTOR0_PX -2
param set-default CA_ROTOR0_PY -1
param set-default CA_ROTOR1_AX 1
param set-default CA_ROTOR1_AZ 0
param set-default CA_ROTOR1_KM 0
param set-default CA_ROTOR1_PX -2
param set-default CA_ROTOR1_PY 1
param set-default CA_R_REV 3
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
set MIXER skip
@@ -12,12 +12,20 @@
. ${R}etc/init.d/rc.fw_defaults . ${R}etc/init.d/rc.fw_defaults
param set-default FW_AIRSPD_STALL 8 param set-default EKF2_ARSP_THR 8
param set-default EKF2_FUSE_BETA 1
param set-default ASPD_STALL 10.0
param set-default FW_P_RMAX_NEG 20.0 param set-default FW_P_RMAX_NEG 20.0
param set-default FW_P_RMAX_POS 60.0
param set-default FW_W_RMAX 10 param set-default FW_W_RMAX 10
param set-default FW_W_EN 1 param set-default FW_W_EN 1
param set-default FW_PR_IMAX 0.4
param set-default FW_R_TC 0.4
param set-default FW_RR_FF 0.5
param set-default FW_RR_I 0.1
param set-default FW_RR_IMAX 0.2
param set-default FW_RR_P 0.08 param set-default FW_RR_P 0.08
param set-default MIS_LTRMIN_ALT 50 param set-default MIS_LTRMIN_ALT 50
@@ -33,14 +41,16 @@ param set-default FW_ARSP_SCALE_EN 0
param set-default FW_AIRSPD_MAX 35 param set-default FW_AIRSPD_MAX 35
param set-default FW_AIRSPD_MIN 7 param set-default FW_AIRSPD_MIN 7
param set-default FW_AIRSPD_TRIM 15
param set-default FW_P_LIM_MAX 25 param set-default FW_P_LIM_MAX 25
param set-default FW_P_LIM_MIN -5 param set-default FW_P_LIM_MIN -5
param set-default FW_R_LIM 30 param set-default FW_R_LIM 30
param set-default FW_MAN_P_MAX 30.0
param set-default FW_MAN_R_MAX 30.0 param set-default FW_MAN_R_MAX 30.0
param set-default FW_THR_TRIM 0.8 param set-default FW_THR_CRUISE 0.8
param set-default FW_THR_IDLE 0 param set-default FW_THR_IDLE 0
param set-default COM_DISARM_PRFLT 0 param set-default COM_DISARM_PRFLT 0
@@ -11,31 +11,5 @@
. ${R}etc/init.d/rc.airship_defaults . ${R}etc/init.d/rc.airship_defaults
param set-default SYS_CTRL_ALLOC 1 set MIXER cloudship
param set-default CA_AIRFRAME 9 set PWM_OUT 1234
param set-default CA_ROTOR_COUNT 3
param set-default CA_ROTOR0_AX 1.0000
param set-default CA_ROTOR0_AZ 0.0000
param set-default CA_ROTOR0_KM 0.0000
param set-default CA_ROTOR0_PY 2.0000
param set-default CA_ROTOR1_AX 1.0000
param set-default CA_ROTOR1_AZ 0.0000
param set-default CA_ROTOR1_KM 0.0000
param set-default CA_ROTOR1_PY -2.0000
param set-default CA_ROTOR2_AY -1.0000
param set-default CA_ROTOR2_AZ 0.0000
param set-default CA_ROTOR2_KM 0.0000
param set-default CA_ROTOR2_PX -10.0000
param set-default CA_SV_CS_COUNT 1
param set-default CA_SV_CS0_TRQ_P 1.0000
param set-default CA_R_REV 7
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 201
param set-default PWM_MAIN_FUNC4 103
set MIXER skip
@@ -9,11 +9,10 @@
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
param set-default MAV_TYPE 13
param set-default MC_PITCHRATE_P 0.1 param set-default MC_PITCHRATE_P 0.1
param set-default MC_PITCHRATE_I 0.05 param set-default MC_PITCHRATE_I 0.05
param set-default MC_PITCH_P 6.0 param set-default MC_PITCH_P 6.0
param set-default MC_ROLLRATE_P 0.15
param set-default MC_ROLLRATE_I 0.1 param set-default MC_ROLLRATE_I 0.1
param set-default MC_ROLL_P 6.0 param set-default MC_ROLL_P 6.0
param set-default MPC_XY_VEL_I_ACC 4 param set-default MPC_XY_VEL_I_ACC 4
@@ -26,4 +25,6 @@ param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 4 param set-default MNT_MODE_IN 4
param set-default MNT_DO_STAB 2 param set-default MNT_DO_STAB 2
set MAV_TYPE 13
set MIXER hexa_x set MIXER hexa_x
@@ -7,8 +7,6 @@
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
param set-default MAV_TYPE 13
param set-default MC_PITCHRATE_P 0.0800 param set-default MC_PITCHRATE_P 0.0800
param set-default MC_PITCHRATE_I 0.0400 param set-default MC_PITCHRATE_I 0.0400
param set-default MC_PITCHRATE_D 0.0010 param set-default MC_PITCHRATE_D 0.0010
@@ -28,4 +26,6 @@ param set-default MNT_MODE_IN 4
param set-default MNT_MODE_OUT 2 param set-default MNT_MODE_OUT 2
param set-default MAV_PROTO_VER 2 param set-default MAV_PROTO_VER 2
set MAV_TYPE 13
set MIXER hexa_x set MIXER hexa_x
@@ -0,0 +1,72 @@
#!/bin/sh
#
# @name Typhoon H480 SITL
#
# @type Hexarotor x
#
. ${R}etc/init.d/rc.mc_defaults
. ${R}etc/init.d/rc.ctrlalloc
param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_P_ACC 3
param set-default RTL_DESCEND_ALT 10
param set-default RTL_LAND_DELAY 0
param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 0
param set-default MAV_PROTO_VER 2
param set-default MPC_USE_HTE 0
param set-default VM_MASS 2.66
param set-default VM_INERTIA_XX 0.06
param set-default VM_INERTIA_YY 0.06
param set-default VM_INERTIA_ZZ 0.10
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_ACT4_MIN 0.0
param set-default CA_ACT5_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_ACT4_MAX 1.0
param set-default CA_ACT5_MAX 1.0
param set-default CA_MC_R0_PX 0.0
param set-default CA_MC_R0_PY 1.0
param set-default CA_MC_R0_CT 9.5
param set-default CA_MC_R0_KM -0.05
param set-default CA_MC_R1_PX 0.0
param set-default CA_MC_R1_PY -1.0
param set-default CA_MC_R1_CT 9.5
param set-default CA_MC_R1_KM 0.05
param set-default CA_MC_R2_PX 0.866025
param set-default CA_MC_R2_PY -0.5
param set-default CA_MC_R2_CT 9.5
param set-default CA_MC_R2_KM -0.05
param set-default CA_MC_R3_PX -0.866025
param set-default CA_MC_R3_PY 0.5
param set-default CA_MC_R3_CT 9.5
param set-default CA_MC_R3_KM 0.05
param set-default CA_MC_R4_PX 0.866025
param set-default CA_MC_R4_PY 0.5
param set-default CA_MC_R4_CT 9.5
param set-default CA_MC_R4_KM 0.05
param set-default CA_MC_R5_PX -0.866025
param set-default CA_MC_R5_PY -0.5
param set-default CA_MC_R5_CT 9.5
param set-default CA_MC_R5_KM -0.05
set MAV_TYPE 13
# set MIXER hexa_x
set MIXER direct
@@ -1,7 +1,7 @@
mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix
mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 -p
# shellcheck disable=SC2154 # shellcheck disable=SC2154
mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local
@@ -1,70 +0,0 @@
#!/bin/sh
#
# @name Typhoon H480 SITL
#
# @type Hexarotor x
#
. ${R}etc/init.d/rc.mc_defaults
param set-default MAV_TYPE 13
param set-default SYS_CTRL_ALLOC 1
param set-default MC_PITCHRATE_P 0.0800
param set-default MC_PITCHRATE_I 0.0400
param set-default MC_PITCHRATE_D 0.0010
param set-default MC_PITCH_P 9.0
param set-default MC_ROLLRATE_P 0.0800
param set-default MC_ROLLRATE_I 0.0400
param set-default MC_ROLLRATE_D 0.0010
param set-default MC_ROLL_P 9.0
param set-default MC_PITCHRATE_P 0.0800
param set-default MC_PITCHRATE_I 0.0400
param set-default MC_PITCHRATE_D 0.0010
param set-default MC_PITCH_P 9.0
param set-default MC_ROLLRATE_P 0.0800
param set-default MC_ROLLRATE_I 0.0400
param set-default MC_ROLLRATE_D 0.0010
param set-default MC_ROLL_P 9.0
param set-default RTL_DESCEND_ALT 10
param set-default RTL_LAND_DELAY 0
param set-default TRIG_INTERFACE 3
param set-default TRIG_MODE 4
param set-default MNT_MODE_IN 0
param set-default MAV_PROTO_VER 2
param set-default CA_AIRFRAME 0
param set-default CA_ROTOR_COUNT 6
param set-default CA_ROTOR0_PX 0.0
param set-default CA_ROTOR0_PY 1.0
param set-default CA_ROTOR0_KM -0.05
param set-default CA_ROTOR1_PX 0.0
param set-default CA_ROTOR1_PY -1.0
param set-default CA_ROTOR1_KM 0.05
param set-default CA_ROTOR2_PX 0.866025
param set-default CA_ROTOR2_PY -0.5
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.866025
param set-default CA_ROTOR3_PY 0.5
param set-default CA_ROTOR3_KM 0.05
param set-default CA_ROTOR4_PX 0.866025
param set-default CA_ROTOR4_PY 0.5
param set-default CA_ROTOR4_KM 0.05
param set-default CA_ROTOR5_PX -0.866025
param set-default CA_ROTOR5_PY -0.5
param set-default CA_ROTOR5_KM -0.05
param set-default PWM_MAIN_FUNC1 101
param set-default PWM_MAIN_FUNC2 102
param set-default PWM_MAIN_FUNC3 103
param set-default PWM_MAIN_FUNC4 104
param set-default PWM_MAIN_FUNC5 105
param set-default PWM_MAIN_FUNC6 106
set MIXER skip
set MIXER_AUX none
@@ -1,8 +0,0 @@
mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 -p
# 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
@@ -35,15 +35,8 @@ px4_add_romfs_files(
10016_iris 10016_iris
10017_iris_ctrlalloc 10017_iris_ctrlalloc
10018_iris_foggy_lidar 10018_iris_foggy_lidar
10019_omnicopter
10020_if750a 10020_if750a
10020_if750a.post
10028_quadrotor_x
10029_hexarotor_x
10030_px4vision 10030_px4vision
10040_quadx
10041_airplane
10042_xvert
1010_iris_opt_flow 1010_iris_opt_flow
1010_iris_opt_flow.post 1010_iris_opt_flow.post
1011_iris_irlock 1011_iris_irlock
@@ -53,13 +46,14 @@ px4_add_romfs_files(
1014_solo 1014_solo
1015_iris_obs_avoid 1015_iris_obs_avoid
1015_iris_obs_avoid.post 1015_iris_obs_avoid.post
1016_iris_rtps
1016_iris_rtps.post
1017_iris_opt_flow_mockup 1017_iris_opt_flow_mockup
1018_iris_vision_velocity 1018_iris_vision_velocity
1019_iris_dual_gps 1019_iris_dual_gps
1020_uuv_generic 1020_uuv_generic
1021_uuv_hippocampus 1021_uuv_hippocampus
1022_uuv_bluerov2_heavy 1022_uuv_bluerov2_heavy
1025_iris_depth_camera
1030_plane 1030_plane
1031_plane_cam 1031_plane_cam
1032_plane_catapult 1032_plane_catapult
@@ -68,21 +62,14 @@ px4_add_romfs_files(
1034_rascal-electric 1034_rascal-electric
1035_techpod 1035_techpod
1036_malolo 1036_malolo
1037_believer
1038_glider
1040_standard_vtol 1040_standard_vtol
1041_tailsitter 1041_tailsitter
1042_tiltrotor 1042_tiltrotor
1043_standard_vtol_drop 1043_standard_vtol_drop
1043_standard_vtol_drop.post 1043_standard_vtol_drop.post
1058_standard_vtol_gimbal
1058_standard_vtol_gimbal.post
1059_tiltrotor_tri
1060_rover 1060_rover
1061_r1_rover 1061_r1_rover
1062_tf-r1 1062_tf-r1
1063_rover_gimbal
1063_rover_gimbal.post
1070_boat 1070_boat
3010_quadrotor_x 3010_quadrotor_x
3011_hexarotor_x 3011_hexarotor_x
@@ -90,6 +77,6 @@ px4_add_romfs_files(
2507_cloudship 2507_cloudship
6011_typhoon_h480 6011_typhoon_h480
6011_typhoon_h480.post 6011_typhoon_h480.post
6012_typhoon_h480_ctrlalloc 6012_typhoon_ctrlalloc
6012_typhoon_h480_ctrlalloc.post 6012_typhoon_ctrlalloc.post
) )
@@ -24,19 +24,9 @@ mavlink stream -r 10 -s OPTICAL_FLOW_RAD -u $udp_gcs_port_local
# API/Offboard link # API/Offboard link
mavlink start -x -u $udp_offboard_port_local -r 4000000 -f -m onboard -o $udp_offboard_port_remote mavlink start -x -u $udp_offboard_port_local -r 4000000 -f -m onboard -o $udp_offboard_port_remote
mavlink stream -r 2 -s COMMAND_CANCEL -u $udp_offboard_port_local
# Onboard link to camera # Onboard link to camera
mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote
# Onboard link to gimbal # Onboard link to gimbal
mavlink start -x -u $udp_onboard_gimbal_port_local -r 400000 -m gimbal -o $udp_onboard_gimbal_port_remote mavlink start -x -u $udp_onboard_gimbal_port_local -r 400000 -m gimbal -o $udp_onboard_gimbal_port_remote
# To display for SIH sitl
if [ "$SIM_MODE" = "sihsim" ]; then
udp_sihsim_port_local=$((19450+px4_instance))
udp_sihsim_port_remote=$((19410+px4_instance))
mavlink start -x -u $udp_sihsim_port_local -r 400000 -m custom -o $udp_sihsim_port_remote
mavlink stream -r 200 -s HIL_ACTUATOR_CONTROLS -u $udp_sihsim_port_local
mavlink stream -r 25 -s HIL_STATE_QUATERNION -u $udp_sihsim_port_local
fi
@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# shellcheck disable=SC2154 # shellcheck disable=SC2154
#param set-default MAV_SYS_ID $((px4_instance+1)) #param set MAV_SYS_ID $((px4_instance+1))
#param set-default IMU_INTEG_RATE 250 #param set IMU_INTEG_RATE 250
+1 -2
View File
@@ -10,7 +10,7 @@ fi
if [ ! -f replay_params.txt ]; then if [ ! -f replay_params.txt ]; then
echo "Creating $(pwd)/replay_params.txt" echo "Creating $(pwd)/replay_params.txt"
ulog_params -i "${replay}" -l ' ' | grep -e '^EKF2' > replay_params.txt ulog_params -i "${replay}" -d ' ' | grep -e '^EKF2' > replay_params.txt
fi fi
publisher_rules_file="orb_publisher.rules" publisher_rules_file="orb_publisher.rules"
@@ -21,7 +21,6 @@ ignore_others: false
EOF EOF
param set SDLOG_DIRS_MAX 7 param set SDLOG_DIRS_MAX 7
param set SDLOG_PROFILE 3
# apply all params before ekf starts, as some params cannot be changed after startup # apply all params before ekf starts, as some params cannot be changed after startup
replay tryapplyparams replay tryapplyparams
+26 -36
View File
@@ -1,7 +1,5 @@
#!/bin/sh #!/bin/sh
set -e
# PX4 commands need the 'px4-' prefix in bash. # PX4 commands need the 'px4-' prefix in bash.
# (px4-alias.sh is expected to be in the PATH) # (px4-alias.sh is expected to be in the PATH)
# shellcheck disable=SC1091 # shellcheck disable=SC1091
@@ -23,14 +21,16 @@ then
fi fi
# initialize script variables # initialize script variables
set AUX_MODE none
set AUX_BANK2 none
set IO_PRESENT no set IO_PRESENT no
set MAV_TYPE none
set MIXER none set MIXER none
set MIXER_AUX none set MIXER_AUX none
set MIXER_FILE none set MIXER_FILE none
set OUTPUT_MODE sim set OUTPUT_MODE sim
set EXTRA_MIXER_MODE none set EXTRA_MIXER_MODE none
set PWM_OUT none set PWM_OUT none
set PWM_AUX_OUT none
set SDCARD_MIXERS_PATH etc/mixers set SDCARD_MIXERS_PATH etc/mixers
set USE_IO no set USE_IO no
set VEHICLE_TYPE none set VEHICLE_TYPE none
@@ -48,10 +48,10 @@ else
# shellcheck disable=SC2012 # shellcheck disable=SC2012
REQUESTED_AUTOSTART=$(ls "${R}etc/init.d-posix/airframes" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p') REQUESTED_AUTOSTART=$(ls "${R}etc/init.d-posix/airframes" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
if [ -z "$REQUESTED_AUTOSTART" ]; then if [ -z "$REQUESTED_AUTOSTART" ]; then
echo "ERROR [init] Unknown model $PX4_SIM_MODEL (not found by name on ${R}etc/init.d-posix/airframes)" echo "Error: Unknown model $PX4_SIM_MODEL (not found by name on ${R}etc/init.d-posix/airframes)"
exit 1 exit 1
else else
echo "INFO [init] found model autostart file as SYS_AUTOSTART=$REQUESTED_AUTOSTART" echo "Info: found model autostart file as SYS_AUTOSTART=$REQUESTED_AUTOSTART"
fi fi
fi fi
@@ -96,15 +96,15 @@ fi
if param compare SYS_AUTOCONFIG 1 if param compare SYS_AUTOCONFIG 1
then then
# Reset params except Airframe, RC calibration, sensor calibration, flight modes, total flight time, and next flight UUID.
param reset_all SYS_AUTOSTART RC* CAL_* COM_FLTMODE* LND_FLIGHT* TC_* COM_FLIGHT*
set AUTOCNF yes set AUTOCNF yes
# Wipe out params except RC*, flight modes, total flight time, accel cal, gyro cal, next flight UUID
param reset_all SYS_AUTO* RC* COM_FLTMODE* LND_FLIGHT* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT*
fi fi
# multi-instance setup # multi-instance setup
# shellcheck disable=SC2154 # shellcheck disable=SC2154
param set MAV_SYS_ID $((px4_instance+1)) param set MAV_SYS_ID $((px4_instance+1))
param set MNT_MAV_SYSID $((px4_instance+1))
if [ $AUTOCNF = yes ] if [ $AUTOCNF = yes ]
then then
@@ -122,9 +122,11 @@ then
param set SENS_BOARD_X_OFF 0.000001 param set SENS_BOARD_X_OFF 0.000001
param set SENS_DPRES_OFF 0.001 param set SENS_DPRES_OFF 0.001
param set SYS_RESTART_TYPE 2
fi fi
param set-default BAT1_N_CELLS 4 param set-default BAT_N_CELLS 4
param set-default CBRK_AIRSPD_CHK 0 param set-default CBRK_AIRSPD_CHK 0
param set-default CBRK_SUPPLY_CHK 894281 param set-default CBRK_SUPPLY_CHK 894281
@@ -146,8 +148,6 @@ param set-default SENS_MAG_MODE 0
param set-default IMU_GYRO_FFT_EN 1 param set-default IMU_GYRO_FFT_EN 1
param set-default -s MC_AT_EN 1
# By default log from boot until first disarm. # By default log from boot until first disarm.
param set-default SDLOG_MODE 1 param set-default SDLOG_MODE 1
# enable default, estimator replay and vision/avoidance logging profiles # enable default, estimator replay and vision/avoidance logging profiles
@@ -156,8 +156,6 @@ param set-default SDLOG_DIRS_MAX 7
param set-default TRIG_INTERFACE 3 param set-default TRIG_INTERFACE 3
param set-default SYS_FAILURE_EN 1
# Adapt timeout parameters if simulation runs faster or slower than realtime. # Adapt timeout parameters if simulation runs faster or slower than realtime.
if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then
COM_DL_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 10" | bc) COM_DL_LOSS_T_LONGER=$(echo "$PX4_SIM_SPEED_FACTOR * 10" | bc)
@@ -199,6 +197,14 @@ fi
. "$autostart_file" . "$autostart_file"
#
# If autoconfig parameter was set, reset it and save parameters.
#
if [ $AUTOCNF = yes ]
then
param set SYS_AUTOCONFIG 0
fi
# Simulator IMU data provided at 250 Hz # Simulator IMU data provided at 250 Hz
param set IMU_INTEG_RATE 250 param set IMU_INTEG_RATE 250
@@ -206,11 +212,8 @@ param set IMU_INTEG_RATE 250
. px4-rc.params . px4-rc.params
dataman start dataman start
# start sih in sih_sim mode, otherwise simulator module
if [ "$SIM_MODE" = "sihsim" ]; then
sih start
# only start the simulator if not in replay mode, as both control the lockstep time # only start the simulator if not in replay mode, as both control the lockstep time
elif ! replay tryapplyparams if ! replay tryapplyparams
then then
. px4-rc.simulator . px4-rc.simulator
fi fi
@@ -218,27 +221,14 @@ load_mon start
battery_simulator start battery_simulator start
tone_alarm start tone_alarm start
rc_update start rc_update start
manual_control start
sensors start sensors start
commander start commander start
# Configure vehicle type specific parameters.
# Note: rc.vehicle_setup is the entry point for rc.interface,
# rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps.
#
. ${R}etc/init.d/rc.vehicle_setup
navigator start navigator start
# Try to start the micrortps_client with UDP transport if module exists
if px4-micrortps_client status > /dev/null 2>&1
then
. px4-rc.rtps
fi
if param greater -s MNT_MODE_IN -1 if param greater -s MNT_MODE_IN -1
then then
gimbal start vmount start
fi fi
if param greater -s TRIG_MODE 0 if param greater -s TRIG_MODE 0
@@ -257,11 +247,11 @@ then
gyro_calibration start gyro_calibration start
fi fi
# Payload deliverer module if gripper is enabled # Configure vehicle type specific parameters.
if param compare -s PD_GRIPPER_EN 1 # Note: rc.vehicle_setup is the entry point for rc.interface,
then # rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps.
payload_deliverer start #
fi . ${R}etc/init.d/rc.vehicle_setup
#user defined mavlink streams for instances can be in PATH #user defined mavlink streams for instances can be in PATH
. px4-rc.mavlink . px4-rc.mavlink
+2 -2
View File
@@ -39,11 +39,10 @@ px4_add_romfs_files(
rc.balloon_apps rc.balloon_apps
rc.balloon_defaults rc.balloon_defaults
rc.boat_defaults rc.boat_defaults
rc.autostart_ext
rc.fw_apps rc.fw_apps
rc.fw_defaults rc.fw_defaults
rc.heli_defaults
rc.interface rc.interface
rc.io
rc.logging rc.logging
rc.mc_apps rc.mc_apps
rc.mc_defaults rc.mc_defaults
@@ -57,4 +56,5 @@ px4_add_romfs_files(
rc.vehicle_setup rc.vehicle_setup
rc.vtol_apps rc.vtol_apps
rc.vtol_defaults rc.vtol_defaults
rc.ctrlalloc
) )
@@ -13,12 +13,12 @@
# @output MAIN6 gear # @output MAIN6 gear
# #
# @maintainer Lorenz Meier <lorenz@px4.io> # @maintainer Lorenz Meier <lorenz@px4.io>
# @board px4_fmu-v2 exclude
# #
. ${R}etc/init.d/rc.fw_defaults . ${R}etc/init.d/rc.fw_defaults
param set-default BAT1_N_CELLS 3
param set-default BAT_N_CELLS 3
param set-default FW_AIRSPD_MAX 20 param set-default FW_AIRSPD_MAX 20
param set-default FW_AIRSPD_MIN 12 param set-default FW_AIRSPD_MIN 12
@@ -29,37 +29,24 @@ param set-default FW_L1_DAMPING 0.74
param set-default FW_L1_PERIOD 16 param set-default FW_L1_PERIOD 16
param set-default FW_LND_ANG 15 param set-default FW_LND_ANG 15
param set-default FW_LND_FLALT 5 param set-default FW_LND_FLALT 5
param set-default FW_LND_HHDIST 15
param set-default FW_LND_HVIRT 13
param set-default FW_LND_TLALT 5
param set-default FW_THR_LND_MAX 0
param set-default FW_PR_FF 0.35 param set-default FW_PR_FF 0.35
param set-default FW_PR_I 0.1
param set-default FW_PR_IMAX 0.4
param set-default FW_PR_P 0.2 param set-default FW_PR_P 0.2
param set-default FW_RR_FF 0.6 param set-default FW_RR_FF 0.6
param set-default FW_RR_I 0.1
param set-default FW_RR_IMAX 0.2
param set-default FW_RR_P 0.3 param set-default FW_RR_P 0.3
param set-default RWTO_TKOFF 1 param set-default RWTO_TKOFF 1
param set-default CA_AIRFRAME 1
param set-default CA_ROTOR_COUNT 1
param set-default CA_ROTOR0_PX 0.3
param set-default CA_SV_CS_COUNT 4
param set-default CA_SV_CS0_TRQ_R 0.5
param set-default CA_SV_CS0_TYPE 2
param set-default CA_SV_CS1_TRQ_P 1.0
param set-default CA_SV_CS1_TYPE 3
param set-default CA_SV_CS2_TRQ_Y 1.0
param set-default CA_SV_CS2_TYPE 4
param set-default CA_SV_CS3_TYPE 10
param set-default HIL_ACT_REV 2
param set-default HIL_ACT_FUNC1 201
param set-default HIL_ACT_FUNC2 202
param set-default HIL_ACT_FUNC3 203
param set-default HIL_ACT_FUNC4 101
param set-default HIL_ACT_FUNC5 204
param set-default HIL_ACT_FUNC6 400
param set SYS_HITL 1 param set SYS_HITL 1
param set UAVCAN_ENABLE 0
# disable some checks to allow to fly # disable some checks to allow to fly
# - with usb # - with usb
param set-default CBRK_USB_CHK 197848 param set-default CBRK_USB_CHK 197848
@@ -0,0 +1,43 @@
#!/bin/sh
#
# @name Team Blacksheep Discovery
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
# @output MAIN5 feed-through of RC AUX1 channel
# @output MAIN6 feed-through of RC AUX2 channel
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
param set-default MC_ROLL_P 6.5
param set-default MC_ROLLRATE_P 0.1
param set-default MC_ROLLRATE_I 0.05
param set-default MC_ROLLRATE_D 0.0017
param set-default MC_PITCH_P 6.5
param set-default MC_PITCHRATE_P 0.14
param set-default MC_PITCHRATE_I 0.1
param set-default MC_PITCHRATE_D 0.0025
param set-default MC_YAW_P 2.8
param set-default MC_YAWRATE_P 0.28
param set-default MC_YAWRATE_I 0.1
param set-default MC_YAWRATE_D 0
set MIXER quad_w
set PWM_OUT 1234
@@ -0,0 +1,45 @@
#!/bin/sh
#
# @name 3DR Iris Quadrotor
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
# TODO tune roll/pitch separately
param set-default MC_ROLL_P 7
param set-default MC_ROLLRATE_P 0.15
param set-default MC_ROLLRATE_I 0.05
param set-default MC_ROLLRATE_D 0.004
param set-default MC_PITCH_P 7
param set-default MC_PITCHRATE_P 0.15
param set-default MC_PITCHRATE_I 0.05
param set-default MC_PITCHRATE_D 0.004
param set-default MC_YAW_P 2.5
param set-default MC_YAWRATE_P 0.25
param set-default MC_YAWRATE_I 0.25
param set-default MC_YAWRATE_D 0
param set-default BAT_V_DIV 12.27559
param set-default BAT_A_PER_V 15.39103
set MIXER quad_w
set PWM_OUT 1234
@@ -0,0 +1,45 @@
#!/bin/sh
#
# @name Steadidrone QU4D
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
# @output MAIN5 feed-through of RC AUX1 channel
# @output MAIN6 feed-through of RC AUX2 channel
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
param set-default BAT_N_CELLS 4
param set-default MC_ROLL_P 7
param set-default MC_ROLLRATE_P 0.13
param set-default MC_ROLLRATE_I 0.05
param set-default MC_ROLLRATE_D 0.004
param set-default MC_PITCH_P 7
param set-default MC_PITCHRATE_P 0.19
param set-default MC_PITCHRATE_I 0.05
param set-default MC_PITCHRATE_D 0.004
param set-default MC_YAW_P 4
param set-default MC_YAWRATE_P 0.2
param set-default MC_YAWRATE_I 0.1
param set-default MC_YAWRATE_D 0
set MIXER quad_w
set PWM_OUT 1234
@@ -0,0 +1,50 @@
#!/bin/sh
#
# @name Team Blacksheep Discovery Endurance
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
# @output MAIN5 feed-through of RC AUX1 channel
# @output MAIN6 feed-through of RC AUX2 channel
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
param set-default BAT_N_CELLS 6
param set-default BAT_V_EMPTY 3.5
param set-default MC_ROLL_P 7
param set-default MC_ROLLRATE_P 0.08
param set-default MC_ROLLRATE_I 0.02
param set-default MC_ROLLRATE_D 0.003
param set-default MC_PITCH_P 7
param set-default MC_PITCHRATE_P 0.13
param set-default MC_PITCHRATE_I 0.02
param set-default MC_PITCHRATE_D 0.005
param set-default MC_YAW_P 2.8
param set-default MC_YAWRATE_P 0.2
param set-default MC_YAWRATE_I 0.1
param set-default MC_YAWRATE_D 0
param set-default MPC_XY_VEL_MAX 2
param set-default PWM_MAIN_MIN 1080
set MIXER quad_w
set PWM_OUT 1234
@@ -6,34 +6,15 @@
# @class Copter # @class Copter
# #
# @maintainer Lorenz Meier <lorenz@px4.io> # @maintainer Lorenz Meier <lorenz@px4.io>
# @board px4_fmu-v2 exclude
# #
. ${R}etc/init.d/rc.mc_defaults . ${R}etc/init.d/rc.mc_defaults
set MIXER quad_x set MIXER quad_x
set PWM_OUT 1234
param set SYS_HITL 1 param set SYS_HITL 1
param set UAVCAN_ENABLE 0
param set-default CA_ROTOR_COUNT 4
param set-default CA_ROTOR0_PX 0.15
param set-default CA_ROTOR0_PY 0.15
param set-default CA_ROTOR1_PX -0.15
param set-default CA_ROTOR1_PY -0.15
param set-default CA_ROTOR2_PX 0.15
param set-default CA_ROTOR2_PY -0.15
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.15
param set-default CA_ROTOR3_PY 0.15
param set-default CA_ROTOR3_KM -0.05
param set-default HIL_ACT_FUNC1 101
param set-default HIL_ACT_FUNC2 102
param set-default HIL_ACT_FUNC3 103
param set-default HIL_ACT_FUNC4 104
# disable some checks to allow to fly # disable some checks to allow to fly
# - with usb # - with usb
param set-default CBRK_USB_CHK 197848 param set-default CBRK_USB_CHK 197848
@@ -9,18 +9,19 @@
# #
# @board px4_fmu-v2 exclude # @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude # @board bitcraze_crazyflie exclude
# @board holybro_kakutef7 exclude
# #
. ${R}etc/init.d/rc.vtol_defaults . ${R}etc/init.d/rc.vtol_defaults
param set-default BAT1_N_CELLS 3 param set-default BAT_N_CELLS 3
param set-default COM_RC_IN_MODE 1 param set-default COM_RC_IN_MODE 1
param set-default EKF2_AID_MASK 1
param set-default EKF2_ANGERR_INIT 0.01 param set-default EKF2_ANGERR_INIT 0.01
param set-default EKF2_GBIAS_INIT 0.01 param set-default EKF2_GBIAS_INIT 0.01
param set-default EKF2_HGT_MODE 0
param set-default EKF2_MAG_TYPE 1 param set-default EKF2_MAG_TYPE 1
param set-default FW_AIRSPD_MAX 25 param set-default FW_AIRSPD_MAX 25
@@ -45,56 +46,26 @@ param set-default MPC_XY_VEL_I_ACC 4
param set-default MPC_XY_VEL_P_ACC 3 param set-default MPC_XY_VEL_P_ACC 3
param set-default MPC_Z_VEL_P_ACC 12 param set-default MPC_Z_VEL_P_ACC 12
param set-default MPC_Z_VEL_I_ACC 3 param set-default MPC_Z_VEL_I_ACC 3
param set-default MPC_Z_VEL_MAX_DN 1.5
param set-default NAV_ACC_RAD 5 param set-default NAV_ACC_RAD 5
param set-default NAV_DLL_ACT 2 param set-default NAV_DLL_ACT 2
param set-default NAV_LOITER_RAD 80
param set-default RTL_DESCEND_ALT 10 param set-default RTL_DESCEND_ALT 10
param set-default RTL_RETURN_ALT 30 param set-default RTL_RETURN_ALT 30
param set-default SDLOG_DIRS_MAX 7 param set-default SDLOG_DIRS_MAX 7
param set-default SYS_RESTART_TYPE 2
param set-default VT_F_TRANS_THR 0.75 param set-default VT_F_TRANS_THR 0.75
param set-default VT_MOT_ID 1234 param set-default VT_MOT_ID 1234
param set-default VT_FW_MOT_OFFID 1234 param set-default VT_FW_MOT_OFFID 1234
param set-default VT_TYPE 2 param set-default VT_TYPE 2
param set-default CA_AIRFRAME 2
param set-default CA_ROTOR_COUNT 5
param set-default CA_ROTOR0_PX 0.15
param set-default CA_ROTOR0_PY 0.15
param set-default CA_ROTOR1_PX -0.15
param set-default CA_ROTOR1_PY -0.15
param set-default CA_ROTOR2_PX 0.15
param set-default CA_ROTOR2_PY -0.15
param set-default CA_ROTOR2_KM -0.05
param set-default CA_ROTOR3_PX -0.15
param set-default CA_ROTOR3_PY 0.15
param set-default CA_ROTOR3_KM -0.05
param set-default CA_ROTOR4_AX 1.0
param set-default CA_ROTOR4_AZ 0.0
param set-default CA_ROTOR4_PX 0.2
param set-default CA_SV_CS_COUNT 3
param set-default CA_SV_CS1_TRQ_R 0.5
param set-default CA_SV_CS1_TYPE 2
param set-default CA_SV_CS2_TRQ_P 1.0
param set-default CA_SV_CS2_TYPE 3
param set-default HIL_ACT_FUNC1 101
param set-default HIL_ACT_FUNC2 102
param set-default HIL_ACT_FUNC3 103
param set-default HIL_ACT_FUNC4 104
param set-default HIL_ACT_FUNC5 105
param set-default HIL_ACT_FUNC6 201
param set-default HIL_ACT_FUNC7 202
param set-default HIL_ACT_FUNC8 203
param set SYS_HITL 1 param set SYS_HITL 1
param set UAVCAN_ENABLE 0
# disable some checks to allow to fly # disable some checks to allow to fly
# - with usb # - with usb
param set-default CBRK_USB_CHK 197848 param set-default CBRK_USB_CHK 197848
@@ -104,7 +75,7 @@ param set-default CBRK_SUPPLY_CHK 894281
param set-default COM_PREARM_MODE 0 param set-default COM_PREARM_MODE 0
param set-default CBRK_IO_SAFETY 22027 param set-default CBRK_IO_SAFETY 22027
param set-default MAV_TYPE 22 set MAV_TYPE 22
set MIXER standard_vtol_hitl set MIXER standard_vtol_hitl

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