Compare commits

..

42 Commits

Author SHA1 Message Date
Daniel Agar 97ab8277ed ROMFS: 50000_generic_ground_vehicle remove fmu-v2 exclude
- this allows px4_fmu-v2_rover to function until we have a better mechanism for including or excluding ROMFS dependencies #15711
2020-11-12 12:57:27 -05:00
AlexanderAurora 8068ed89f6 landing_slope: added wrap_pi to getLandingSlope and getFlareCurve
- fixes https://github.com/PX4/PX4-Autopilot/issues/16132
2020-11-12 12:57:27 -05:00
Alex Mikhalev a0a4b10885 Fix non-determinstic boot hang with crashdumps
On boot, if board_hardfault_init finds a hardfault stored in BBSRAM, it
checks if there is any data available on stdin to see if there is
somebody there to respond to a prompt. But on boards such as cubeorange
where there is not a serial console by default, the ioctl fails and
bytesWaiting is uninitialized. So it will non-deterministally hang the
boot process with no outside feedback if that value is not zero.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-11-12 12:57:27 -05:00
Julian Kent 377dc909ed Check that home position is valid in RTL (#15964) 2020-11-12 12:57:27 -05:00
Daniel Agar 8a516e5488 commander: preflight check don't read mag device_id 2020-11-12 12:57:27 -05:00
CUAVcaijie d8778ac8df Add a USB ardupilot * type 2020-11-12 12:57:27 -05:00
Jacob Dahl 92a9278a6a fixed dps310 calibration coeffecient for c11 2020-11-12 12:57:27 -05:00
Julian Oes 508c09d610 commander: fix switch to loiter
Sometimes, the mission_result timestamp is the same as the
internal_state timestamp which would meant that we would not switch to
LOITER even though the takeoff is clearly done at that point.
2020-11-12 12:57:27 -05:00
Daniel Agar efabca854f ekf2: update ecl with bug fixes
- ecl/EKF: Improve robustness of yaw reset to bad inertial data (https://github.com/PX4/PX4-ECL/pull/914)
 - ecl/EKF: Use strength in Gauss (bug fix) (https://github.com/PX4/PX4-ECL/pull/933)
2020-11-12 11:27:56 -05:00
Daniel Agar bdcccb1723 sensors: force parameter update if mag device id still isn't set 2020-10-22 09:36:00 -04:00
Beat Küng 8592fe2358 tests: don't run battery_simulator
The battery migration interferes with the tests.
2020-10-20 11:43:41 -04:00
Beat Küng 5faf8bd52c battery: disable secondary module by default
Avoid a GCS showing 2 battery indicators.
Alternatively we could also check the 'connected' flag, but this is more
explicit.
2020-10-20 11:43:41 -04:00
Beat Küng 977479c370 battery: fix isFloatEqual(), use matrix::isEqualF
Fixes param migration, e.g. if BAT_N_CELLS is set, migrates to
BAT1_N_CELLS.
2020-10-20 11:43:41 -04:00
Beat Küng 6da456e7f5 fix EscBattery: remove _battery.publish();
updateBatteryStatus() already publishes
2020-10-20 11:43:41 -04:00
Daniel Agar 9fcbf18d82 battery: fix duplicate uORB publish and minor cleanup
- run battery_status module on adc_report publications rather than a fixed schedule
2020-10-05 14:49:54 -04:00
Daniel Agar 3188408d81 boards: mRo Control Zero F7 fix RC input and cleanup sensors init 2020-10-05 14:49:54 -04:00
Daniel Agar d3148f2656 commander: PreFlightCheck param_find all parameters immediately
- this ensures the relevant parameters are marked active immediately
before parameter sync
 - fixes https://github.com/PX4/Firmware/issues/15872
2020-10-03 17:52:46 -04:00
Beat Küng 665effca3b kakutef7: fix output ordering
Regression from d2254c2e44, I overlooked that they were defined in
reverse order.
2020-10-03 17:52:46 -04:00
Alex Mikhalev db37c632b4 uavcan: Increase uavcan main stack size
I observed stack overflows when executing `uavcan params list`, so the
stack size probably needs to be increased.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-03 17:52:46 -04:00
Nicolas Martin 50d768c79d mc_pos_control: fix acc Z sign 2020-09-29 09:33:43 -04:00
Daniel Agar 740c471021 boards: CUAV Nora/X7pro fix BOARD_DSHOT_MOTOR_ASSIGNMENT
- BOARD_DSHOT_MOTOR_ASSIGNMENT isn't needed if there's no remapping
2020-09-24 12:04:28 -04:00
Daniel Agar 8398e80fa5 boards: cubepilot orange/yellow fix BOARD_DSHOT_MOTOR_ASSIGNMENT 2020-09-24 12:04:28 -04:00
Daniel Agar 4f8bcec1d7 boards: cubeorange and cubeyellow disable serial console (used for ADSB on new carrier boards)
- add console builds (cubepilot_cubeorange_console) for hardware test rack and developers
2020-09-21 13:44:54 -04:00
Mirko Denecke f01fbdf8b5 CubeOrange and CubeYellow IMU heating fix 2020-09-16 10:28:33 -04:00
Nicolas MARTIN db529aa013 temperature compensation: change sensor id not found message 2020-09-16 10:28:33 -04:00
Nicolas MARTIN cd3db45d27 thermal calibrtation: do not calibrate sensor without temperature sensor 2020-09-16 10:28:33 -04:00
David Sidrane 71db0903a9 NuttX Critical STM32H7 Interrupt Storm on I2C 2020-09-07 15:36:11 -04:00
Dusan Zivkovic bfc59f6d88 FlightTaskAuto: update waypoints on every iteration when in offtrack state 2020-09-07 15:25:06 -04:00
Daniel Agar 2bc4a5a44b commander: HITL skip auto disarm if lockdown
- auto disarm when locked down was added in #14766 to prevent user confusion in regular usage, but also breaks HITL where lockdown is enabled for safety
 - fixes #15686
2020-09-06 19:30:02 -04:00
Jonathan Hahn 33cabba185 fw_pos_control_l1: fix swapped TECS time parameters (#15685)
Co-authored-by: Jonathan Hahn <hahn@wingcopter.com>
2020-09-04 15:14:00 -04:00
Matthias Grob 4cd7d44b4a battery: switch to PublicationMulti for battery_status 2020-09-01 22:08:28 -04:00
Matthias Grob 7da7ebad3d analog_battery: fix missing stdio include
This was not a problem before because battery.h
included the adc driver and implicitly snprintf
was defined through there.
2020-09-01 22:08:28 -04:00
Matthias Grob a809e4cfc8 commander_params: remove some double spaces 2020-09-01 22:08:28 -04:00
Matthias Grob 4db9d7131e syslink_main: remove empty lines and struct keyword 2020-09-01 22:08:28 -04:00
Matthias Grob f92c5aa688 ina226/voxlpm: make sure parameter sub is reset
The subscription to parameter updates has to get
copied otherwise the change detection will not get
reset for next time.
2020-09-01 22:08:28 -04:00
Matthias Grob 165c8b23bf battery: fix parameter migration and clarify 2020-09-01 22:08:28 -04:00
Matthias Grob 226f5f875d BatterySimulator: remove SimulatorBattery
It loads the battery parameters but then overwrites them
with hardcoded values and it breaks the ModuleParams
parent/child hierarchy. Both is undesired.
2020-09-01 22:08:28 -04:00
Oleg af9c6e6fce batterry_status: fix checking default a_per_v 2020-08-28 16:28:54 -04:00
bresch c3a410e19c ll40ls: set default rotation to downwards facing
All the other distance sensors have their default rotation to downwards
facing as well
2020-08-28 16:28:54 -04:00
Daniel Agar 427b17d8a1 bosch/bmi055: fix accel temperature reading
- single register output is in 2's complement
2020-08-28 16:28:29 -04:00
CUAVcaijie 1672fc646f boards: add UAVCAN timer override mechanism and CUAV X7 add CAN (#15348)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards

Co-authored-by: honglang <honglang@cuav.net>
2020-08-28 16:28:29 -04:00
modaltb c915f0dca9 modalai_fc-v1 - power_monitor/voxlpm: add support for voxlpm v3 (INA231 sensors) 2020-08-28 16:28:01 -04:00
1380 changed files with 18935 additions and 36823 deletions
+123
View File
@@ -0,0 +1,123 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
agent {
docker {
image 'px4io/px4-dev-ros-melodic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
steps {
sh 'export'
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_sitl_default'
sh 'make px4_sitl_default sitl_gazebo'
sh 'make px4_sitl_default package'
sh 'ccache -s'
stash(name: "px4_sitl_package", includes: "build/px4_sitl_default/*.bz2")
archiveArtifacts(artifacts: "build/px4_sitl_default/*.bz2", fingerprint: true, onlyIfSuccessful: true)
}
post {
always {
sh 'make distclean'
}
}
} // stage Build
stage('ROS Tests') {
steps {
script {
def missions = [
[
name: "MC_avoidance",
test: "mavros_posix_test_avoidance.test",
mission: "avoidance",
vehicle: "iris_obs_avoid",
run_script: "rostest_avoidance_run.sh"
],
[
name: "MC_safe_landing",
test: "mavros_posix_test_safe_landing.test",
mission: "MC_safe_landing",
vehicle: "iris_obs_avoid",
run_script: "rostest_avoidance_run.sh"
],
]
def test_nodes = [:]
for (def i = 0; i < missions.size(); i++) {
test_nodes.put(missions[i].name, createTestNode(missions[i]))
}
parallel test_nodes
} // script
} // steps
} // stage ROS Tests
} //stages
environment {
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
timeout(time: 60, unit: 'MINUTES')
}
} // pipeline
def createTestNode(Map test_def) {
return {
node {
cleanWs()
docker.image("px4io/px4-dev-ros-melodic:2020-04-01").inside('-e HOME=${WORKSPACE}') {
stage(test_def.name) {
def run_script = test_def.get('run_script', 'rostest_px4_run.sh')
def test_ok = true
sh('export')
unstash('px4_sitl_package')
sh('tar -xjpvf build/px4_sitl_default/px4-px4_sitl_default*.bz2')
// run test
try {
sh('px4-px4_sitl_default*/px4/test/' + run_script + ' ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle)
} catch (exc) {
// save all test artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.ulg, .ros/**/rosunit-*.xml, .ros/**/rostest-*.log')
test_ok = false
}
// upload log to flight review (https://logs.px4.io/)
sh('px4-px4_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
// log analysis
// process ekf log data
try {
sh('px4-px4_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
} catch (exc) {
// save log analysis artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv')
// FIXME: don't let the script to fail the build
// test_ok = false
}
if (!test_ok) {
error('ROS Test failed')
}
} // stage
cleanWs()
} // docker.image
} // node
} // return
} // createTestNode
+5 -14
View File
@@ -10,24 +10,17 @@ pipeline {
def build_nodes = [:]
def docker_images = [
armhf: "px4io/px4-dev-armhf:2020-04-01",
arm64: "px4io/px4-dev-aarch64:latest",
base: "px4io/px4-dev-base-bionic:2020-04-01",
nuttx: "px4io/px4-dev-nuttx-focal:2020-09-14",
nuttx: "px4io/px4-dev-nuttx-bionic:2020-04-01",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
]
def armhf_builds = [
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default"],
image: docker_images.armhf,
archive: false
]
def arm64_builds = [
target: ["scumaker_pilotpi_arm64"],
image: docker_images.arm64,
archive: false
]
def base_builds = [
target: ["px4_sitl_rtps"],
image: docker_images.base,
@@ -39,8 +32,6 @@ pipeline {
"airmind_mindpx-v2_default",
"av_x-v1_default",
"bitcraze_crazyflie_default",
"cuav_can-gps-v1_canbootloader",
"cuav_can-gps-v1_default",
"cuav_nora_default",
"cuav_x7pro_default",
"cubepilot_cubeorange_console",
@@ -48,6 +39,7 @@ pipeline {
"cubepilot_cubeyellow_console",
"cubepilot_cubeyellow_default",
"holybro_durandal-v1_default",
"holybro_durandal-v1_stackcheck",
"holybro_kakutef7_default",
"holybro_pix32v5_default",
"intel_aerofc-v1_default",
@@ -57,9 +49,8 @@ pipeline {
"mro_x21_default",
"nxp_fmuk66-v3_default",
"nxp_fmuk66-v3_socketcan",
"nxp_fmuk66-v3_rtps",
"nxp_fmurt1062-v1_default",
"nxp_ucans32k146_default",
"nxp_rddrone-uavcan146_default",
"omnibus_f4sd_default",
"px4_fmu-v2_default",
"px4_fmu-v2_fixedwing",
@@ -118,7 +109,7 @@ pipeline {
// TODO: actually upload artifacts to S3
// stage('S3 Upload') {
// agent {
// docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
// docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
// }
// options {
// skipDefaultCheckout()
+90
View File
@@ -0,0 +1,90 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
parallel {
stage('px4_sitl_default (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make px4_sitl_default'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage px4_sitl_default
stage('px4_fmu-v5_default (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make px4_fmu-v5_default'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage px4_fmu-v5_default
stage('sitl tests (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make tests'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage sitl tests
} // parallel
} // stage Build
} // stages
environment {
CCACHE_CPP2 = '1'
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
timeout(time: 120, unit: 'MINUTES')
}
}
+38 -72
View File
@@ -12,7 +12,7 @@ pipeline {
stage("build px4_fmu-v2_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -69,7 +69,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
}
}
@@ -80,7 +80,7 @@ pipeline {
stage("build px4_fmu-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -143,7 +143,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -154,7 +154,7 @@ pipeline {
stage("build px4_fmu-v4_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -216,7 +216,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -227,7 +227,7 @@ pipeline {
stage("build px4_fmu-v4pro_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -290,7 +290,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -301,7 +301,7 @@ pipeline {
stage("build px4_fmu-v5_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -365,7 +365,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -376,7 +376,7 @@ pipeline {
stage("build px4_fmu-v5_debug") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -440,7 +440,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -451,7 +451,7 @@ pipeline {
stage("build px4_fmu-v5_optimized") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -513,7 +513,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -524,7 +524,7 @@ pipeline {
stage("build px4_fmu-v5_stackcheck") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -588,7 +588,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -599,7 +599,7 @@ pipeline {
stage("build modalai_fc-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -661,7 +661,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -672,7 +672,7 @@ pipeline {
stage("build holybro_durandal-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -740,7 +740,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -751,7 +751,7 @@ pipeline {
stage("build nxp_fmuk66-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -803,7 +803,7 @@ pipeline {
stage("tests") {
steps {
// run tests
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*`'
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*` || true' // ignore failures for now (flaky console on test rack)
}
}
stage("reset") {
@@ -813,7 +813,7 @@ pipeline {
}
}
options {
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
} // stage test
}
@@ -828,7 +828,7 @@ pipeline {
}
options {
buildDiscarder(logRotator(numToKeepStr: '20', artifactDaysToKeepStr: '40'))
timeout(time: 90, unit: 'MINUTES')
timeout(time: 60, unit: 'MINUTES')
}
}
@@ -836,27 +836,20 @@ void statusFTDI() {
// run logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger on"'
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "free"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "work_queue status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "board_adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander check"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate accel quick; sleep 2; param show CAL_ACC*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate gyro; sleep 2; param show CAL_GYRO*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate level; sleep 2; param show SENS_BOARD*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate mag quick; sleep 2; param show CAL_MAG*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dataman status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "df"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dmesg"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ekf2 status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "free"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "gps status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener adc_report"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener battery_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_selector_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_sensor_bias"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener logger_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_accel"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_accel_fifo"'
@@ -865,17 +858,13 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_gyro"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_gyro_fifo"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_mag"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensors_status_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener px4io_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener system_power"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_air_data"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_angular_acceleration"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_angular_velocity"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_imu_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_magnetometer"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ls /"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ls /dev"'
@@ -887,7 +876,6 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink status streams"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "modules status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param show"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param status"'
@@ -900,13 +888,11 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "sd_bench -r 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "sensors status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener cpuload; top once; listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "top once"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "uorb status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "uorb top -1 -a"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ver all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "work_queue status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ekf2 status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "free"'
// stop logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger off"'
}
@@ -915,27 +901,20 @@ void statusSEGGER() {
// run logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger on"'
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "free"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "work_queue status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "board_adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander check"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate accel quick; sleep 2; param show CAL_ACC*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate gyro; sleep 2; param show CAL_GYRO*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate level; sleep 2; param show SENS_BOARD*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate mag quick; sleep 2; param show CAL_MAG*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dataman status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "df -h"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dmesg"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ekf2 status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "free"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "gps status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener adc_report"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener battery_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_selector_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_sensor_bias"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener logger_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_accel"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_accel_fifo"'
@@ -944,17 +923,13 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_gyro"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_gyro_fifo"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_mag"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensors_status_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener px4io_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener system_power"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_air_data"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_angular_acceleration"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_angular_velocity"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_imu_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_magnetometer"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ls /"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ls /dev"'
@@ -966,7 +941,6 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink status streams"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "modules status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param show"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param status"'
@@ -979,19 +953,17 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "px4io status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "sd_bench -r 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "sensors status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener cpuload; top once; listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "top once"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "uorb status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "uorb top -1 -a"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ver all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "work_queue status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ekf2 status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "free"'
// stop logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger off"'
}
void cleanupFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "modules stop-all"'
// wipe sdcard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "navigator stop"'
@@ -1002,15 +974,12 @@ void cleanupFTDI() {
// drop any uncommited hardfaults
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "hardfault_log rearm"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "hardfault_log reset"'
// erase mtd
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd readtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd rwtest"'
// wipe parameters
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd erase"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param reset"'
// disable buzzer and cleanup storage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param reset_all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SDLOG_DIRS_MAX 1"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
@@ -1021,7 +990,7 @@ void cleanupFTDI() {
}
void cleanupSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "modules stop-all"'
// wipe sdcard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "navigator stop"'
@@ -1032,15 +1001,12 @@ void cleanupSEGGER() {
// drop any uncommited hardfaults
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "hardfault_log rearm"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "hardfault_log reset"'
// erase mtd
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd readtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd rwtest"'
// wipe parameters
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd erase"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param reset"'
// disable buzzer and cleanup storage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param reset_all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set CBRK_BUZZER 782097"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SDLOG_DIRS_MAX 1"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param save"'
-42
View File
@@ -1,42 +0,0 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
{
"name": "px4-dev-nuttx",
"image": "px4io/px4-dev-nuttx-focal:2020-09-14",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
"ms-iot.vscode-ros",
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
],
"containerUser": "user",
"containerEnv": {
"LOCAL_USER_ID": "${localEnv:UID}"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [14556],
}
+5 -1
View File
@@ -26,7 +26,11 @@ jobs:
"module_documentation",
"parameters_metadata",
]
container: px4io/px4-dev-nuttx-focal:2020-09-14
ubuntu_release: [
#bionic,
focal
]
container: px4io/px4-dev-nuttx-${{ matrix.ubuntu_release }}:2020-04-01
steps:
- uses: actions/checkout@v1
with:
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-clang:2020-08-14
container: px4io/px4-dev-clang:2020-04-01
steps:
- uses: actions/checkout@v1
with:
+1 -2
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2020-08-14
container: px4io/px4-dev-armhf:2020-04-01
strategy:
matrix:
config: [
@@ -19,7 +19,6 @@ jobs:
beaglebone_blue_default,
emlid_navio2_default,
px4_raspberrypi_default,
scumaker_pilotpi_default,
]
steps:
- uses: actions/checkout@v1
-50
View File
@@ -1,50 +0,0 @@
name: Linux ARM64 Targets
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:latest
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 = 400M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: make ${{matrix.config}}
run: make ${{matrix.config}}
- name: ccache post-run
run: ccache -s
+3 -5
View File
@@ -11,15 +11,13 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2020-09-14
container: px4io/px4-dev-nuttx-bionic:2020-04-01
strategy:
matrix:
config: [
airmind_mindpx-v2_default,
av_x-v1_default,
bitcraze_crazyflie_default,
cuav_can-gps-v1_canbootloader,
cuav_can-gps-v1_default,
cuav_nora_default,
cuav_x7pro_default,
cubepilot_cubeorange_console,
@@ -27,6 +25,7 @@ jobs:
cubepilot_cubeyellow_console,
cubepilot_cubeyellow_default,
holybro_durandal-v1_default,
holybro_durandal-v1_stackcheck,
holybro_kakutef7_default,
holybro_pix32v5_default,
intel_aerofc-v1_default,
@@ -37,9 +36,8 @@ jobs:
nxp_fmuk66-v3_default,
nxp_fmuk66-e_default,
nxp_fmuk66-v3_socketcan,
nxp_fmuk66-v3_rtps,
nxp_fmurt1062-v1_default,
nxp_ucans32k146_default,
nxp_rddrone-uavcan146_default,
omnibus_f4sd_default,
px4_fmu-v2_default,
px4_fmu-v2_fixedwing,
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-04-01
strategy:
matrix:
config: [
@@ -0,0 +1,29 @@
name: Hardware Linux
on:
push:
branches:
- 'master'
jobs:
build:
runs-on: [emlid_navio2]
steps:
- uses: actions/checkout@v1
- name: Build
env:
CCACHE_BASEDIR: ${GITHUB_WORKSPACE}
run: |
make distclean
ccache -z
make emlid_navio2_default
ccache -s
# sanity check
- name: Sanity check
run: cd build/emlid_navio2_default/ && ./bin/px4 -s ../../posix-configs/rpi/px4_test.config
- name: Upload log to flight review
run: find . -name *.ulg
#run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ./build/px4_sitl_default/tmp/rootfs/log/*/*.ulg
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
- {test_file: "mavros_posix_test_safe_landing.test", vehicle: "iris_obs_avoid", mission: "MC_safe_landing", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-08-14
image: px4io/px4-dev-ros-melodic:2020-04-01
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-08-14
image: px4io/px4-dev-ros-melodic:2020-04-01
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
#- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-08-14
image: px4io/px4-dev-ros-melodic:2020-04-01
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+6 -20
View File
@@ -12,7 +12,7 @@ jobs:
airframe:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-04-01
steps:
- uses: actions/checkout@v1
with:
@@ -27,7 +27,7 @@ jobs:
module:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-04-01
steps:
- uses: actions/checkout@v1
with:
@@ -42,7 +42,7 @@ jobs:
parameter:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-04-01
steps:
- uses: actions/checkout@v1
with:
@@ -57,7 +57,7 @@ jobs:
uorb_graph:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2020-09-14
container: px4io/px4-dev-nuttx-focal:2020-04-01
steps:
- uses: actions/checkout@v1
with:
@@ -70,23 +70,9 @@ jobs:
ls -ls *
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
micrortps_agent:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
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:2020-09-14
container: px4io/px4-dev-base-bionic:2020-04-01
steps:
- uses: actions/checkout@v1
with:
@@ -99,7 +85,7 @@ jobs:
ROS2_bridge:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-bionic:2020-04-01
steps:
- uses: actions/checkout@v1
with:
+9 -9
View File
@@ -15,12 +15,12 @@ jobs:
fail-fast: false
matrix:
config:
- {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo", model: "iris" } # Alaska
- {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo", model: "standard_vtol" } # Australia
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo", model: "tailsitter" } # Florida
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage", model: "standard_vtol" } # Zurich
- {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo"} # Alaska
- {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo"} # Australia
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo"} # Florida
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage"} # Zurich
container:
image: px4io/px4-dev-simulation-focal:2020-08-14
image: px4io/px4-dev-simulation-focal:2020-04-01
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -28,9 +28,9 @@ jobs:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Download MAVSDK
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.33.1/mavsdk_0.33.1_ubuntu20.04_amd64.deb
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.27.0/mavsdk_0.27.0_ubuntu18.04_amd64.deb
- name: Install MAVSDK
run: dpkg -i mavsdk_0.33.1_ubuntu20.04_amd64.deb
run: dpkg -i mavsdk_0.27.0_ubuntu18.04_amd64.deb
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
@@ -92,7 +92,7 @@ jobs:
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} test/mavsdk_tests/configs/sitl.json
run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early test/mavsdk_tests/configs/sitl.json
- name: Look at core files
if: failure()
@@ -106,7 +106,7 @@ jobs:
- name: Upload logs to flight review
if: failure()
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ${GITHUB_WORKSPACE}/build/px4_sitl_default/tmp_mavsdk_tests/rootfs/log/*/*.ulg
run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ./build/px4_sitl_default/tmp/rootfs/log/*/*.ulg
- name: Upload px4 binary
if: failure()
+6 -12
View File
@@ -12,15 +12,15 @@
branch = master
[submodule "Tools/sitl_gazebo"]
path = Tools/sitl_gazebo
url = https://github.com/PX4/PX4-SITL_gazebo.git
url = https://github.com/PX4/sitl_gazebo.git
branch = master
[submodule "src/lib/matrix"]
path = src/lib/matrix
url = https://github.com/PX4/PX4-Matrix
url = https://github.com/PX4/Matrix.git
branch = master
[submodule "src/lib/ecl"]
path = src/lib/ecl
url = https://github.com/PX4/PX4-ECL
url = https://github.com/PX4/ecl.git
branch = master
[submodule "boards/atlflight/cmake_hexagon"]
path = boards/atlflight/cmake_hexagon
@@ -28,7 +28,7 @@
branch = px4
[submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices
url = https://github.com/PX4/PX4-GPSDrivers
url = https://github.com/PX4/GpsDrivers.git
branch = master
[submodule "src/modules/micrortps_bridge/micro-CDR"]
path = src/modules/micrortps_bridge/micro-CDR
@@ -37,20 +37,14 @@
[submodule "platforms/nuttx/NuttX/nuttx"]
path = platforms/nuttx/NuttX/nuttx
url = https://github.com/PX4/NuttX.git
branch = px4_firmware_nuttx-10.0.0+
branch = px4_firmware_nuttx-8.2
[submodule "platforms/nuttx/NuttX/apps"]
path = platforms/nuttx/NuttX/apps
url = https://github.com/PX4/NuttX-apps.git
branch = px4_firmware_nuttx-10.0.0+
branch = px4_firmware_nuttx-8.2
[submodule "platforms/qurt/dspal"]
path = platforms/qurt/dspal
url = https://github.com/ATLFlight/dspal.git
[submodule "Tools/flightgear_bridge"]
path = Tools/flightgear_bridge
url = https://github.com/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jsbsim_bridge"]
path = Tools/jsbsim_bridge
url = https://github.com/PX4/px4-jsbsim-bridge.git
[submodule "src/examples/gyro_fft/CMSIS_5"]
path = src/examples/gyro_fft/CMSIS_5
url = https://github.com/ARM-software/CMSIS_5.git
+67 -8
View File
@@ -1,16 +1,75 @@
{
"configurations": [
{
"name": "PX4",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [],
"name": "Linux",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
},
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"compilerPath": "/usr/bin/g++",
"configurationProvider": "ms-vscode.cmake-tools",
"cppStandard": "c++14",
"cStandard": "c11"
"cStandard": "c11",
"defines": [
"__PX4_LINUX",
"__PX4_POSIX"
],
"forcedInclude": [
"${workspaceFolder}/src/include/visibility.h"
],
"includePath": [
"${workspaceFolder}/boards/px4/sitl/src",
"${workspaceFolder}/build/px4_sitl_default",
"${workspaceFolder}/platforms/common/include",
"${workspaceFolder}/platforms/posix/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
"${workspaceFolder}/src",
"${workspaceFolder}/src/include",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib/matrix",
"${workspaceFolder}/src/modules"
],
"intelliSenseMode": "${default}"
},
{
"name": "Mac",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
},
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"compilerPath": "/usr/bin/clang++",
"configurationProvider": "ms-vscode.cmake-tools",
"cppStandard": "c++14",
"cStandard": "c11",
"defines": [
"__PX4_DARWIN",
"__PX4_POSIX"
],
"forcedInclude": [
"${workspaceFolder}/src/include/visibility.h"
],
"includePath": [
"${workspaceFolder}/boards/px4/sitl/src",
"${workspaceFolder}/build/px4_sitl_default",
"${workspaceFolder}/platforms/common/include",
"${workspaceFolder}/platforms/posix/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
"${workspaceFolder}/src",
"${workspaceFolder}/src/include",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib/matrix",
"${workspaceFolder}/src/modules"
],
"intelliSenseMode": "${default}"
}
],
"version": 4
}
}
-10
View File
@@ -61,11 +61,6 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: av_x-v1_default
cuav_can-gps-v1_default:
short: cuav_can-gps-v1_default
buildType: MinSizeRel
settings:
CONFIG: cuav_can-gps-v1_default
cuav_nora_default:
short: cuav_nora
buildType: MinSizeRel
@@ -86,11 +81,6 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: cubepilot_cubeyellow_default
emlid_navio2_default:
short: emlid_navio2
buildType: MinSizeRel
settings:
CONFIG: emlid_navio2_default
holybro_durandal-v1_default:
short: holybro_durandal-v1
buildType: MinSizeRel
+1 -3
View File
@@ -4,7 +4,6 @@
"recommendations": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
@@ -12,9 +11,8 @@
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"timonwong.shellcheck",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
+59 -20
View File
@@ -3,34 +3,70 @@
"astyle.c.enable": true,
"astyle.cpp.enable": true,
"breadcrumbs.enabled": true,
"cmake.autoRestartBuild": true,
"cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.configureOnOpen": true,
"cmake.copyCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"cmake.debugConfig": {
"name": "SITL shell (gdb)",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [
"${workspaceFolder}/ROMFS/px4fmu_common",
"-s",
"etc/init.d-posix/rcS",
"-t",
"${workspaceFolder}/test_data"
],
"stopAtEntry": false,
"cwd": "${command:cmake.buildDirectory}/tmp",
"environment": [
{
"name": "PX4_SIM_MODEL",
"value": "shell"
}
],
"externalConsole": false,
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "PX4 ignore wq signals",
"text": "handle SIGCONT nostop noprint nopass",
"ignoreFailures": true
}
]
},
"osx": {
"MIMode": "lldb",
"setupCommands": [
{
"text": "pro hand -p true -s false -n false SIGCONT",
}
]
}
},
"C_Cpp.autoAddFileAssociations": false,
"C_Cpp.clang_format_fallbackStyle": "none",
"C_Cpp.default.browse.databaseFilename": "${workspaceRoot}/.vscode/browse.vc.db",
"C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.default.macFrameworkPath": null,
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.intelliSenseEngineFallback": "Enabled",
"C_Cpp.vcpkg.enabled": false,
"C_Cpp.workspaceParsingPriority": "low",
"cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.buildTask": true,
"cmake.configureOnOpen": true,
"cmake.ctest.parallelJobs": 1,
"cmake.skipConfigureIfCachePresent": true,
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
"cmakeExplorer.parallelJobs": 1,
"cmakeExplorer.suiteDelimiter": "-",
"cortex-debug.enableTelemetry": false,
"cSpell.allowCompoundWords": true,
"cSpell.diagnosticLevel": "Hint",
"cSpell.showStatus": false,
"cSpell.words": [
"acro",
"rattitude",
"nuttx",
"esc"
],
"debug.toolBarLocation": "docked",
"editor.acceptSuggestionOnEnter": "off",
"editor.defaultFormatter": "chiehyu.vscode-astyle",
@@ -52,6 +88,7 @@
"git.ignoreLimitWarning": true,
"githubPullRequests.defaultMergeMethod": "squash",
"githubPullRequests.telemetry.enabled": false,
"gitlens.advanced.telemetry.enabled": false,
"files.associations": {
"*.jinja": "jinja",
"algorithm": "cpp",
@@ -129,15 +166,17 @@
},
"search.showLineNumbers": true,
"search.smartCase": true,
"shellcheck.exclude": [2154],
"telemetry.enableTelemetry": false,
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.rightClickBehavior": "paste",
"terminal.integrated.rightClickCopyPaste": true,
"terminal.integrated.scrollback": 5000,
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
"workbench.editor.highlightModifiedTabs": true,
"workbench.enableExperiments": false,
"workbench.settings.enableNaturalLanguageSearch": false,
"workbench.statusBar.feedback.visible": false,
"yaml.schemas": {
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
"${workspaceRoot}/validation/module_schema.yaml": "${workspaceRoot}/src/modules/*/module.yaml"
}
}
+111 -143
View File
@@ -3,58 +3,12 @@
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "/bin/bash",
"args": [
"-c",
"${command:cmake.tasksBuildCommand}"
],
"options": {
"cwd": "${command:cmake.buildDirectory}"
},
"group": {
"kind": "build",
"isDefault": true,
},
"problemMatcher": {
"base": "$gcc",
"fileLocation": ["relative", "${command:cmake.buildDirectory}"]
},
"presentation":{
"echo": false,
"showReuseMessage": false,
"clear": true,
"panel": "shared",
"group": "build"
}
},
{
"label": "test",
"type": "shell",
"command": "make tests",
"options": {
"cwd": "${workspaceFolder}"
},
"group": {
"kind": "test",
"isDefault": true,
},
"presentation":{
"echo": true,
"showReuseMessage": false,
"clear": false,
"panel": "shared",
"group": "test"
}
},
{
"label": "jmavsim build",
"type": "shell",
"command": "ant create_run_jar copy_res",
"options": {
"cwd": "${workspaceFolder}/Tools/jMAVSim"
"cwd": "${workspaceRoot}/Tools/jMAVSim"
},
"problemMatcher": [],
"presentation":{
@@ -63,7 +17,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false,
"clear": true
}
},
{
@@ -72,7 +26,7 @@
"dependsOn": "jmavsim build",
"command": "java -Djava.ext.dirs= -jar jmavsim_run.jar -r 250 -lockstep -tcp localhost:4560 -qgc",
"options": {
"cwd": "${workspaceFolder}/Tools/jMAVSim/out/production",
"cwd": "${workspaceRoot}/Tools/jMAVSim/out/production",
"env": {
"PX4_SIM_SPEED_FACTOR": "1"
}
@@ -84,7 +38,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": [
{
@@ -114,7 +68,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": []
},
@@ -123,31 +77,31 @@
"type": "shell",
"command": "make px4_sitl_default sitl_gazebo",
"options": {
"cwd": "${workspaceFolder}"
"cwd": "${workspaceRoot}"
},
"problemMatcher": [],
"presentation":{
"echo": true,
"reveal": "always",
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false,
"clear": true
}
},
{
"label": "gazebo start",
"label": "gazebo iris",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceFolder}",
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceFolder}/Tools/sitl_gazebo/worlds/${input:gazeboWorld}.world",
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/iris.world",
"isBackground": true,
"presentation": {
"echo": true,
@@ -155,7 +109,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": [
{
@@ -176,26 +130,106 @@
]
},
{
"label": "gazebo",
"label": "gazebo plane",
"type": "shell",
"dependsOn": "gazebo start",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceFolder}",
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/sitl_gazebo/models/${input:vehicleModel}/${input:vehicleModel}.sdf --model-name=${input:vehicleModel} -x 1.01 -y 0.98 -z 0.83",
"isBackground": false,
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/plane.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo standard_vtol",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/standard_vtol.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo tailsitter",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/tailsitter.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": [
{
@@ -220,10 +254,10 @@
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceFolder}",
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
@@ -235,7 +269,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": [
{
@@ -260,42 +294,12 @@
"type": "shell",
"command": "killall gzserver",
"presentation": {
"echo": true,
"reveal": "silent",
"echo": false,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_sitl_cleanup"]
},
{
"label": "px4_sitl_cleanup",
"type": "shell",
"command": "rm -rfv /tmp/px4*",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_kill"]
},
{
"label": "px4_kill",
"type": "shell",
"command": "killall px4 || true",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
"clear": true
},
"problemMatcher": []
},
@@ -304,7 +308,7 @@
"type": "shell",
"command": "./Tools/mavlink_shell.py",
"options": {
"cwd": "${workspaceFolder}"
"cwd": "${workspaceRoot}"
},
"presentation": {
"echo": true,
@@ -321,7 +325,7 @@
"type": "shell",
"command": "miniterm.py --raw - 57600",
"options": {
"cwd": "${workspaceFolder}"
"cwd": "${workspaceRoot}"
},
"presentation": {
"echo": true,
@@ -333,41 +337,5 @@
},
"problemMatcher": []
}
],
"inputs": [
{
"type": "pickString",
"id": "vehicleModel",
"description": "gazebo model",
"options": [
"iris",
"typhoon_h480",
"plane",
"plane_catapult",
"plane_lidar",
"standard_vtol",
"tailsitter",
"tiltrotor",
"r1_rover",
"boat"
],
"default": "iris"
},
{
"type": "pickString",
"id": "gazeboWorld",
"description": "gazebo world",
"options": [
"baylands",
"empty",
"ksql_airport",
"mcmillan_airfield",
"sonoma_raceway",
"warehouse",
"windy",
"yosemite"
],
"default": "empty"
}
]
}
Vendored
+47 -77
View File
@@ -12,10 +12,12 @@ pipeline {
}
}
parallel {
// TODO: temporarily disabled 2020-06-03 waiting on mavlink update
// stage('Catkin build on ROS workspace') {
// agent {
// docker {
// image 'px4io/px4-dev-ros-melodic:2020-08-20'
// image 'px4io/px4-dev-ros-melodic:2020-04-01'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// }
// }
@@ -52,42 +54,42 @@ pipeline {
// checkoutToSubdirectory('catkin_ws/src/Firmware')
// }
// }
stage('Colcon build on ROS2 workspace') {
agent {
docker {
image 'px4io/px4-dev-ros2-foxy:2020-08-20'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
steps {
sh 'ls -l'
sh '''#!/bin/bash -l
echo $0;
unset ROS_DISTRO;
mkdir -p colcon_ws/src;
cd colcon_ws;
git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo
git clone --recursive ${WORKSPACE}/colcon_ws/src/Firmware/Tools/sitl_gazebo src/mavlink_sitl_gazebo;
git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
source /opt/ros/bouncy/setup.sh;
source /opt/ros/melodic/setup.sh;
colcon build --event-handlers console_direct+ --symlink-install;
'''
}
post {
always {
sh 'rm -rf colcon_ws'
}
}
options {
checkoutToSubdirectory('colcon_ws/src/Firmware')
}
}
//
// stage('Colcon build on ROS2 workspace') {
// agent {
// docker {
// image 'px4io/px4-dev-ros2-dashing:2020-04-01'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// }
// }
// steps {
// sh 'ls -l'
// sh '''#!/bin/bash -l
// echo $0;
// unset ROS_DISTRO;
// mkdir -p colcon_ws/src;
// cd colcon_ws;
// git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo
// git clone --recursive ${WORKSPACE}/colcon_ws/src/Firmware/Tools/sitl_gazebo src/mavlink_sitl_gazebo;
// git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
// source /opt/ros/bouncy/setup.sh;
// source /opt/ros/melodic/setup.sh;
// colcon build --event-handlers console_direct+ --symlink-install;
// '''
// }
// post {
// always {
// sh 'rm -rf colcon_ws'
// }
// }
// options {
// checkoutToSubdirectory('colcon_ws/src/Firmware')
// }
// }
stage('Airframe') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh 'make distclean'
@@ -106,7 +108,7 @@ pipeline {
stage('Parameter') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh 'make distclean'
@@ -125,7 +127,7 @@ pipeline {
stage('Module') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh 'make distclean'
@@ -145,7 +147,7 @@ pipeline {
stage('uORB graphs') {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -174,7 +176,7 @@ pipeline {
stage('Devguide') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
@@ -204,18 +206,16 @@ pipeline {
stage('Userguide') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
unstash 'metadata_airframes'
unstash 'metadata_parameters'
unstash 'metadata_module_documentation'
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh('git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_user_guide.git')
sh('cp airframes.md px4_user_guide/en/airframes/airframe_reference.md')
sh('cp parameters.md px4_user_guide/en/advanced_config/parameter_reference.md')
sh('cp -R modules/*.md px4_user_guide/en/modules/')
sh('cd px4_user_guide; git status; git add .; git commit -a -m "Update PX4 Firmware metadata `date`" || true')
sh('cd px4_user_guide; git push origin master || true')
sh('rm -rf px4_user_guide')
@@ -234,7 +234,7 @@ pipeline {
stage('QGroundControl') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
@@ -260,39 +260,9 @@ pipeline {
}
}
stage('microRTPS agent') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
sh('git fetch --all --tags')
sh('make distclean')
sh('make px4_sitl_rtps')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
sh("rm -rf micrortps_agent/src micrortps_agent/idl")
sh('cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent')
sh('cd micrortps_agent; git status; git add src; git commit -a -m "Update microRTPS agent source code `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('cd micrortps_agent; git status; git add idl; git commit -a -m "Update IDL definitions `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('cd micrortps_agent; git status; git add CMakeLists.txt; git commit -a -m "Update CMakeLists.txt `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('rm -rf micrortps_agent')
}
}
when {
anyOf {
branch 'master'
branch 'pr-jenkins' // for testing
}
}
}
stage('PX4 ROS msgs') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
@@ -300,12 +270,12 @@ pipeline {
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
// 'master' branch
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin master || true')
// 'ros1' branch
sh('cd px4_msgs; git checkout ros1')
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin ros1 || true')
sh('rm -rf px4_msgs')
@@ -321,7 +291,7 @@ pipeline {
stage('PX4 ROS2 bridge') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
@@ -364,7 +334,7 @@ pipeline {
stage('S3') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
}
steps {
sh('export')
+9 -20
View File
@@ -40,12 +40,8 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
## Maintenance Team
* Project: Founder
* [Lorenz Meier](https://github.com/LorenzMeier)
* Architecture
* [Daniel Agar](https://github.com/dagar)
* [Dev Call](https://github.com/PX4/Firmware/labels/devcall)
* [Ramon Roche](https://github.com/mrpollo)
* Project: Founder - [Lorenz Meier](https://github.com/LorenzMeier), Architecture: [Daniel Agar](https://github.com/dagar)
* [Dev Call](https://github.com/PX4/Firmware/labels/devcall) - [Ramon Roche](https://github.com/mrpollo)
* Communication Architecture
* [Beat Kueng](https://github.com/bkueng)
* [Julian Oes](https://github.com/JulianOes)
@@ -59,22 +55,15 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
* [Roman Bapst](https://github.com/RomanBapst)
* [Fixed Wing Flight Control](https://github.com/PX4/Firmware/labels/fixedwing)
* [Roman Bapst](https://github.com/RomanBapst)
* OS / NuttX
* [David Sidrane](https://github.com/davids5)
* Driver Architecture
* [Daniel Agar](https://github.com/dagar)
* Commander Architecture
* [Julian Oes](https://github.com/julianoes)
* [UAVCAN](https://github.com/PX4/Firmware/labels/uavcan)
* [Daniel Agar](https://github.com/dagar)
* [State Estimation](https://github.com/PX4/Firmware/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22)
* [Paul Riseborough](https://github.com/priseborough)
* OS / NuttX [David Sidrane](https://github.com/davids5)
* Driver Architecture [Daniel Agar](https://github.com/dagar)
* Commander Architecture [Julian Oes](https://github.com/julianoes)
* [UAVCAN](https://github.com/PX4/Firmware/labels/uavcan) [Daniel Agar](https://github.com/dagar)
* [State Estimation](https://github.com/PX4/Firmware/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22) - [Paul Riseborough](https://github.com/priseborough)
* Vision based navigation
* [Julian Kent](https://github.com/jkflying)
* Obstacle Avoidance
* [Martina Rivizzigno](https://github.com/mrivi)
* RTPS/ROS2 Interface
* [Nuno Marques](https://github.com/TSC21)
* Obstacle Avoidance - [Martina Rivizzigno](https://github.com/mrivi)
* RTPS/ROS2 Interface - [Nuno Marques](https://github.com/TSC21)
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/Firmware/graphs/contributors) (Github).
+35 -69
View File
@@ -34,7 +34,7 @@
message(STATUS "ROMFS: ${config_romfs_root}")
set(romfs_src_dir ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root})
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/etc)
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/genromfs)
set_property(GLOBAL PROPERTY PX4_ROMFS_FILES)
set_property(GLOBAL PROPERTY PX4_ROMFS_CMAKE_FILES)
@@ -81,48 +81,21 @@ file(GLOB jinja_templates ${PX4_SOURCE_DIR}/Tools/serial/*.jinja)
if (px4_constrained_flash_build)
set(added_arguments --constrained-flash)
endif()
# create list of relative romfs file names
set(romfs_copy_files_relative)
foreach(romfs_file IN LISTS romfs_copy_files)
string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file})
list(APPEND romfs_copy_files_relative ${romfs_file_rel})
endforeach()
# copy the ROMFS files by creating a tar and extracting it to the build
# directory (which preserves the directory structure)
file(MAKE_DIRECTORY ${romfs_gen_root_dir})
set(romfs_tar_file ${PX4_BINARY_DIR}/romfs_files.tar)
add_custom_command(
OUTPUT ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E tar cf ${romfs_tar_file} ${romfs_copy_files_relative}
WORKING_DIRECTORY ${romfs_src_dir}
DEPENDS
${romfs_copy_files}
${jinja_templates}
${module_config_files}
${romfs_cmake_files}
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
)
set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp)
add_custom_command(
OUTPUT ${romfs_extract_stamp}
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp}
WORKING_DIRECTORY ${romfs_gen_root_dir}
DEPENDS ${romfs_tar_file}
)
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/rcS
${romfs_gen_root_dir}/init.d/rc.serial
${romfs_gen_root_dir}/init.d/rc.autostart
${romfs_gen_root_dir}/init.d/rc.autostart.post
romfs_copy.stamp
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}
# TODO: we should only copy the files in ${romfs_copy_files}
COMMAND ${CMAKE_COMMAND} -E copy_directory ${romfs_src_dir} ${romfs_gen_root_dir}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/init.d-posix
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/mixers-sitl
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/mixers/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/airframes/CMakeLists.txt
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
--airframes-path ${romfs_gen_root_dir}/init.d
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
@@ -133,13 +106,32 @@ add_custom_command(
--config-files ${module_config_files} #--verbose
COMMAND ${CMAKE_COMMAND} -E touch romfs_copy.stamp
DEPENDS
${romfs_extract_stamp}
${jinja_templates}
${module_config_files}
${romfs_cmake_files}
${romfs_copy_files}
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
COMMENT "ROMFS: copying, generating airframes"
)
# copy extras into ROMFS
set(extras_dependencies)
if(config_bl_file)
file(MAKE_DIRECTORY ${PX4_BINARY_DIR}/romfs_extras)
configure_file(${config_bl_file} ${PX4_BINARY_DIR}/romfs_extras COPYONLY)
list(APPEND extras_dependencies
${config_bl_file}
)
endif()
# copy px4io binary if configured
if(config_io_board)
list(APPEND extras_dependencies
@@ -187,35 +179,17 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
endforeach()
list(APPEND extras_dependencies
${config_romfs_extra_dependencies}
)
if (config_romfs_extra_files)
set(extras_copy_cmd COMMAND ${CMAKE_COMMAND} -E copy_if_different ${config_romfs_extra_files} ${romfs_gen_root_dir}/extras/)
else()
set(extras_copy_cmd "")
endif()
add_custom_command(OUTPUT romfs_extras.stamp
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/extras/
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PX4_BINARY_DIR}/romfs_extras/ ${romfs_gen_root_dir}/extras/
${extras_copy_cmd}
COMMAND ${CMAKE_COMMAND} -E touch romfs_extras.stamp
DEPENDS
romfs_copy.stamp
${config_romfs_extra_files}
${extras_dependencies}
COMMENT "ROMFS: copying extras"
)
add_custom_target(romfs_gen_files_target
DEPENDS
${romfs_extract_stamp}
${romfs_gen_root_dir}/init.d/rc.serial
romfs_extras.stamp
)
add_custom_command(
OUTPUT romfs_pruned.stamp
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
@@ -246,11 +220,7 @@ if("${CONFIG_FS_CROMFS}" STREQUAL "y")
COMMENT "ROMFS: generating image"
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
else()
# create romfs.img
find_program(GENROMFS genromfs)
if(NOT GENROMFS)
@@ -285,13 +255,13 @@ elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
COMMAND ${SED} 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c
DEPENDS romfs.img
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
endif()
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
# shellcheck
find_program(SHELLCHECK_PATH shellcheck)
@@ -301,15 +271,11 @@ if(SHELLCHECK_PATH)
# TODO: fix SC2086, SC2166
add_custom_target(shellcheck
COMMAND ${SHELLCHECK_PATH} --shell=sh
--exclude=SC1090 # SC1090: use of source (.) - Can't follow non-constant source. Use a directive to specify location.
--exclude=SC1091 # SC1091: use of source (.) - Not following: xxxx openBinaryFile: does not exist (No such file or directory)
--exclude=SC2121 # SC2121: To assign a variable, use just 'var=value'
--exclude=SC2086 # SC2086: Double quote to prevent globbing and word splitting.
--exclude=SC2166 # SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
--exclude=SC2154 # SC2154: <var> is referenced but not assigned (NuttX uses different asssignment)
--exclude=SC2164 # SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
--exclude=SC2169 # SC2169: In dash, 'source' in place of '.' is not supported. (we alias it)
--exclude=SC2039 # SC2039: In POSIX sh, 'source' in place of '.' is undefined. (we alias it)
--exclude=SC2181 # SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
`find ${romfs_gen_root_dir}/init.d -type f`
DEPENDS ${romfs_gen_root_dir}/init.d/rc.autostart
+9 -10
View File
@@ -14,7 +14,7 @@ set +e
# NOTE: COMMENT LINES ARE REMOVED BEFORE STORED IN ROMFS.
#
#------------------------------------------------------------------------------
set R /
#
# Mount the procfs.
#
@@ -51,25 +51,25 @@ fi
param select $PARAM_FILE
if ! param load
then
param reset_all
param reset
fi
#
# Optional board defaults: rc.board_defaults
#
set BOARD_RC_DEFAULTS ${R}etc/init.d/rc.board_defaults
set BOARD_RC_DEFAULTS /etc/init.d/rc.board_defaults
if [ -f $BOARD_RC_DEFAULTS ]
then
echo "Board defaults: ${BOARD_RC_DEFAULTS}"
. $BOARD_RC_DEFAULTS
sh $BOARD_RC_DEFAULTS
fi
unset BOARD_RC_DEFAULTS
#
# Start system state indicator.
#
rgbled start -X -q
rgbled_ncp5623c start -X -q
rgbled start -X
rgbled_ncp5623c start -X
rgbled_pwm start
if param greater LIGHT_EN_BLINKM 0
@@ -83,11 +83,11 @@ fi
#
# board sensors: rc.sensors
#
set BOARD_RC_SENSORS ${R}etc/init.d/rc.board_sensors
set BOARD_RC_SENSORS /etc/init.d/rc.board_sensors
if [ -f $BOARD_RC_SENSORS ]
then
echo "Board sensors: ${BOARD_RC_SENSORS}"
. $BOARD_RC_SENSORS
sh $BOARD_RC_SENSORS
fi
unset BOARD_RC_SENSORS
@@ -95,7 +95,7 @@ unset BOARD_RC_SENSORS
# Start UART/Serial device drivers.
# Note: rc.serial is auto-generated from Tools/serial/generate_config.py
#
. ${R}etc/init.d/rc.serial
sh /etc/init.d/rc.serial
# Check for flow sensor
if param compare SENS_EN_PX4FLOW 1
@@ -104,4 +104,3 @@ then
fi
uavcannode start
unset R
-5
View File
@@ -33,8 +33,3 @@
add_subdirectory(init.d)
add_subdirectory(mixers)
# TODO: make this configurable from the board config, or better combine
if("${PX4_BOARD}" MATCHES "sitl")
add_subdirectory(mixers-sitl)
add_subdirectory(init.d-posix)
endif()
@@ -7,6 +7,7 @@
# @maintainer Julian Oes <julian@oes.ch>
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -6,7 +6,7 @@
# @type Quadrotor
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -6,6 +6,6 @@
# @type Quadrotor
#
. ${R}etc/init.d/airframes/4016_holybro_px4vision
sh /etc/init.d/airframes/4016_holybro_px4vision
set MIXER quad_x
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,4 +5,4 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
. ${R}etc/init.d-posix/airframes/10016_iris
sh /etc/init.d-posix/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name UUV
#
. ${R}etc/init.d/rc.uuv_defaults
sh /etc/init.d/rc.uuv_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Hippocampus UUV
#
. ${R}etc/init.d/rc.uuv_defaults
sh /etc/init.d/rc.uuv_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
sh /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with camera
#
. ${R}etc/init.d-posix/airframes/1030_plane
sh /etc/init.d-posix/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with catapult
#
. ${R}etc/init.d-posix/airframes/1030_plane
sh /etc/init.d-posix/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with downward facing LIDAR.
#
. ${R}etc/init.d-posix/airframes/1030_plane
sh /etc/init.d-posix/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
sh /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
sh /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Standard VTOL
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -14,9 +14,6 @@ then
param set FW_AIRSPD_TRIM 16
param set FW_L1_PERIOD 12
param set FW_RR_FF 0.1
param set FW_RR_P 0.01
param set MC_ROLLRATE_P 0.3
param set MIS_LTRMIN_ALT 10
@@ -25,7 +22,7 @@ then
param set MPC_ACC_HOR_MAX 2
param set MPC_ACC_HOR_MAX 2
param set MPC_THR_HOVER 0.58
param set MPC_THR_MIN 0.1
param set MPC_TKO_SPEED 1
param set MPC_XY_P 0.8
param set MPC_XY_VEL_P_ACC 3
@@ -5,7 +5,7 @@
# @type VTOL Quad Tailsitter
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -16,13 +16,17 @@ then
param set MC_ROLLRATE_P 0.3
param set MIS_LTRMIN_ALT 10
param set MIS_TAKEOFF_ALT 10
param set MIS_YAW_TMT 10
param set MPC_ACC_HOR_MAX 2
param set MPC_ACC_HOR_MAX 2
param set MPC_THR_MIN 0.3
param set MPC_THR_MIN 0.1
param set MPC_TKO_SPEED 1
param set MPC_XY_P 0.15
param set MPC_XY_VEL_D_ACC 0.1
param set MPC_XY_VEL_I_ACC 4
param set MPC_XY_VEL_P_ACC 1
param set MPC_Z_VEL_MAX_DN 1.5
param set MPC_Z_VEL_P_ACC 16
@@ -34,8 +38,6 @@ then
param set VT_F_TRANS_THR 0.7
param set VT_TYPE 0
param set WV_EN 0
fi
set MAV_TYPE 20
@@ -5,7 +5,7 @@
# @type VTOL Tiltrotor
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Rover
#
. ${R}etc/init.d/rc.rover_defaults
sh /etc/init.d/rc.rover_defaults
if [ $AUTOCNF = yes ]
then
@@ -4,7 +4,7 @@
# @type Rover
# @class Rover
. ${R}etc/init.d/rc.rover_defaults
sh /etc/init.d/rc.rover_defaults
if [ $AUTOCNF = yes ]
then
@@ -8,7 +8,7 @@
# @maintainer ThunderFly s.r.o.
#
. ${R}etc/init.d/rc.rover_defaults
sh /etc/init.d/rc.rover_defaults
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Boat
#
. ${R}etc/init.d/rc.boat_defaults
sh /etc/init.d/rc.boat_defaults
if [ $AUTOCNF = yes ]
then
@@ -10,7 +10,7 @@
#
#
. ${R}etc/init.d/rc.fw_defaults
sh /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -9,7 +9,7 @@
# @output MAIN3 port thruster
# @output MAIN4 tail thruster
. ${R}etc/init.d/rc.airship_defaults
sh /etc/init.d/rc.airship_defaults
set MIXER cloudship
set PWM_OUT 1234
@@ -5,7 +5,7 @@
# @type Hexarotor x
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -1,39 +0,0 @@
############################################################################
#
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
add_subdirectory(airframes)
px4_add_romfs_files(
rc.replay
rcS
)
@@ -1,20 +0,0 @@
#!/bin/sh
#
# @name BlueROV2 Heavy Configuration
#
. ${R}etc/init.d/rc.uuv_defaults
if [ $AUTOCNF = yes ]
then
#Set data link loss failsafe mode (0: disabled)
param set NAV_DLL_ACT 0
# disable circuit breaker for airspeed sensor
param set CBRK_AIRSPD_CHK 162128
fi
set PWM_OUT 12345678
set MIXER_FILE etc/mixers-sitl/vectored6dof_sitl.main.mix
set MIXER custom
@@ -1,47 +0,0 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
param set EKF2_ARSP_THR 8
param set EKF2_FUSE_BETA 1
param set EKF2_MAG_ACCLIM 0
param set EKF2_MAG_YAWLIM 0
param set FW_LND_AIRSPD_SC 1
param set FW_LND_ANG 8
param set FW_THR_LND_MAX 0
param set FW_L1_PERIOD 15
param set FW_P_TC 0.5
param set FW_PR_FF 0.40
param set FW_PR_I 0.05
param set FW_PR_P 0.05
param set FW_R_TC 0.7
param set FW_RR_FF 0.20
param set FW_RR_I 0.02
param set FW_RR_P 0.22
param set FW_L1_PERIOD 12
param set FW_W_EN 1
param set MIS_LTRMIN_ALT 30
param set MIS_TAKEOFF_ALT 30
param set NAV_ACC_RAD 15
param set NAV_DLL_ACT 2
param set NAV_LOITER_RAD 50
param set RWTO_TKOFF 1
fi
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -1,56 +0,0 @@
#!/bin/sh
#
# @name Plane SITL
#
. ${R}etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
param set EKF2_ARSP_THR 8
param set EKF2_FUSE_BETA 1
#param set EKF2_MAG_ACCLIM 0
#param set EKF2_MAG_YAWLIM 0
param set FW_LND_AIRSPD_SC 1.1
param set FW_LND_ANG 5
param set FW_THR_LND_MAX 0
param set FW_LND_HHDIST 30
param set FW_LND_FL_PMIN 9.5
param set FW_LND_FL_PMAX 20
param set FW_LND_FLALT 5
param set FW_LND_TLALT 15
param set FW_L1_PERIOD 25
param set FW_P_TC 0.4
param set FW_PR_FF 0.40
param set FW_PR_I 0.05
param set FW_PR_P 0.05
param set FW_R_TC 0.45
param set FW_RR_FF 0.40
param set FW_RR_I 0.132
param set FW_RR_P 0.085
param set FW_W_EN 1
param set MIS_LTRMIN_ALT 30
param set MIS_TAKEOFF_ALT 20
param set MIS_DIST_1WP 2500
param set MIS_DIST_WPS 10000
param set NAV_ACC_RAD 15
param set NAV_DLL_ACT 2
param set NAV_LOITER_RAD 50
param set RWTO_TKOFF 1
param set RWTO_MAX_PITCH 20
param set RWTO_MAX_ROLL 10
param set RWTO_PSP 8
param set RWTO_AIRSPD_SCL 1.8
fi
set MIXER_FILE etc/mixers-sitl/plane_sitl.main.mix
set MIXER custom
@@ -1,12 +0,0 @@
#!/bin/sh
#
# @name Quadrotor SITL model for JSBSim
#
# @type Quadrotor Wide
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
. ${R}etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -1,35 +0,0 @@
#!/bin/sh
#
# @name Hexacopter SITL model for JSBSim
#
# @type Hexarotor x
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
. ${R}etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
param set MC_PITCHRATE_P 0.1
param set MC_PITCHRATE_I 0.05
param set MC_PITCH_P 6.0
param set MC_ROLLRATE_P 0.15
param set MC_ROLLRATE_I 0.1
param set MC_ROLL_P 6.0
param set MPC_XY_VEL_I_ACC 4
param set MPC_XY_VEL_P_ACC 3
param set RTL_DESCEND_ALT 10
param set RTL_LAND_DELAY 0
param set TRIG_INTERFACE 3
param set TRIG_MODE 4
param set MNT_MODE_IN 4
param set MNT_DO_STAB 2
param set MAV_PROTO_VER 2
fi
set MAV_TYPE 13
set MIXER hexa_x
@@ -1,76 +0,0 @@
############################################################################
#
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_romfs_files(
10016_iris
10020_if750a
10030_px4vision
1010_iris_opt_flow
1010_iris_opt_flow.post
1011_iris_irlock
1012_iris_rplidar
1013_iris_vision
1013_iris_vision.post
1014_solo
1015_iris_obs_avoid
1015_iris_obs_avoid.post
1016_iris_rtps
1016_iris_rtps.post
1017_iris_opt_flow_mockup
1018_iris_vision_velocity
1019_iris_dual_gps
1020_uuv_generic
1021_uuv_hippocampus
1022_uuv_bluerov2_heavy
1030_plane
1031_plane_cam
1032_plane_catapult
1033_plane_lidar
1033_rascal
1034_rascal-electric
1035_techpod
1036_malolo
1040_standard_vtol
1041_tailsitter
1042_tiltrotor
1060_rover
1061_r1_rover
1062_tf-r1
1070_boat
3010_quadrotor_x
3011_hexarotor_x
17001_tf-g1
2507_cloudship
6011_typhoon_h480
6011_typhoon_h480.post
)
@@ -2,17 +2,6 @@
# EKF2 replay script
# shellcheck disable=SC2154
if [ ! -f ${replay} ]; then
echo "Invalid replay log file ${replay}"
exit 1
fi
if [ ! -f replay_params.txt ]; then
echo "Creating $(pwd)/replay_params.txt"
ulog_params -i "${replay}" -d ' ' | grep -e '^EKF2' > replay_params.txt
fi
publisher_rules_file="orb_publisher.rules"
cat <<EOF > "$publisher_rules_file"
restrict_topics: sensor_combined, vehicle_gps_position, vehicle_land_detected
+38 -25
View File
@@ -15,7 +15,7 @@ SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd)"
# shellcheck disable=SC2154
if [ "$replay_mode" = "ekf2" ]
then
. ${R}etc/init.d-posix/rc.replay
sh etc/init.d-posix/rc.replay
exit 0
fi
@@ -44,12 +44,10 @@ else
# Find the matching Autostart ID (file name has the form: [0-9]+_${PX4_SIM_MODEL})
# TODO: unify with rc.autostart generation
# shellcheck disable=SC2012
REQUESTED_AUTOSTART=$(ls "$SCRIPT_DIR/airframes" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
REQUESTED_AUTOSTART=$(ls "$SCRIPT_DIR" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
if [ -z "$REQUESTED_AUTOSTART" ]; then
echo "Error: Unknown model $PX4_SIM_MODEL (not found by name on $SCRIPT_DIR/airframes)"
echo "Error: Unknown model '$PX4_SIM_MODEL'"
exit 1
else
echo "Info: found model autostart file as SYS_AUTOSTART=$REQUESTED_AUTOSTART"
fi
fi
@@ -103,7 +101,7 @@ then
set AUTOCNF yes
# Wipe out params except RC*, flight modes, total flight time, accel cal, gyro cal, next flight UUID
param reset_all SYS_AUTOSTART SYS_AUTOCONFIG RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT_UUID
param reset_nostart RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT_UUID
fi
# multi-instance setup
@@ -123,14 +121,14 @@ then
param set BAT_N_CELLS 4
param set CAL_ACC0_ID 1310988 # 1310988: DRV_IMU_DEVTYPE_SIM, BUS: 1, ADDR: 1, TYPE: SIMULATION
param set CAL_ACC1_ID 1310996 # 1310996: DRV_IMU_DEVTYPE_SIM, BUS: 2, ADDR: 1, TYPE: SIMULATION
param set CAL_ACC2_ID 1311004 # 1311004: DRV_IMU_DEVTYPE_SIM, BUS: 3, ADDR: 1, TYPE: SIMULATION
param set CAL_GYRO0_ID 1310988 # 1310988: DRV_IMU_DEVTYPE_SIM, BUS: 1, ADDR: 1, TYPE: SIMULATION
param set CAL_GYRO1_ID 1310996 # 1310996: DRV_IMU_DEVTYPE_SIM, BUS: 2, ADDR: 1, TYPE: SIMULATION
param set CAL_GYRO2_ID 1311004 # 1311004: DRV_IMU_DEVTYPE_SIM, BUS: 3, ADDR: 1, TYPE: SIMULATION
param set CAL_ACC0_ID 1311244
param set CAL_ACC_PRIME 1311244
param set CAL_GYRO0_ID 1311244
param set CAL_GYRO_PRIME 1311244
param set CAL_MAG0_ID 197388
param set CAL_MAG1_ID 197644
param set CAL_MAG_PRIME 197388
param set CBRK_AIRSPD_CHK 0
param set CBRK_SUPPLY_CHK 894281
@@ -138,14 +136,31 @@ then
# Don't require RC calibration and configuration
param set COM_RC_IN_MODE 1
param set EKF2_ANGERR_INIT 0.01
param set EKF2_GBIAS_INIT 0.01
# Prevent high accel bias
param set COM_ARM_EKF_AB 0.005
# Speedup SITL startup
param set EKF2_REQ_GPS_H 0.5
# Multi-EKF
param set EKF2_MULTI_IMU 3
param set SENS_IMU_MODE 0
param set EKF2_MULTI_MAG 2
param set SENS_MAG_MODE 0
# LPE: GPS only mode
param set LPE_FUSION 145
param set MC_PITCH_P 6
param set MC_PITCHRATE_P 0.2
param set MC_ROLL_P 6
param set MC_ROLLRATE_P 0.2
param set MPC_Z_VEL_P_ACC 12.0
param set MPC_Z_VEL_I_ACC 3.0
param set MPC_XY_P 0.8
param set MPC_XY_VEL_P_ACC 4.0
param set MPC_XY_VEL_I_ACC 0.4
param set MPC_XY_VEL_D_ACC 0.32
param set RTL_RETURN_ALT 30
# By default log from boot until first disarm.
param set SDLOG_MODE 1
@@ -182,8 +197,7 @@ fi
# Autostart ID
autostart_file=''
# shellcheck disable=SC2231
for f in ${R}etc/init.d-posix/airframes/"$(param show -q SYS_AUTOSTART)"_*
for f in etc/init.d-posix/"$(param show -q SYS_AUTOSTART)"_*
do
filename=$(basename "$f")
case "$filename" in
@@ -200,7 +214,7 @@ if [ ! -e "$autostart_file" ]; then
exit 1
fi
. "$autostart_file"
sh "$autostart_file"
#
# If autoconfig parameter was set, reset it and save parameters.
@@ -216,7 +230,6 @@ if ! replay tryapplyparams
then
simulator start -c $simulator_tcp_port
fi
load_mon start
battery_simulator start
tone_alarm start
rc_update start
@@ -240,7 +253,7 @@ fi
# Note: rc.vehicle_setup is the entry point for rc.interface,
# rc.fw_apps, rc.mc_apps, rc.rover_apps, and rc.vtol_apps.
#
. ${R}etc/init.d/rc.vehicle_setup
sh etc/init.d/rc.vehicle_setup
# GCS link
mavlink start -x -u $udp_gcs_port_local -r 4000000
@@ -261,7 +274,7 @@ mavlink start -x -u $udp_offboard_port_local -r 4000000 -m onboard -o $udp_offbo
mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote
# execute autostart post script if any
[ -e "$autostart_file".post ] && . "$autostart_file".post
[ -e "$autostart_file".post ] && sh "$autostart_file".post
# Run script to start logging
if param compare SYS_MC_EST_GROUP 2
@@ -270,7 +283,7 @@ then
else
set LOGGER_ARGS "-p vehicle_attitude"
fi
. ${R}etc/init.d/rc.logging
sh etc/init.d/rc.logging
mavlink boot_complete
replay trystart
@@ -34,9 +34,6 @@
add_subdirectory(airframes)
px4_add_romfs_files(
rc.airship_apps
rc.airship_defaults
rc.boat_defaults
rc.fw_apps
rc.fw_defaults
rc.interface
@@ -15,7 +15,7 @@
# @maintainer Lorenz Meier <lorenz@px4.io>
#
. ${R}etc/init.d/rc.fw_defaults
sh /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -8,7 +8,7 @@
# @maintainer Lorenz Meier <lorenz@px4.io>
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
set MIXER quad_x
set PWM_OUT 1234
@@ -8,7 +8,7 @@
# @maintainer Roman Bapst <roman@auterion.com>
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -22,7 +22,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
set MIXER hexa_cox
@@ -8,7 +8,7 @@
# @maintainer Romain Chiappinelli <romain.chiap@gmail.com>
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
set MIXER quad_x
set PWM_OUT 1234
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
set MIXER octo_cox
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.mc_defaults
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -18,7 +18,7 @@
# @output AUX5 Throttle
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -13,7 +13,7 @@
# @maintainer Roman Bapst <roman@px4.io>
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -22,7 +22,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -8,7 +8,7 @@
# @maintainer Roman Bapst <roman@px4.io>
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -19,7 +19,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -12,7 +12,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -17,7 +17,7 @@
# @output MAIN8 Pusher reverse channel
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -5,6 +5,8 @@
# @type VTOL Octoplane
# @class VTOL
#
# @maintainer
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
@@ -19,12 +21,11 @@
# @output AUX4 Rudder
# @output AUX5 Throttle
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then

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