diff --git a/.clang-tidy b/.clang-tidy index 2f9fdf2765..81f2d62596 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,11 +1,17 @@ --- Checks: '*, + -*-avoid-c-arrays, + -*-uppercase-literal-suffix, + -*-magic-numbers, + -altera-id-dependent-backward-branch, + -altera-unroll-loops, -android*, -bugprone-integer-division, -cert-dcl50-cpp, -cert-env33-c, -cert-err34-c, -cert-err58-cpp, + -cert-flp30-c, -cert-msc30-c, -cert-msc50-cpp, -clang-analyzer-core.CallAndMessage, @@ -18,6 +24,7 @@ Checks: '*, -clang-analyzer-deadcode.DeadStores, -clang-analyzer-optin.cplusplus.VirtualCall, -clang-analyzer-optin.performance.Padding, + -clang-analyzer-security.FloatLoopCounter, -clang-analyzer-security.insecureAPI.strcpy, -clang-analyzer-unix.API, -clang-analyzer-unix.cstring.BadSizeArg, @@ -37,8 +44,7 @@ Checks: '*, -cppcoreguidelines-pro-type-union-access, -cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-special-member-functions, - -fuchsia-default-arguments, - -fuchsia-overloaded-operator, + -fuchsia-*, -google-build-using-namespace, -google-explicit-constructor, -google-global-names-in-headers, @@ -62,6 +68,7 @@ Checks: '*, -hicpp-use-equals-delete, -hicpp-use-override, -hicpp-vararg, + -llvmlibc-*, -llvm-header-guard, -llvm-include-order, -llvm-namespace-comment, @@ -84,6 +91,7 @@ Checks: '*, -modernize-use-override, -modernize-use-trailing-return-type, -modernize-use-using, + -modernize-use-trailing-return-type, -performance-inefficient-string-concatenation, -readability-avoid-const-params-in-decls, -readability-container-size-empty, diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 7c68bee341..d41196fbf2 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,17 +1,14 @@ -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. +**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. -## Describe problem solved by this pull request -A clear and concise description of the problem this proposed change will solve. Or, what it will improve. -E.g. For this use case I ran into... +**JIRA ID in title, and link here** +Add a link and the title of the JIRA for context -## Describe your solution -A clear and concise description of what you have implemented. +**Upstream/develop PR that this was backported from** +If applicable, link to PR and/or commit -## Describe possible alternatives -A clear and concise description of alternative solutions or features you've considered. +**Critical bug that needs backporting?** +Yes/No, link to backport PR when applicable -## 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 +**Additional context** Add any other related context or media. diff --git a/.github/workflows/cflite_batch.yml b/.github/workflows/cflite_batch.yml deleted file mode 100644 index d1321cc6b7..0000000000 --- a/.github/workflows/cflite_batch.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: ClusterFuzzLite batch fuzzing -on: - schedule: - - cron: '0 6 * * *' # UTC 6am every day. -permissions: read-all -jobs: - BatchFuzzing: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - sanitizer: - - address - - undefined - - memory - steps: - - name: Build Fuzzers (${{ matrix.sanitizer }}) - id: build - uses: google/clusterfuzzlite/actions/build_fuzzers@v1 - with: - sanitizer: ${{ matrix.sanitizer }} - - name: Run Fuzzers (${{ matrix.sanitizer }}) - id: run - uses: google/clusterfuzzlite/actions/run_fuzzers@v1 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - fuzz-seconds: 1800 # 30 mins - mode: 'batch' - sanitizer: ${{ matrix.sanitizer }} - # Optional but recommended: For storing certain artifacts from fuzzing. - # See later section on "Git repo for storage". - # storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git - # storage-repo-branch: main # Optional. Defaults to "main" - # storage-repo-branch-coverage: gh-pages # Optional. Defaults to "gh-pages". diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml deleted file mode 100644 index bcae79ad69..0000000000 --- a/.github/workflows/checks.yml +++ /dev/null @@ -1,51 +0,0 @@ -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", - "BUILD_MICRORTPS_AGENT=1 px4_sitl_rtps", - "airframe_metadata", - "module_documentation", - "parameters_metadata", - ] - container: - image: px4io/px4-dev-nuttx-focal:2021-09-08 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - 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 diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml deleted file mode 100644 index 69569170c8..0000000000 --- a/.github/workflows/clang-tidy.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Clang Tidy - -on: - push: - branches: - - 'master' - pull_request: - branches: - - '*' - -jobs: - build: - runs-on: ubuntu-latest - container: px4io/px4-dev-clang:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{secrets.ACCESS_TOKEN}} - - - name: make clang-tidy-quiet - run: make clang-tidy-quiet diff --git a/.github/workflows/compile_linux.yml b/.github/workflows/compile_linux.yml deleted file mode 100644 index 54ed88d913..0000000000 --- a/.github/workflows/compile_linux.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Linux Targets - -on: - push: - branches: - - 'master' - pull_request: - branches: - - '*' - -jobs: - build: - runs-on: ubuntu-latest - container: px4io/px4-dev-armhf:2021-09-08 - 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 = 6" >> ~/.ccache/ccache.conf - echo "max_size = 100M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - - name: make ${{matrix.config}} - run: make ${{matrix.config}} - - name: ccache post-run - run: ccache -s diff --git a/.github/workflows/compile_linux_arm64.yml b/.github/workflows/compile_linux_arm64.yml deleted file mode 100644 index 5aef9adf27..0000000000 --- a/.github/workflows/compile_linux_arm64.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Linux ARM64 Targets - -on: - push: - branches: - - 'master' - pull_request: - branches: - - '*' - -jobs: - build: - runs-on: ubuntu-latest - container: px4io/px4-dev-aarch64:2021-09-08 - strategy: - matrix: - config: [ - scumaker_pilotpi_arm64, - ] - steps: - - uses: actions/checkout@v1 - with: - token: ${{secrets.ACCESS_TOKEN}} - - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} - run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{matrix.config}}-ccache- - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 100M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - - name: make ${{matrix.config}} - run: make ${{matrix.config}} - - name: ccache post-run - run: ccache -s diff --git a/.github/workflows/compile_macos.yml b/.github/workflows/compile_macos.yml deleted file mode 100644 index 9be5fc8977..0000000000 --- a/.github/workflows/compile_macos.yml +++ /dev/null @@ -1,56 +0,0 @@ -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 = 6" >> ~/.ccache/ccache.conf - echo "max_size = 40M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - - name: make ${{matrix.config}} - run: | - ccache -z - make ${{matrix.config}} - ccache -s diff --git a/.github/workflows/compile_nuttx.yml b/.github/workflows/compile_nuttx.yml deleted file mode 100644 index f871cd60a6..0000000000 --- a/.github/workflows/compile_nuttx.yml +++ /dev/null @@ -1,126 +0,0 @@ -name: Nuttx Targets - -on: - push: - branches: - - 'master' - pull_request: - branches: - - '*' - -jobs: - build: - runs-on: ubuntu-latest - container: px4io/px4-dev-nuttx-focal:2021-09-08 - strategy: - fail-fast: false - matrix: - config: [ - airmind_mindpx-v2, - ark_can-flow, - ark_can-gps, - ark_can-rtk-gps, - ark_cannode, - atl_mantis-edu, - av_x-v1, - bitcraze_crazyflie, - bitcraze_crazyflie21, - cuav_can-gps-v1, - cuav_nora, - cuav_x7pro, - cubepilot_cubeorange, - cubepilot_cubeyellow, - diatone_mamba-f405-mk2, - freefly_can-rtk-gps, - holybro_can-gps-v1, - holybro_durandal-v1, - holybro_kakutef7, - holybro_kakuteh7, - holybro_pix32v5, - matek_gnss-m9n-f4, - matek_h743, - matek_h743-mini, - matek_h743-slim, - modalai_fc-v1, - modalai_fc-v2, - mro_ctrl-zero-f7, - mro_ctrl-zero-f7-oem, - mro_ctrl-zero-h7, - mro_ctrl-zero-h7-oem, - mro_pixracerpro, - mro_x21, - mro_x21-777, - nxp_fmuk66-e, - nxp_fmuk66-v3, - nxp_fmurt1062-v1, - nxp_ucans32k146, - omnibus_f4sd, - px4_fmu-v2, - px4_fmu-v3, - px4_fmu-v4, - px4_fmu-v4pro, - px4_fmu-v5, - px4_fmu-v5x, - px4_fmu-v6c, - px4_fmu-v6u, - px4_fmu-v6x, - raspberrypi_pico, - sky-drones_smartap-airlink, - spracing_h7extreme, - uvify_core - ] - steps: - - uses: actions/checkout@v1 - with: - token: ${{secrets.ACCESS_TOKEN}} - - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} - run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{matrix.config}}-ccache- - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 120M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - - name: make all_variants_${{matrix.config}} - run: make all_variants_${{matrix.config}} - timeout-minutes: 45 - - name: make ${{matrix.config}} bloaty_compileunits - run: make ${{matrix.config}} bloaty_compileunits || true - - name: make ${{matrix.config}} bloaty_inlines - run: make ${{matrix.config}} bloaty_inlines || true - - name: make ${{matrix.config}} bloaty_segments - run: make ${{matrix.config}} bloaty_segments || true - - name: make ${{matrix.config}} bloaty_symbols - run: make ${{matrix.config}} bloaty_symbols || true - - name: make ${{matrix.config}} bloaty_templates - run: make ${{matrix.config}} bloaty_templates || true - - name: make ${{matrix.config}} bloaty_ram - run: make ${{matrix.config}} bloaty_ram || true - - name: make ${{matrix.config}} bloaty_compare_master - run: make ${{matrix.config}} bloaty_compare_master || true - - name: ccache post-run - run: ccache -s - - - name: Upload px4 package - uses: actions/upload-artifact@v2 - with: - name: px4_package_${{matrix.config}} - path: | - build/**/*.px4 - build/**/*.bin diff --git a/.github/workflows/deploy_all.yml b/.github/workflows/deploy_all.yml deleted file mode 100644 index 18480ac036..0000000000 --- a/.github/workflows/deploy_all.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Deploy metadata for all targets - -on: - push: - branches: - - 'master' - - 'release/*' - - 'pr-metadata-test' - -jobs: - enumerate_targets: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} - steps: - - uses: actions/checkout@v1 - with: - token: ${{secrets.ACCESS_TOKEN}} - - id: set-matrix - run: echo "::set-output name=matrix::$(./Tools/generate_board_targets_json.py)" - build: - runs-on: ubuntu-latest - needs: enumerate_targets - strategy: - matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}} - container: px4io/px4-dev-${{ matrix.container }}:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{secrets.ACCESS_TOKEN}} - - - name: make ${{matrix.target}} - run: make ${{matrix.target}} - - - name: parameter & events metadata - run: | - make ${{matrix.target}} ver_gen events_json actuators_json - ./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV - cd build/${{ matrix.target }} - mkdir _metadata || true - cp parameters.* events/*.xz actuators.json* _metadata - - - uses: jakejarvis/s3-sync-action@master - with: - args: --acl public-read - env: - AWS_S3_BUCKET: 'px4-travis' - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-west-1' - SOURCE_DIR: 'build/${{ matrix.target }}/_metadata/' - DEST_DIR: 'Firmware/${{ env.version }}/${{ matrix.target }}/' - diff --git a/.github/workflows/ekf_functional_change_indicator.yml b/.github/workflows/ekf_functional_change_indicator.yml deleted file mode 100644 index a5fa9db599..0000000000 --- a/.github/workflows/ekf_functional_change_indicator.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: EKF Change Indicator - -on: pull_request - -jobs: - unit_tests: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v2.3.1 - with: - fetch-depth: 0 - - name: checkout newest version of branch - run: | - git fetch origin pull/${{github.event.pull_request.number}}/head:${{github.head_ref}} - git checkout ${GITHUB_HEAD_REF} - - name: main test - run: make tests TESTFILTER=EKF - - name: Check if there is a functional change - run: git diff --exit-code - working-directory: src/modules/ekf2/test/change_indication diff --git a/.github/workflows/ekf_update_change_indicator.yml b/.github/workflows/ekf_update_change_indicator.yml deleted file mode 100644 index 7de35207f0..0000000000 --- a/.github/workflows/ekf_update_change_indicator.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: EKF Update Change Indicator - -on: push - -jobs: - unit_tests: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - env: - GIT_COMMITTER_EMAIL: bot@px4.io - GIT_COMMITTER_NAME: PX4BuildBot - steps: - - uses: actions/checkout@v2.3.1 - with: - fetch-depth: 0 - - name: main test updates change indication files - run: make tests TESTFILTER=EKF - - name: Check if there exists diff and save result in variable - run: echo "CHANGE_INDICATED=$(git diff --exit-code --output=/dev/null || echo $?)" >> $GITHUB_ENV - working-directory: src/modules/ekf2/test/change_indication - - name: auto-commit any changes to change indication - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: '[AUTO COMMIT] update change indication' - commit_user_name: ${GIT_COMMITTER_NAME} - commit_user_email: ${GIT_COMMITTER_EMAIL} - - if: ${{env.CHANGE_INDICATED}} - name: if there is a functional change, fail check - run: exit 1 diff --git a/.github/workflows/mavros_mission_tests.yml b/.github/workflows/mavros_mission_tests.yml deleted file mode 100644 index 8401f61b11..0000000000 --- a/.github/workflows/mavros_mission_tests.yml +++ /dev/null @@ -1,139 +0,0 @@ -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-09-08 - 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 = 6" >> ~/.ccache/ccache.conf - echo "max_size = 100M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.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}} - timeout-minutes: 45 - - - 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 diff --git a/.github/workflows/mavros_offboard_tests.yml b/.github/workflows/mavros_offboard_tests.yml deleted file mode 100644 index 0979c5a175..0000000000 --- a/.github/workflows/mavros_offboard_tests.yml +++ /dev/null @@ -1,134 +0,0 @@ -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-09-08 - 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 = 6" >> ~/.ccache/ccache.conf - echo "max_size = 100M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.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}} - timeout-minutes: 45 - - - 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 diff --git a/.github/workflows/metadata.yml b/.github/workflows/metadata.yml deleted file mode 100644 index 3adb3e565e..0000000000 --- a/.github/workflows/metadata.yml +++ /dev/null @@ -1,157 +0,0 @@ -name: Metadata - -on: - push: - branches: - - 'master' - - 'release/*' - - 'pr-metadata-test' - -jobs: - - airframe: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - name: airframe metadata - run: | - make airframe_metadata - ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV - cd build/px4_sitl_default/docs - # TODO: deploy to userguide gitbook - - - uses: jakejarvis/s3-sync-action@master - with: - args: --acl public-read - env: - AWS_S3_BUCKET: 'px4-travis' - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-west-1' - SOURCE_DIR: 'build/px4_sitl_default/docs/' - DEST_DIR: 'Firmware/${{ env.version }}/_general/' - - module: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - name: module documentation - run: | - make module_documentation - cd build/px4_sitl_default/docs - ls -ls * - # TODO: deploy to userguide gitbook and s3 - - parameter: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - name: parameter metadata - run: | - make parameters_metadata - ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV - - - uses: jakejarvis/s3-sync-action@master - with: - args: --acl public-read - env: - AWS_S3_BUCKET: 'px4-travis' - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-west-1' - SOURCE_DIR: 'build/px4_sitl_default/docs/' - DEST_DIR: 'Firmware/${{ env.version }}/_general/' - - events: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - name: events metadata - run: | - make extract_events - ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV - cd build/px4_sitl_default - mkdir _events_full || true - cp events/all_events_full.json.xz _events_full/all_events.json.xz - - - uses: jakejarvis/s3-sync-action@master - with: - args: --acl public-read - env: - AWS_S3_BUCKET: 'px4-travis' - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'us-west-1' - SOURCE_DIR: 'build/px4_sitl_default/_events_full/' - DEST_DIR: 'Firmware/${{ env.version }}/_general/' - - uorb_graph: - runs-on: ubuntu-latest - container: px4io/px4-dev-nuttx-focal:2021-09-08 - 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: px4io/px4-dev-base-focal:2021-09-08 - steps: - - uses: actions/checkout@v1 - with: - token: ${{ secrets.ACCESS_TOKEN }} - - - name: microRTPS agent - run: | - make px4_sitl_rtps - git clone https://github.com/PX4/micrortps_agent.git - cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent - - ROS_msgs: - runs-on: ubuntu-latest - container: px4io/px4-dev-base-focal:2021-09-08 - 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: px4io/px4-dev-base-focal:2021-09-08 - 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_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml diff --git a/.github/workflows/python_checks.yml b/.github/workflows/python_checks.yml deleted file mode 100644 index ddad50475c..0000000000 --- a/.github/workflows/python_checks.yml +++ /dev/null @@ -1,25 +0,0 @@ -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 types-requests 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 diff --git a/.github/workflows/sitl_tests.yml b/.github/workflows/sitl_tests.yml deleted file mode 100644 index 1f6b023531..0000000000 --- a/.github/workflows/sitl_tests.yml +++ /dev/null @@ -1,135 +0,0 @@ -name: SITL Tests - -on: - push: - branches: - - 'master' - pull_request: - branches: - - '*' - -jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - config: - - {model: "iris", latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo" } # Alaska - - {model: "standard_vtol", latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "AddressSanitizer" } # Australia - - {model: "tailsitter" , latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo" } # Florida - - {model: "standard_vtol", latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage" } # Zurich - - container: - image: px4io/px4-dev-simulation-focal:2021-09-08 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined - steps: - - 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)/libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb" - - name: Install MAVSDK - run: dpkg -i "libmavsdk-dev_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb" - - - 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 = 6" >> ~/.ccache/ccache.conf - echo "max_size = 100M" >> ~/.ccache/ccache.conf - echo "hash_dir = false" >> ~/.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 --verbose - timeout-minutes: 45 - - - 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 diff --git a/.gitmodules b/.gitmodules index 22ef494793..255e759ced 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "src/modules/mavlink/mavlink"] path = src/modules/mavlink/mavlink - url = https://github.com/mavlink/mavlink.git + url = https://github.com/Auterion/mavlink.git branch = master [submodule "src/drivers/uavcan/libuavcan"] path = src/drivers/uavcan/libuavcan @@ -12,8 +12,8 @@ branch = master [submodule "Tools/sitl_gazebo"] path = Tools/sitl_gazebo - url = https://github.com/PX4/PX4-SITL_gazebo.git - branch = master + url = git@github.com:Auterion/sitl_gazebo.git + branch = develop [submodule "src/drivers/gps/devices"] path = src/drivers/gps/devices url = https://github.com/PX4/PX4-GPSDrivers.git diff --git a/CMakeLists.txt b/CMakeLists.txt index c1bc1b494e..9d14c9f9dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,6 +175,12 @@ include(kconfig) message(STATUS "PX4 config: ${PX4_CONFIG}") 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(ENABLE_LOCKSTEP_SCHEDULER) @@ -185,6 +191,18 @@ if(${PX4_PLATFORM} STREQUAL "posix") 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 set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location") diff --git a/Makefile b/Makefile index 32a6e17c0d..260a80137b 100644 --- a/Makefile +++ b/Makefile @@ -129,6 +129,22 @@ else BUILD_DIR_SUFFIX := 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 ifdef EXTERNAL_MODULES_LOCATION CMAKE_ARGS += -DEXTERNAL_MODULES_LOCATION:STRING=$(EXTERNAL_MODULES_LOCATION) @@ -245,6 +261,12 @@ define deprecation_warning $(warning $(1) has been deprecated and will be removed, please use $(2)!) 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). .PHONY: all px4_sitl_default all_config_targets all_default_targets @@ -314,7 +336,9 @@ uorb_graphs: @$(MAKE) --no-print-directory px4_fmu-v5_default uorb_graph @$(MAKE) --no-print-directory px4_sitl_default uorb_graph -px4io_update: px4_io-v2_default cubepilot_io-v2_default +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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/10020_if750a.post b/ROMFS/px4fmu_common/init.d-posix/airframes/10020_if750a.post new file mode 100644 index 0000000000..80264373dc --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/10020_if750a.post @@ -0,0 +1,10 @@ + +mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix + +mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 + +# shellcheck disable=SC2154 +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local +# shellcheck disable=SC2154 +mavlink stream -r 50 -s ATTITUDE_QUATERNION -u $udp_offboard_port_local +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_offboard_port_local diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/10028_quadrotor_x b/ROMFS/px4fmu_common/init.d-posix/airframes/10028_quadrotor_x new file mode 100644 index 0000000000..81e2505111 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/10028_quadrotor_x @@ -0,0 +1,12 @@ +#!/bin/sh +# +# @name Quadrotor SITL model for JSBSim +# +# @type Quadrotor Wide +# +# @maintainer Jaeyoung Lim +# + +. ${R}etc/init.d/rc.mc_defaults + +set MIXER quad_w diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/10029_hexarotor_x b/ROMFS/px4fmu_common/init.d-posix/airframes/10029_hexarotor_x new file mode 100644 index 0000000000..d614bbf553 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/10029_hexarotor_x @@ -0,0 +1,30 @@ +#!/bin/sh +# +# @name Hexacopter SITL model for JSBSim +# +# @type Hexarotor x +# +# @maintainer Jaeyoung Lim +# + +. ${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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1025_iris_depth_camera b/ROMFS/px4fmu_common/init.d-posix/airframes/1025_iris_depth_camera new file mode 100644 index 0000000000..1c1c111a5d --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1025_iris_depth_camera @@ -0,0 +1,11 @@ +#!/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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1030_plane b/ROMFS/px4fmu_common/init.d-posix/airframes/1030_plane index b84da715cf..47e29ede25 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1030_plane +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1030_plane @@ -10,16 +10,12 @@ param set-default EKF2_MAG_YAWLIM 0 param set-default FW_LND_AIRSPD_SC 1 param set-default FW_LND_ANG 8 -param set-default FW_THR_LND_MAX 0 param set-default FW_L1_PERIOD 12 -param set-default FW_MAN_P_MAX 30 - param set-default FW_PR_P 0.9 param set-default FW_PR_FF 0.2 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_FF 0.1 @@ -29,7 +25,7 @@ param set-default FW_SPOILERS_LND 0.4 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 -param set-default FW_THR_CRUISE 0.25 +param set-default FW_THR_TRIM 0.25 param set-default FW_T_CLMB_MAX 8 param set-default FW_T_SINK_MAX 2.7 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1033_rascal b/ROMFS/px4fmu_common/init.d-posix/airframes/1033_rascal index df50472545..80aad7ab12 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1033_rascal +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1033_rascal @@ -7,12 +7,9 @@ param set-default FW_LND_AIRSPD_SC 1.1 param set-default FW_LND_ANG 5 -param set-default FW_THR_LND_MAX 0 -param set-default FW_LND_HHDIST 30 param set-default FW_LND_FL_PMIN 9.5 param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FLALT 5 -param set-default FW_LND_TLALT 15 param set-default FW_L1_PERIOD 25 @@ -38,7 +35,6 @@ param set-default NAV_DLL_ACT 2 param set-default RWTO_TKOFF 1 param set-default RWTO_MAX_PITCH 20 -param set-default RWTO_MAX_ROLL 10 param set-default RWTO_PSP 8 param set-default RWTO_AIRSPD_SCL 1.8 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1034_rascal-electric b/ROMFS/px4fmu_common/init.d-posix/airframes/1034_rascal-electric index 0206ebea2f..4344116652 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1034_rascal-electric +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1034_rascal-electric @@ -7,12 +7,9 @@ param set-default FW_LND_AIRSPD_SC 1.1 param set-default FW_LND_ANG 5 -param set-default FW_THR_LND_MAX 0 -param set-default FW_LND_HHDIST 30 param set-default FW_LND_FL_PMIN 9.5 param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FLALT 5 -param set-default FW_LND_TLALT 15 param set-default FW_L1_PERIOD 25 @@ -38,7 +35,6 @@ param set-default NAV_DLL_ACT 2 param set-default RWTO_TKOFF 1 param set-default RWTO_MAX_PITCH 20 -param set-default RWTO_MAX_ROLL 10 param set-default RWTO_PSP 8 param set-default RWTO_AIRSPD_SCL 1.8 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1035_techpod b/ROMFS/px4fmu_common/init.d-posix/airframes/1035_techpod index 30d7b926b0..83476e9e93 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1035_techpod +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1035_techpod @@ -10,7 +10,6 @@ param set-default EKF2_MAG_YAWLIM 0 param set-default FW_LND_AIRSPD_SC 1 param set-default FW_LND_ANG 8 -param set-default FW_THR_LND_MAX 0 param set-default FW_L1_PERIOD 15 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1036_malolo b/ROMFS/px4fmu_common/init.d-posix/airframes/1036_malolo index a6bfc13246..915940a146 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1036_malolo +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1036_malolo @@ -7,12 +7,9 @@ param set-default FW_LND_AIRSPD_SC 1.1 param set-default FW_LND_ANG 5 -param set-default FW_THR_LND_MAX 0 -param set-default FW_LND_HHDIST 30 param set-default FW_LND_FL_PMIN 9.5 param set-default FW_LND_FL_PMAX 20 param set-default FW_LND_FLALT 5 -param set-default FW_LND_TLALT 15 param set-default FW_L1_PERIOD 25 @@ -37,7 +34,6 @@ param set-default NAV_DLL_ACT 2 param set-default RWTO_TKOFF 1 param set-default RWTO_MAX_PITCH 20 -param set-default RWTO_MAX_ROLL 10 param set-default RWTO_PSP 8 param set-default RWTO_AIRSPD_SCL 1.8 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1037_believer b/ROMFS/px4fmu_common/init.d-posix/airframes/1037_believer index 1ad89de157..08763918f1 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1037_believer +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1037_believer @@ -10,16 +10,12 @@ param set-default EKF2_MAG_YAWLIM 0 param set-default FW_LND_AIRSPD_SC 1 param set-default FW_LND_ANG 8 -param set-default FW_THR_LND_MAX 0 param set-default FW_L1_PERIOD 12 -param set-default FW_MAN_P_MAX 30 - param set-default FW_PR_P 0.9 param set-default FW_PR_FF 0.2 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_FF 0.1 @@ -27,7 +23,7 @@ param set-default FW_RR_P 0.3 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 -param set-default FW_THR_CRUISE 0.25 +param set-default FW_THR_TRIM 0.25 param set-default FW_T_ALT_TC 2 param set-default FW_T_CLMB_MAX 8 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1038_glider b/ROMFS/px4fmu_common/init.d-posix/airframes/1038_glider index 27f6648911..d2f7fc8bb2 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1038_glider +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1038_glider @@ -5,5 +5,5 @@ . ${R}etc/init.d-posix/airframes/1030_plane -param set-default FW_THR_CRUISE 0.0 +param set-default FW_THR_TRIM 0.0 param set-default RWTO_TKOFF 0 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1040_standard_vtol b/ROMFS/px4fmu_common/init.d-posix/airframes/1040_standard_vtol index ff820bd50d..b15ed11d49 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1040_standard_vtol +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1040_standard_vtol @@ -49,21 +49,20 @@ 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_MAN_P_MAX 30 param set-default FW_PR_FF 0.2 param set-default FW_PR_P 0.9 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_FF 0.1 param set-default FW_RR_P 0.3 -param set-default FW_THR_CRUISE 0.25 +param set-default FW_THR_TRIM 0.25 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 param set-default FW_T_CLMB_MAX 8 param set-default FW_T_SINK_MAX 2.7 param set-default FW_T_SINK_MIN 2.2 +param set-default MC_AIRMODE 1 param set-default MC_ROLLRATE_P 0.3 param set-default MC_YAW_P 1.6 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1041_tailsitter b/ROMFS/px4fmu_common/init.d-posix/airframes/1041_tailsitter index e5f809af74..6e92601e0e 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1041_tailsitter +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1041_tailsitter @@ -44,14 +44,12 @@ 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_MAN_P_MAX 30 param set-default FW_PR_I 0.2 param set-default FW_PR_P 0.2 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_P 0.2 -param set-default FW_THR_CRUISE 0.33 +param set-default FW_THR_TRIM 0.33 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 param set-default FW_T_ALT_TC 2 @@ -61,6 +59,7 @@ 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 MC_AIRMODE 1 param set-default MC_ROLLRATE_P 0.3 param set-default MPC_ACC_HOR_MAX 2 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1042_tiltrotor b/ROMFS/px4fmu_common/init.d-posix/airframes/1042_tiltrotor index 81af841a6d..bf59d3e030 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1042_tiltrotor +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1042_tiltrotor @@ -35,9 +35,7 @@ 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_TL0_CT 0 param set-default CA_SV_TL1_CT 0 -param set-default CA_SV_TL2_CT 0 param set-default CA_SV_TL3_CT 0 param set-default CA_SV_TL_COUNT 4 @@ -54,15 +52,13 @@ 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_MAN_P_MAX 30 param set-default FW_PR_FF 0.2 param set-default FW_PR_P 0.9 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_FF 0.1 param set-default FW_RR_P 0.3 -param set-default FW_THR_CRUISE 0.38 +param set-default FW_THR_TRIM 0.38 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 param set-default FW_T_CLMB_MAX 8 @@ -70,6 +66,9 @@ param set-default FW_T_SINK_MAX 2.7 param set-default FW_T_SINK_MIN 2.2 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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1043_standard_vtol_drop b/ROMFS/px4fmu_common/init.d-posix/airframes/1043_standard_vtol_drop index d4a274d2ba..ef2cdf42a8 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/1043_standard_vtol_drop +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1043_standard_vtol_drop @@ -8,15 +8,13 @@ . ${R}etc/init.d/rc.vtol_defaults 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_P 0.9 param set-default FW_PSP_OFF 2 -param set-default FW_P_LIM_MAX 32 param set-default FW_P_LIM_MIN -15 param set-default FW_RR_FF 0.1 param set-default FW_RR_P 0.3 -param set-default FW_THR_CRUISE 0.25 +param set-default FW_THR_TRIM 0.25 param set-default FW_THR_MAX 0.6 param set-default FW_THR_MIN 0.05 param set-default FW_T_ALT_TC 2 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal b/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal new file mode 100644 index 0000000000..eeee403eda --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal @@ -0,0 +1,17 @@ +#!/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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal.post b/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal.post new file mode 100644 index 0000000000..80264373dc --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1058_standard_vtol_gimbal.post @@ -0,0 +1,10 @@ + +mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix + +mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 + +# shellcheck disable=SC2154 +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local +# shellcheck disable=SC2154 +mavlink stream -r 50 -s ATTITUDE_QUATERNION -u $udp_offboard_port_local +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_offboard_port_local diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1059_tiltrotor_tri b/ROMFS/px4fmu_common/init.d-posix/airframes/1059_tiltrotor_tri new file mode 100644 index 0000000000..1cfc5b6347 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1059_tiltrotor_tri @@ -0,0 +1,54 @@ +#!/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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal b/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal new file mode 100644 index 0000000000..68c73285ee --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal @@ -0,0 +1,39 @@ +#!/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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal.post b/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal.post new file mode 100644 index 0000000000..80264373dc --- /dev/null +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/1063_rover_gimbal.post @@ -0,0 +1,10 @@ + +mixer append /dev/pwm_output0 etc/mixers/mount_legs.aux.mix + +mavlink start -x -u 14558 -r 4000 -f -m onboard -o 14530 + +# shellcheck disable=SC2154 +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_gcs_port_local +# shellcheck disable=SC2154 +mavlink stream -r 50 -s ATTITUDE_QUATERNION -u $udp_offboard_port_local +mavlink stream -r 10 -s MOUNT_ORIENTATION -u $udp_offboard_port_local diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/17001_tf-g1 b/ROMFS/px4fmu_common/init.d-posix/airframes/17001_tf-g1 index 117041cae4..0a4a023144 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/17001_tf-g1 +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/17001_tf-g1 @@ -38,10 +38,9 @@ param set-default FW_P_LIM_MAX 25 param set-default FW_P_LIM_MIN -5 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_THR_CRUISE 0.8 +param set-default FW_THR_TRIM 0.8 param set-default FW_THR_IDLE 0 param set-default COM_DISARM_PRFLT 0 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/6012_typhoon_h480_ctrlalloc b/ROMFS/px4fmu_common/init.d-posix/airframes/6012_typhoon_h480_ctrlalloc index 39e360f8be..4f5082f48c 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/6012_typhoon_h480_ctrlalloc +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/6012_typhoon_h480_ctrlalloc @@ -20,8 +20,14 @@ 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 MPC_XY_VEL_I_ACC 4 -param set-default MPC_XY_VEL_P_ACC 3 +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 diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/CMakeLists.txt b/ROMFS/px4fmu_common/init.d-posix/airframes/CMakeLists.txt index fba035b61e..582e8d6d7c 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/CMakeLists.txt @@ -37,6 +37,9 @@ px4_add_romfs_files( 10018_iris_foggy_lidar 10019_omnicopter 10020_if750a + 10020_if750a.post + 10028_quadrotor_x + 10029_hexarotor_x 10030_px4vision 10040_quadx 10041_airplane @@ -56,6 +59,7 @@ px4_add_romfs_files( 1020_uuv_generic 1021_uuv_hippocampus 1022_uuv_bluerov2_heavy + 1025_iris_depth_camera 1030_plane 1031_plane_cam 1032_plane_catapult @@ -71,9 +75,14 @@ px4_add_romfs_files( 1042_tiltrotor 1043_standard_vtol_drop 1043_standard_vtol_drop.post + 1058_standard_vtol_gimbal + 1058_standard_vtol_gimbal.post + 1059_tiltrotor_tri 1060_rover 1061_r1_rover 1062_tf-r1 + 1063_rover_gimbal + 1063_rover_gimbal.post 1070_boat 3010_quadrotor_x 3011_hexarotor_x diff --git a/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink b/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink index 0867fa5c64..f21da39240 100644 --- a/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink +++ b/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink @@ -24,6 +24,7 @@ mavlink stream -r 10 -s OPTICAL_FLOW_RAD -u $udp_gcs_port_local # API/Offboard link 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 mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS index 25dc9c2fcf..0c35a70fa5 100644 --- a/ROMFS/px4fmu_common/init.d-posix/rcS +++ b/ROMFS/px4fmu_common/init.d-posix/rcS @@ -30,6 +30,7 @@ set MIXER_FILE none set OUTPUT_MODE sim set EXTRA_MIXER_MODE none set PWM_OUT none +set PWM_AUX_OUT none set SDCARD_MIXERS_PATH etc/mixers set USE_IO no set VEHICLE_TYPE none @@ -103,6 +104,7 @@ fi # multi-instance setup # shellcheck disable=SC2154 param set MAV_SYS_ID $((px4_instance+1)) +param set MNT_MAV_SYSID $((px4_instance+1)) if [ $AUTOCNF = yes ] then @@ -255,6 +257,12 @@ then gyro_calibration start fi +# Payload deliverer module if gripper is enabled +if param compare -s PD_GRIPPER_EN 1 +then + payload_deliverer start +fi + #user defined mavlink streams for instances can be in PATH . px4-rc.mavlink diff --git a/ROMFS/px4fmu_common/init.d/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/CMakeLists.txt index 248350cd4e..d3e4f5427e 100644 --- a/ROMFS/px4fmu_common/init.d/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/CMakeLists.txt @@ -39,8 +39,10 @@ px4_add_romfs_files( rc.balloon_apps rc.balloon_defaults rc.boat_defaults + rc.autostart_ext rc.fw_apps rc.fw_defaults + rc.heli_defaults rc.interface rc.logging rc.mc_apps diff --git a/ROMFS/px4fmu_common/init.d/airframes/1000_rc_fw_easystar.hil b/ROMFS/px4fmu_common/init.d/airframes/1000_rc_fw_easystar.hil index c96535bea4..a3650bc621 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/1000_rc_fw_easystar.hil +++ b/ROMFS/px4fmu_common/init.d/airframes/1000_rc_fw_easystar.hil @@ -29,9 +29,6 @@ param set-default FW_L1_DAMPING 0.74 param set-default FW_L1_PERIOD 16 param set-default FW_LND_ANG 15 param set-default FW_LND_FLALT 5 -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_P 0.2 param set-default FW_RR_FF 0.6 diff --git a/ROMFS/px4fmu_common/init.d/airframes/10015_tbs_discovery b/ROMFS/px4fmu_common/init.d/airframes/10015_tbs_discovery deleted file mode 100644 index 0b01898f4c..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/10015_tbs_discovery +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.mc_defaults - -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_PITCHRATE_P 0.14 -param set-default MC_PITCHRATE_I 0.1 -param set-default MC_PITCHRATE_D 0.0025 -param set-default MC_YAWRATE_P 0.28 - -set MIXER quad_w diff --git a/ROMFS/px4fmu_common/init.d/airframes/10016_3dr_iris b/ROMFS/px4fmu_common/init.d/airframes/10016_3dr_iris deleted file mode 100644 index cbc9a768e3..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/10016_3dr_iris +++ /dev/null @@ -1,40 +0,0 @@ -#!/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 -# -# @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_I 0.05 -param set-default MC_ROLLRATE_D 0.004 -param set-default MC_PITCH_P 7 -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 BAT1_V_DIV 12.27559 -param set-default BAT1_A_PER_V 15.391030303103 - -set MIXER quad_w diff --git a/ROMFS/px4fmu_common/init.d/airframes/10018_tbs_endurance b/ROMFS/px4fmu_common/init.d/airframes/10018_tbs_endurance deleted file mode 100644 index bbf00f86bc..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/10018_tbs_endurance +++ /dev/null @@ -1,43 +0,0 @@ -#!/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 -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.mc_defaults - -param set-default BAT1_N_CELLS 6 -param set-default BAT1_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_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 MPC_XY_VEL_MAX 2 - -param set-default PWM_MAIN_MIN 1080 - -set MIXER quad_w diff --git a/ROMFS/px4fmu_common/init.d/airframes/1002_standard_vtol.hil b/ROMFS/px4fmu_common/init.d/airframes/1002_standard_vtol.hil index 3b9d7f7aa3..4803c0a393 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/1002_standard_vtol.hil +++ b/ROMFS/px4fmu_common/init.d/airframes/1002_standard_vtol.hil @@ -45,7 +45,6 @@ param set-default MPC_XY_VEL_I_ACC 4 param set-default MPC_XY_VEL_P_ACC 3 param set-default MPC_Z_VEL_P_ACC 12 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_DLL_ACT 2 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13000_generic_vtol_standard b/ROMFS/px4fmu_common/init.d/airframes/13000_generic_vtol_standard index 4bdbb30015..9a4221f1a6 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13000_generic_vtol_standard +++ b/ROMFS/px4fmu_common/init.d/airframes/13000_generic_vtol_standard @@ -1,22 +1,10 @@ #!/bin/sh # -# @name Generic Quadplane VTOL +# @name Generic Standard VTOL # # @type Standard VTOL # @class VTOL -# -# @maintainer -# -# @output MAIN1 motor 1 -# @output MAIN2 motor 2 -# @output MAIN3 motor 3 -# @output MAIN4 motor 4 -# @output AUX1 Aileron 1 -# @output AUX2 Aileron 2 -# @output AUX3 Elevator -# @output AUX4 Rudder -# @output AUX5 Throttle -# + # @board px4_fmu-v2 exclude # @board bitcraze_crazyflie exclude # @board holybro_kakutef7 exclude @@ -24,21 +12,21 @@ . ${R}etc/init.d/rc.vtol_defaults +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.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_ROTOR0_PX 1 +param set-default CA_ROTOR0_PY 1 +param set-default CA_ROTOR1_PX -1 +param set-default CA_ROTOR1_PY -1 +param set-default CA_ROTOR2_PX 1 +param set-default CA_ROTOR2_PY -1 param set-default CA_ROTOR2_KM -0.05 -param set-default CA_ROTOR3_PX -0.15 -param set-default CA_ROTOR3_PY 0.15 +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_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 4 param set-default CA_SV_CS0_TYPE 1 param set-default CA_SV_CS0_TRQ_R -0.5 @@ -48,16 +36,5 @@ param set-default CA_SV_CS2_TYPE 3 param set-default CA_SV_CS2_TRQ_P 1.0 param set-default CA_SV_CS3_TRQ_Y 1.0 param set-default CA_SV_CS3_TYPE 4 - -param set-default PWM_AUX_DIS5 950 - param set-default VT_TYPE 2 -param set-default VT_MOT_ID 1234 -param set-default VT_FW_MOT_OFFID 1234 - param set-default MAV_TYPE 22 - -set MIXER quad_x -set MIXER_AUX vtol_AAERT - -set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13001_caipirinha_vtol b/ROMFS/px4fmu_common/init.d/airframes/13001_caipirinha_vtol deleted file mode 100644 index 85e55bbe9d..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/13001_caipirinha_vtol +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# @name Caipiroshka Duo Tailsitter -# -# @type VTOL Duo Tailsitter -# @class VTOL -# -# @output MAIN1 motor right -# @output MAIN2 motor left -# @output MAIN5 elevon right -# @output MAIN6 elevon left -# -# @maintainer Roman Bapst -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# @board holybro_kakutef7 exclude -# - -. ${R}etc/init.d/rc.vtol_defaults - -param set-default MAV_TYPE 19 - -param set-default MC_ROLL_P 6 -param set-default MC_ROLLRATE_P 0.12 -param set-default MC_ROLLRATE_I 0.002 - -param set-default MC_PITCH_P 4.5 -param set-default MC_PITCHRATE_P 0.3 -param set-default MC_PITCHRATE_I 0.002 - -param set-default MC_YAW_P 3.8 -param set-default MC_YAWRATE_P 0.22 -param set-default MC_YAWRATE_I 0.02 - -param set-default VT_IDLE_PWM_MC 1080 -param set-default VT_ELEV_MC_LOCK 0 -param set-default VT_MOT_ID 12 -param set-default VT_TYPE 0 - -set MIXER vtol_tailsitter_duo - -set PWM_OUT 123456 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13002_firefly6 b/ROMFS/px4fmu_common/init.d/airframes/13002_firefly6 deleted file mode 100644 index 583a045696..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/13002_firefly6 +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# @name BirdsEyeView Aerobotics FireFly6 -# @type VTOL Tiltrotor -# @class VTOL -# -# @maintainer Roman Bapst -# -# @output MAIN1 Front right motor bottom -# @output MAIN2 Front right motor top -# @output MAIN3 Back motor bottom -# @output MAIN4 Back motor top -# @output MAIN5 Front left motor bottom -# @output MAIN6 Front left motor top -# @output AUX1 Tilt servo -# @output AUX2 Elevon 1 -# @output AUX3 Elevon 2 -# @output AUX4 Gear -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.vtol_defaults - -param set-default MAV_TYPE 21 - -param set-default MC_ROLL_P 7 -param set-default MC_ROLLRATE_P 0.19 -param set-default MC_ROLLRATE_I 0.002 -param set-default MC_ROLLRATE_D 0.005 -param set-default MC_PITCH_P 7 -param set-default MC_PITCHRATE_P 0.14 -param set-default MC_PITCHRATE_I 0.002 -param set-default MC_PITCHRATE_D 0.004 -param set-default MC_YAW_P 4 -param set-default MC_YAWRATE_P 0.22 -param set-default MC_YAWRATE_I 0.02 - -param set-default VT_FW_MOT_OFFID 34 -param set-default VT_IDLE_PWM_MC 1080 -param set-default VT_MOT_ID 123456 -param set-default VT_FW_MOT_OFFID 56 -param set-default VT_TILT_MC 0.08 -param set-default VT_TILT_TRANS 0.5 -param set-default VT_TILT_FW 0.9 -param set-default VT_ELEV_MC_LOCK 0 -param set-default VT_TYPE 1 - -set MIXER firefly6 -set MIXER_AUX firefly6 - -set PWM_OUT 12345678 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13005_vtol_AAERT_quad b/ROMFS/px4fmu_common/init.d/airframes/13005_vtol_AAERT_quad index 8949f18f20..507b3e9ecf 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13005_vtol_AAERT_quad +++ b/ROMFS/px4fmu_common/init.d/airframes/13005_vtol_AAERT_quad @@ -43,7 +43,7 @@ param set-default MPC_YAWRAUTO_MAX 40 param set-default FW_PR_I 0.02 param set-default FW_RR_FF 0.6 param set-default FW_RR_I 0.01 -param set-default FW_THR_CRUISE 0.75 +param set-default FW_THR_TRIM 0.75 param set-default VT_ARSP_BLEND 6 param set-default VT_ARSP_TRANS 12 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13008_QuadRanger b/ROMFS/px4fmu_common/init.d/airframes/13008_QuadRanger deleted file mode 100644 index 94e2a1a913..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/13008_QuadRanger +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# @name QuadRanger -# -# @type Standard VTOL -# @class VTOL -# -# @maintainer Sander Smeets -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.vtol_defaults - - -param set-default FW_THR_CRUISE 65 -param set-default FW_RR_FF 0.6 - -param set-default MIS_YAW_TMT 10 - -param set-default MC_ROLL_P 7 -param set-default MC_ROLLRATE_I 0.1 -param set-default MC_ROLLRATE_D 0.004 -param set-default MC_PITCH_P 7 -param set-default MC_PITCHRATE_I 0.1 -param set-default MC_PITCHRATE_D 0.004 -param set-default MC_YAW_P 3.5 -param set-default MC_YAWRATE_P 0.6 -param set-default MC_YAWRATE_I 0.04 -param set-default MC_YAWRATE_MAX 40 - -param set-default MPC_ACC_HOR_MAX 2 -param set-default MPC_Z_VEL_MAX_DN 1.5 -param set-default MPC_LAND_SPEED 0.8 -param set-default MPC_YAWRAUTO_MAX 40 - -param set-default PWM_AUX_DIS5 950 -param set-default PWM_AUX_REV1 1 -param set-default PWM_AUX_REV2 1 - -param set-default VT_ARSP_TRANS 15 -param set-default VT_ARSP_BLEND 8 -param set-default VT_F_TRANS_THR 0.75 -param set-default VT_IDLE_PWM_MC 1080 -param set-default VT_MOT_ID 1234 -param set-default VT_FW_MOT_OFFID 1234 -param set-default VT_TYPE 2 - -set MIXER quad_x -set MIXER_AUX vtol_AAERT - -set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13009_vtol_spt_ranger b/ROMFS/px4fmu_common/init.d/airframes/13009_vtol_spt_ranger deleted file mode 100644 index 312ffd3e5b..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/13009_vtol_spt_ranger +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -# -# @name Sparkle Tech Ranger VTOL -# -# @type Standard VTOL -# @class VTOL -# -# @maintainer Andreas Antener -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# @board holybro_kakutef7 exclude -# - -. ${R}etc/init.d/rc.vtol_defaults - -param set-default FW_AIRSPD_MAX 22 -param set-default FW_AIRSPD_MIN 14 -param set-default FW_AIRSPD_TRIM 16 -param set-default FW_L1_PERIOD 25 -param set-default FW_PR_P 0.060 -param set-default FW_P_RMAX_NEG 40 -param set-default FW_P_RMAX_POS 40 -param set-default FW_RR_FF 0.4 -param set-default FW_RR_P 0.04 -param set-default FW_R_RMAX 40 - -param set-default MC_PITCHRATE_D 0.004 -param set-default MC_PITCHRATE_I 0 -param set-default MC_PITCHRATE_MAX 60 -param set-default MC_PITCHRATE_P 0.21 -param set-default MC_PITCH_P 4 -param set-default MC_ROLLRATE_D 0.004 -param set-default MC_ROLLRATE_I 0.002 -param set-default MC_ROLLRATE_MAX 60 -param set-default MC_ROLLRATE_P 0.24 -param set-default MC_ROLL_P 4 -param set-default MC_YAWRATE_I 0.02 -param set-default MC_YAWRATE_MAX 40 -param set-default MC_YAWRATE_P 0.18 - -param set-default MIS_TAKEOFF_ALT 2.5 -param set-default MIS_YAW_TMT 20 - -param set-default MPC_ACC_HOR_MAX 1 -param set-default MPC_HOLD_MAX_XY 0.5 -param set-default MPC_HOLD_MAX_Z 0.5 -param set-default MPC_LAND_SPEED 1 -param set-default MPC_MANTHR_MIN 0.05 -param set-default MPC_MAN_Y_MAX 120 -param set-default MPC_THR_MIN 0.07 -param set-default MPC_TILTMAX_AIR 35 -param set-default MPC_TILTMAX_LND 20 -param set-default MPC_TKO_SPEED 1 -param set-default MPC_XY_P 0.3 -param set-default MPC_XY_VEL_MAX 3 -param set-default MPC_XY_VEL_P_ACC 1 -param set-default MPC_Z_P 0.5 -param set-default MPC_Z_VEL_P_ACC 2 -param set-default MPC_YAWRAUTO_MAX 40 - -param set-default NAV_ACC_RAD 3 - -param set-default PWM_AUX_REV1 1 -param set-default PWM_AUX_REV2 1 -param set-default PWM_AUX_REV3 1 -param set-default PWM_AUX_REV4 1 - -param set-default PWM_AUX_DIS5 950 - -param set-default VT_ARSP_TRANS 15 -param set-default VT_F_TRANS_THR 0.6 -param set-default VT_IDLE_PWM_MC 1180 -param set-default VT_MOT_ID 1234 -param set-default VT_FW_MOT_OFFID 1234 -param set-default VT_TRANS_MIN_TM 5 -param set-default VT_TRANS_TIMEOUT 30 -param set-default VT_TYPE 2 - -set MIXER quad_x -set MIXER_AUX vtol_AAERT - -set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13012_convergence b/ROMFS/px4fmu_common/init.d/airframes/13012_convergence index 7cc6fc4d85..79b3dda403 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13012_convergence +++ b/ROMFS/px4fmu_common/init.d/airframes/13012_convergence @@ -34,8 +34,6 @@ param set-default FW_ACRO_X_MAX 270 param set-default FW_ACRO_Y_MAX 270 param set-default FW_ACRO_Z_MAX 180 param set-default FW_PSP_OFF 5 -param set-default FW_P_LIM_MAX 30 -param set-default FW_P_LIM_MIN -30 param set-default FW_RR_FF 0.33 param set-default FW_RR_P 0.11 @@ -74,4 +72,4 @@ then set PWM_OUT 1234 else set PWM_OUT 3456 -fi +fi diff --git a/ROMFS/px4fmu_common/init.d/airframes/13013_deltaquad b/ROMFS/px4fmu_common/init.d/airframes/13013_deltaquad index 394227a33f..ea53dc3d65 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13013_deltaquad +++ b/ROMFS/px4fmu_common/init.d/airframes/13013_deltaquad @@ -53,9 +53,8 @@ param set-default FW_T_CLMB_MAX 3 param set-default FW_T_SINK_MAX 3 param set-default FW_T_SINK_MIN 1 param set-default FW_T_VERT_ACC 6 -param set-default FW_THR_CRUISE 0.70 +param set-default FW_THR_TRIM 0.70 param set-default FW_THR_SLEW_MAX 1 -param set-default FW_MAN_P_MAX 30 param set-default FW_P_LIM_MAX 15 param set-default FW_P_LIM_MIN -25 param set-default FW_P_RMAX_NEG 45 @@ -90,7 +89,6 @@ param set-default MPC_ACC_HOR_MAX 2 param set-default MPC_LAND_SPEED 1.2 param set-default MPC_TILTMAX_LND 35 param set-default MPC_Z_VEL_MAX_UP 1.5 -param set-default MPC_Z_VEL_MAX_DN 1.5 param set-default MPC_HOLD_MAX_XY 0.5 param set-default MPC_HOLD_MAX_Z 0.5 param set-default MPC_TKO_RAMP_T 0.8 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark b/ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark index 5d1be9b55f..2a0131e452 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark +++ b/ROMFS/px4fmu_common/init.d/airframes/13014_vtol_babyshark @@ -31,7 +31,6 @@ param set-default FW_AIRSPD_MAX 30 param set-default FW_AIRSPD_MIN 19 param set-default FW_AIRSPD_TRIM 23 param set-default FW_L1_R_SLEW_MAX 40 -param set-default FW_MAN_P_MAX 30 param set-default FW_PSP_OFF 3 param set-default FW_P_LIM_MAX 18 param set-default FW_P_LIM_MIN -25 @@ -39,7 +38,7 @@ param set-default FW_RLL_TO_YAW_FF 0.1 param set-default FW_RR_P 0.08 param set-default FW_R_LIM 45 param set-default FW_R_RMAX 50 -param set-default FW_THR_CRUISE 0.65 +param set-default FW_THR_TRIM 0.65 param set-default FW_THR_MIN 0.3 param set-default FW_THR_SLEW_MAX 0.6 param set-default FW_T_HRATE_FF 0 @@ -71,7 +70,6 @@ param set-default MPC_VEL_MANUAL 3 param set-default MPC_XY_CRUISE 3 param set-default MPC_XY_VEL_MAX 3.5 param set-default MPC_YAWRAUTO_MAX 40 -param set-default MPC_Z_VEL_MAX_DN 1.5 param set-default MPC_Z_VEL_MAX_UP 2 param set-default NAV_ACC_RAD 3 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13100_generic_vtol_tiltrotor b/ROMFS/px4fmu_common/init.d/airframes/13100_generic_vtol_tiltrotor new file mode 100644 index 0000000000..a457a7ce76 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/airframes/13100_generic_vtol_tiltrotor @@ -0,0 +1,44 @@ +#!/bin/sh +# +# @name Generic Tiltrotor VTOL +# +# @type VTOL Tiltrotor +# @class VTOL +# +# @board px4_fmu-v2 exclude +# @board bitcraze_crazyflie exclude +# + +. ${R}etc/init.d/rc.vtol_defaults + +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 1 +param set-default CA_ROTOR0_PY 1 +param set-default CA_ROTOR0_TILT 2 +param set-default CA_ROTOR1_PX -1 +param set-default CA_ROTOR1_PY -1 +param set-default CA_ROTOR2_PX 1 +param set-default CA_ROTOR2_PY -1 +param set-default CA_ROTOR2_TILT 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 4 +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 7 +param set-default CA_SV_CS2_TRQ_P 0.5 +param set-default CA_SV_CS2_TRQ_Y 0.5 +param set-default CA_SV_CS3_TYPE 8 +param set-default CA_SV_CS3_TRQ_P 0.5 +param set-default CA_SV_CS3_TRQ_Y -0.5 +param set-default CA_SV_TL_COUNT 2 + +param set-default MAV_TYPE 21 +param set-default VT_TYPE 1 diff --git a/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter b/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter index d235153980..888e530050 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter +++ b/ROMFS/px4fmu_common/init.d/airframes/13200_generic_vtol_tailsitter @@ -1,17 +1,10 @@ #!/bin/sh # -# @name Generic Tailsitter +# @name Generic VTOL Tailsitter # -# @type VTOL Duo Tailsitter +# @type VTOL Tailsitter # @class VTOL # -# @output MAIN1 motor right -# @output MAIN2 motor left -# @output MAIN5 elevon right -# @output MAIN6 elevon left -# -# @maintainer Roman Bapst -# # @board px4_fmu-v2 exclude # @board bitcraze_crazyflie exclude # @board holybro_kakutef7 exclude @@ -19,18 +12,13 @@ . ${R}etc/init.d/rc.vtol_defaults -param set-default MAV_TYPE 19 - -param set-default VT_ELEV_MC_LOCK 0 -param set-default VT_MOT_COUNT 2 -param set-default VT_TYPE 0 - +param set-default SYS_CTRL_ALLOC 1 param set-default CA_AIRFRAME 4 param set-default CA_ROTOR_COUNT 2 param set-default CA_ROTOR0_KM -0.05 -param set-default CA_ROTOR0_PY 0.2 -param set-default CA_ROTOR1_KM -0.05 -param set-default CA_ROTOR1_PY -0.2 +param set-default CA_ROTOR0_PY -0.2 +param set-default CA_ROTOR1_KM 0.05 +param set-default CA_ROTOR1_PY 0.2 param set-default CA_SV_CS_COUNT 2 param set-default CA_SV_CS0_TRQ_P 0.5 param set-default CA_SV_CS0_TRQ_Y 0.5 @@ -39,6 +27,6 @@ param set-default CA_SV_CS1_TRQ_P 0.5 param set-default CA_SV_CS1_TRQ_Y -0.5 param set-default CA_SV_CS1_TYPE 6 -set MIXER vtol_tailsitter_duo - -set PWM_OUT 1234 +param set-default MAV_TYPE 19 +param set-default VT_TYPE 0 +param set-default VT_ELEV_MC_LOCK 0 diff --git a/ROMFS/px4fmu_common/init.d/airframes/16001_helicopter b/ROMFS/px4fmu_common/init.d/airframes/16001_helicopter index ac1c5475c1..de21a88216 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/16001_helicopter +++ b/ROMFS/px4fmu_common/init.d/airframes/16001_helicopter @@ -1,54 +1,26 @@ #!/bin/sh # -# @name Blade 130X +# @name Generic Helicopter (Tail ESC) # # @type Helicopter # @class Copter # -# @maintainer Bart Slinger -# -# @output MAIN1 main motor -# @output MAIN2 front swashplate servo -# @output MAIN3 right swashplate servo -# @output MAIN4 left swashplate servo -# @output MAIN5 tail-rotor servo -# # @board px4_fmu-v2 exclude # @board bitcraze_crazyflie exclude # -. ${R}etc/init.d/rc.mc_defaults +. ${R}etc/init.d/rc.heli_defaults -# Configure as helicopter (number 4 defined in commander_helper.cpp) -param set-default MAV_TYPE 4 -set MIXER blade130 - -set PWM_OUT none - -param set-default ATT_BIAS_MAX 0 - -param set-default CBRK_IO_SAFETY 22027 - -param set-default MC_ROLL_P 5 +# Disable PID gains for initial setup. These should be enabled after setting the FF gain. +# P is expected to be lower than FF. param set-default MC_ROLLRATE_P 0 param set-default MC_ROLLRATE_I 0 param set-default MC_ROLLRATE_D 0 -param set-default MC_ROLLRATE_FF 0.15 +param set-default MC_ROLLRATE_FF 0.1 param set-default MC_PITCHRATE_P 0 param set-default MC_PITCHRATE_I 0 param set-default MC_PITCHRATE_D 0 -param set-default MC_PITCHRATE_FF 0.15 -param set-default MC_YAW_P 3 -param set-default MC_YAWRATE_P 0.1 -param set-default MC_YAWRATE_I 0 -param set-default MC_ROLLRATE_MAX 720 -param set-default MC_PITCHRATE_MAX 720 -param set-default MC_YAWRATE_MAX 400 -param set-default MC_ACRO_R_MAX 360 -param set-default MC_ACRO_P_MAX 360 +param set-default MC_PITCHRATE_FF 0.1 -param set-default MPC_THR_MIN 0.06 -param set-default MPC_MANTHR_MIN 0.06 - -param set-default PWM_MAIN_MIN 1075 +param set-default CA_AIRFRAME 10 diff --git a/ROMFS/px4fmu_common/init.d/airframes/17002_TF-AutoG2 b/ROMFS/px4fmu_common/init.d/airframes/17002_TF-AutoG2 deleted file mode 100644 index 8c847cbb44..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/17002_TF-AutoG2 +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# -# @name ThunderFly Auto-G2 -# -# @type Autogyro -# @class Autogyro -# -# @output MAIN1 rotor_head_L -# @output MAIN2 rotor_head_R -# @output MAIN3 elevator -# @output MAIN4 rudder -# @output MAIN5 rudder (second, optional) -# @output MAIN6 throttle -# @output MAIN7 wheel -# -# @output AUX1 feed-through of RC AUX1 channel for prerotator (optional) -# @output AUX2 feed-through of RC AUX2 channel for release device (optional) -# -# @url https://github.com/ThunderFly-aerospace/Auto-G2/ -# @maintainer ThunderFly s.r.o., Roman Dvorak -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - - -param set-default BAT1_CAPACITY 2500 -param set-default BAT1_N_CELLS 3 - -param set-default PWM_AUX_RATE 50 -param set-default PWM_MAIN_RATE 50 - -param set-default SENS_BOARD_ROT 8 - -param set-default FW_AIRSPD_MAX 20 -param set-default FW_AIRSPD_MIN 7 -param set-default FW_AIRSPD_TRIM 13 -param set-default FW_THR_CRUISE 0.8 - -param set-default FW_MAN_P_MAX 25 -param set-default FW_MAN_R_MAX 25 -param set-default FW_PR_I 0.02 -param set-default FW_R_LIM 40 -param set-default FW_P_LIM_MAX 25 -param set-default FW_P_LIM_MIN -5 -param set-default FW_P_RMAX_NEG 20 - -set MIXER TF-AutoG2 -set MIXER_AUX pass diff --git a/ROMFS/px4fmu_common/init.d/airframes/17003_TF-G2 b/ROMFS/px4fmu_common/init.d/airframes/17003_TF-G2 deleted file mode 100644 index e677228cd8..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/17003_TF-G2 +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# @name ThunderFly TF-G2 -# -# @type Autogyro -# @class Autogyro -# -# @output MAIN2 rotor_head_L -# @output MAIN3 rotor_head_R -# @output MAIN4 rudder -# @output MAIN5 throttle -# -# -# @url https://github.com/ThunderFly-aerospace/TF-G2/ -# @maintainer ThunderFly s.r.o., Roman Dvorak -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - - -param set-default BAT1_CAPACITY 3300 -param set-default BAT1_N_CELLS 3 - -param set-default PWM_AUX_RATE 50 -param set-default PWM_MAIN_RATE 50 - -param set-default SENS_BOARD_ROT 4 - -param set-default FW_AIRSPD_MAX 20 -param set-default FW_AIRSPD_MIN 7 -param set-default FW_AIRSPD_TRIM 13 -param set-default FW_THR_CRUISE 0.8 - -param set-default FW_MAN_P_MAX 25 -param set-default FW_MAN_R_MAX 25 -param set-default FW_PR_I 0.02 -param set-default FW_R_LIM 40 -param set-default FW_P_LIM_MAX 25 -param set-default FW_P_LIM_MIN -5 -param set-default FW_P_RMAX_NEG 20 - -set MIXER TF-G2 -set MIXER_AUX pass diff --git a/ROMFS/px4fmu_common/init.d/airframes/2100_standard_plane b/ROMFS/px4fmu_common/init.d/airframes/2100_standard_plane index 99e53f618b..9ed8f7f69b 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/2100_standard_plane +++ b/ROMFS/px4fmu_common/init.d/airframes/2100_standard_plane @@ -1,28 +1,16 @@ #!/bin/sh # -# @name Standard Plane +# @name Generic Standard Plane # # @type Standard Plane # @class Plane # -# @output MAIN1 aileron -# @output MAIN2 elevator -# @output MAIN3 throttle -# @output MAIN4 rudder -# @output MAIN5 flaps -# @output MAIN6 gear -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Lorenz Meier -# # @board bitcraze_crazyflie exclude # . ${R}etc/init.d/rc.fw_defaults +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 @@ -34,11 +22,3 @@ 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 PWM_AUX_RATE 50 -param set-default PWM_MAIN_RATE 50 - -set MIXER AETRFG - -# Rate must be set by group (see pwm info). -# Throttle is in the same group as servos. diff --git a/ROMFS/px4fmu_common/init.d/airframes/2105_maja b/ROMFS/px4fmu_common/init.d/airframes/2105_maja deleted file mode 100644 index 026a0c3043..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/2105_maja +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# @name Bormatec Maja -# -# @type Standard Plane -# @class Plane -# -# @output MAIN1 aileron -# @output MAIN2 aileron -# @output MAIN3 elevator -# @output MAIN4 rudder -# @output MAIN5 throttle -# @output MAIN6 wheel -# @output MAIN7 flaps -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Andreas Antener -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_MAN_P_MAX 55 -param set-default FW_MAN_R_MAX 55 -param set-default FW_R_LIM 55 - -param set-default FW_WR_FF 0.2 -param set-default FW_WR_I 0.2 -param set-default FW_WR_IMAX 0.8 -param set-default FW_WR_P 1 -param set-default FW_W_RMAX 0 - -# set disarmed value for the ESC -param set-default PWM_MAIN_DISARM 1000 - - -set MIXER AAERTWF - -# use PWM parameters for throttle channel -set PWM_OUT 5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/2200_mini_talon b/ROMFS/px4fmu_common/init.d/airframes/2200_mini_talon deleted file mode 100644 index 8fbe544c5b..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/2200_mini_talon +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# -# @name X-UAV Mini Talon -# -# @type Plane V-Tail -# @class Plane -# -# @output MAIN1 aileron right -# @output MAIN2 aileron left -# @output MAIN3 v-tail right -# @output MAIN4 v-tail left -# @output MAIN5 throttle -# @output MAIN6 wheel -# @output MAIN7 flaps right -# @output MAIN8 flaps left -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Friedrich Beckmann -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_MAN_P_MAX 55 -param set-default FW_MAN_R_MAX 55 -param set-default FW_R_LIM 55 - -param set-default FW_WR_FF 0.2 -param set-default FW_WR_I 0.2 -param set-default FW_WR_IMAX 0.8 -param set-default FW_WR_P 1 -param set-default FW_W_RMAX 0 - -# set disarmed value for the ESC -param set-default PWM_MAIN_DISARM 1000 - -# The Mini Talon does not have a wheel and -# no flaps. I leave them here because the mixer -# computes also wheel and flap controls. -set MIXER AAVVTWFF_vtail - -# use PWM parameters for throttle channel -set PWM_OUT 5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/3000_generic_wing b/ROMFS/px4fmu_common/init.d/airframes/3000_generic_wing index 4b5ee877d6..005a596103 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/3000_generic_wing +++ b/ROMFS/px4fmu_common/init.d/airframes/3000_generic_wing @@ -5,19 +5,20 @@ # @type Flying Wing # @class Plane # -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer -# # @board bitcraze_crazyflie exclude # . ${R}etc/init.d/rc.fw_defaults -set MIXER fw_generic_wing +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.15 +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_R -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_R 0.5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/3031_phantom b/ROMFS/px4fmu_common/init.d/airframes/3031_phantom deleted file mode 100644 index b31b2230ce..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/3031_phantom +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# @name Phantom FPV Flying Wing -# -# @url https://docs.px4.io/master/en/frames_plane/wing_wing_z84.html -# -# @type Flying Wing -# @class Plane -# -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Simon Wilks -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_AIRSPD_MIN 13 -param set-default FW_AIRSPD_MAX 25 -param set-default FW_R_TC 0.3 -param set-default FW_P_TC 0.3 -param set-default FW_L1_PERIOD 15 -param set-default FW_PR_FF 0.2 -param set-default FW_PR_IMAX 0.2 -param set-default FW_PR_P 0.03 -param set-default FW_P_LIM_MAX 50 -param set-default FW_P_LIM_MIN -50 -param set-default FW_RR_P 0.08 -param set-default FW_R_LIM 50 -param set-default FW_R_RMAX 50 - -param set-default PWM_MAIN_DISARM 1000 - -# Bottom of bay and nominal zero-pitch attitude differ -# the payload bay is pitched up about 7 degrees -param set-default SENS_BOARD_Y_OFF 7 - -set MIXER fw_generic_wing - -# Provide ESC a constant 1000 us pulse -set PWM_OUT 4 diff --git a/ROMFS/px4fmu_common/init.d/airframes/3032_skywalker_x5 b/ROMFS/px4fmu_common/init.d/airframes/3032_skywalker_x5 deleted file mode 100644 index f09bba392b..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/3032_skywalker_x5 +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# @name Skywalker X5 Flying Wing -# -# @type Flying Wing -# @class Plane -# -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Julian Oes -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_AIRSPD_MIN 15 -param set-default FW_AIRSPD_TRIM 20 -param set-default FW_AIRSPD_MAX 40 -param set-default FW_R_TC 0.3 -param set-default FW_P_TC 0.3 -param set-default FW_L1_DAMPING 0.74 -param set-default FW_L1_PERIOD 16 -param set-default FW_LND_ANG 15 -param set-default FW_LND_FLALT 5 -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_RR_FF 0.6 -param set-default FW_RR_P 0.04 - -set MIXER fw_generic_wing diff --git a/ROMFS/px4fmu_common/init.d/airframes/3033_wingwing b/ROMFS/px4fmu_common/init.d/airframes/3033_wingwing deleted file mode 100644 index d9a18853a2..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/3033_wingwing +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# -# @name Wing Wing (aka Z-84) Flying Wing -# -# @url https://docs.px4.io/master/en/frames_plane/wing_wing_z84.html -# -# @type Flying Wing -# @class Plane -# -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Lorenz Meier -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default BAT1_N_CELLS 2 -param set-default FW_AIRSPD_MAX 15 -param set-default FW_AIRSPD_TRIM 13 -param set-default FW_R_TC 0.3 -param set-default FW_P_TC 0.3 -param set-default FW_L1_DAMPING 0.74 -param set-default FW_L1_PERIOD 16 -param set-default FW_LND_ANG 15 -param set-default FW_LND_FLALT 5 -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_RR_FF 0.6 -param set-default FW_RR_P 0.04 - -param set-default PWM_MAIN_DISARM 1000 - -# Set mixer. -set MIXER fw_generic_wing - -# Provide ESC a constant 1000 us pulse. -set PWM_OUT 4 diff --git a/ROMFS/px4fmu_common/init.d/airframes/3036_pigeon b/ROMFS/px4fmu_common/init.d/airframes/3036_pigeon deleted file mode 100644 index b889f38db9..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/3036_pigeon +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# @name Sparkle Tech Pigeon -# -# @url http://www.sparkletech.hk/ -# -# @type Flying Wing -# @class Plane -# -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Simon Wilks -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_AIRSPD_MIN 15 -param set-default FW_AIRSPD_TRIM 20 -param set-default FW_AIRSPD_MAX 27 -param set-default FW_ATT_TC 0.3 -param set-default FW_PR_FF 0.35 -param set-default FW_PR_IMAX 0.2 -param set-default FW_PR_P 0.05 -param set-default FW_P_TC 0.3 -param set-default FW_RR_FF 0.3 -param set-default FW_RR_P 0.03 -param set-default FW_R_LIM 40 -param set-default FW_R_RMAX 50 -param set-default FW_R_TC 0.3 - -param set-default PWM_MAIN_DISARM 1000 - -# Bottom of bay and nominal zero-pitch attitude differ -# the payload bay is pitched up about 7 degrees -param set-default SENS_BOARD_Y_OFF 11.9 - -set MIXER fw_generic_wing - -# Provide ESC a constant 1000 us pulse -set PWM_OUT 4 diff --git a/ROMFS/px4fmu_common/init.d/airframes/3100_tbs_caipirinha b/ROMFS/px4fmu_common/init.d/airframes/3100_tbs_caipirinha deleted file mode 100644 index cc74225a12..0000000000 --- a/ROMFS/px4fmu_common/init.d/airframes/3100_tbs_caipirinha +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh -# -# @name TBS Caipirinha -# -# @type Flying Wing -# @class Plane -# -# @output MAIN1 left aileron -# @output MAIN2 right aileron -# @output MAIN4 throttle -# -# @output AUX1 feed-through of RC AUX1 channel -# @output AUX2 feed-through of RC AUX2 channel -# @output AUX3 feed-through of RC AUX3 channel -# -# @maintainer Lorenz Meier -# -# @board px4_fmu-v2 exclude -# @board bitcraze_crazyflie exclude -# - -. ${R}etc/init.d/rc.fw_defaults - -param set-default FW_AIRSPD_MAX 25 -param set-default FW_AIRSPD_MIN 12.5 -param set-default FW_AIRSPD_TRIM 16.5 -param set-default FW_L1_PERIOD 15 -param set-default FW_LND_ANG 15 -param set-default FW_LND_FLALT 8 -param set-default FW_LND_HVIRT 13 -param set-default FW_LND_TLALT 10 -param set-default FW_THR_LND_MAX 0 -param set-default FW_P_LIM_MAX 20 -param set-default FW_P_LIM_MIN -30 -param set-default FW_R_LIM 45 -param set-default FW_PR_FF 0.45 -param set-default FW_PR_P 0.005 -param set-default FW_RR_FF 0.45 -param set-default FW_RR_P 0.013 -param set-default FW_P_RMAX_NEG 70 -param set-default FW_P_RMAX_POS 70 -param set-default FW_R_RMAX 70 -param set-default FW_THR_CRUISE 0.55 - -param set-default LNDFW_AIRSPD_MAX 6 -param set-default LNDFW_XYACC_MAX 4 -param set-default LNDFW_VEL_XY_MAX 3 -param set-default LNDFW_VEL_Z_MAX 5 - -param set-default MIS_TAKEOFF_ALT 50 - -param set-default NAV_LOITER_RAD 30 - -param set-default PWM_MAIN_REV1 1 -param set-default PWM_MAIN_REV2 1 -param set-default PWM_MAIN_MIN 900 -param set-default PWM_MAIN_MAX 2100 - -set MIXER fw_generic_wing - -set PWM_OUT 1234 diff --git a/ROMFS/px4fmu_common/init.d/airframes/4016_holybro_px4vision b/ROMFS/px4fmu_common/init.d/airframes/4016_holybro_px4vision index cf15f0cbca..68338392bc 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/4016_holybro_px4vision +++ b/ROMFS/px4fmu_common/init.d/airframes/4016_holybro_px4vision @@ -69,7 +69,6 @@ param set-default CP_DIST 6 param set-default MPC_ACC_DOWN_MAX 5 param set-default MPC_ACC_HOR_MAX 10 param set-default MPC_ACC_UP_MAX 4 -param set-default MPC_MANTHR_MIN 0 param set-default MPC_MAN_Y_MAX 120 param set-default MPC_TILTMAX_AIR 45 param set-default MPC_THR_HOVER 0.3 diff --git a/ROMFS/px4fmu_common/init.d/airframes/4050_generic_250 b/ROMFS/px4fmu_common/init.d/airframes/4050_generic_250 index dfd2bacd61..8970e6e7a5 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/4050_generic_250 +++ b/ROMFS/px4fmu_common/init.d/airframes/4050_generic_250 @@ -26,7 +26,6 @@ param set-default MC_ROLLRATE_MAX 1600 param set-default MC_PITCHRATE_MAX 1600 param set-default MC_YAWRATE_MAX 1000 -param set-default MPC_MANTHR_MIN 0 param set-default MPC_MAN_TILT_MAX 60 # use thrust curve factor (instead of TPA) diff --git a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt index d99b2d8d25..e82803e361 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt @@ -44,19 +44,12 @@ px4_add_romfs_files( # [2000, 2999] Standard planes" 2100_standard_plane - 2105_maja 2106_albatross - 2200_mini_talon 2507_cloudship # [3000, 3999] Flying wing" 3000_generic_wing - 3031_phantom - 3032_skywalker_x5 - 3033_wingwing - 3036_pigeon - 3100_tbs_caipirinha # [4000, 4999] Quadrotor x" 4001_quad_x @@ -67,8 +60,6 @@ px4_add_romfs_files( 4016_holybro_px4vision 4017_nxp_hovergames 4019_x500_v2 - 4030_3dr_solo - 4031_3dr_quad 4040_reaper 4041_beta75x 4050_generic_250 @@ -77,11 +68,8 @@ px4_add_romfs_files( 4053_holybro_kopis2 4061_atl_mantis_edu 4071_ifo - 4072_draco 4073_ifo-s 4080_zmr250 - 4090_nanomind - 4100_tiltquadrotor 4500_clover4 4900_crazyflie 4901_crazyflie21 @@ -102,10 +90,6 @@ px4_add_romfs_files( # [9000, 9999] Octorotor +" 9001_octo_+ - # [10000, 10999] Quadrotor Wide arm / H frame" - 10015_tbs_discovery - 10016_3dr_iris - 10018_tbs_endurance # [11000, 11999] Hexa Cox 11001_hexa_cox @@ -115,44 +99,31 @@ px4_add_romfs_files( # [13000, 13999] VTOL 13000_generic_vtol_standard - 13001_caipirinha_vtol - 13002_firefly6 13003_quad_tailsitter 13004_quad+_tailsitter 13005_vtol_AAERT_quad 13006_vtol_standard_delta 13007_vtol_AAVVT_quad - 13008_QuadRanger - 13009_vtol_spt_ranger - 13012_convergence + 13100_generic_vtol_tiltrotor 13013_deltaquad 13014_vtol_babyshark 13030_generic_vtol_quad_tiltrotor - 13050_generic_vtol_octo 13200_generic_vtol_tailsitter # [14000, 14999] Tri Y - 14001_tri_y_yaw+ - 14002_tri_y_yaw- - 15001_coax_heli 16001_helicopter # [17000, 17999] Autogyro - 17002_TF-AutoG2 - 17003_TF-G2 + # [18000, 18999] High-altitude balloons 18001_TF-B1 # [22000, 22999] Reserve for custom models - 24001_dodeca_cox - 50000_generic_ground_vehicle - 50003_aion_robotics_r1_rover - 50004_nxpcup_car_dfrobot_gpx # [60000, 61000] (Unmanned) Underwater Robots 60000_uuv_generic diff --git a/ROMFS/px4fmu_common/init.d/rc.fw_defaults b/ROMFS/px4fmu_common/init.d/rc.fw_defaults index 6cae25306e..cf91ebcdac 100644 --- a/ROMFS/px4fmu_common/init.d/rc.fw_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.fw_defaults @@ -14,7 +14,7 @@ param set-default MAV_TYPE 1 # Default parameters for fixed wing UAVs. # param set-default COM_POS_FS_DELAY 5 -param set-default COM_POS_FS_EPH 15 +param set-default COM_POS_FS_EPH 50 param set-default COM_POS_FS_EPV 30 param set-default COM_VEL_FS_EVH 5 # Disable preflight disarm to not interfere with external launching diff --git a/ROMFS/px4fmu_common/init.d/rc.heli_defaults b/ROMFS/px4fmu_common/init.d/rc.heli_defaults new file mode 100644 index 0000000000..42d2aca268 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/rc.heli_defaults @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Helicopter default parameters. +# +# NOTE: Script variables are declared/initialized/unset in the rcS script. +# + +# Inherit from mc +. ${R}etc/init.d/rc.mc_defaults + +param set-default MAV_TYPE 4 + +param set-default COM_PREARM_MODE 2 +param set-default COM_SPOOLUP_TIME 10 + +# No need for minimum collective pitch (or airmode) to keep torque authority +param set-default MPC_MANTHR_MIN 0 diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface index fee6ad252c..09e92d679a 100644 --- a/ROMFS/px4fmu_common/init.d/rc.interface +++ b/ROMFS/px4fmu_common/init.d/rc.interface @@ -32,14 +32,17 @@ fi # # If mount (gimbal) control is enabled and output mode is AUX, set the aux -# mixer to mount (override the airframe-specific MIXER_AUX setting). +# mixer to mount if no other aux mixer has been set. # if param greater -s MNT_MODE_IN -1 then - if param compare -s MNT_MODE_OUT 0 - then - set MIXER_AUX mount - fi + if param compare -s MNT_MODE_OUT 0 + then + if [ $MIXER_AUX = none ] + then + set MIXER_AUX mount + fi + fi fi # diff --git a/ROMFS/px4fmu_common/init.d/rc.sensors b/ROMFS/px4fmu_common/init.d/rc.sensors index 2694eb3c64..378d075519 100644 --- a/ROMFS/px4fmu_common/init.d/rc.sensors +++ b/ROMFS/px4fmu_common/init.d/rc.sensors @@ -129,11 +129,7 @@ fi # Sensirion SDP3X differential pressure sensor external I2C if param compare -s SENS_EN_SDP3X 1 then - if ! sdp3x start -X - then - # try another common address - sdp3x start -X -a 0x22 - fi + sdp3x start -X -k fi # TE MS4515 differential pressure sensor external I2C diff --git a/ROMFS/px4fmu_common/init.d/rc.vtol_defaults b/ROMFS/px4fmu_common/init.d/rc.vtol_defaults index 5440ee5a70..7b1e5eec6a 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vtol_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.vtol_defaults @@ -10,6 +10,8 @@ set VEHICLE_TYPE vtol # MAV_TYPE_VTOL_FIXEDROTOR 22 param set-default MAV_TYPE 22 +param set-default COM_POS_FS_EPH 50 + param set-default MIS_TAKEOFF_ALT 20 param set-default MIS_YAW_TMT 10 @@ -21,16 +23,20 @@ param set-default HTE_VXY_THR 2.0 param set-default MIS_DIST_WPS 5000 param set-default MPC_ACC_HOR_MAX 2 -param set-default MPC_TKO_SPEED 1 -param set-default MPC_VEL_MANUAL 3 -param set-default MPC_XY_CRUISE 3 +param set-default MPC_VEL_MANUAL 5 +param set-default MPC_XY_CRUISE 5 param set-default MPC_XY_ERR_MAX 5 -param set-default MPC_XY_VEL_MAX 4 -param set-default MPC_Z_VEL_MAX_DN 1.5 +param set-default MPC_XY_VEL_MAX 8 param set-default MPC_JERK_MAX 4.5 param set-default MPC_YAW_MODE 4 -param set-default NAV_ACC_RAD 3 +# reduce aggressiveness around roll and yaw axis, +# as VTOLs usually have high intertia and lot af drag due to wings +param set-default MC_ROLL_P 5 +param set-default MC_ROLLRATE_MAX 120 +param set-default MC_YAW_P 2 +param set-default MC_YAWRATE_MAX 120 +param set-default MPC_MAN_Y_MAX 90 param set-default PWM_AUX_RATE 50 param set-default PWM_MAIN_RATE 400 diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index c0b9ce7f76..77900b3751 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -107,6 +107,16 @@ then fi fi + # Check for an update + if [ -e /fs/microsd/new ] + then + echo "Updating external autostart files" + # FIXME: add NuttX support for recursive rm, then we can remove the + # directory (for now this is done during updating via MAVLink FTP) + #rm -r $SDCARD_EXT_PATH + mv /fs/microsd/new $SDCARD_EXT_PATH + fi + set PARAM_FILE /fs/microsd/params fi @@ -206,6 +216,26 @@ else fi unset BOARD_RC_DEFAULTS + # + # Set parameters and env variables for selected SYS_AUTOSTART. + # + set AUTOSTART_PATH etc/init.d/rc.autostart + if ! param compare SYS_AUTOSTART 0 + then + if param greater SYS_AUTOSTART 1000000 + then + # Use external startup file + if [ $SDCARD_AVAILABLE = yes ] + then + set AUTOSTART_PATH etc/init.d/rc.autostart_ext + else + echo "ERROR [init] SD card not mounted - trying to load airframe from ROMFS" + fi + fi + . ${R}$AUTOSTART_PATH + fi + unset AUTOSTART_PATH + # # Start the tone_alarm driver. # Needs to be started after the parameters are loaded (for CBRK_BUZZER). @@ -243,26 +273,6 @@ else rgbled start -X -q rgbled_ncp5623c start -X -q - # - # Set parameters and env variables for selected AUTOSTART. - # - set AUTOSTART_PATH etc/init.d/rc.autostart - if ! param compare SYS_AUTOSTART 0 - then - if param greater SYS_AUTOSTART 1000000 - then - # Use external startup file - if [ $SDCARD_AVAILABLE = yes ] - then - set AUTOSTART_PATH etc/init.d/rc.autostart_ext - else - echo "ERROR [init] SD card not mounted - trying to load airframe from ROMFS" - fi - fi - . ${R}$AUTOSTART_PATH - fi - unset AUTOSTART_PATH - # # Override parameters from user configuration file. # @@ -303,7 +313,7 @@ else then # Check for the mini using build with px4io fw file # but not a px4IO - if ver hwtypecmp V540 V560 + if ver hwtypecmp V5004000 V5006000 then param set SYS_USE_IO 0 else @@ -399,6 +409,21 @@ else commander start fi + # PPS capture driver (before pwm_out) + if param greater -s PPS_CAP_ENABLE 0 + then + pps_capture start + fi + + # Camera capture driver (before pwm_out) + if param greater -s CAM_CAP_FBACK 0 + then + if camera_capture start + then + camera_capture on + fi + fi + # # Configure vehicle type specific parameters. # Note: rc.vehicle_setup is the entry point for rc.interface, @@ -441,21 +466,6 @@ else rc_input start $RC_INPUT_ARGS fi - # PPS capture driver (before pwm_out) - if param greater -s PPS_CAP_ENABLE 0 - then - pps_capture start - fi - - # Camera capture driver (before pwm_out) - if param greater -s CAM_CAP_FBACK 0 - then - if camera_capture start - then - camera_capture on - fi - fi - # # Play the startup tune (if not disabled or there is an error) # @@ -505,6 +515,12 @@ else px4flow start -X & fi + # Payload deliverer module if gripper is enabled + if param compare -s PD_GRIPPER_EN 1 + then + payload_deliverer start + fi + # # Optional board supplied extras: rc.board_extras # diff --git a/ROMFS/px4fmu_common/mixers-sitl/CMakeLists.txt b/ROMFS/px4fmu_common/mixers-sitl/CMakeLists.txt index 60f6d12ff2..080215c979 100644 --- a/ROMFS/px4fmu_common/mixers-sitl/CMakeLists.txt +++ b/ROMFS/px4fmu_common/mixers-sitl/CMakeLists.txt @@ -39,5 +39,6 @@ px4_add_romfs_files( quad_x_vtol.main.mix standard_vtol_sitl.main.mix tiltrotor_sitl.main.mix + tiltrotor_tri_sitl.main.mix uuv_x_sitl.main.mix ) diff --git a/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_tri_sitl.main.mix b/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_tri_sitl.main.mix new file mode 100644 index 0000000000..5ba8071383 --- /dev/null +++ b/ROMFS/px4fmu_common/mixers-sitl/tiltrotor_tri_sitl.main.mix @@ -0,0 +1,38 @@ +Mixer for quad tiltrotor (x motor configuration) +================================================ + +This file defines a single mixer for a tiltrotor (SITL gazebo) with motors in X configuration. The plane has two ailerons and one elevator. + +R: 3y 10000 10000 10000 0 + +# tilt servo motor 1 (right) +M: 2 +O: 10000 10000 0 -10000 10000 +S: 1 8 0 20000 -10000 -10000 10000 +S: 0 2 -10000 -10000 0 -10000 10000 + +# tilt servo motor 2 (left) +M: 2 +O: 10000 10000 0 -10000 10000 +S: 1 8 0 20000 -10000 -10000 10000 +S: 0 2 10000 10000 0 -10000 10000 + +# tilt servo motor 3 (rear) +------------- +M: 1 +S: 1 8 0 20000 -10000 -10000 10000 + +# mixer for the left aileron +M: 1 +O: 10000 10000 0 -10000 10000 +S: 1 0 -10000 -10000 0 -10000 10000 + +# mixer for the right aileron +M: 1 +O: 10000 10000 0 -10000 10000 +S: 1 0 10000 10000 0 -10000 10000 + +# mixer for the elevator +M: 1 +O: 10000 10000 0 -10000 10000 +S: 1 1 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/CCPM.main.mix b/ROMFS/px4fmu_common/mixers/CCPM.main.mix deleted file mode 100644 index 311a57285c..0000000000 --- a/ROMFS/px4fmu_common/mixers/CCPM.main.mix +++ /dev/null @@ -1,48 +0,0 @@ -Helicopter 120 degree Cyclic-Collective-Pitch Mixing (CCPM) for PX4FMU -================================================== - - -Output 0 - Rear Servo Mixer ----------------- - -Rear Servo = Collective (Thrust - 3) + Elevator (Pitch - 1) - -M: 2 -S: 0 3 10000 10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 - - -Output 1 - Left Servo Mixer ------------------ -Left Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) + 0.866 * Aileron (Roll - 0) - -M: 3 -S: 0 3 -10000 -10000 0 -10000 10000 -S: 0 1 -5000 -5000 0 -10000 10000 -S: 0 0 8660 8660 0 -10000 10000 - - -Output 2 - Right Servo Mixer ----------------- -Right Servo = Collective (Thurst - 3) - 0.5 * Elevator (Pitch - 1) - 0.866 * Aileron (Roll - 0) - - -M: 3 -S: 0 3 -10000 -10000 0 -10000 10000 -S: 0 1 -5000 -5000 0 -10000 10000 -S: 0 0 -8660 -8660 0 -10000 10000 - -Output 3 - Tail Servo Mixer ----------------- -Tail Servo = Yaw (control index = 2) - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - - -Output 4 - Motor speed mixer ------------------ -This would be the motor speed control output from governor power demand- not sure what index to use here? - -M: 1 -S: 0 4 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/CMakeLists.txt b/ROMFS/px4fmu_common/mixers/CMakeLists.txt index 00903468fc..4065ff1b41 100644 --- a/ROMFS/px4fmu_common/mixers/CMakeLists.txt +++ b/ROMFS/px4fmu_common/mixers/CMakeLists.txt @@ -38,16 +38,11 @@ px4_add_romfs_files( AERT.main.mix AETRFG.main.mix babyshark.main.mix - blade130.main.mix - CCPM.main.mix cloudship.main.mix - coax.main.mix delta.main.mix deltaquad.main.mix dodeca_bottom_cox.aux.mix dodeca_top_cox.main.mix - firefly6.aux.mix - firefly6.main.mix fw_generic_wing.main.mix generic_diff_rover.main.mix hexa_cox.main.mix @@ -74,7 +69,6 @@ px4_add_romfs_files( rover_diff_and_servo.main.mix rover_generic.main.mix standard_vtol_hitl.main.mix - TF-AutoG2.main.mix tilt_quad.aux.mix tilt_quad.main.mix tri_y_yaw+.main.mix @@ -84,8 +78,6 @@ px4_add_romfs_files( vtol_AAERT.aux.mix vtol_AAVVT.aux.mix vtol_TTTTAAER.aux.mix - vtol_convergence.main.mix vtol_delta.aux.mix vtol_tailsitter_duo.main.mix - vtol_tailsitter_duo_sat.main.mix ) diff --git a/ROMFS/px4fmu_common/mixers/TF-AutoG2.main.mix b/ROMFS/px4fmu_common/mixers/TF-AutoG2.main.mix deleted file mode 100644 index 23c146904b..0000000000 --- a/ROMFS/px4fmu_common/mixers/TF-AutoG2.main.mix +++ /dev/null @@ -1,56 +0,0 @@ -Aileron/rudder/elevator/throttle mixer for PX4FMU -================================================== -# @board px4_fmu-v2 exclude - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -CH1, 2: rotor-head mixer -------------- -Two scalers total (output, roll). - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 - - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 1 -10000 -10000 0 -10000 10000 - - -CH3: Elevator, prerotator mixer ------------- -Two scalers total (output, roll). - -M: 1 -O: 7500 7500 0 -10000 10000 -S: 3 6 10000 10000 0 -10000 10000 - - -CH4, 5: Rudder mixer ------------- -Two scalers total (output, yaw). - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - -M: 1 -S: 0 2 -10000 -10000 0 -10000 10000 - -CH4: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 - - -CH3: Wheel mixer ------------- -Two scalers total (output, yaw). - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/TF-G2.main.mix b/ROMFS/px4fmu_common/mixers/TF-G2.main.mix deleted file mode 100644 index 37acba1b55..0000000000 --- a/ROMFS/px4fmu_common/mixers/TF-G2.main.mix +++ /dev/null @@ -1,40 +0,0 @@ -TF-G2 autogyro mixer -================================================== -# @board px4_fmu-v2 exclude - -Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 -(roll), 1 (pitch) and 3 (thrust). - -CH1: empty - fixing cuav nano jittering of 1st output. -Z: - - -CH2, 3: rotor-head mixer -------------- -Two scalers total (output, roll). - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 1 10000 10000 0 -10000 10000 - -M: 2 -O: 10000 10000 0 -10000 10000 -S: 0 0 -10000 -10000 0 -10000 10000 -S: 0 1 -10000 -10000 0 -10000 10000 - - -CH4: Rudder mixer ------------- -Two scalers total (output, yaw). - -M: 1 -S: 0 2 10000 10000 0 -10000 10000 - - -CH5: Motor speed mixer ------------------ -Two scalers total (output, thrust). - -M: 1 -S: 0 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/blade130.main.mix b/ROMFS/px4fmu_common/mixers/blade130.main.mix deleted file mode 100644 index 3cbf49f510..0000000000 --- a/ROMFS/px4fmu_common/mixers/blade130.main.mix +++ /dev/null @@ -1,15 +0,0 @@ -Helicopter Cyclic-Collective-Pitch Mixing (CCPM) for PX4FMU -Blade 130x helicopter has longer servo arms left and right. The front servo arm is shortest and has normalized length 10000. -================================================== - -H: 3 -T: 0 3000 6000 8000 10000 -P: 500 1500 2500 3500 4500 -# Swash plate servos: -S: 0 10000 10000 0 -8000 8000 -S: 140 13054 10000 0 -8000 8000 -S: 220 13054 10000 0 -8000 8000 - -# Tail servo: -M: 1 -S: 0 2 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/coax.main.mix b/ROMFS/px4fmu_common/mixers/coax.main.mix deleted file mode 100644 index 0c99dd3b0b..0000000000 --- a/ROMFS/px4fmu_common/mixers/coax.main.mix +++ /dev/null @@ -1,29 +0,0 @@ -Coaxial helicopter mixer -- Two servomotors act on the swashplate (90 degree angle on the swashplate, decoupled effect on roll and pitch). -- No collective pitch. -- One motor per rotor. -=========================== - -Left swashplate servomotor, pitch axis -------------- -M: 1 -S: 0 1 -10000 -10000 0 -10000 10000 - -Right swashplate servomotor, roll axis -------------- -M: 1 -S: 0 0 10000 10000 0 -10000 10000 - -Upper rotor (CCW) -Mixing between yaw and thrust -------------- -M: 2 -S: 0 2 10000 10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 - -Lower rotor (CW) -Mixing between yaw and thrust -------------- -M: 2 -S: 0 2 -10000 -10000 0 -10000 10000 -S: 0 3 0 20000 -10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/firefly6.aux.mix b/ROMFS/px4fmu_common/mixers/firefly6.aux.mix deleted file mode 100644 index 9007a23b96..0000000000 --- a/ROMFS/px4fmu_common/mixers/firefly6.aux.mix +++ /dev/null @@ -1,24 +0,0 @@ -# mixer for the FireFly6 tilt mechansim servo, elevons and landing gear -======================================================================= - -# @board px4_fmu-v2 exclude - -Tilt mechanism servo mixer ---------------------------- -M: 1 -S: 1 8 0 20000 -10000 -10000 10000 - -Elevon mixers -------------- -M: 2 -S: 1 0 7500 7500 0 -10000 10000 -S: 1 1 8000 8000 0 -10000 10000 - -M: 2 -S: 1 0 7500 7500 0 -10000 10000 -S: 1 1 -8000 -8000 0 -10000 10000 - -Landing gear mixer ------------------- -M: 1 -S: 3 6 10000 10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/firefly6.main.mix b/ROMFS/px4fmu_common/mixers/firefly6.main.mix deleted file mode 100644 index 59148528c6..0000000000 --- a/ROMFS/px4fmu_common/mixers/firefly6.main.mix +++ /dev/null @@ -1,6 +0,0 @@ -# FireFly6 mixer for PX4FMU -# -#=========================== -# @board px4_fmu-v2 exclude - -R: 6c diff --git a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix b/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix deleted file mode 100644 index 2a9e3197c1..0000000000 --- a/ROMFS/px4fmu_common/mixers/vtol_tailsitter_duo_sat.main.mix +++ /dev/null @@ -1,39 +0,0 @@ -Tailsitter duo mixer -============================ - -This file defines a mixer for a generic duo tailsitter VTOL (eg TBS Caipirinha tailsitter edition). This vehicle -has two motors in total, one attached to each wing. It also has two elevons which -are located in the slipstream of the propellers. This mixer generates 4 PWM outputs -on the main PWM ouput port, two at 400Hz for the motors, and two at 50Hz for the -elevon servos. Channels 1-4 are configured to run at 400Hz, while channels 5-8 run -at the default rate of 50Hz. Note that channels 3 and 4 are assigned but not used. - -Motor mixer ------------- -Channel 1 connects to the right (starboard) motor. -Channel 2 connects to the left (port) motor. - -R: 2- - -Zero mixer (2x) ---------------- -Channels 3,4 are unused. - -Z: - -Z: - -Elevons mixer --------------- -Channel 5 connects to the right (starboard) elevon. -Channel 6 connects to the left (port) elevon. -Here we saturate the elevons before their full range -to avoid roll-pitch-yaw coupling during faster maneuvers - -M: 2 -S: 1 0 10000 10000 0 -6000 6000 -S: 1 1 10000 10000 0 -6000 6000 - -M: 2 -S: 1 0 10000 10000 0 -6000 6000 -S: 1 1 -10000 -10000 0 -6000 6000 diff --git a/src/lib/landing_slope/CMakeLists.txt b/ROMFS/recovery/CMakeLists.txt similarity index 93% rename from src/lib/landing_slope/CMakeLists.txt rename to ROMFS/recovery/CMakeLists.txt index 55f5940b78..bb65f2439f 100644 --- a/src/lib/landing_slope/CMakeLists.txt +++ b/ROMFS/recovery/CMakeLists.txt @@ -1,6 +1,6 @@ ############################################################################ # -# Copyright (c) 2018 PX4 Development Team. All rights reserved. +# Copyright (c) 2020 PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -31,4 +31,4 @@ # ############################################################################ -px4_add_library(landing_slope Landingslope.cpp) +add_subdirectory(init.d) diff --git a/ROMFS/recovery/init.d/CMakeLists.txt b/ROMFS/recovery/init.d/CMakeLists.txt new file mode 100644 index 0000000000..32a84764ad --- /dev/null +++ b/ROMFS/recovery/init.d/CMakeLists.txt @@ -0,0 +1,36 @@ +############################################################################ +# +# Copyright (c) 2020 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +px4_add_romfs_files( + rcS +) diff --git a/ROMFS/recovery/init.d/rcS b/ROMFS/recovery/init.d/rcS new file mode 100644 index 0000000000..7b68877db5 --- /dev/null +++ b/ROMFS/recovery/init.d/rcS @@ -0,0 +1,75 @@ +#!/bin/sh +# Un comment and use set +e to ignore and set -e to enable 'exit on error control' +set +e +# Un comment the line below to help debug scripts by printing a trace of the script commands +#set -x +# PX4FMU startup script. +# +# NOTE: environment variable references: +# If the dollar sign ('$') is followed by a left bracket ('{') then the +# variable name is terminated with the right bracket character ('}'). +# Otherwise, the variable name goes to the end of the argument. +# +# +# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS. +# +#------------------------------------------------------------------------------ +set R / + +# +# Start CDC/ACM serial driver. +# +sercon + +# +# Print full system version. +# +ver all + +# +# Set the parameter file the board supports params on +# MTD device. +# +if mft query -q -k MTD -s MTD_PARAMETERS -v /fs/mtd_params +then + set PARAM_FILE /fs/mtd_params +fi + +# +# Load parameters. +# +# if the board has a storage for (factory) calibration data +if mft query -q -k MTD -s MTD_CALDATA -v /fs/mtd_caldata +then + param load /fs/mtd_caldata +fi + +# +# Load parameters. +# +param select $PARAM_FILE +if ! param load +then + param reset_all +fi + +# +# board mavlink: rc.mavlink +# +set BOARD_RC_MAVLINK ${R}etc/init.d/rc.board_mavlink +if [ -f $BOARD_RC_MAVLINK ] +then + echo "Board sensors: ${BOARD_RC_MAVLINK}" + . $BOARD_RC_MAVLINK +fi +unset BOARD_RC_MAVLINK + +unset R + +mavlink boot_complete + +echo "" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "!!!!!! This is the RECOVERY firmware! WARNs and ERRORs are expected! !!!!!" +echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +echo "" diff --git a/Tools/auterion/remote_update_fmu.sh b/Tools/auterion/remote_update_fmu.sh new file mode 100755 index 0000000000..e98667d2ec --- /dev/null +++ b/Tools/auterion/remote_update_fmu.sh @@ -0,0 +1,97 @@ +#!/bin/bash +# Flash PX4 to a device running AOS in the local network +if [ "$1" == "-h" ] || [ "$1" == "--help" ] || [ $# -lt 2 ]; then + echo "Usage: $0 -f [-c ] -d [-u ] [-p ]" + exit 1 +fi + +ssh_port=22 +ssh_user=root + +while getopts ":f:c:d:p:u:" opt; do + case ${opt} in + f ) + if [ -n "$OPTARG" ]; then + firmware_file="$OPTARG" + else + echo "ERROR: -f requires a non-empty option argument." + exit 1 + fi + ;; + c ) + if [ -f "$OPTARG/rc.autostart" ]; then + config_dir="$OPTARG" + else + echo "ERROR: -c configuration directory is empty or does not contain a valid rc.autostart" + exit 1 + fi + ;; + d ) + if [ "$OPTARG" ]; then + device="$OPTARG" + else + echo "ERROR: -d requires a non-empty option argument." + exit 1 + fi + ;; + p ) + if [[ "$OPTARG" =~ ^[0-9]+$ ]]; then + ssh_port="$OPTARG" + else + echo "ERROR: -p ssh_port must be a number." + exit 1 + fi + ;; + u ) + if [ "$OPTARG" ]; then + ssh_user="$OPTARG" + else + echo "ERROR: -u requires a non-empty option argument." + exit 1 + fi + ;; + esac +done + +target_dir=/shared_container_dir/fmu + +# create update-dev.tar +target_file_name="update-dev.tar" +tmp_dir="$(mktemp -d)" +config_path="" +firmware_path="" + +if [ -d "$config_dir" ]; then + cp -r "$config_dir" "$tmp_dir/config" + config_path=config +fi + +if [ -f "$firmware_file" ]; then + extension="${firmware_file##*.}" + cp "$firmware_file" "$tmp_dir/firmware.$extension" + if [ "$extension" == "elf" ]; then + # ensure the file is stripped to reduce file size + arm-none-eabi-strip "$tmp_dir/firmware.$extension" + fi + firmware_path="firmware.$extension" +fi + +if [ -z "$device" ]; then + echo "Error: missing device" + exit 1 +fi + +pushd "$tmp_dir" &>/dev/null + +if [ -z $firmware_path ] && [ -z $config_path ]; then + exit 1 +fi + +tar -C "$tmp_dir" --sort=name --owner=root:0 --group=root:0 --mtime='2019-01-01 00:00:00' -cvf $target_file_name $firmware_path $config_path +scp -P $ssh_port "$target_file_name" $ssh_user@"$device":$target_dir +popd &>/dev/null +rm -rf "$tmp_dir" + +# grab status output +cmd="tail --follow=name $target_dir/update_status 2>/dev/null || true" +ssh -t -p $ssh_port $ssh_user@$device "$cmd" diff --git a/Tools/auterion/upload_skynode.sh b/Tools/auterion/upload_skynode.sh new file mode 100755 index 0000000000..23bf593166 --- /dev/null +++ b/Tools/auterion/upload_skynode.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +DIR="$(dirname $(readlink -f $0))" +PX4_BINARY_FILE="$1" +DEFAULT_AUTOPILOT_HOST=10.41.0.1 +DEFAULT_AUTOPILOT_PORT=33333 +DEFAULT_AUTOPILOT_USER=auterion + +for i in "$@" +do + case $i in + --default-ip=*) + DEFAULT_AUTOPILOT_HOST="${i#*=}" + ;; + --default-port=*) + DEFAULT_AUTOPILOT_PORT="${i#*=}" + ;; + --default-user=*) + DEFAULT_AUTOPILOT_USER="${i#*=}" + ;; + *) + # unknown option + ;; + esac +done + +# allow these to be overridden +[ -z "$AUTOPILOT_HOST" ] && AUTOPILOT_HOST=$DEFAULT_AUTOPILOT_HOST +[ -z "$AUTOPILOT_PORT" ] && AUTOPILOT_PORT=$DEFAULT_AUTOPILOT_PORT +[ -z "$AUTOPILOT_USER" ] && AUTOPILOT_USER=$DEFAULT_AUTOPILOT_USER + +echo "Uploading to $AUTOPILOT_HOST..." + +"$DIR"/remote_update_fmu.sh -f "$PX4_BINARY_FILE" -d "$AUTOPILOT_HOST" -p $AUTOPILOT_PORT -u $AUTOPILOT_USER + +exit 0 diff --git a/Tools/gazebo_sitl_multiple_run.sh b/Tools/gazebo_sitl_multiple_run.sh index 292272e2bd..3deb3c8b25 100755 --- a/Tools/gazebo_sitl_multiple_run.sh +++ b/Tools/gazebo_sitl_multiple_run.sh @@ -6,10 +6,17 @@ # For example gazebo can be run like this: #./Tools/gazebo_sitl_multiple_run.sh -n 10 -m iris +SUPPORTED_MODELS=("iris" "plane" "standard_vtol" "rover" "r1_rover" "typhoon_h480", "shieldai_nova2", "skydio_x2d") + function cleanup() { pkill -x px4 - pkill gzclient pkill gzserver + + if [[ -n "$HEADLESS" ]]; then + exit + else + pkill gzclient + fi } function spawn_model() { @@ -20,10 +27,9 @@ function spawn_model() { X=${X:=0.0} Y=${Y:=$((3*${N}))} - SUPPORTED_MODELS=("iris" "plane" "standard_vtol" "rover" "r1_rover" "typhoon_h480") if [[ " ${SUPPORTED_MODELS[*]} " != *"$MODEL"* ]]; then - echo "ERROR: Currently only vehicle model $MODEL is not supported!" + echo "ERROR: Currently vehicle model '$MODEL' is not supported!" echo " Supported Models: [${SUPPORTED_MODELS[@]}]" trap "cleanup" SIGINT SIGTERM EXIT exit 1 @@ -34,8 +40,19 @@ function spawn_model() { pushd "$working_dir" &>/dev/null echo "starting instance $N in $(pwd)" + + if [[ -n "${PX4_VIDEO_HOST_IP}" ]]; then + export PX4_VIDEO_HOST_IP=${PX4_VIDEO_HOST_IP%.*}.$((7+$N)) + echo "PX4_VIDEO_HOST_IP '$PX4_VIDEO_HOST_IP'" + fi + + if [[ -n "${PX4_SIM_REMOTE_HOST}" ]]; then + export PX4_SIM_REMOTE_HOST=${PX4_SIM_REMOTE_HOST%.*}.$((7+$N)) + echo "PX4_SIM_REMOTE_HOST '$PX4_SIM_REMOTE_HOST'" + fi + ../bin/px4 -i $N -d "$build_path/etc" -w sitl_${MODEL}_${N} -s etc/init.d-posix/rcS >out.log 2>err.log & - python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${MODEL}/${MODEL}.sdf.jinja ${src_path}/Tools/sitl_gazebo --mavlink_tcp_port $((4560+${N})) --mavlink_udp_port $((14560+${N})) --mavlink_id $((1+${N})) --gst_udp_port $((5600+${N})) --video_uri $((5600+${N})) --mavlink_cam_udp_port $((14530+${N})) --output-file /tmp/${MODEL}_${N}.sdf + python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${MODEL}/${MODEL}.sdf.jinja ${src_path}/Tools/sitl_gazebo --mavlink_tcp_port $((4560+${N})) --mavlink_udp_port $((14560+${N})) --mavlink_id $((1+${N})) --gst_udp_host 172.5.0.$((7+${N})) --gst_udp_port $((5600)) --video_uri $((5600+${N})) --mavlink_cam_udp_port $((14530+${N})) --udp_onboard_gimbal_port_local $((13030+${N})) --output-file /tmp/${MODEL}_${N}.sdf --vehicle_id ${N} echo "Spawning ${MODEL}_${N} at ${X} ${Y}" @@ -47,12 +64,13 @@ function spawn_model() { if [ "$1" == "-h" ] || [ "$1" == "--help" ] then - echo "Usage: $0 [-n ] [-m ] [-w ] [-s