Compare commits

...

35 Commits

Author SHA1 Message Date
Jaeyoung-Lim d1fbc2540c Run jsbsim 2021-04-17 10:49:19 +02:00
Jaeyoung-Lim 4a80c872ea Add unified hitl_run script for running HITL simulations
This commit adds a hitl_run script which can be used for various simulations when running HITL simulation
2021-04-17 10:46:06 +02:00
mcsauder 3b72f3b641 Create publish_status() method in the heater driver, add a status field to indicate if the temperature setpoint has been met within 2.5C, breakout update_params() method from the Heater::Run() method and simplify logic. 2021-04-16 08:09:51 -04:00
benjinne 3dad16bc40 RTPS client remove redundant baudrate check 2021-04-16 14:01:27 +02:00
benjinne 42108eb4af Fix microRTPS_client_main.cpp format 2021-04-16 14:01:27 +02:00
benjinne 76e15b4a21 RTPS client get baudrate parameter if requested, and mark the device baud rate parameter as used so it shows up in QGC 2021-04-16 14:01:27 +02:00
Daniel Agar 2492fb35e4 rc_update: require consecutive valid input_rc before publishing 2021-04-15 16:40:54 -04:00
PX4 BuildBot 96c7fe4978 Update submodule matrix to latest Thu Apr 15 12:39:10 UTC 2021
- matrix in PX4/Firmware (501b463b36b07481181c15b734861704d9f27020): https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
    - Changes: https://github.com/PX4/PX4-Matrix/compare/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3...b8568a89db8455d0ab2e2e391e2149ba2e5e10dd

    b8568a8 2021-04-14 Daniel Agar - Euler: improve quaternion constructor
2021-04-15 13:27:07 -04:00
Daniel Agar 5c4582ccce rc: dsm allow full range 2021-04-15 18:27:33 +02:00
Igor Mišić bd4839e855 commander: changed msg "connection to GCS lost" from critical to info
update
2021-04-15 11:29:02 -04:00
Beat Küng 2219e096d7 cmake: embed param metadata if not CONSTRAINED_FLASH and not "test" LABEL 2021-04-15 08:16:51 +02:00
PX4 BuildBot 592dc65bae Update submodule matrix to latest Thu Apr 15 00:39:06 UTC 2021
- matrix in PX4/Firmware (d9ebf2a842f611976d7ba5078d3f31ad8cde55a7): https://github.com/PX4/PX4-Matrix/commit/3679f7fd5160c7d2a8271b1134ca1e601f1a4254
    - matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
    - Changes: https://github.com/PX4/PX4-Matrix/compare/3679f7fd5160c7d2a8271b1134ca1e601f1a4254...1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3

    1d0e7f1 2021-04-14 Daniel Agar - Matrix: use naive per element copy instead of memcpy call
1344ce0 2021-04-14 Daniel Agar - Euler: simplify DCM constructor
2021-04-14 23:11:41 -04:00
Jukka Laitinen b99e597a73 flashparams: Fix a null-pointer dereference crash
Fix a potential crash caused by calling erase_sector with a null
sector_descriptor (current_sector == 0).

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-04-14 07:55:33 -07:00
Daniel Agar 58b40fbbb9 boards: move testing to dedicated test variants 2021-04-14 09:21:31 +02:00
Daniel Agar 047fb13922 IMU_GYRO_RATEMAX: enforce reasonable constraint and update metadata 2021-04-13 20:26:57 -04:00
Barcis, Michal 7053919a9f fixed micrortps_agent usage description 2021-04-13 21:28:27 +02:00
Daniel Agar 2d15c96b9b ekf2: Multi-EKF let new instance schedule itself immediately on successful init
- this is to minimize missed sensor data (and unnecessary error output) between EKF2 construction and once it actually starts running
2021-04-13 14:24:46 -04:00
Daniel Agar 6a4c589c62 examples/work_item: add ModuleParams and more uORB::Subscription example usage 2021-04-13 14:23:36 -04:00
Lorenz Meier bf09089a26 PWM out: Collect settings for all outputs
There are settings that have to be the same for a split output across multiple instances, like for example the PWM mask and rate configurations. This change collects them for all outputs of the same underlying driver structure and applies the complete set.
2021-04-13 18:39:27 +02:00
Lorenz Meier 6bc11596fe VTOL mixer: Correct alt rate channels
The baby shark config did mark main rate outputs (50 Hz) as alt rate, resulting in the alt rate being set to 50 Hz.
2021-04-13 18:39:27 +02:00
Daniel Agar aa22407d87 drivers/pwm_out: only print rates if changed 2021-04-13 09:55:21 +02:00
Daniel Agar a07bccc046 boards: modalai simplify defaults with new parameter defaults mechanism (AUTOCNF replacement) 2021-04-12 21:27:53 -04:00
Daniel Agar f44f497e3f parameters: better handle export failures and retry 2021-04-12 21:26:50 -04:00
Daniel Agar edc445a1b2 parameters: tinybson fill total document length for bson compatibility 2021-04-12 21:26:50 -04:00
PX4 BuildBot b9e0a16594 Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:35 UTC 2021
- public_regulated_data_types in PX4/Firmware (9101f5707a251c33048289249bd565eba5d3a848): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e

    309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113)
2021-04-12 19:51:35 -04:00
Lorenz Meier 991c07eef9 Global: Allow users to arm with USB
This change reflects the medium-term experience with users using USB as data link or power source in R&D setups. While we still discourage this for volume products, not allowing it seems like a major hurdle and blocker in R&D setups.
2021-04-12 19:11:22 -04:00
Lorenz Meier 3a004ffd68 PWM Out: Simplify startup logic
The simpler logic is more robust towards future refactoring.
2021-04-12 19:11:22 -04:00
PX4 BuildBot 5f6b8fcb9f Update submodule sitl_gazebo to latest Mon Apr 12 12:45:32 UTC 2021
- sitl_gazebo in PX4/Firmware (8acdb8ca3f): https://github.com/PX4/PX4-SITL_gazebo/commit/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6...05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25

    05e2cd9 2021-04-10 Manuel Galliker - Removed unused computation of CoG (#737)
2021-04-12 14:22:14 -04:00
Daniel Agar f0f16b9cc5 mavlink: streams fix SCALED_IMU size reporting 2021-04-12 13:02:10 -04:00
Beat Küng faaee0f077 fix pwm_out: avoid race condition when setting mode
Bootup failed in some cases with:
ERROR [mixer] can't reset mixers on /dev/pwm_output1

The reason was the mode change was not applied yet.
2021-04-12 18:39:51 +02:00
PX4 BuildBot 18f17dcb96 Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:37 UTC 2021
- public_regulated_data_types in PX4/Firmware (9f25ac4175fd81259b11cfe79f0f875a21562d3d): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
    - public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
    - Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e

    309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113)
2021-04-12 09:58:48 -04:00
Silvan Fuhrer 381c97d3c6 Commander: baro check: only report failure of mandatory instances
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-04-12 09:27:12 -04:00
tututu123-tu 8acdb8ca3f Update .gitmodules 2021-04-12 08:18:16 -04:00
CUAVmengxiao 45b9e18195 UAVCANv0: add CUAV smart battery support 2021-04-11 21:27:31 -04:00
David Sidrane 96d0755afd NuttX with SDMMC Backport 2021-04-09 15:53:26 -04:00
116 changed files with 2652 additions and 906 deletions
-7
View File
@@ -45,17 +45,12 @@ pipeline {
"cuav_can-gps-v1_canbootloader",
"cuav_can-gps-v1_default",
"cuav_nora_default",
"cuav_nora_test",
"cuav_x7pro_default",
"cuav_x7pro_test",
"cubepilot_cubeorange_console",
"cubepilot_cubeorange_default",
"cubepilot_cubeyellow_console",
"cubepilot_cubeyellow_default",
"holybro_can-gps-v1_canbootloader",
"holybro_can-gps-v1_default",
"holybro_durandal-v1_default",
"holybro_durandal-v1_test",
"holybro_kakutef7_default",
"holybro_pix32v5_default",
"modalai_fc-v1_default",
@@ -81,7 +76,6 @@ pipeline {
"px4_fmu-v2_fixedwing",
"px4_fmu-v2_multicopter",
"px4_fmu-v2_rover",
"px4_fmu-v2_test",
"px4_fmu-v3_default",
"px4_fmu-v4_cannode",
"px4_fmu-v4_default",
@@ -100,7 +94,6 @@ pipeline {
"px4_fmu-v5x_base_phy_DP83848C",
"px4_fmu-v5x_default",
"px4_fmu-v6u_default",
"px4_fmu-v6u_test",
"px4_fmu-v6x_default",
"px4_io-v2_default",
"spracing_h7extreme_default",
+42 -94
View File
@@ -7,9 +7,9 @@ pipeline {
parallel {
stage("cubepilot_cubeorange_console") {
stage("cubepilot_cubeorange_test") {
stages {
stage("build cubepilot_cubeorange_console") {
stage("build cubepilot_cubeorange_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -22,10 +22,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make cubepilot_cubeorange_console'
sh 'make cubepilot_cubeorange_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_console'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'cubepilot_cubeorange_test'
}
post {
always {
@@ -42,9 +42,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'cubepilot_cubeorange_console'
unstash 'cubepilot_cubeorange_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_console/cubepilot_cubeorange_console.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/cubepilot_cubeorange_test/cubepilot_cubeorange_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -160,61 +160,9 @@ pipeline {
}
}
// stage("px4_fmu-v2_test") {
// stages {
// stage("build px4_fmu-v2_test") {
// agent {
// docker {
// image 'px4io/px4-dev-nuttx-focal:2020-09-14'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
// }
// }
// steps {
// sh 'export'
// sh 'make distclean'
// sh 'ccache -s'
// sh 'git fetch --tags'
// sh 'make px4_fmu-v2_test'
// sh 'make sizes'
// sh 'ccache -s'
// stash includes: 'build/px4_fmu-v2_test/px4_fmu-v2_test.elf', name: 'px4_fmu-v2_test'
// }
// post {
// always {
// sh 'make distclean'
// }
// }
// } // stage build
// stage("test") {
// agent {
// label 'px4_fmu-v2'
// }
// stages {
// stage("flash") {
// steps {
// sh 'export'
// sh 'find /dev/serial'
// unstash 'px4_fmu-v2_test'
// // flash board and watch bootup
// sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v2_test/px4_fmu-v2_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
// }
// }
// stage("reset") {
// steps {
// cleanupFTDI();
// }
// }
// }
// options {
// timeout(time: 90, unit: 'MINUTES')
// }
// }
// }
// }
stage("px4_fmu-v3_default") {
stage("px4_fmu-v3_test") {
stages {
stage("build px4_fmu-v3_default") {
stage("build px4_fmu-v3_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -227,10 +175,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v3_default'
sh 'make px4_fmu-v3_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v3_test'
}
post {
always {
@@ -247,9 +195,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v3_default'
unstash 'px4_fmu-v3_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_default/px4_fmu-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_test/px4_fmu-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -288,9 +236,9 @@ pipeline {
}
}
stage("px4_fmu-v4_default") {
stage("px4_fmu-v4_test") {
stages {
stage("build px4_fmu-v4_default") {
stage("build px4_fmu-v4_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -303,10 +251,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v4_default'
sh 'make px4_fmu-v4_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4_test'
}
post {
always {
@@ -323,9 +271,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4_default'
unstash 'px4_fmu-v4_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_default/px4_fmu-v4_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_test/px4_fmu-v4_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -364,9 +312,9 @@ pipeline {
}
}
stage("px4_fmu-v4pro_default") {
stage("px4_fmu-v4pro_test") {
stages {
stage("build px4_fmu-v4pro_default") {
stage("build px4_fmu-v4pro_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -379,10 +327,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v4pro_default'
sh 'make px4_fmu-v4pro_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v4pro_test'
}
post {
always {
@@ -399,9 +347,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v4pro_default'
unstash 'px4_fmu-v4pro_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_test/px4_fmu-v4pro_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -440,9 +388,9 @@ pipeline {
}
}
stage("px4_fmu-v5_default") {
stage("px4_fmu-v5_test") {
stages {
stage("build px4_fmu-v5_default") {
stage("build px4_fmu-v5_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -455,10 +403,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v5_default'
sh 'make px4_fmu-v5_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'px4_fmu-v5_test'
}
post {
always {
@@ -475,9 +423,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v5_default'
unstash 'px4_fmu-v5_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_default/px4_fmu-v5_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_test/px4_fmu-v5_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -752,9 +700,9 @@ pipeline {
}
}
stage("modalai_fc-v1_default") {
stage("modalai_fc-v1_test") {
stages {
stage("build modalai_fc-v1_default") {
stage("build modalai_fc-v1_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -767,10 +715,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make modalai_fc-v1_default'
sh 'make modalai_fc-v1_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'modalai_fc-v1_test'
}
post {
always {
@@ -787,9 +735,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'modalai_fc-v1_default'
unstash 'modalai_fc-v1_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_default/modalai_fc-v1_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_test/modalai_fc-v1_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
@@ -905,9 +853,9 @@ pipeline {
}
}
stage("nxp_fmuk66-v3_default") {
stage("nxp_fmuk66-v3_test") {
stages {
stage("build nxp_fmuk66-v3_default") {
stage("build nxp_fmuk66-v3_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
@@ -920,10 +868,10 @@ pipeline {
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make nxp_fmuk66-v3_default'
sh 'make nxp_fmuk66-v3_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_default'
stash includes: 'build/*/*.elf, platforms/nuttx/Debug/upload_jlink_gdb.sh, Tools/HIL/*.py', name: 'nxp_fmuk66-v3_test'
}
post {
always {
@@ -940,9 +888,9 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'nxp_fmuk66-v3_default'
unstash 'nxp_fmuk66-v3_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_default/nxp_fmuk66-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_test/nxp_fmuk66-v3_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-*` --baudrate 57600'
}
}
stage("configure") {
+2 -7
View File
@@ -26,19 +26,16 @@ jobs:
cuav_can-gps-v1_debug,
cuav_can-gps-v1_default,
cuav_nora_default,
cuav_nora_test,
cuav_x7pro_default,
cuav_x7pro_test,
cubepilot_cubeorange_console,
cubepilot_cubeorange_default,
cubepilot_cubeyellow_console,
cubepilot_cubeorange_test,
cubepilot_cubeyellow_default,
cubepilot_cubeyellow_test,
cubepilot_io-v2_default,
holybro_can-gps-v1_canbootloader,
holybro_can-gps-v1_debug,
holybro_can-gps-v1_default,
holybro_durandal-v1_default,
holybro_durandal-v1_test,
holybro_kakutef7_default,
holybro_pix32v5_default,
modalai_fc-v1_default,
@@ -64,7 +61,6 @@ jobs:
px4_fmu-v2_fixedwing,
px4_fmu-v2_multicopter,
px4_fmu-v2_rover,
px4_fmu-v2_test,
px4_fmu-v3_default,
px4_fmu-v4_cannode,
px4_fmu-v4_default,
@@ -83,7 +79,6 @@ jobs:
px4_fmu-v5x_base_phy_DP83848C,
px4_fmu-v5x_default,
px4_fmu-v6u_default,
px4_fmu-v6u_test,
px4_fmu-v6x_default,
px4_io-v2_default,
spracing_h7extreme_default,
+2 -2
View File
@@ -59,7 +59,7 @@
url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
url = https://github.com/UAVCAN/public_regulated_data_types
url = https://github.com/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
path = src/drivers/uavcannode_gps_demo/libcanard
url = https://github.com/UAVCAN/libcanard
url = https://github.com/UAVCAN/libcanard.git
+2 -2
View File
@@ -96,11 +96,11 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: cuav_x7pro_default
cubepilot_cubeorange_console:
cubepilot_cubeorange_test:
short: cubepilot_cubeorange
buildType: MinSizeRel
settings:
CONFIG: cubepilot_orange_console
CONFIG: cubepilot_orange_test
emlid_navio2_default:
short: emlid_navio2
buildType: MinSizeRel
@@ -111,5 +111,6 @@ set MAV_TYPE 22
set MIXER babyshark
set MIXER_AUX pass
# Mark outputs for the alternate rate
# or D-Shot
set PWM_OUT 5678
set PWM_AUX_OUT 1234
+122
View File
@@ -0,0 +1,122 @@
#!/bin/bash
# Run HITL simulation with PX4
function cleanup() {
pkill -x px4
pkill gzclient
pkill gzserver
}
if [ "$1" == "-h" ] || [ "$1" == "--help" ]
then
echo "Usage: $0 [-s <simulation>] [-m <vehicle_model>] [-w <world>] [-d <device>] [-b <baudrate>]"
echo " This script allows you to run HITL simulation with PX4"
exit 1
fi
while getopts m:w:s:d:b:t:l: option
do
case "${option}"
in
m) VEHICLE_MODEL=${OPTARG};;
w) WORLD=${OPTARG};;
s) SIMULATION=${OPTARG};;
d) DEVICE=${OPTARG};;
b) BAUDRATE=${OPTARG};;
l) LABEL=_${OPTARG};;
esac
done
world=${WORLD:=empty}
target=${TARGET:=px4_sitl_default}
model=${VEHICLE_MODEL:="iris"}
simulation=${SIMULATION:="gazebo"}
device=${DEVICE:="/dev/ttyACM0"}
baudrate=${BAUDRATE:="921600"}
export PX4_SIM_MODEL=${model}${LABEL}
echo SIMULATION: ${simulation}
echo MODEL: ${PX4_SIM_MODEL}
echo ${SCRIPT}
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
src_path="$SCRIPT_DIR/.."
sleep 1
SIM_PID=0
if [ "$simulation" == "jmavsim" ] && [ ! -n "$no_sim" ]; then
# Start Java simulator
"$src_path"/Tools/jmavsim_run.sh -q -s -d ${device} -b ${baudrate} -r 250 &
SIM_PID=$!
elif [ "$simulation" == "gazebo" ] && [ ! -n "$no_sim" ]; then
if [ -x "$(command -v gazebo)" ]; then
# Set the plugin path so Gazebo finds our model and sim
source "$src_path/Tools/setup_gazebo.bash" "${src_path}" "${build_path}"
output_sdf=/tmp/${model}_hitl.sdf
python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${model}/${model}.sdf.jinja ${src_path}/Tools/sitl_gazebo --serial_enabled 1 --hil_mode 1 --serial_device ${device} --serial_baudrate ${baudrate} --mavlink_id 1 --output-file ${output_sdf}
if [ -z $PX4_SITL_WORLD ]; then
#Spawn predefined world
if [ "$world" == "none" ]; then
if [ -f ${src_path}/Tools/sitl_gazebo/worlds/${model}.world ]; then
echo "empty world, default world ${model}.world for model found"
world_path="${src_path}/Tools/sitl_gazebo/worlds/${model}.world"
else
echo "empty world, setting empty.world as default"
world_path="${src_path}/Tools/sitl_gazebo/worlds/empty.world"
fi
else
#Spawn empty world if world with model name doesn't exist
world_path="${src_path}/Tools/sitl_gazebo/worlds/${world}.world"
fi
else
if [ -f ${src_path}/Tools/sitl_gazebo/worlds/${PX4_SITL_WORLD}.world ]; then
# Spawn world by name if exists in the worlds directory from environment variable
world_path="${src_path}/Tools/sitl_gazebo/worlds/${PX4_SITL_WORLD}.world"
else
# Spawn world from environment variable with absolute path
world_path="$PX4_SITL_WORLD"
fi
fi
gzserver $verbose $world_path &
SIM_PID=$!
while gz model --verbose --spawn-file="${output_sdf}" --model-name=${model} -x 1.01 -y 0.98 -z 0.83 2>&1 | grep -q "An instance of Gazebo is not running."; do
echo "gzserver not ready yet, trying again!"
sleep 1
done
if [[ -n "$HEADLESS" ]]; then
echo "not running gazebo gui"
else
# gzserver needs to be running to avoid a race. Since the launch
# is putting it into the background we need to avoid it by backing off
sleep 3
nice -n 20 gzclient --verbose $follow_mode
GUI_PID=$!
fi
else
echo "You need to have gazebo simulator installed!"
exit 1
fi
elif [ "$simulation" == "jsbsim" ] && [ -z "$no_sim" ]; then
source "$src_path/Tools/setup_jsbsim.bash" "${src_path}" "${build_path}" ${model}
if [[ -n "$HEADLESS" ]]; then
echo "not running flightgear gui"
else
fgfs --fdm=null \
--native-fdm=socket,in,60,,5550,udp \
--aircraft=$JSBSIM_AIRCRAFT_MODEL \
--airport=${world} \
--disable-hud \
--disable-ai-models &> /dev/null &
FGFS_PID=$!
fi
"${build_path}/build_jsbsim_bridge/jsbsim_bridge" ${model} -d ${device} -b ${baudrate} -s "${src_path}/Tools/jsbsim_bridge/scene/${world}.xml"
SIM_PID=$!
fi
trap "cleanup" SIGINT SIGTERM EXIT
+10 -13
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -48,7 +47,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -110,7 +108,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -120,15 +117,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
-2
View File
@@ -39,7 +39,6 @@ px4_add_board(
VENDOR atlflight
MODEL eagle
LABEL default
#TESTING
TOOLCHAIN arm-linux-gnueabihf
ROMFSROOT px4fmu_common
DRIVERS
@@ -108,7 +107,6 @@ px4_add_board(
sd_bench
shutdown
system_time
#tests # tests and test runner
#top
topic_listener
tune_control
-2
View File
@@ -39,7 +39,6 @@ px4_add_board(
VENDOR atlflight
MODEL excelsior
LABEL default
#TESTING
TOOLCHAIN arm-oemllib32-linux-gnueabi
DRIVERS
#barometer # all available barometer drivers
@@ -106,7 +105,6 @@ px4_add_board(
sd_bench
shutdown
system_time
#tests # tests and test runner
#top
topic_listener
tune_control
+10 -13
View File
@@ -7,7 +7,6 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -47,7 +46,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -108,7 +106,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -117,15 +114,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
-1
View File
@@ -113,7 +113,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
-1
View File
@@ -114,7 +114,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -9,7 +9,6 @@ px4_add_board(
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO cubepilot_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -51,7 +50,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -113,7 +111,6 @@ px4_add_board(
sd_bench
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -3,7 +3,7 @@ px4_add_board(
PLATFORM nuttx
VENDOR cubepilot
MODEL cubeorange
LABEL console
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO cubepilot_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -49,7 +48,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -111,7 +109,6 @@ px4_add_board(
sd_bench
#serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -3,7 +3,7 @@ px4_add_board(
PLATFORM nuttx
VENDOR cubepilot
MODEL cubeyellow
LABEL console
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
-1
View File
@@ -109,7 +109,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1
View File
@@ -6,6 +6,7 @@ px4_add_board(
LABEL default
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
EXTERNAL_METADATA
ROMFSROOT px4fmu_common
SERIAL_PORTS
TEL1:/dev/ttyS0 # UART1
+10 -13
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -53,7 +52,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -115,7 +113,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -125,15 +122,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+139
View File
@@ -0,0 +1,139 @@
px4_add_board(
PLATFORM nuttx
VENDOR holybro
MODEL pix32v5
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL3:/dev/ttyS4
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi055
imu/invensense/icm20602
imu/invensense/icm20689
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+10 -13
View File
@@ -7,7 +7,6 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
@@ -47,7 +46,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -108,7 +106,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -118,15 +115,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+4 -82
View File
@@ -18,88 +18,10 @@
# Common settings across Flight Core configurations
#
# Disable safety switch by default (pull high to 3.3V to enable)
# V106 - J13 pin 5
# V110 - J1011 pin 5
param set-default CBRK_IO_SAFETY 22027
#
# Stand Alone configuration
#
if ver hwtypecmp V106
then
echo "Configuring Flight Core - V106"
#
# In Flight Core, J1 can be setup to be used as a serial port for TELEM2
# and connected to VOXL via cables. We'll configure this out of the box.
# The user can later change this if they want, as these are configurable
# and not necessarily required to be used with VOXL.
#
if [ $AUTOCNF = no ]
then
if param compare MAV_1_CONFIG 0
then
echo "V106 - Defualt configuration TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
# VIO data
param set-default SER_TEL2_BAUD 921600
fi
fi
# User is setting defaults, so let's do it!
if [ $AUTOCNF = yes ]
then
echo "V106 - Auto Configuring TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
# VIO data
param set-default SER_TEL2_BAUD 921600
fi
fi
#
# VOXL-Flight configuration
#
if ver hwtypecmp V110
then
echo "Configuring VOXL-Flight - V110"
#
# TELEM2 port is physically routed in the PCB, thus not configurable.
# The following will detect a fresh install, or if the user has changed the setting and
# revert to the VOXL-Flight defaults. This does allow the user to change the mode and
# baud rates and mode if they choose to do so, although VOXL is expecting what is set below
#
if [ $AUTOCNF = no ]
then
if ! param compare MAV_1_CONFIG 102
then
echo "V110 - Default configuration TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
fi
fi
# User is setting defaults, so let's do it!
if [ $AUTOCNF = yes ]
then
echo "V110 - Auto Configuring TELEM2 on /dev/ttyS4 at 921600 in Normal Mode"
# TELEM2
param set-default MAV_1_CONFIG 102
# Onboard
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
fi
fi
# TELEM2
param set-default MAV_1_CONFIG 102
param set-default MAV_1_MODE 2
param set-default SER_TEL2_BAUD 921600
safety_button start
+10 -13
View File
@@ -7,7 +7,6 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
@@ -47,7 +46,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
@@ -108,7 +106,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -118,15 +115,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+132
View File
@@ -0,0 +1,132 @@
px4_add_board(
PLATFORM nuttx
VENDOR modalai
MODEL fc-v1
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS0 # UART1 / J10
TEL1:/dev/ttyS6 # UART7 / J5
TEL2:/dev/ttyS4 # UART5 / J1
TEL3:/dev/ttyS1 # USART2 / J4
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
power_monitor/voxlpm
#protocol_splitter
#pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
#tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+10 -13
View File
@@ -7,7 +7,6 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -50,7 +49,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,7 +110,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -122,15 +119,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -13
View File
@@ -7,7 +7,6 @@ px4_add_board(
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
TEL1:/dev/ttyS0
@@ -50,7 +49,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,7 +110,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -122,15 +119,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
@@ -108,7 +108,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
-1
View File
@@ -108,7 +108,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
-1
View File
@@ -109,7 +109,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
-3
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
# IO DEBUG:/dev/ttyS0
@@ -50,7 +49,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,7 +110,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
-3
View File
@@ -9,7 +9,6 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
# IO DEBUG:/dev/ttyS0
@@ -51,7 +50,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -113,7 +111,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
+10 -13
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -47,7 +46,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
uavcan
MODULES
@@ -108,7 +106,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -118,15 +115,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -12
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -47,7 +46,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
uavcan
MODULES
@@ -118,15 +116,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -12
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -47,7 +46,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm # NOT Portable YET
tone_alarm
#uavcannode_v1
MODULES
@@ -118,15 +116,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -12
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -107,7 +106,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -117,15 +115,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -11
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -117,15 +116,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -11
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -117,15 +116,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+131
View File
@@ -0,0 +1,131 @@
px4_add_board(
PLATFORM nuttx
VENDOR nxp
MODEL fmuk66-v3
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS4
TEL2:/dev/ttyS1
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
barometer/mpl3115a2
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
distance_sensor/srf05 # Specific driver
gps
#imu # all available imu drivers
imu/fxas21002c
imu/fxos8701cq
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
#bl_update
#dmesg
dumpfile
esc_calib
#gpio
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
-15
View File
@@ -37,7 +37,6 @@ px4_add_board(
rc_input
#telemetry # all available telemetry drivers
telemetry/frsky_telemetry
#test_ppm
MODULES
#airspeed_selector
attitude_estimator_q
@@ -97,7 +96,6 @@ px4_add_board(
sd_bench
#serial_test
#system_time
#tests # tests and test runner
top
#topic_listener
tune_control
@@ -105,17 +103,4 @@ px4_add_board(
usb_connected
ver
work_queue
EXAMPLES
#fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
-3
View File
@@ -9,7 +9,6 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
#UAVCAN_INTERFACES 2
CONSTRAINED_FLASH
SERIAL_PORTS
@@ -58,7 +57,6 @@ px4_add_board(
#roboclaw
#rpm
#telemetry # all available telemetry drivers
#test_ppm
tone_alarm
#uavcan
MODULES
@@ -120,7 +118,6 @@ px4_add_board(
#sd_bench
#serial_test
#system_time
#tests # tests and test runner
top
#topic_listener
tune_control
-1
View File
@@ -9,7 +9,6 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
#UAVCAN_INTERFACES 2
CONSTRAINED_FLASH
SERIAL_PORTS
+10 -13
View File
@@ -9,7 +9,6 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -52,7 +51,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -114,7 +112,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -124,15 +121,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+138
View File
@@ -0,0 +1,138 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v3
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/l3gd20
imu/lsm303d
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu6000
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
#power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+10 -13
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -50,7 +49,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,7 +110,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -122,15 +119,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+136
View File
@@ -0,0 +1,136 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v4
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
WIFI:/dev/ttyS0
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/icm20602
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+10 -13
View File
@@ -9,7 +9,6 @@ px4_add_board(
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
@@ -51,7 +50,6 @@ px4_add_board(
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -112,7 +110,6 @@ px4_add_board(
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -122,15 +119,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+136
View File
@@ -0,0 +1,136 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v4pro
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m4
CONSTRAINED_MEMORY
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS3
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL3:/dev/ttyS0
TEL4:/dev/ttyS6
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/invensense/icm20602
imu/invensense/icm20608g
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/mpu9250
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
#power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
roboclaw
rpm
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
#dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+10 -13
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -52,7 +51,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -116,7 +114,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -126,15 +123,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+1 -1
View File
@@ -124,7 +124,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
#fake_gps
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
+11 -14
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -26,7 +25,7 @@ px4_add_board(
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi055
@@ -52,7 +51,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -114,7 +112,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -124,15 +121,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
-1
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
+14
View File
@@ -12,6 +12,7 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
EXTERNAL_METADATA
TESTING
#UAVCAN_INTERFACES 2
SERIAL_PORTS
@@ -126,4 +127,17 @@ px4_add_board(
usb_connected
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+10 -11
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -50,7 +49,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -107,7 +105,6 @@ px4_add_board(
reflect
sd_bench
system_time
tests # tests and test runner
top
topic_listener
tune_control
@@ -117,13 +114,15 @@ px4_add_board(
work_queue
EXAMPLES
fake_gps
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+2 -1
View File
@@ -122,7 +122,8 @@ px4_add_board(
ver
work_queue
EXAMPLES
#fake_gps
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
+138
View File
@@ -0,0 +1,138 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v5
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi055
imu/invensense/icm20602
imu/invensense/icm20689
imu/invensense/icm20948 # required for ak09916 mag
irlock
lights # all available light drivers
lights/rgbled_pwm
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
uuv_att_control
uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
hwtest # Hardware test
#matlab_csv_serial
px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
work_item
)
+1 -3
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
UAVCAN_INTERFACES 2
UAVCAN_PERIPHERALS
cuav_can-gps-v1_default
@@ -56,7 +55,6 @@ px4_add_board(
#rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
uavcan
MODULES
@@ -117,7 +115,6 @@ px4_add_board(
reflect
sd_bench
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -126,6 +123,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
+1 -4
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
#TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
@@ -52,7 +51,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
#uavcan # legacy v0
uavcan_v1
@@ -115,7 +113,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
@@ -124,7 +121,7 @@ px4_add_board(
ver
work_queue
EXAMPLES
#fake_gps
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -53,7 +52,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -115,7 +113,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
-3
View File
@@ -8,7 +8,6 @@ px4_add_board(
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
@@ -53,7 +52,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -115,7 +113,6 @@ px4_add_board(
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
+139
View File
@@ -0,0 +1,139 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v5x
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
ETHERNET
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS6
TEL2:/dev/ttyS4
TEL3:/dev/ttyS1
GPS2:/dev/ttyS7
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/analog_devices/adis16448
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_input
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
netman
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
-1
View File
@@ -109,7 +109,6 @@ px4_add_board(
sd_bench
serial_test
system_time
#tests # tests and test runner
top
topic_listener
tune_control
+1 -4
View File
@@ -9,7 +9,6 @@ px4_add_board(
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
UAVCAN_TIMER_OVERRIDE 2
ETHERNET
@@ -54,7 +53,6 @@ px4_add_board(
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
@@ -116,8 +114,7 @@ px4_add_board(
sd_bench
serial_test
system_time
# tests # tests and test runner
top
# top
topic_listener
tune_control
uorb
+140
View File
@@ -0,0 +1,140 @@
px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v6x
LABEL test
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
BUILD_BOOTLOADER
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
UAVCAN_TIMER_OVERRIDE 2
ETHERNET
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS6
TEL2:/dev/ttyS4
TEL3:/dev/ttyS1
GPS2:/dev/ttyS7
DRIVERS
adc/ads1115
adc/board_adc
barometer # all available barometer drivers
batt_smbus
camera_capture
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
heater
#imu # all available imu drivers
imu/bosch/bmi088
imu/invensense/icm20602
imu/invensense/icm20649
imu/invensense/icm20948 # required for ak09916 mag
imu/invensense/icm42688p
irlock
lights # all available light drivers
magnetometer # all available magnetometer drivers
optical_flow # all available optical flow drivers
osd
pca9685
pca9685_pwm_out
power_monitor/ina226
#protocol_splitter
pwm_out_sim
pwm_out
px4io
rc_input
roboclaw
rpm
safety_button
telemetry # all available telemetry drivers
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
camera_feedback
commander
dataman
ekf2
esc_battery
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
gyro_calibration
gyro_fft
land_detector
landing_target_estimator
load_mon
local_position_estimator
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
#uuv_att_control
#uuv_pos_control
vmount
vtol_att_control
SYSTEMCMDS
bl_update
dmesg
dumpfile
esc_calib
gpio
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
mtd
nshterm
netman
param
perf
pwm
reboot
reflect
sd_bench
serial_test
system_time
# tests # tests and test runner
top
topic_listener
tune_control
uorb
usb_connected
ver
work_queue
EXAMPLES
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
#matlab_csv_serial
#px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+1 -1
View File
@@ -5,7 +5,6 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL ctrlalloc
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -90,6 +89,7 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
-1
View File
@@ -5,7 +5,6 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL default
EMBEDDED_METADATA parameters
TESTING
ETHERNET
DRIVERS
+1 -1
View File
@@ -5,7 +5,6 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL nolockstep
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -88,6 +87,7 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+1 -1
View File
@@ -5,7 +5,6 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL rtps
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -87,6 +86,7 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+1 -1
View File
@@ -5,7 +5,6 @@ px4_add_board(
MODEL sitl
ROMFSROOT px4fmu_common
LABEL test
EMBEDDED_METADATA parameters
TESTING
DRIVERS
#barometer # all available barometer drivers
@@ -87,6 +86,7 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
+2
View File
@@ -87,6 +87,8 @@ px4_add_board(
EXAMPLES
dyn_hello # dynamically loading modules example
fake_gps
fake_gyro
fake_magnetometer
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
hello
#hwtest # Hardware test
+4 -6
View File
@@ -39,16 +39,12 @@ px4_add_board(
#pca9685
#power_monitor/ina226
#protocol_splitter
# pwm_input - Need to create arch/stm32 arch/stm32h7 arch/kinetis and reloacate
# all arch dependant code there
pwm_out_sim
pwm_out
#roboclaw
rc_input
telemetry # all available telemetry drivers
#test_ppm
tone_alarm
# uavcan - No H7 or FD can support in UAVCAN yet
MODULES
#airspeed_selector
attitude_estimator_q
@@ -100,7 +96,6 @@ px4_add_board(
reflect
sd_bench
#shutdown
#tests # tests and test runner
top
topic_listener
tune_control
@@ -109,7 +104,9 @@ px4_add_board(
ver
work_queue
EXAMPLES
#bottle_drop # OBC challenge
fake_gps
#fake_gyro
#fake_magnetometer
#fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
#hello
#hwtest # Hardware test
@@ -118,4 +115,5 @@ px4_add_board(
#px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
#rover_steering_control # Rover example app
#uuv_example_app
#work_item
)
+8 -11
View File
@@ -57,9 +57,9 @@
# [ SERIAL_PORTS <list> ]
# [ CONSTRAINED_FLASH ]
# [ CONSTRAINED_MEMORY ]
# [ EXTERNAL_METADATA ]
# [ TESTING ]
# [ LINKER_PREFIX <string> ]
# [ EMBEDDED_METADATA <string> ]
# [ ETHERNET ]
# )
#
@@ -80,9 +80,9 @@
# SYSTEMCMDS : list of system commands to build for this board (relative to src/systemcmds)
# EXAMPLES : list of example modules to build for this board (relative to src/examples)
# SERIAL_PORTS : mapping of user configurable serial ports and param facing name
# EMBEDDED_METADATA : list of metadata to embed to ROMFS
# CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text)
# CONSTRAINED_MEMORY : flag to enable constrained memory options (eg limit maximum number of uORB publications)
# EXTERNAL_METADATA : flag to exclude metadata to reduce flash
# TESTING : flag to enable automatic inclusion of PX4 testing modules
# LINKER_PREFIX : optional to prefix on the Linker script.
# ETHERNET : flag to indicate that ethernet is enabled
@@ -156,11 +156,11 @@ function(px4_add_board)
EXAMPLES
SERIAL_PORTS
UAVCAN_PERIPHERALS
EMBEDDED_METADATA
OPTIONS
BUILD_BOOTLOADER
CONSTRAINED_FLASH
CONSTRAINED_MEMORY
EXTERNAL_METADATA
TESTING
ETHERNET
REQUIRED
@@ -207,14 +207,11 @@ function(px4_add_board)
set(romfs_extra_files)
set(config_romfs_extra_dependencies)
foreach(metadata ${EMBEDDED_METADATA})
if(${metadata} STREQUAL "parameters")
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/parameters.json.xz)
list(APPEND romfs_extra_dependencies parameters_xml)
else()
message(FATAL_ERROR "invalid value for EMBEDDED_METADATA: ${metadata}")
endif()
endforeach()
# additional embedded metadata
if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test")
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/parameters.json.xz)
list(APPEND romfs_extra_dependencies parameters_xml)
endif()
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz)
list(APPEND romfs_extra_dependencies component_general_json)
set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE)
+9 -13
View File
@@ -95,21 +95,17 @@ function(px4_add_common_flags)
# compiler specific flags
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang"))
# force color for clang (needed for clang + ccache)
add_compile_options(-fcolor-diagnostics)
# force absolute paths
add_compile_options(-fdiagnostics-absolute-paths)
add_compile_options(
-fcolor-diagnostics # force color for clang (needed for clang + ccache)
-fdiagnostics-absolute-paths # force absolute paths
# QuRT 6.4.X compiler identifies as Clang but does not support this option
if (NOT "${PX4_PLATFORM}" STREQUAL "qurt")
add_compile_options(
-Qunused-arguments
-Qunused-arguments
-Wno-unknown-warning-option
-Wno-unused-const-variable
-Wno-varargs
)
endif()
-Wno-c99-designator
-Wno-unknown-warning-option
-Wno-unused-const-variable
-Wno-varargs
)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+10 -2
View File
@@ -25,9 +25,9 @@ uint16 manufacture_date # manufacture date, part of serial number of the batter
uint16 state_of_health # state of health. FullChargeCapacity/DesignCapacity.
uint16 max_error # max error, expected margin of error in % in the state-of-charge calculation with a range of 1 to 100%
uint8 id # ID number of a battery. Should be unique and consistent for the lifetime of a vehicle. 1-indexed.
uint16 interface_error # SMBUS interface error counter
uint16 interface_error # interface error counter
float32[10] voltage_cell_v # Battery individual cell voltages
float32[14] voltage_cell_v # Battery individual cell voltages
float32 max_cell_voltage_delta # Max difference between individual cell voltages
bool is_powering_off # Power off event imminent indication, false if unknown
@@ -43,3 +43,11 @@ uint8 warning # current battery warning
uint8 MAX_INSTANCES = 4
float32 average_power # The average power of the current discharge
float32 available_energy # The predicted charge or energy remaining in the battery
float32 remaining_capacity # The compensated battery capacity remaining
float32 design_capacity # The design capacity of the battery
uint16 average_time_to_full # The predicted remaining time until the battery reaches full charge, in minutes
uint16 over_discharge_count # Number of battery overdischarge
float32 nominal_voltage # Nominal voltage of the battery pack
+1
View File
@@ -3,6 +3,7 @@ uint64 timestamp # time since system start (microseconds)
uint32 device_id
bool heater_on
bool temperature_target_met
float32 temperature_sensor
float32 temperature_target
+2 -2
View File
@@ -120,8 +120,8 @@ static void usage(const char *name)
" -i <ip_address> Target IP for UDP. Default 127.0.0.1\n"
" -n <namespace> ROS 2 topics namespace. Identifies the vehicle in a multi-agent network\n"
" -p <poll_ms> Time in ms to poll over UART. Default 1ms\n"
" -r <reception port> UDP port for receiving. Default 2019\n"
" -s <sending port> UDP port for sending. Default 2020\n"
" -r <reception port> UDP port for receiving. Default 2020\n"
" -s <sending port> UDP port for sending. Default 2019\n"
" -t <transport> [UART|UDP] Default UART\n"
" -v <debug verbosity> Add more verbosity\n"
" -w <sleep_time_us> Time in us for which each iteration sleep. Default 1ms\n",
+48 -43
View File
@@ -77,7 +77,7 @@ Heater::Heater() :
Heater::~Heater()
{
heater_disable();
disable_heater();
}
int Heater::custom_command(int argc, char *argv[])
@@ -91,7 +91,7 @@ int Heater::custom_command(int argc, char *argv[])
return print_usage("Unrecognized command.");
}
void Heater::heater_disable()
void Heater::disable_heater()
{
// Reset heater to off state.
#ifdef HEATER_PX4IO
@@ -106,7 +106,7 @@ void Heater::heater_disable()
#endif
}
void Heater::heater_initialize()
void Heater::initialize_heater_io()
{
// Initialize heater to off state.
#ifdef HEATER_PX4IO
@@ -160,13 +160,15 @@ bool Heater::initialize_topics()
for (uint8_t i = 0; i < ORB_MULTI_MAX_INSTANCES; i++) {
uORB::SubscriptionData<sensor_accel_s> sensor_accel_sub{ORB_ID(sensor_accel), i};
if (sensor_accel_sub.get().timestamp != 0 && sensor_accel_sub.get().device_id != 0
&& PX4_ISFINITE(sensor_accel_sub.get().temperature)) {
if (sensor_accel_sub.get().timestamp != 0 &&
sensor_accel_sub.get().device_id != 0 &&
PX4_ISFINITE(sensor_accel_sub.get().temperature)) {
// If the correct ID is found, exit the for-loop with _sensor_accel_sub pointing to the correct instance.
if (sensor_accel_sub.get().device_id == (uint32_t)_param_sens_temp_id.get()) {
_sensor_accel_sub.ChangeInstance(i);
_sensor_device_id = sensor_accel_sub.get().device_id;
initialize_heater_io();
return true;
}
}
@@ -190,21 +192,10 @@ void Heater::Run()
return;
}
// check for parameter updates
if (_parameter_update_sub.updated()) {
// clear update
parameter_update_s pupdate;
_parameter_update_sub.copy(&pupdate);
// update parameters from storage
ModuleParams::updateParams();
}
update_params();
if (_sensor_device_id == 0) {
if (initialize_topics()) {
heater_initialize();
} else {
if (!initialize_topics()) {
// if sensor still not found try again in 1 second
ScheduleDelayed(1_s);
return;
@@ -212,14 +203,15 @@ void Heater::Run()
}
sensor_accel_s sensor_accel;
float temperature_delta {0.f};
if (_heater_on) {
// Turn the heater off.
heater_off();
_heater_on = false;
heater_off();
ScheduleDelayed(_controller_period_usec - _controller_time_on_usec);
} else if (_sensor_accel_sub.update(&sensor_accel)) {
float temperature_delta {0.f};
// Update the current IMU sensor temperature if valid.
if (PX4_ISFINITE(sensor_accel.temperature)) {
@@ -230,11 +222,6 @@ void Heater::Run()
_proportional_value = temperature_delta * _param_sens_imu_temp_p.get();
_integrator_value += temperature_delta * _param_sens_imu_temp_i.get();
if (fabs(_param_sens_imu_temp_i.get()) <= 0.0001) {
_integrator_value = 0.f;
}
// Guard against integrator wind up.
_integrator_value = math::constrain(_integrator_value, -0.25f, 0.25f);
_controller_time_on_usec = static_cast<int>((_param_sens_imu_temp_ff.get() + _proportional_value +
@@ -242,36 +229,41 @@ void Heater::Run()
_controller_time_on_usec = math::constrain(_controller_time_on_usec, 0, _controller_period_usec);
if (abs(temperature_delta) < TEMPERATURE_TARGET_THRESHOLD) {
_temperature_target_met = true;
} else {
_temperature_target_met = false;
}
_heater_on = true;
heater_on();
}
// Schedule the next cycle.
if (_heater_on) {
ScheduleDelayed(_controller_time_on_usec);
} else {
ScheduleDelayed(_controller_period_usec - _controller_time_on_usec);
}
publish_status();
}
// publish status
void Heater::publish_status()
{
heater_status_s status{};
status.heater_on = _heater_on;
status.device_id = _sensor_device_id;
status.temperature_sensor = _temperature_last;
status.temperature_target = _param_sens_imu_temp.get();
status.controller_period_usec = _controller_period_usec;
status.device_id = _sensor_device_id;
status.heater_on = _heater_on;
status.temperature_sensor = _temperature_last;
status.temperature_target = _param_sens_imu_temp.get();
status.temperature_target_met = _temperature_target_met;
status.controller_period_usec = _controller_period_usec;
status.controller_time_on_usec = _controller_time_on_usec;
status.proportional_value = _proportional_value;
status.integrator_value = _integrator_value;
status.feed_forward_value = _param_sens_imu_temp_ff.get();
status.proportional_value = _proportional_value;
status.integrator_value = _integrator_value;
status.feed_forward_value = _param_sens_imu_temp_ff.get();
#ifdef HEATER_PX4IO
status.mode |= heater_status_s::MODE_PX4IO;
status.mode = heater_status_s::MODE_PX4IO;
#endif
#ifdef HEATER_GPIO
status.mode |= heater_status_s::MODE_GPIO;
status.mode = heater_status_s::MODE_GPIO;
#endif
status.timestamp = hrt_absolute_time();
@@ -287,6 +279,7 @@ int Heater::start()
return PX4_ERROR;
}
update_params(true);
ScheduleNow();
return PX4_OK;
}
@@ -307,6 +300,18 @@ int Heater::task_spawn(int argc, char *argv[])
return 0;
}
void Heater::update_params(const bool force)
{
if (_parameter_update_sub.updated() || force) {
// clear update
parameter_update_s param_update;
_parameter_update_sub.copy(&param_update);
// update parameters from storage
ModuleParams::updateParams();
}
}
int Heater::print_usage(const char *reason)
{
if (reason) {
+23 -16
View File
@@ -57,7 +57,8 @@
using namespace time_literals;
#define CONTROLLER_PERIOD_DEFAULT 100000
#define CONTROLLER_PERIOD_DEFAULT 10000
#define TEMPERATURE_TARGET_THRESHOLD 2.5f
class Heater : public ModuleBase<Heater>, public ModuleParams, public px4::ScheduledWorkItem
{
@@ -101,9 +102,25 @@ public:
private:
/** Disables the heater (either by GPIO or PX4IO). */
void disable_heater();
/** Turns the heater on (either by GPIO or PX4IO). */
void heater_on();
/** Turns the heater off (either by GPIO or PX4IO). */
void heater_off();
void initialize();
/** Enables / configures the heater (either by GPIO or PX4IO). */
void initialize_heater_io();
/** @brief Called once to initialize uORB topics. */
bool initialize_topics();
void publish_status();
/** @brief Calculates the heater element on/off time and schedules the next cycle. */
void Run() override;
@@ -113,18 +130,6 @@ private:
*/
void update_params(const bool force = false);
/** Enables / configures the heater (either by GPIO or PX4IO). */
void heater_initialize();
/** Disnables the heater (either by GPIO or PX4IO). */
void heater_disable();
/** Turns the heater on (either by GPIO or PX4IO). */
void heater_on();
/** Turns the heater off (either by GPIO or PX4IO). */
void heater_off();
/** Work queue struct for the scheduler. */
static struct work_s _work;
@@ -133,7 +138,9 @@ private:
int _io_fd {-1};
#endif
bool _heater_on = false;
bool _heater_initialized = false;
bool _heater_on = false;
bool _temperature_target_met = false;
int _controller_period_usec = CONTROLLER_PERIOD_DEFAULT;
int _controller_time_on_usec = 0;
@@ -155,7 +162,7 @@ private:
(ParamFloat<px4::params::SENS_IMU_TEMP_FF>) _param_sens_imu_temp_ff,
(ParamFloat<px4::params::SENS_IMU_TEMP_I>) _param_sens_imu_temp_i,
(ParamFloat<px4::params::SENS_IMU_TEMP_P>) _param_sens_imu_temp_p,
(ParamInt<px4::params::SENS_TEMP_ID>) _param_sens_temp_id,
(ParamFloat<px4::params::SENS_IMU_TEMP>) _param_sens_imu_temp
(ParamFloat<px4::params::SENS_IMU_TEMP>) _param_sens_imu_temp,
(ParamInt<px4::params::SENS_TEMP_ID>) _param_sens_temp_id
)
};
+58 -19
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (c) 2012-2020 PX4 Development Team. All rights reserved.
* Copyright (c) 2012-2021 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
@@ -35,7 +35,6 @@
pthread_mutex_t pwm_out_module_mutex = PTHREAD_MUTEX_INITIALIZER;
static px4::atomic<PWMOut *> _objects[PWM_OUT_MAX_INSTANCES] {};
static bool _pwm_out_started = false;
static bool is_running()
{
@@ -475,7 +474,9 @@ void PWMOut::update_current_rate()
// max interval 0.5 - 100 ms (10 - 2000Hz)
const int update_interval_in_us = math::constrain(1000000 / max_rate, 500, 100000);
PX4_INFO("instance: %d, MAX RATE: %d, default: %d, alt: %d", _instance, max_rate, _pwm_default_rate, _pwm_alt_rate);
if (_current_update_rate != max_rate) {
PX4_INFO("instance: %d, max rate: %d, default: %d, alt: %d", _instance, max_rate, _pwm_default_rate, _pwm_alt_rate);
}
_current_update_rate = max_rate;
_mixing_output.setMaxTopicUpdateRate(update_interval_in_us);
@@ -511,8 +512,6 @@ int PWMOut::task_spawn(int argc, char *argv[])
}
}
_pwm_out_started = true;
return PX4_OK;
}
@@ -532,12 +531,43 @@ void PWMOut::capture_callback(uint32_t chan_index,
void PWMOut::update_pwm_out_state(bool on)
{
if (on && !_pwm_initialized && _pwm_mask != 0) {
up_pwm_servo_init(_pwm_mask);
set_pwm_rate(_pwm_alt_rate_channels, _pwm_default_rate, _pwm_alt_rate);
// Collect all PWM masks from all instances
uint32_t pwm_mask_new = 0;
// Collect the PWM alt rate channels across all instances
uint32_t pwm_alt_rate_channels_new = 0;
// Collect the minimum default rate
unsigned default_rate_min = 0;
// Collect the maximum alternative rate (400 Hz or DSHOT outputs)
unsigned alt_rate_max = 0;
for (int i = 0; i < PWM_OUT_MAX_INSTANCES; i++) {
if (_objects[i].load()) {
pwm_mask_new |= _objects[i].load()->get_pwm_mask();
pwm_alt_rate_channels_new |= _objects[i].load()->get_alt_rate_channels();
if (_objects[i].load()->get_alt_rate() > alt_rate_max) {
alt_rate_max = _objects[i].load()->get_alt_rate();
}
if (_objects[i].load()->get_default_rate() < default_rate_min) {
default_rate_min = _objects[i].load()->get_default_rate();
}
}
}
// Initialize the PWM output state for all instances
// this is re-done once per instance, but harmless
up_pwm_servo_init(pwm_mask_new);
// Set rate is not affecting non-masked channels, so can be called
// individually
set_pwm_rate(pwm_alt_rate_channels_new, default_rate_min, alt_rate_max);
_pwm_initialized = true;
}
up_pwm_servo_arm(on); // TODO REVIEW for multi
up_pwm_servo_arm(on);
}
bool PWMOut::updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS],
@@ -580,9 +610,9 @@ void PWMOut::Run()
// push backup schedule
ScheduleDelayed(_backup_schedule_interval_us);
if (_new_mode_request.load() != _mode) {
if (_new_mode_request.load() != MODE_NO_REQUEST) {
set_mode(_new_mode_request.load());
_new_mode_request.store(_mode);
_new_mode_request.store(MODE_NO_REQUEST);
}
_mixing_output.update();
@@ -619,11 +649,6 @@ void PWMOut::update_params()
{
updateParams();
// skip update when armed
if (_mixing_output.armed().armed) {
return;
}
int32_t pwm_min_default = PWM_DEFAULT_MIN;
int32_t pwm_max_default = PWM_DEFAULT_MAX;
int32_t pwm_disarmed_default = 0;
@@ -1762,6 +1787,22 @@ int PWMOut::fmu_new_mode(PortMode new_mode)
return OK;
}
void PWMOut::request_mode(Mode new_mode)
{
if (_new_mode_request.load() != MODE_NO_REQUEST) {
PX4_ERR("already being set"); // not expected to happen
return;
}
_new_mode_request.store(new_mode);
ScheduleNow();
// wait until processed
int max_time = 1000;
while (_new_mode_request.load() != MODE_NO_REQUEST && max_time-- > 0) {
px4_usleep(1000);
}
}
namespace
{
@@ -2014,7 +2055,7 @@ int PWMOut::custom_command(int argc, char *argv[])
/* start pwm_out if not running */
if (!_pwm_out_started) {
if (!is_running()) {
int ret = PWMOut::task_spawn(argc, argv);
@@ -2276,7 +2317,7 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
if (strcmp(argv[1], "start") == 0) {
if (_pwm_out_started) {
if (is_running()) {
return 0;
}
@@ -2361,8 +2402,6 @@ extern "C" __EXPORT int pwm_out_main(int argc, char *argv[])
}
}
_pwm_out_started = false;
PWMOut::unlock_module();
return PX4_OK;
}
+9 -3
View File
@@ -118,6 +118,8 @@ public:
MODE_4CAP,
MODE_5CAP,
MODE_6CAP,
MODE_NO_REQUEST
};
PWMOut() = delete;
@@ -157,7 +159,11 @@ public:
int set_mode(Mode mode);
Mode get_mode() { return _mode; }
void request_mode(Mode new_mode) { _new_mode_request.store(new_mode); }
uint32_t get_pwm_mask() { return _pwm_mask; }
uint32_t get_alt_rate_channels() { return _pwm_alt_rate_channels; }
unsigned get_alt_rate() { return _pwm_alt_rate; }
unsigned get_default_rate() { return _pwm_default_rate; }
void request_mode(Mode new_mode);
static int set_i2c_bus_clock(unsigned bus, unsigned clock_hz);
@@ -181,7 +187,7 @@ private:
Mode _mode{MODE_NONE};
px4::atomic<Mode> _new_mode_request{MODE_NONE};
px4::atomic<Mode> _new_mode_request{MODE_NO_REQUEST};
uint32_t _backup_schedule_interval_us{1_s};
@@ -189,7 +195,7 @@ private:
unsigned _pwm_alt_rate{50};
uint32_t _pwm_alt_rate_channels{0};
unsigned _current_update_rate{0};
int _current_update_rate{0};
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};
+2
View File
@@ -99,6 +99,7 @@ set(DSDLC_INPUTS
"${DSDLC_DIR}/com"
"${DSDLC_DIR}/ardupilot"
"${LIBUAVCAN_DIR}/dsdl/uavcan"
"${DSDLC_DIR}/cuav"
)
set(DSDLC_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/dsdlc_generated")
@@ -153,6 +154,7 @@ px4_add_module(
sensors/rangefinder.cpp
sensors/accel.cpp
sensors/gyro.cpp
sensors/cbat.cpp
DEPENDS
px4_uavcan_dsdlc
@@ -0,0 +1,41 @@
#
# support for CUAV Smart Battery on UAVCAN
#
float32 temperature # The surface temperature of the battery
float32 voltage # The total voltage of the battery
float32[<=15] voltage_cell # Battery individual cell voltages
uint8 cell_count # Number of cells
float32 current # The current flowing through the sense resistor
float32 average_current # The average current flowing through the sense resistor
float32 average_power # The average power of the current discharge
float32 available_energy # The predicted charge or energy remaining in the battery
float32 remaining_capacity # The compensated battery capacity remaining
float32 full_charge_capacity # The compensated capacity of the battery when fully charged
float32 design_capacity # The design capacity of the battery
uint16 average_time_to_empty # The predicted remaining battery life at the present rate of discharge, in minutes
uint16 average_time_to_full # The predicted remaining time until the battery reaches full charge, in minutes
uint7 state_of_health # Health of the battery
uint7 state_of_charge # Percent of the full charge [0, 100]
uint7 max_error # max error, expected margin of error in % in the state-of-charge calculation with a range of 1 to 100%
uint16 serial_number # serial number of the battery pack
uint16 manufacture_date # manufacture date, part of serial number of the battery pack
uint16 cycle_count # number of discharge cycles the battery has experienced
uint16 over_discharge_count # Number of battery overdischarge
float32 passed_charge # The amount of charge passing through the sense resistor
float32 nominal_voltage # Nominal voltage of the battery pack
bool is_powering_off # Power off event imminent indication, false if unknown
uint16 interface_error # interface error counter
uint11 STATUS_FLAG_IN_USE = 1 # The battery is currently used as a power supply
uint11 STATUS_FLAG_CHARGING = 2 # Charger is active
uint11 STATUS_FLAG_CHARGED = 4 # Charging complete, but the charger is still active
uint11 STATUS_FLAG_TEMP_HOT = 8 # Battery temperature is above normal
uint11 STATUS_FLAG_TEMP_COLD = 16 # Battery temperature is below normal
uint11 STATUS_FLAG_OVERLOAD = 32 # Safe operating area violation
uint11 STATUS_FLAG_BAD_BATTERY = 64 # This battery should not be used anymore (e.g. low SOH)
uint11 STATUS_FLAG_NEED_SERVICE = 128 # This battery requires maintenance (e.g. balancing, full recharge)
uint11 STATUS_FLAG_BMS_ERROR = 256 # Battery management system/controller error, smart battery interface error
uint11 STATUS_FLAG_RESERVED_A = 512 # Keep zero
uint11 STATUS_FLAG_RESERVED_B = 1024 # Keep zero
uint11 status_flags
+139
View File
@@ -0,0 +1,139 @@
/****************************************************************************
*
* Copyright (c) 2021 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.
*
****************************************************************************/
#include "cbat.hpp"
#include <lib/ecl/geo/geo.h>
#include <px4_defines.h>
const char *const UavcanCBATBridge::NAME = "cbat";
UavcanCBATBridge::UavcanCBATBridge(uavcan::INode &node) :
UavcanSensorBridgeBase("uavcan_cbat", ORB_ID(battery_status)),
ModuleParams(nullptr),
_sub_battery(node),
_warning(battery_status_s::BATTERY_WARNING_NONE)
{
}
int UavcanCBATBridge::init()
{
int res = _sub_battery.start(CBATCbBinder(this, &UavcanCBATBridge::battery_sub_cb));
if (res < 0) {
PX4_ERR("failed to start uavcan sub: %d", res);
return res;
}
return 0;
}
void
UavcanCBATBridge::battery_sub_cb(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &msg)
{
battery_status_s battery{};
battery.timestamp = hrt_absolute_time();
battery.voltage_v = msg.voltage;
battery.voltage_filtered_v = battery.voltage_v;
battery.current_a = msg.current;
battery.current_filtered_a = battery.current_a;
battery.average_current_a = msg.average_current;
battery.discharged_mah = msg.passed_charge * 1000;
battery.remaining = msg.state_of_charge / 100.0f;
// battery.scale = msg.; // Power scaling factor, >= 1, or -1 if unknown
battery.temperature = msg.temperature + CONSTANTS_ABSOLUTE_NULL_CELSIUS;
battery.cell_count = msg.cell_count;
battery.connected = true;
battery.source = msg.status_flags & cuav::equipment::power::CBAT::STATUS_FLAG_IN_USE; // BATTERY_SOURCE_EXTERNAL
// battery.priority = msg.;
battery.capacity = msg.full_charge_capacity * 1000;
battery.cycle_count = msg.cycle_count;
battery.run_time_to_empty = msg.average_time_to_empty;
battery.average_time_to_empty = msg.average_time_to_empty;
battery.serial_number = msg.serial_number;
battery.manufacture_date = msg.manufacture_date;
battery.state_of_health = msg.state_of_health;
battery.max_error = msg.max_error;
battery.id = msg.getSrcNodeID().get();
battery.interface_error = msg.interface_error;
for (uint8_t i = 0; i < msg.cell_count; i++) {
battery.voltage_cell_v[i] = msg.voltage_cell[i];
}
//Calculate max cell delta
float min_cell_voltage = msg.voltage_cell[0];
float max_cell_voltage = msg.voltage_cell[0];
for (uint8_t i = 1; i < msg.cell_count; i++) {
min_cell_voltage = math::min(min_cell_voltage, msg.voltage_cell[i]);
max_cell_voltage = math::max(max_cell_voltage, msg.voltage_cell[i]);
}
// Calculate the max difference between the min and max cells with complementary filter.
battery.max_cell_voltage_delta = (0.5f * (max_cell_voltage - min_cell_voltage)) +
(0.5f * _max_cell_voltage_delta);
_max_cell_voltage_delta = battery.max_cell_voltage_delta;
battery.is_powering_off = msg.is_powering_off;
determineWarning(battery.remaining);
battery.warning = _warning;
// Expand the information
battery.average_power = msg.average_power;
battery.available_energy = msg.available_energy;
battery.remaining_capacity = msg.remaining_capacity;
battery.design_capacity = msg.design_capacity;
battery.average_time_to_full = msg.average_time_to_full;
battery.over_discharge_count = msg.over_discharge_count;
battery.nominal_voltage = msg.nominal_voltage;
publish(msg.getSrcNodeID().get(), &battery);
}
void
UavcanCBATBridge::determineWarning(float remaining)
{
// propagate warning state only if the state is higher, otherwise remain in current warning state
if (remaining < _param_bat_emergen_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_EMERGENCY)) {
_warning = battery_status_s::BATTERY_WARNING_EMERGENCY;
} else if (remaining < _param_bat_crit_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_CRITICAL)) {
_warning = battery_status_s::BATTERY_WARNING_CRITICAL;
} else if (remaining < _param_bat_low_thr.get() || (_warning == battery_status_s::BATTERY_WARNING_LOW)) {
_warning = battery_status_s::BATTERY_WARNING_LOW;
}
}
+78
View File
@@ -0,0 +1,78 @@
/****************************************************************************
*
* Copyright (c) 2021 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.
*
****************************************************************************/
/**
* @author Mengxiao Li <mengxiao@cuav.net>
*/
#pragma once
#include "sensor_bridge.hpp"
#include <uORB/topics/battery_status.h>
#include <cuav/equipment/power/CBAT.hpp>
#include <drivers/drv_hrt.h>
#include <px4_platform_common/module_params.h>
#include <mathlib/mathlib.h>
class UavcanCBATBridge : public UavcanSensorBridgeBase, public ModuleParams
{
public:
static const char *const NAME;
UavcanCBATBridge(uavcan::INode &node);
const char *get_name() const override { return NAME; }
int init() override;
private:
void battery_sub_cb(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &msg);
void determineWarning(float remaining);
typedef uavcan::MethodBinder < UavcanCBATBridge *,
void (UavcanCBATBridge::*)
(const uavcan::ReceivedDataStructure<cuav::equipment::power::CBAT> &) >
CBATCbBinder;
uavcan::Subscriber<cuav::equipment::power::CBAT, CBATCbBinder> _sub_battery;
DEFINE_PARAMETERS(
(ParamFloat<px4::params::BAT_LOW_THR>) _param_bat_low_thr,
(ParamFloat<px4::params::BAT_CRIT_THR>) _param_bat_crit_thr,
(ParamFloat<px4::params::BAT_EMERGEN_THR>) _param_bat_emergen_thr
)
uint8_t _warning;
float _max_cell_voltage_delta = 0.f;
};
+13 -1
View File
@@ -48,6 +48,7 @@
#include "rangefinder.hpp"
#include "accel.hpp"
#include "gyro.hpp"
#include "cbat.hpp"
/*
* IUavcanSensorBridge
@@ -58,7 +59,18 @@ void IUavcanSensorBridge::make_all(uavcan::INode &node, List<IUavcanSensorBridge
list.add(new UavcanMagnetometerBridge(node));
list.add(new UavcanGnssBridge(node));
list.add(new UavcanFlowBridge(node));
list.add(new UavcanBatteryBridge(node));
int32_t bat_monitor;
param_t _param_bat_monitor = param_find("UAVCAN_BAT_MON");
param_get(_param_bat_monitor, &bat_monitor);
if (bat_monitor == 0) {
list.add(new UavcanBatteryBridge(node));
} else if (bat_monitor == 1) {
list.add(new UavcanCBATBridge(node));
}
list.add(new UavcanAirspeedBridge(node));
list.add(new UavcanDifferentialPressureBridge(node));
list.add(new UavcanRangefinderBridge(node));
+17
View File
@@ -193,3 +193,20 @@ PARAM_DEFINE_INT32(UAVCAN_LGT_NAV, 3);
* @group UAVCAN
*/
PARAM_DEFINE_INT32(UAVCAN_LGT_LAND, 0);
/**
* UAVCAN BATTERY_MONITOR battery monitor selection
*
* This parameter defines that the system will select the battery monitor under the following conditions
*
* 0 - default battery monitor
* 1 - CUAV battery monitor
*
* @min 0
* @max 1
* @value 0 default battery monitor
* @value 1 CUAV battery monitor
* @reboot_required true
* @group UAVCAN
*/
PARAM_DEFINE_INT32(UAVCAN_BAT_MON, 0);
+3 -1
View File
@@ -1,6 +1,6 @@
############################################################################
#
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
# Copyright (c) 2021 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
@@ -35,6 +35,8 @@ px4_add_module(
MODULE examples__work_item
MAIN work_item_example
COMPILE_FLAGS
#-DDEBUG_BUILD # uncomment for PX4_DEBUG output
#-O0 # uncomment when debugging
SRCS
WorkItemExample.cpp
WorkItemExample.hpp
+55 -19
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (c) 2020 PX4 Development Team. All rights reserved.
* Copyright (c) 2021 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
@@ -33,10 +33,6 @@
#include "WorkItemExample.hpp"
#include <drivers/drv_hrt.h>
using namespace time_literals;
WorkItemExample::WorkItemExample() :
ModuleParams(nullptr),
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::test1)
@@ -51,7 +47,14 @@ WorkItemExample::~WorkItemExample()
bool WorkItemExample::init()
{
ScheduleOnInterval(1000_us); // 1000 us interval, 1000 Hz rate
// execute Run() on every sensor_accel publication
if (!_sensor_accel_sub.registerCallback()) {
PX4_ERR("sensor_accel callback registration failed");
return false;
}
// alternatively, Run on fixed interval
// ScheduleOnInterval(5000_us); // 2000 us interval, 200 Hz rate
return true;
}
@@ -67,27 +70,60 @@ void WorkItemExample::Run()
perf_begin(_loop_perf);
perf_count(_loop_interval_perf);
// DO WORK
// Example
// grab latest accelerometer data
_sensor_accel_sub.update();
const sensor_accel_s &accel = _sensor_accel_sub.get();
// Check if parameters have changed
if (_parameter_update_sub.updated()) {
// clear update
parameter_update_s param_update;
_parameter_update_sub.copy(&param_update);
updateParams(); // update module parameters (in DEFINE_PARAMETERS)
}
// Example
// publish some data
// update vehicle_status to check arming state
if (_vehicle_status_sub.updated()) {
vehicle_status_s vehicle_status;
if (_vehicle_status_sub.copy(&vehicle_status)) {
const bool armed = (vehicle_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED);
if (armed && !_armed) {
PX4_WARN("vehicle armed due to %d", vehicle_status.latest_arming_reason);
} else if (!armed && _armed) {
PX4_INFO("vehicle disarmed due to %d", vehicle_status.latest_disarming_reason);
}
_armed = armed;
}
}
// Example
// grab latest accelerometer data
if (_sensor_accel_sub.updated()) {
sensor_accel_s accel;
if (_sensor_accel_sub.copy(&accel)) {
// DO WORK
// access parameter value (SYS_AUTOSTART)
if (_param_sys_autostart.get() == 1234) {
// do something if SYS_AUTOSTART is 1234
}
}
}
// Example
// publish some data
orb_test_s data{};
data.val = 314159;
data.timestamp = hrt_absolute_time();
data.val = accel.device_id;
_orb_test_pub.publish(data);
perf_end(_loop_perf);
}
+26 -5
View File
@@ -1,6 +1,6 @@
/****************************************************************************
*
* Copyright (c) 2020 PX4 Development Team. All rights reserved.
* Copyright (c) 2021 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
@@ -33,17 +33,24 @@
#pragma once
#include <lib/perf/perf_counter.h>
#include <px4_platform_common/defines.h>
#include <px4_platform_common/module.h>
#include <px4_platform_common/module_params.h>
#include <px4_platform_common/posix.h>
#include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp>
#include <uORB/topics/orb_test.h>
#include <uORB/topics/sensor_accel.h>
#include <drivers/drv_hrt.h>
#include <lib/perf/perf_counter.h>
#include <uORB/Publication.hpp>
#include <uORB/Subscription.hpp>
#include <uORB/SubscriptionCallback.hpp>
#include <uORB/topics/orb_test.h>
#include <uORB/topics/parameter_update.h>
#include <uORB/topics/sensor_accel.h>
#include <uORB/topics/vehicle_status.h>
using namespace time_literals;
class WorkItemExample : public ModuleBase<WorkItemExample>, public ModuleParams, public px4::ScheduledWorkItem
{
@@ -67,10 +74,24 @@ public:
private:
void Run() override;
// Publications
uORB::Publication<orb_test_s> _orb_test_pub{ORB_ID(orb_test)};
uORB::SubscriptionData<sensor_accel_s> _sensor_accel_sub{ORB_ID(sensor_accel)};
// Subscriptions
uORB::SubscriptionCallbackWorkItem _sensor_accel_sub{this, ORB_ID(sensor_accel)}; // subscription that schedules WorkItemExample when updated
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s}; // subscription limited to 1 Hz updates
uORB::Subscription _vehicle_status_sub{ORB_ID(vehicle_status)}; // regular subscription for additional data
// Performance (perf) counters
perf_counter_t _loop_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": cycle")};
perf_counter_t _loop_interval_perf{perf_alloc(PC_INTERVAL, MODULE_NAME": interval")};
// Parameters
DEFINE_PARAMETERS(
(ParamInt<px4::params::SYS_AUTOSTART>) _param_sys_autostart, /**< example parameter */
(ParamInt<px4::params::SYS_AUTOCONFIG>) _param_sys_autoconfig /**< another parameter */
)
bool _armed{false};
};
@@ -153,8 +153,12 @@ PARAM_DEFINE_INT32(CBRK_BUZZER, 0);
* Circuit breaker for USB link check
*
* Setting this parameter to 197848 will disable the USB connected
* checks in the commander.
* WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
* checks in the commander, setting it to 0 keeps them enabled (recommended).
*
* We are generally recommending to not fly with the USB link
* connected and production vehicles should set this parameter to
* zero to prevent users from flying USB powered. However, for R&D purposes
* it has proven over the years to work just fine.
*
* @reboot_required true
* @min 0
@@ -162,7 +166,7 @@ PARAM_DEFINE_INT32(CBRK_BUZZER, 0);
* @category Developer
* @group Circuit Breaker
*/
PARAM_DEFINE_INT32(CBRK_USB_CHK, 0);
PARAM_DEFINE_INT32(CBRK_USB_CHK, 197848);
/**
* Circuit breaker for position error check
+1 -3
View File
@@ -37,12 +37,10 @@
# 2: COMP_METADATA_TYPE_COMMANDS
# 3: COMP_METADATA_TYPE_PERIPHERALS
set(comp_metadata_types)
# We disable parameter support if the metadata is not in the ROMFS. This can be
# removed once it is stored on a server
list(FIND config_romfs_extra_dependencies "parameters_xml" index)
set(comp_metadata_board "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}")
set(s3_url "https://px4-travis.s3.amazonaws.com")
set(comp_metadata_param_uri_board "${s3_url}/Firmware/{version}/${comp_metadata_board}/parameters.json.xz")
list(FIND config_romfs_extra_dependencies "parameters_xml" index)
if (${index} EQUAL -1)
set(comp_metadata_param_uri ${comp_metadata_param_uri_board})
# use generic URL as fallback
@@ -48,7 +48,7 @@ public:
uint32_t get_device_id() const { return _device_id; }
int32_t get_max_rate_hz() const { return _imu_gyro_rate_max; }
int32_t get_max_rate_hz() const { return math::constrain(_imu_gyro_rate_max, 100, 4000); }
void set_device_id(uint32_t device_id) { _device_id = device_id; }
void set_device_type(uint8_t devtype);
+1 -1
View File
@@ -48,7 +48,7 @@ public:
uint32_t get_device_id() const { return _device_id; }
int32_t get_max_rate_hz() const { return _imu_gyro_rate_max; }
int32_t get_max_rate_hz() const { return math::constrain(_imu_gyro_rate_max, 100, 4000); }
void set_device_id(uint32_t device_id) { _device_id = device_id; }
void set_device_type(uint8_t devtype);

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