diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs
index 3ffba802f1eb..6dfa48d30b77 100644
--- a/.vitepress/config.mjs
+++ b/.vitepress/config.mjs
@@ -1,8 +1,6 @@
import { defineConfig } from "vitepress";
const getSidebar = require("./get_sidebar.js");
-//import { getSidebar } from "./get_sidebar";
-import markdownItVideo from "markdown-it-video";
// Tabs: https://github.com/Red-Asuka/vitepress-plugin-tabs
import tabsPlugin from "@red-asuka/vitepress-plugin-tabs";
@@ -21,19 +19,13 @@ export default defineConfig({
//"kr/**/*.md",
//"zh/**/*.md",
//"uk/**/*.md",
+ "**/_*.md", //Remove source docs that start with "_" (included/not rendered)
],
ignoreDeadLinks: true,
markdown: {
math: true,
-
- // container: {
- // tipLabel: "Note",
- // },
-
config: (md) => {
// use more markdown-it plugins!
- md.use(markdownItVideo);
-
tabsPlugin(md); //https://github.com/Red-Asuka/vitepress-plugin-tabs
},
},
@@ -200,4 +192,12 @@ export default defineConfig({
gtag('config', 'G-91EWVWRQ93');`,
],
],
+
+ vue: {
+ template: {
+ compilerOptions: {
+ isCustomElement: (tag) => tag === "lite-youtube",
+ },
+ },
+ },
});
diff --git a/.vitepress/theme/index.js b/.vitepress/theme/index.js
index 8ffe22f6fa49..6747f4a083ad 100644
--- a/.vitepress/theme/index.js
+++ b/.vitepress/theme/index.js
@@ -1,5 +1,6 @@
// https://vitepress.dev/guide/custom-theme
import { h } from "vue";
+
import DefaultTheme from "vitepress/theme";
import "./style.css";
@@ -8,6 +9,14 @@ import { onMounted, watch, nextTick } from "vue";
import { useRoute } from "vitepress";
import mediumZoom from "medium-zoom";
+// For https://www.npmjs.com/package/lite-youtube-embed
+import { inBrowser } from "vitepress";
+import "lite-youtube-embed/src/lite-yt-embed.css";
+if (inBrowser) {
+ // @ts-ignore
+ import("lite-youtube-embed");
+}
+
// Support redirect plugin
import Redirect from "./components/Redirect.vue";
diff --git a/_link_checker_sc/ignore_errors.json b/_link_checker_sc/ignore_errors.json
index a06dec3348a2..3e06929decc1 100644
--- a/_link_checker_sc/ignore_errors.json
+++ b/_link_checker_sc/ignore_errors.json
@@ -937,5 +937,24 @@
"type": "PageNotLinkedInternally",
"fileRelativeToRoot": "en\\assembly\\_assembly.md",
"hideReason": "Its a convenience file"
+ },
+ {
+ "type": "LinkedFileMissingAnchor",
+ "fileRelativeToRoot": "en\\frames_plane\\reptile_dragon_2.md",
+ "link": {
+ "url": "../config/autotune_fw.md#enable-disable-autotune-switch",
+ "text": "autotuning switch"
+ },
+ "hideReason": "The link is in an imported document. Link checker doesn't know about imports."
+ },
+ {
+ "type": "PageNotInTOC",
+ "fileRelativeToRoot": "en\\config\\_autotune.md",
+ "hideReason": "It is not intended to be built"
+ },
+ {
+ "type": "PageNotLinkedInternally",
+ "fileRelativeToRoot": "en\\config\\_autotune.md",
+ "hideReason": "Page is intended to be an orphan"
}
]
\ No newline at end of file
diff --git a/assets/airframes/rover/flight_modes/manual_inputs.png b/assets/airframes/rover/flight_modes/manual_inputs.png
new file mode 100644
index 000000000000..91d8f29cb53f
Binary files /dev/null and b/assets/airframes/rover/flight_modes/manual_inputs.png differ
diff --git a/assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png b/assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png
new file mode 100644
index 000000000000..3fbe6d1bfb09
Binary files /dev/null and b/assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png differ
diff --git a/assets/airframes/rover/rover_ackermann/axial_trail_honcho.png b/assets/airframes/rover/rover_ackermann/axial_trail_honcho.png
new file mode 100644
index 000000000000..6ddd44a2ebb7
Binary files /dev/null and b/assets/airframes/rover/rover_ackermann/axial_trail_honcho.png differ
diff --git a/assets/airframes/rover/rover_ackermann/cornering_comparison.png b/assets/airframes/rover/rover_ackermann/cornering_comparison.png
new file mode 100644
index 000000000000..7a1baa7b93dc
Binary files /dev/null and b/assets/airframes/rover/rover_ackermann/cornering_comparison.png differ
diff --git a/assets/airframes/rover/rover_ackermann/cornering_logic.png b/assets/airframes/rover/rover_ackermann/cornering_logic.png
new file mode 100644
index 000000000000..544327d819aa
Binary files /dev/null and b/assets/airframes/rover/rover_ackermann/cornering_logic.png differ
diff --git a/assets/airframes/rover/rover_ackermann/geometric_parameters.png b/assets/airframes/rover/rover_ackermann/geometric_parameters.png
new file mode 100644
index 000000000000..e70f58c5e916
Binary files /dev/null and b/assets/airframes/rover/rover_ackermann/geometric_parameters.png differ
diff --git a/assets/airframes/rover/rover_differential/differential_state_machine.png b/assets/airframes/rover/rover_differential/differential_state_machine.png
new file mode 100644
index 000000000000..bb54ed0dbe81
Binary files /dev/null and b/assets/airframes/rover/rover_differential/differential_state_machine.png differ
diff --git a/assets/airframes/rover/rover_differential/wheel_track.png b/assets/airframes/rover/rover_differential/wheel_track.png
new file mode 100644
index 000000000000..1c38dbf44162
Binary files /dev/null and b/assets/airframes/rover/rover_differential/wheel_track.png differ
diff --git a/assets/airframes/rover/rover_simulation.png b/assets/airframes/rover/rover_simulation.png
new file mode 100644
index 000000000000..e57bb0861ae1
Binary files /dev/null and b/assets/airframes/rover/rover_simulation.png differ
diff --git a/assets/airframes/rover/rovers.png b/assets/airframes/rover/rovers.png
new file mode 100644
index 000000000000..cbc438f03e33
Binary files /dev/null and b/assets/airframes/rover/rovers.png differ
diff --git a/assets/assembly/airspeed_sensor_i2c.png b/assets/assembly/airspeed_sensor_i2c.png
index 2aeb9ba8c9a0..f8c4dc776e24 100644
Binary files a/assets/assembly/airspeed_sensor_i2c.png and b/assets/assembly/airspeed_sensor_i2c.png differ
diff --git a/assets/assembly/gnss_connections.png b/assets/assembly/gnss_connections.png
index abde50ccd140..b77f70519545 100644
Binary files a/assets/assembly/gnss_connections.png and b/assets/assembly/gnss_connections.png differ
diff --git a/assets/assembly/pixhawk6x_cuav.jpg b/assets/assembly/pixhawk6x_cuav.jpg
index 9a7179259044..5fc66f834a28 100644
Binary files a/assets/assembly/pixhawk6x_cuav.jpg and b/assets/assembly/pixhawk6x_cuav.jpg differ
diff --git a/assets/assembly/pixhawk6x_holybro.jpg b/assets/assembly/pixhawk6x_holybro.jpg
index 28817ccf91ef..2a693dacfed5 100644
Binary files a/assets/assembly/pixhawk6x_holybro.jpg and b/assets/assembly/pixhawk6x_holybro.jpg differ
diff --git a/assets/assembly/power_all.png b/assets/assembly/power_all.png
index 3ed3176a5ffd..01502abcf6ed 100644
Binary files a/assets/assembly/power_all.png and b/assets/assembly/power_all.png differ
diff --git a/assets/assembly/power_all_fw.png b/assets/assembly/power_all_fw.png
new file mode 100644
index 000000000000..7196a78349fe
Binary files /dev/null and b/assets/assembly/power_all_fw.png differ
diff --git a/assets/assembly/power_module_cuav_analog.jpg b/assets/assembly/power_module_cuav_analog.jpg
index e85d5f43ccfd..f068778bb1e8 100644
Binary files a/assets/assembly/power_module_cuav_analog.jpg and b/assets/assembly/power_module_cuav_analog.jpg differ
diff --git a/assets/assembly/servos.png b/assets/assembly/servos.png
index 9963b48d33a8..185de739cdb1 100644
Binary files a/assets/assembly/servos.png and b/assets/assembly/servos.png differ
diff --git a/assets/assembly/telemetry_connections.png b/assets/assembly/telemetry_connections.png
index 60e4f100ba5a..e3cabe9aaded 100644
Binary files a/assets/assembly/telemetry_connections.png and b/assets/assembly/telemetry_connections.png differ
diff --git a/assets/config/airframe/airframe_generic_rover_ackermann.png b/assets/config/airframe/airframe_generic_rover_ackermann.png
new file mode 100644
index 000000000000..d43e113bd6bc
Binary files /dev/null and b/assets/config/airframe/airframe_generic_rover_ackermann.png differ
diff --git a/assets/config/airframe/airframe_generic_rover_differential.png b/assets/config/airframe/airframe_generic_rover_differential.png
new file mode 100644
index 000000000000..2530d36abdb5
Binary files /dev/null and b/assets/config/airframe/airframe_generic_rover_differential.png differ
diff --git a/assets/flight_controller/kakuteh7/kakuteh7_uart2.png b/assets/flight_controller/kakuteh7/kakuteh7_uart2.png
new file mode 100644
index 000000000000..d77f94b3d06b
Binary files /dev/null and b/assets/flight_controller/kakuteh7/kakuteh7_uart2.png differ
diff --git a/assets/flight_controller/raccoonlab/fmuv6x-drw.png b/assets/flight_controller/raccoonlab/fmuv6x-drw.png
new file mode 100644
index 000000000000..d269df200b22
Binary files /dev/null and b/assets/flight_controller/raccoonlab/fmuv6x-drw.png differ
diff --git a/assets/flight_controller/raccoonlab/fmuv6x.png b/assets/flight_controller/raccoonlab/fmuv6x.png
new file mode 100644
index 000000000000..acfaeb1ea539
Binary files /dev/null and b/assets/flight_controller/raccoonlab/fmuv6x.png differ
diff --git a/assets/hardware/can_nodes/raccoonlab_micro_node.png b/assets/hardware/can_nodes/raccoonlab_micro_node.png
new file mode 100644
index 000000000000..0bd913ec72cc
Binary files /dev/null and b/assets/hardware/can_nodes/raccoonlab_micro_node.png differ
diff --git a/assets/hardware/can_nodes/raccoonlab_mini_node.png b/assets/hardware/can_nodes/raccoonlab_mini_node.png
new file mode 100644
index 000000000000..b4c0bff535f3
Binary files /dev/null and b/assets/hardware/can_nodes/raccoonlab_mini_node.png differ
diff --git a/assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png b/assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png
new file mode 100644
index 000000000000..70817a2b0461
Binary files /dev/null and b/assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png differ
diff --git a/assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png b/assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png
new file mode 100644
index 000000000000..2a15681ba484
Binary files /dev/null and b/assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png differ
diff --git a/assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg b/assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg
new file mode 100644
index 000000000000..ef4528a02212
Binary files /dev/null and b/assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg differ
diff --git a/assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png b/assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png
new file mode 100644
index 000000000000..beb5e4c5ba62
Binary files /dev/null and b/assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png differ
diff --git a/assets/simulation/gazebo/vehicles/advanced_plane.png b/assets/simulation/gazebo/vehicles/advanced_plane.png
index 430004611d4c..e16bff7ace27 100644
Binary files a/assets/simulation/gazebo/vehicles/advanced_plane.png and b/assets/simulation/gazebo/vehicles/advanced_plane.png differ
diff --git a/assets/simulation/gazebo/vehicles/rc_cessna.png b/assets/simulation/gazebo/vehicles/rc_cessna.png
index a54be4daafff..c7a3d4006435 100644
Binary files a/assets/simulation/gazebo/vehicles/rc_cessna.png and b/assets/simulation/gazebo/vehicles/rc_cessna.png differ
diff --git a/assets/simulation/gazebo/vehicles/rover_ackermann.png b/assets/simulation/gazebo/vehicles/rover_ackermann.png
new file mode 100644
index 000000000000..d6b305c00040
Binary files /dev/null and b/assets/simulation/gazebo/vehicles/rover_ackermann.png differ
diff --git a/assets/simulation/gazebo/vehicles/rover_differential.png b/assets/simulation/gazebo/vehicles/rover_differential.png
new file mode 100644
index 000000000000..4d439029cb49
Binary files /dev/null and b/assets/simulation/gazebo/vehicles/rover_differential.png differ
diff --git a/assets/simulation/gazebo/vehicles/standard_vtol.png b/assets/simulation/gazebo/vehicles/standard_vtol.png
index 0a24856e9e8b..86597bf14478 100644
Binary files a/assets/simulation/gazebo/vehicles/standard_vtol.png and b/assets/simulation/gazebo/vehicles/standard_vtol.png differ
diff --git a/assets/simulation/gazebo/vehicles/x500.png b/assets/simulation/gazebo/vehicles/x500.png
index 35295137a70f..d077670cb700 100644
Binary files a/assets/simulation/gazebo/vehicles/x500.png and b/assets/simulation/gazebo/vehicles/x500.png differ
diff --git a/assets/simulation/gazebo/vehicles/x500_depth.png b/assets/simulation/gazebo/vehicles/x500_depth.png
index 429e6c9df996..9976318bd535 100644
Binary files a/assets/simulation/gazebo/vehicles/x500_depth.png and b/assets/simulation/gazebo/vehicles/x500_depth.png differ
diff --git a/assets/simulation/gazebo/vehicles/x500_lidar.png b/assets/simulation/gazebo/vehicles/x500_lidar.png
new file mode 100644
index 000000000000..af6bd3808b8f
Binary files /dev/null and b/assets/simulation/gazebo/vehicles/x500_lidar.png differ
diff --git a/assets/simulation/gazebo/vehicles/x500_lidar_viz.png b/assets/simulation/gazebo/vehicles/x500_lidar_viz.png
new file mode 100644
index 000000000000..72f157610cb0
Binary files /dev/null and b/assets/simulation/gazebo/vehicles/x500_lidar_viz.png differ
diff --git a/assets/simulation/gazebo/worlds/aruco.png b/assets/simulation/gazebo/worlds/aruco.png
new file mode 100644
index 000000000000..8f492bd81a91
Binary files /dev/null and b/assets/simulation/gazebo/worlds/aruco.png differ
diff --git a/assets/simulation/gazebo/worlds/baylands.png b/assets/simulation/gazebo/worlds/baylands.png
new file mode 100644
index 000000000000..46097b17c2e3
Binary files /dev/null and b/assets/simulation/gazebo/worlds/baylands.png differ
diff --git a/assets/simulation/gazebo/worlds/default.png b/assets/simulation/gazebo/worlds/default.png
new file mode 100644
index 000000000000..a5b35404163d
Binary files /dev/null and b/assets/simulation/gazebo/worlds/default.png differ
diff --git a/assets/simulation/gazebo/worlds/lawn.png b/assets/simulation/gazebo/worlds/lawn.png
new file mode 100644
index 000000000000..4bbe8610f582
Binary files /dev/null and b/assets/simulation/gazebo/worlds/lawn.png differ
diff --git a/assets/simulation/gazebo/worlds/rover.png b/assets/simulation/gazebo/worlds/rover.png
new file mode 100644
index 000000000000..a3a14a2454be
Binary files /dev/null and b/assets/simulation/gazebo/worlds/rover.png differ
diff --git a/assets/simulation/gazebo/worlds/walls.png b/assets/simulation/gazebo/worlds/walls.png
new file mode 100644
index 000000000000..3f306d6267ff
Binary files /dev/null and b/assets/simulation/gazebo/worlds/walls.png differ
diff --git a/de/SUMMARY.md b/de/SUMMARY.md
index 73622afce1da..f0cea36b2da2 100644
--- a/de/SUMMARY.md
+++ b/de/SUMMARY.md
@@ -22,6 +22,7 @@
- [Throw Launch](flight_modes_mc/throw_launch.md)
- [Assembly](assembly/assembly_mc.md)
- [Configuration/Tuning](config_mc/index.md)
+ - [Auto-tune](config/autotune_mc.md)
- [Filter/Control Latency Tuning](config_mc/filter_tuning.md)
- [PID Tuning (Manual/Basic)](config_mc/pid_tuning_guide_multicopter_basic.md)
- [PID Tuning Guide (Manual/Advanced)](config_mc/pid_tuning_guide_multicopter.md)
@@ -54,6 +55,7 @@
- [Planes (Fixed-Wing)](frames_plane/index.md)
- [Assembly](assembly/assembly_fw.md)
- [Config/Tuning](config_fw/index.md)
+ - [Auto-tune](config/autotune_fw.md)
- [Rate/Attitude Controller Tuning Guide](config_fw/pid_tuning_guide_fixedwing.md)
- [Altitude/Position Controller Tuning Guide](config_fw/position_tuning_guide_fixedwing.md)
- [Weight & Altitude Tuning](config_fw/weight_and_altitude_tuning.md)
@@ -80,6 +82,7 @@
- [VTOL](frames_vtol/index.md)
- [Assembly](assembly/assembly_vtol.md)
- [VTOL Config/Tuning](config_vtol/index.md)
+ - [Auto-tune](config/autotune_vtol.md)
- [QuadPlane Configuration](config_vtol/vtol_quad_configuration.md)
- [Back-transition Tuning](config_vtol/vtol_back_transition_tuning.md)
- [VTOL w/o Airspeed Sensor](config_vtol/vtol_without_airspeed_sensor.md)
@@ -118,7 +121,7 @@
- [Vehicle Status Notifications](getting_started/vehicle_status.md)
- [LED Meanings](getting_started/led_meanings.md)
- [Tune/Sound Meanings](getting_started/tunes.md)
- - [Preflight Checks](flying/pre_flight_checks.md)
+ - [QGroundControl Flight-Readiness Status](flying/pre_flight_checks.md)
- [Hardware Selection & Setup](hardware/drone_parts.md)
- [Flight Controllers (Autopilots)](flight_controller/index.md)
@@ -140,6 +143,7 @@
- [Holybro Pixhawk 6X-RT (FMUv6X-RT)](flight_controller/pixhawk6x-rt.md)
- [Holybro Pixhawk 6X (FMUv6X)](flight_controller/pixhawk6x.md)
- [Wiring Quickstart](assembly/quick_start_pixhawk6x.md)
+ - [RaccoonLab FMU6x](flight_controller/raccoonlab_fmu6x.md)
- [Holybro Pixhawk 6C (FMUv6C)](flight_controller/pixhawk6c.md)
- [Wiring Quickstart](assembly/quick_start_pixhawk6c.md)
- [Holybro Pixhawk 6C Mini(FMUv6C)](flight_controller/pixhawk6c_mini.md)
@@ -319,6 +323,7 @@
- [Holybro PM02D (digital)](power_module/holybro_pm02d.md)
- [Holybro PM03D (digital)](power_module/holybro_pm03d.md)
- [Pomegranate Systems Power Module](dronecan/pomegranate_systems_pm.md)
+ - [RaccoonLab Power Modules](dronecan/raccoonlab_power.md)
- [Sky-Drones SmartAP PDB](power_module/sky-drones_smartap-pdb.md)
- [Smart/MAVLink Batteries](smart_batteries/index.md)
- [Rotoye Batmon Battery Smartification Kit](smart_batteries/rotoye_batmon.md)
@@ -344,6 +349,7 @@
- [DroneCAN Peripherals](dronecan/index.md)
- [PX4 DroneCAN Firmware](dronecan/px4_cannode_fw.md)
- [ARK CANnode](dronecan/ark_cannode.md)
+ - [RaccoonLab CAN Nodes](dronecan/raccoonlab_nodes.md)
- [Cable Wiring](assembly/cable_wiring.md)
- [Companion Computers](companion_computer/index.md)
- [Pixhawk + Companion Setup](companion_computer/pixhawk_companion.md)
@@ -364,7 +370,6 @@
- [Serial Port Configuration](peripherals/serial_configuration.md)
- [PX4 Ethernet Setup](advanced_config/ethernet_setup.md)
- [Standard Configuration](config/index.md)
- - [Autotune](config/autotune.md)
- [Advanced Configuration](advanced_config/index.md)
- [ECL/EKF Overview & Tuning](advanced_config/tuning_the_ecl_ekf.md)
- [Finding/Updating Parameters](advanced_config/parameters.md)
@@ -378,9 +383,11 @@
- [Helicopter (experimental)](frames_helicopter/index.md)
- [Helicopter Config/Tuning](config_heli/index.md)
- [Rovers (experimental)](frames_rover/index.md)
- - [Flight Modes](flight_modes_rover/index.md)
- - [Aion Robotics R1](frames_rover/aion_r1.md)
- - [Traxxas Stampede](frames_rover/traxxas_stampede.md)
+ - [Drive Modes](flight_modes_rover/index.md)
+ - [Differential-steering Rover](frames_rover/differential_rover.md)
+ - [Aion Robotics R1](frames_rover/aion_r1.md)
+ - [Ackermann Rover](frames_rover/ackermann_rover.md)
+ - [(Deprecated) Rover Position Control](frames_rover/rover_position_control.md)
- [Submarines (experimental)](frames_sub/index.md)
- [BlueROV2](frames_sub/bluerov2.md)
- [Airframes Reference](airframes/airframe_reference.md)
@@ -589,6 +596,9 @@
- [RegisterExtComponentReply](msg_docs/RegisterExtComponentReply.md)
- [RegisterExtComponentRequest](msg_docs/RegisterExtComponentRequest.md)
- [RoverAckermannGuidanceStatus](msg_docs/RoverAckermannGuidanceStatus.md)
+ - [RoverAckermannStatus](msg_docs/RoverAckermannStatus.md)
+ - [RoverDifferentialGuidanceStatus](msg_docs/RoverDifferentialGuidanceStatus.md)
+ - [RoverDifferentialStatus](msg_docs/RoverDifferentialStatus.md)
- [Rpm](msg_docs/Rpm.md)
- [RtlStatus](msg_docs/RtlStatus.md)
- [RtlTimeEstimate](msg_docs/RtlTimeEstimate.md)
diff --git a/de/advanced_config/ethernet_setup.md b/de/advanced_config/ethernet_setup.md
index 9a03da9bc93f..00ec1911d0d6 100644
--- a/de/advanced_config/ethernet_setup.md
+++ b/de/advanced_config/ethernet_setup.md
@@ -26,6 +26,7 @@ Supported flight controllers include:
- [CUAV Pixhawk V6X](../flight_controller/cuav_pixhawk_v6x.md)
- [Holybro Pixhawk 5X](../flight_controller/pixhawk5x.md)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md)
## Setting up the Ethernet Network
diff --git a/de/advanced_config/parameter_reference.md b/de/advanced_config/parameter_reference.md
index bc9043491c63..ebb7447e1611 100644
--- a/de/advanced_config/parameter_reference.md
+++ b/de/advanced_config/parameter_reference.md
@@ -8768,9 +8768,10 @@ table {
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8784,6 +8785,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9409,20 +9417,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9770,34 +9778,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10620,6 +10600,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10648,6 +10684,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11101,19 +11144,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11905,13 +11949,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11990,7 +12027,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -12004,7 +12041,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12018,14 +12055,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12046,7 +12083,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12071,14 +12108,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12131,7 +12168,7 @@ table {
FW_LAUN_AC_THLD (FLOAT)
Trigger acceleration threshold
Comment: Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
-
[0, ?] (0.5)
+
[0, ?] (1) (0.5)
30.0
m/s^2
@@ -12249,13 +12286,13 @@ table {
FW_PN_R_SLEW_MAX (FLOAT)
Path navigation roll slew rate limit
Comment: The maximum change in roll angle setpoint per second. This limit is applied in all Auto modes, plus manual Position and Altitude modes.
-
[0, ?] (1) (1)
+
[0, ?] (1)
90.0
deg/s
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12265,7 +12302,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12297,7 +12334,7 @@ table {
FW_AIRSPD_MIN (FLOAT)
Minimum Airspeed (CAS)
Comment: The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).
-
[0.5, ?] (0.5) (0.5)
+
[0.5, ?] (0.5)
10.0
m/s
@@ -12649,35 +12686,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12691,7 +12728,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12705,14 +12742,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?] (1.0)
-1.0
@@ -12726,21 +12763,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12754,42 +12791,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12810,28 +12847,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -16319,14 +16356,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -17379,7 +17416,7 @@ table {
MC_SLOW_DEF_HVEL (FLOAT)
Default horizontal velocity limit
Comment: This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
-
[0.1, ?] (0.1) (0.1)
+
[0.1, ?] (0.1)
3.
m/s
@@ -17445,7 +17482,7 @@ table {
MC_SLOW_MIN_HVEL (FLOAT)
Horizontal velocity lower limit
Comment: The lowest input maps and is clamped to this velocity.
-
[0.1, ?] (0.1) (0.1)
+
[0.1, ?] (0.1)
.3
m/s
@@ -17842,6 +17879,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19433,7 +19477,7 @@ table {
RTL_DESCEND_ALT (FLOAT)
Return mode loiter altitude
Comment: Descend to this altitude (above destination position) after return, and wait for time defined in RTL_LAND_DELAY. Land (i.e. slowly descend) from this altitude if autolanding allowed. VTOLs do transition to hover in this altitdue above the landing point.
-
[0, ?] (0.5)
+
[0, ?] (1) (0.5)
30.
m
@@ -19593,13 +19637,6 @@ table {
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19609,8 +19646,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19635,6 +19672,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19649,24 +19700,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -23613,7 +23671,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23766,7 +23824,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23801,6 +23859,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
@@ -23822,6 +23922,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -24316,36 +24437,36 @@ table {
SIH_LOC_H0 (FLOAT)
-
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
Pitch arm length
Comment: This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.
-
[0.0, ?] (0.1) (0.05)
+
[0.0, ?] (0.05)
0.2
m
SIH_L_ROLL (FLOAT)
Roll arm length
Comment: This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.
-
[0.0, ?] (0.05)
+
[0.0, ?] (0.1) (0.05)
0.2
m
@@ -24359,7 +24480,7 @@ table {
SIH_Q_MAX (FLOAT)
Max propeller torque
Comment: This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.
-
[0.0, ?] [0.0, ?] (0.05)
+
[0.0, ?] (0.05)
0.1
Nm
@@ -27536,7 +27657,7 @@ table {
VT_FW_QC_HMAX (INT32)
Quad-chute maximum height
Comment: Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.
-
[0, ?] (1) [0, ?] (1) (1)
+
[0, ?] [0, ?] (1) (1)
0
m
diff --git a/de/advanced_config/prearm_arm_disarm.md b/de/advanced_config/prearm_arm_disarm.md
index 40653bb025b3..f2aebd565446 100644
--- a/de/advanced_config/prearm_arm_disarm.md
+++ b/de/advanced_config/prearm_arm_disarm.md
@@ -33,16 +33,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## Arming Gesture
+## Arming/Disarming Gestures {#arm_disarm_gestures}
By default, the vehicle is armed and disarmed by moving RC throttle/yaw sticks to particular extremes and holding them for 1 second.
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -51,15 +49,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
-
-| Parameter | Description |
-| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| Parameter | Description |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
The button should be held down for ([nominally](#COM_RC_ARM_HYST)) one second to arm (when disarmed) or disarm (when armed). An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures).
@@ -90,16 +88,16 @@ By default vehicles will automatically disarm on landing, or if you take too lon
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if: Arming is prevented if: Arming is prevented if: Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/de/airframes/airframe_reference.md b/de/airframes/airframe_reference.md
index fb98911fbb0e..c25006165d63 100644
--- a/de/airframes/airframe_reference.md
+++ b/de/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/de/assembly/_assembly.md b/de/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/de/assembly/_assembly.md
+++ b/de/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/de/assembly/assembly_fw.md b/de/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/de/assembly/assembly_fw.md
+++ b/de/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/de/assembly/assembly_mc.md b/de/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/de/assembly/assembly_mc.md
+++ b/de/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/de/assembly/assembly_vtol.md b/de/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/de/assembly/assembly_vtol.md
+++ b/de/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/de/can/index.md b/de/can/index.md
index fa45eaa14488..cdaf5e392740 100644
--- a/de/can/index.md
+++ b/de/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/de/complete_vehicles_mc/betafpv_beta75x.md b/de/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/de/complete_vehicles_mc/betafpv_beta75x.md
+++ b/de/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/de/complete_vehicles_mc/crazyflie2.md b/de/complete_vehicles_mc/crazyflie2.md
index 7d6033e9a7ae..18d72a99b6c4 100644
--- a/de/complete_vehicles_mc/crazyflie2.md
+++ b/de/complete_vehicles_mc/crazyflie2.md
@@ -315,7 +315,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/de/complete_vehicles_mc/crazyflie21.md b/de/complete_vehicles_mc/crazyflie21.md
index ff320d0d3bb4..4a9060110445 100644
--- a/de/complete_vehicles_mc/crazyflie21.md
+++ b/de/complete_vehicles_mc/crazyflie21.md
@@ -301,4 +301,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/de/complete_vehicles_mc/nanomind110.md b/de/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/de/complete_vehicles_mc/nanomind110.md
+++ b/de/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/de/computer_vision/collision_prevention.md b/de/computer_vision/collision_prevention.md
index fc19a6267437..edec94bae012 100644
--- a/de/computer_vision/collision_prevention.md
+++ b/de/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Set to 1 to allow the vehicle to move in directions where there is no sensor coverage (default is 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
## Algorithm Description
The data from all sensors are fused into an internal representation of 36 sectors around the vehicle, each containing either the sensor data and information about when it was last observed, or an indication that no data for the sector was available. When the vehicle is commanded to move in a particular direction, all sectors in the hemisphere of that direction are checked to see if the movement will bring the vehicle closer to any obstacles. If so, the vehicle velocity is restricted.
@@ -56,8 +54,6 @@ Delay, both in the vehicle tracking velocity setpoints and in receiving sensor d
If the sectors adjacent to the commanded sectors are 'better' by a significant margin, the direction of the requested input can be modified by up to the angle specified in [CP_GUIDE_ANG](#CP_GUIDE_ANG). This helps to fine-tune user input to 'guide' the vehicle around obstacles rather than getting stuck against them.
-
-
### Range Data Loss
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. This will force the velocity setpoints in xy to zero. After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -68,9 +64,7 @@ If you have multiple sensors connected and you lose connection to one of them, y
Be careful when enabling [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), which allows the vehicle to fly outside the area with sensor coverage. If you lose connection to one of multiple sensors, the area covered by the faulty sensor is also treated as uncovered and you will be able to move there without constraint.
:::
-
-
-### CP_DELAY Delay Tuning
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. Both sources of delay are tuned using the [CP_DELAY](#CP_DELAY) parameter.
@@ -82,9 +76,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
If vehicle speed oscillates as it approaches the obstacle (i.e. it slows down, speeds up, slows down) the delay is set too high.
:::
-
-
-### CP_GUIDE_ANG Guidance Tuning
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Depending on the vehicle, type of environment and pilot skill different amounts of guidance may be desired. Setting the [CP_GUIDE_ANG](#CP_GUIDE_ANG) parameter to 0 will disable the guidance, resulting in the vehicle only moving exactly in the directions commanded. Increasing this parameter will let the vehicle choose optimal directions to avoid obstacles, making it easier to fly through tight gaps and to keep the minimum distance exactly while going around objects.
@@ -95,9 +87,7 @@ The guidance feature will never direct the vehicle in a direction without sensor
If the vehicle feels 'stuck' with only a single distance sensor pointing forwards, this is probably because the guidance cannot safely adapt the direction due to lack of information.
:::
-
-
-## PX4 Distance Sensor
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -145,9 +135,7 @@ Other sensors may be enabled, but this requires modification of driver code to s
You can see the required modifications from the [feature PR](https://github.com/PX4/PX4-Autopilot/pull/12179). Please contribute back your changes!
:::
-
-
-## Companion Setup
+## Companion Setup {#companion}
If using a companion computer or external sensor, it needs to supply a stream of [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) messages, which should reflect when and where obstacle were detected.
@@ -162,9 +150,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo. In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo Setup
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/de/computer_vision/obstacle_avoidance.md b/de/computer_vision/obstacle_avoidance.md
index 6711cb66ea32..43bdcd05ba62 100644
--- a/de/computer_vision/obstacle_avoidance.md
+++ b/de/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
Obstacle avoidance is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
::: info `COM_OBS_AVOID` also enables [Safe Landing](../computer_vision/safe_landing.md) and any other features that use the PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
:::
diff --git a/de/computer_vision/path_planning_interface.md b/de/computer_vision/path_planning_interface.md
index 736d5d6072f6..c0c75d975eb9 100644
--- a/de/computer_vision/path_planning_interface.md
+++ b/de/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# Path Planning Interface
-PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including obstacle avoidance in missions, [safe landing](../computer_vision/safe_landing.md), and future services):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
+
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_. May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve. The curve indicates the (moving) position setpoint of the vehicle over a given time period.
+
- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) and [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) send the vehicle local position and altitude, respectively.
Path planning is enabled on PX4 in automatic modes (landing, takeoff, hold, mission, return) if [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID). In these modes planning software is expected to supply setpoints to PX4; if the software cannot support a particular flight mode it must mirror back setpoints from the vehicle.
diff --git a/de/computer_vision/safe_landing.md b/de/computer_vision/safe_landing.md
index 023b80ec8e70..5ac188217e5e 100644
--- a/de/computer_vision/safe_landing.md
+++ b/de/computer_vision/safe_landing.md
@@ -32,9 +32,7 @@ This covers the common setup for obstacle avoidance and collision prevention, an
The configuration information includes, among other things, how to set up safe landing for different cameras, sizes of vehicles, and the height at which the decision to land or not is taken.
-
-
-## Safe Landing Interface
+## Safe Landing Interface {#interface}
PX4 uses the [Path Planning Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
diff --git a/de/concept/flight_tasks.md b/de/concept/flight_tasks.md
index dbc57d4baafd..e070dc9e8ea1 100644
--- a/de/concept/flight_tasks.md
+++ b/de/concept/flight_tasks.md
@@ -188,10 +188,14 @@ The following videos provide an overview of flight tasks in PX4. The first cover
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/de/config/autotune.md b/de/config/_autotune.md
similarity index 56%
rename from de/config/autotune.md
rename to de/config/_autotune.md
index 026513a2fbf2..f5f8cfb93dba 100644
--- a/de/config/autotune.md
+++ b/de/config/_autotune.md
@@ -1,6 +1,20 @@
-# Auto-tuning
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
-Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+# Auto-tuning (Fixed-Wing)
+
+
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
@@ -8,56 +22,58 @@ Tuning only needs to be done once, and is recommended unless you're using a vehi
Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Pre-tuning Test
The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
The test steps are:
1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
1. Enable autotune.
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,60 +82,99 @@ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-win
1. Read the warning popup and click on **OK** to start tuning.
1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Troubleshooting
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
+### Drone oscillates when performing the pre-tuning test
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
-#### The auto-tuning sequence fails
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
-#### The drone oscillates after auto-tuning
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-#### I still can't get it to work
+
+
-Attempt manual tuning using the appropriate guides:
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
+
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### The drone oscillates after auto-tuning
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### I still can't get it to work
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
+
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+- `2`: apply immediately (default for fixed-wings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+
+
-### Enable/Disable Autotune Switch (Fixed-Wing)
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -127,11 +182,11 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
@@ -139,6 +194,8 @@ Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES
- bit `1`: pitch (default)
- bit `2`: yaw
+
+
## Developers/SDKs
Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
@@ -162,7 +219,7 @@ Automatic tuning works well for the multicopter and fixed-wing vehicle configura
The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
### FAQ
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
+
+
## See also
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/de/config/autotune_fw.md b/de/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/de/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/de/config/autotune_mc.md b/de/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/de/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/de/config/autotune_vtol.md b/de/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/de/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/de/config/battery.md b/de/config/battery.md
index 850586f9cc06..9b3daad468ae 100644
--- a/de/config/battery.md
+++ b/de/config/battery.md
@@ -136,7 +136,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
This setting corresponds to parameter(s): [BAT1_A_PER_V](../advanced_config/parameter_reference.md#BAT1_A_PER_V) and [BAT2_A_PER_V](../advanced_config/parameter_reference.md#BAT2_A_PER_V).
:::
-If you are using [Current-based Load Compensation](#current_based_load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -147,72 +147,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## Voltage-based Estimation with Load Compensation
-::: info
-With well configured load compensation the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-:::
-
-Load compensation attempts to counteract the fluctuation in measured voltage/estimated capacity under load that occur when using the [basic configuration](#basic_settings). This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-:::note
-Current integration cannot be used on its own (without voltage-based estimation) because it has no way to determine the _initial_ capacity. The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 supports two load compensation methods, which are enabled by [setting](../advanced_config/parameters.md) either of the two parameters below:
-
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Current-based Load Compensation](#current_based_load_compensation) (recommended).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Thrust-based Load Compensation](#thrust_based_load_compensation).
-
-
-
-### Current-based Load Compensation (recommended)
-
-This load compensation method relies on current measurement to determine load. It is far more accurate than [Thrust-based Load Compensation](#thrust_based_load_compensation) but requires that you have a current sensor.
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-To enable this feature:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-There are LiPo chargers out there which can measure the internal resistance of your battery.
-A typical value is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-:::
-
-1. You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-
-
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-### Thrust-based Load Compensation
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-This load compensation method estimates the load based on the total thrust that gets commanded to the motors.
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. Use [Current-based Load Compensation](#current_based_load_compensation) instead if your vehicle has a current sensor.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-To enable this feature:
-
-1. Set the parameter [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) to how much voltage drop a cell shows under the load of full throttle.
-
## Voltage-based Estimation Fused with Current Integration
-::: info
-This is the most accurate way to measure relative battery consumption.
-If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-:::
+This method is the most accurate way to measure relative battery consumption. If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
To enable this feature:
-1. First set up accurate voltage estimation using [current-based load compensation](#current_based_load_compensation).
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Including calibrating the [Amps per volt divider](#current_divider) setting.
:::
-1. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
+2. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
::: info
Do not set this value too high as this may result in a poor estimation or sudden drops in estimated capacity.
diff --git a/de/config/flight_mode.md b/de/config/flight_mode.md
index 71edd117e508..a8c775e44b54 100644
--- a/de/config/flight_mode.md
+++ b/de/config/flight_mode.md
@@ -82,7 +82,7 @@ Most transmitters do not have 6-way switches, so if you need to be able to suppo
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/de/config/index.md b/de/config/index.md
index 9f4250c058a7..a1215d544edb 100644
--- a/de/config/index.md
+++ b/de/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Video Guide
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/de/config/safety.md b/de/config/safety.md
index 2aca976d20aa..429c72e3e338 100644
--- a/de/config/safety.md
+++ b/de/config/safety.md
@@ -2,9 +2,15 @@
PX4 has a number of safety features to protect and recover your vehicle if something goes wrong:
-- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](#other-safety-settings).
+- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](../advanced_config/parameters.md).
- [Safety switches](#emergency-switches) on the remote control can be used to immediately stop motors or return the vehicle in the event of a problem.
+## QGroundControl Safety Setup
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Failsafe Actions
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action. This gives the user time to notice what is happening and override the failsafe if needed. In most cases this can be done by using RC or a GCS to switch modes (note that during the failsafe-hold, moving the RC sticks does not trigger an override).
@@ -27,32 +33,67 @@ If multiple failsafes are triggered, the more severe action is taken. For exampl
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl Safety Setup
+### Return Mode Settings
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
-### Low Battery Failsafe
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+### Land Mode Settings
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`). With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
+
+| Setting | Parameter | Description |
+| ------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
+| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
+| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
+| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+
+### Flight Time Failsafes
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| Setting | Parameter | Description |
-| ----------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below [Battery Failsafe Level](#BAT_CRIT_THR), OR Warn, then return, then land based on each of the level settings below. |
-| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
-| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
-| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+| Setting | Parameter | Description |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,12 +108,12 @@ Additional (and underlying) parameter settings are shown below.
| Parameter | Setting | Description |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Failsafe Action | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### Data Link Loss Failsafe
+## Data Link Loss Failsafe
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -85,7 +126,7 @@ The settings and underlying parameters are shown below.
| Data Link Loss Timeout | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Amount of time after losing the data connection before the failsafe will trigger. |
| Failsafe Action | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence Failsafe
+## Geofence Failsafe
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -113,46 +154,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| Circuit breaker for flight termination | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Enables/Disables flight termination action (disabled by default). |
-### Return Mode Settings
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| Climb to altitude | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Vehicle ascend to this minimum height (if below it) for the return flight. |
-| Return behaviour | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| Loiter Altitude | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | If return with loiter is selected you can also specify the altitude at which the vehicle hold. |
-| Loiter Time | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | If return with loiter then land is selected you can also specify how long the vehicle will hold. |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). If negative the vehicle will land immediately. Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
+## Position (GNSS) Loss Failsafe
-### Land Mode Settings
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). This section shows how to control when and if the vehicle automatically disarms after landing. For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Disarm After | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Select checkbox to specify that the vehicle will disarm after landing. The value must be non-zero but can be a fraction of a second. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## Other Failsafe Settings
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### Position (GPS) Loss Failsafe
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -175,9 +179,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). Set to 0 to disable. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Fixed roll/bank angle while circling. |
-### Offboard Loss Failsafe
+## Offboard Loss Failsafe
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -186,13 +190,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Delay after loss of offboard connection before the failsafe is triggered. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Traffic Avoidance Failsafe
+## Traffic Avoidance Failsafe
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -202,7 +200,7 @@ The relevant parameters are shown below:
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Set the failsafe action: Disabled, Warn, Return mode, Land mode. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Failure Detector
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -260,6 +268,12 @@ The [failure detector](#failure-detector), if [enabled](#CBRK_FLIGHTTERM), can a
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Enable PWM input on AUX5 or MAIN5 (depending on board) for engaging failsafe from an external automatic trigger system (ATS). Default: Disabled. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | The PWM threshold from external automatic trigger system for engaging failsafe. Default: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Emergency Switches
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -298,9 +312,11 @@ For modes that do not support disarming in flight, the switch is ignored during
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## Other Safety Settings
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Auto-disarming Timeouts
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -311,6 +327,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Timeout for auto-disarm after landing. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Timeout for auto disarm if vehicle is too slow to takeoff. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Further Information
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/de/config_fw/index.md b/de/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/de/config_fw/index.md
+++ b/de/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/de/config_fw/pid_tuning_guide_fixedwing.md b/de/config_fw/pid_tuning_guide_fixedwing.md
index bd30b9370ac6..1e78cfd0b940 100644
--- a/de/config_fw/pid_tuning_guide_fixedwing.md
+++ b/de/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
-::: info [Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
## Preconditions
diff --git a/de/config_mc/index.md b/de/config_mc/index.md
index dc7de0f13327..6dbdb801881c 100644
--- a/de/config_mc/index.md
+++ b/de/config_mc/index.md
@@ -102,16 +102,19 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/de/config_mc/pid_tuning_guide_multicopter.md b/de/config_mc/pid_tuning_guide_multicopter.md
index 9a7408435692..32f05b2d06b6 100644
--- a/de/config_mc/pid_tuning_guide_multicopter.md
+++ b/de/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
This topic provides detailed information about PX4 controllers, and how they are tuned.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles *around the hover thrust point*, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
:::
Use this topic when tuning around the hover thrust point is not sufficient (e.g. on vehicles where there are non-linearities and oscillations at higher thrusts). It is also useful for a deeper understanding of how the basic tuning works, and to understand how to use the [airmode](#airmode-mixer-saturation) setting.
diff --git a/de/config_mc/pid_tuning_guide_multicopter_basic.md b/de/config_mc/pid_tuning_guide_multicopter_basic.md
index 45f95cc02209..42348136219b 100644
--- a/de/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/de/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. Tuning is recommended for all new vehicle setups to get the _very best_ performance, because relatively small hardware and assembly changes can affect the gains required tuning gains for optimal flight. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/de/contribute/docs.md b/de/contribute/docs.md
index 65879d582d3c..a9a06107147d 100644
--- a/de/contribute/docs.md
+++ b/de/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## Where Do I Add Changes?
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/de/debug/gdb_hardfault.md b/de/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/de/debug/gdb_hardfault.md
+++ b/de/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/de/dev_airframes/adding_a_new_frame.md b/de/dev_airframes/adding_a_new_frame.md
index 780cbb578d13..6a14899bfa23 100644
--- a/de/dev_airframes/adding_a_new_frame.md
+++ b/de/dev_airframes/adding_a_new_frame.md
@@ -315,10 +315,9 @@ The remaining airframe metadata should be automatically included in the firmware
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/de/dev_setup/building_px4.md b/de/dev_setup/building_px4.md
index 27e664413e2f..a30d5f9817b4 100644
--- a/de/dev_setup/building_px4.md
+++ b/de/dev_setup/building_px4.md
@@ -185,7 +185,7 @@ The `region 'flash' overflowed by XXXX bytes` error indicates that the firmware
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. In this case, install the version specified in the [Developer Toolchain](../dev_setup/dev_env.md) instructions.
-If building your own branch, it is possibly you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
### macOS: Too many open files error
diff --git a/de/dev_setup/dev_env_linux_ubuntu.md b/de/dev_setup/dev_env_linux_ubuntu.md
index 85f2c990ccb2..8edd5c269f2c 100644
--- a/de/dev_setup/dev_env_linux_ubuntu.md
+++ b/de/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/de/dev_setup/dev_env_mac.md b/de/dev_setup/dev_env_mac.md
index 69879e9091a6..dd8dfc868783 100644
--- a/de/dev_setup/dev_env_mac.md
+++ b/de/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@ This setup is supported by the PX4 dev team. To build other targets you will nee
## Video Guide
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/de/dev_setup/qtcreator.md b/de/dev_setup/qtcreator.md
index a3fe1c337d01..0a81d4b57fd7 100644
--- a/de/dev_setup/qtcreator.md
+++ b/de/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/de/dronecan/ark_flow.md b/de/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/de/dronecan/ark_flow.md
+++ b/de/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/de/dronecan/escs.md b/de/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/de/dronecan/escs.md
+++ b/de/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/de/dronecan/index.md b/de/dronecan/index.md
index c8f20d4bb3f2..a1a502f7a50d 100644
--- a/de/dronecan/index.md
+++ b/de/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/de/dronecan/raccoonlab_nodes.md b/de/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/de/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/de/dronecan/raccoonlab_power.md b/de/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/de/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/de/dronecan/sapog.md b/de/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/de/dronecan/sapog.md
+++ b/de/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/de/features_mc/index.md b/de/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/de/features_mc/index.md
+++ b/de/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/de/flight_controller/airlink.md b/de/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/de/flight_controller/airlink.md
+++ b/de/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/de/flight_controller/autopilot_pixhawk_standard.md b/de/flight_controller/autopilot_pixhawk_standard.md
index 9e869fb12caf..d4a669b71595 100644
--- a/de/flight_controller/autopilot_pixhawk_standard.md
+++ b/de/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/de/flight_controller/index.md b/de/flight_controller/index.md
index 59c0a68bd0aa..02f468bc355d 100644
--- a/de/flight_controller/index.md
+++ b/de/flight_controller/index.md
@@ -32,6 +32,7 @@ PX4-compatible flight controllers documented in this library are listed below. T
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Manufacturer-Supported Autopilots](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/de/flight_controller/pixhawk.md b/de/flight_controller/pixhawk.md
index 665bc2ef1a8c..6577e5f80220 100644
--- a/de/flight_controller/pixhawk.md
+++ b/de/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/de/flight_controller/raccoonlab_fmu6x.md b/de/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/de/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/de/flight_modes_fw/acro.md b/de/flight_modes_fw/acro.md
index 575e2dc21d36..2e7793f0f0ca 100644
--- a/de/flight_modes_fw/acro.md
+++ b/de/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ Roll-pitch-yaw stick inputs are translated to angular rate commands that are sta
## Parameters
-| Parameter | Description |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/de/flight_modes_fw/takeoff.md b/de/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/de/flight_modes_fw/takeoff.md
+++ b/de/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/de/flight_modes_mc/follow_me.md b/de/flight_modes_mc/follow_me.md
index 26054e70ad3f..f06885bba36c 100644
--- a/de/flight_modes_mc/follow_me.md
+++ b/de/flight_modes_mc/follow_me.md
@@ -43,9 +43,9 @@ Angle, height, and distance values set using the RC controller are discarded whe
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
@@ -150,7 +150,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## Known Issues
diff --git a/de/flight_modes_mc/mission.md b/de/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/de/flight_modes_mc/mission.md
+++ b/de/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/de/flight_modes_mc/position.md b/de/flight_modes_mc/position.md
index cf3a6f38ca7a..01360d1fbdd5 100644
--- a/de/flight_modes_mc/position.md
+++ b/de/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
-Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
+Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/de/flight_modes_rover/index.md b/de/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/de/flight_modes_rover/index.md
+++ b/de/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/de/flying/pre_flight_checks.md b/de/flying/pre_flight_checks.md
index 0226bef4fddc..20bdb783865f 100644
--- a/de/flying/pre_flight_checks.md
+++ b/de/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# Preflight Sensor/Estimator Checks
+# QGroundControl Flight-Readiness Status
-PX4 performs a number of preflight sensor quality and estimator checks to determine if there is a good enough position estimate to arm and fly the vehicle (these checks are controlled by the [COM*ARM*](../advanced_config/parameter_reference.md#commander) parameters).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Any preflight errors are reported in *QGroundControl* as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) also shows which GPS quality checks are failing.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-The sections below list the errors, their likely causes and solutions, and any parameters that affect how the preflight checks are run.
+## Flight Readiness Status
-## EKF Preflight Checks/Errors
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-The following errors (with associated checks and parameters) are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* This error is produced when the IMU and height measurement data are inconsistent.
-* Perform an accel and gyro calibration and restart the vehicle. If the error persists, check the height sensor data for problems.
-* The check is controlled by the [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) parameter.
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* This error is produced when the IMU and GPS velocity measurement data are inconsistent.
-* Check the GPS velocity data for un-realistic data jumps. If GPS quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) parameter.
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* This error is produced when the IMU and position measurement data (either GPS or external vision) are inconsistent.
-* Check the position sensor data for un-realistic data jumps. If data quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) parameter.
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF Preflight Checks/Errors
-* This error is produced when the yaw angle estimated using gyro data and the yaw angle from the magnetometer or external vision system are inconsistent.
-* Check the IMU data for large yaw rate offsets and check the magnetometer alignment and calibration.
-* The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-* The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-* It can fail if the yaw gyro has a large offset or if the vehicle is moved or rotated in the presence of a bad magnetic interference or magnetometer calibration.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ The following errors (with associated checks and parameters) are reported by the
-The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on (“turn-on bias”) and over time due to noise and temperature differences (“in-run bias”). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
+The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
The warning indicates that the bias is higher than some arbitrary threshold (the vehicle will not be allowed to take off). It is most likely a sign that accelerometer or thermal calibration are required:
@@ -65,45 +73,43 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected “in-run bias” of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
-
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* This error is produced when the IMU gyro bias estimated by the EKF is excessive.
-* Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
+- This error is produced when the IMU gyro bias estimated by the EKF is excessive.
+- Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the acceleration measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
+- This error message is produced when the acceleration measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the angular rate measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
+- This error message is produced when the angular rate measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the difference in measurements from different compass sensors is too great.
-* It indicates bad calibration, orientation or magnetic interference.
-* This check only applies to when more than one compass/magnetometer is connected.
-* The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
+- This error message is produced when the difference in measurements from different compass sensors is too great.
+- It indicates bad calibration, orientation or magnetic interference.
+- This check only applies to when more than one compass/magnetometer is connected.
+- The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
-* Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
- * IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
- * Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
- * Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
- * Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
-
+- This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
+- Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
+ - IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
+ - Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
+ - Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
+ - Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
## Other Parameters
@@ -112,6 +118,6 @@ The following parameters also affect preflight checks.
#### COM_ARM_WO_GPS
The [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) parameter controls whether or not arming is allowed without a global position estimate.
-- `1` (default): Arming *is* allowed without a position estimate for flight modes that do not require position information (only).
-- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
diff --git a/de/frames_autogyro/thunderfly_auto_g2.md b/de/frames_autogyro/thunderfly_auto_g2.md
index 80639777228a..007de58737f7 100644
--- a/de/frames_autogyro/thunderfly_auto_g2.md
+++ b/de/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ The whole part is glued, using a hot-melt adhesive, under the engine on the bott
## Video
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Photo gallery of changes
diff --git a/de/frames_multicopter/dji_f450_cuav_5nano.md b/de/frames_multicopter/dji_f450_cuav_5nano.md
index 08bd48b7b266..ccea89cd760a 100644
--- a/de/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/de/frames_multicopter/dji_f450_cuav_5nano.md
@@ -208,12 +208,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/de/frames_multicopter/dji_f450_cuav_5plus.md b/de/frames_multicopter/dji_f450_cuav_5plus.md
index f341f7d2b16f..19d27acf99d3 100644
--- a/de/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/de/frames_multicopter/dji_f450_cuav_5plus.md
@@ -205,11 +205,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/de/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/de/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index f2b5b386fe2c..ad53b2091c58 100644
--- a/de/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/de/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -218,7 +218,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/de/frames_multicopter/holybro_s500_v2_pixhawk4.md b/de/frames_multicopter/holybro_s500_v2_pixhawk4.md
index 5e58ac865d7f..64affc031c99 100644
--- a/de/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/de/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -293,7 +293,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/de/frames_multicopter/holybro_x500V2_pixhawk5x.md b/de/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 88da910fb904..f9f7491de8e5 100644
--- a/de/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/de/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -217,7 +217,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/de/frames_multicopter/holybro_x500_pixhawk4.md b/de/frames_multicopter/holybro_x500_pixhawk4.md
index 1317dad10c1a..2e2684c92a38 100644
--- a/de/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/de/frames_multicopter/holybro_x500_pixhawk4.md
@@ -237,7 +237,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/de/frames_multicopter/holybro_x500v2_pixhawk6c.md b/de/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ae866af16d26..2e359af350f7 100644
--- a/de/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/de/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/de/frames_multicopter/index.md b/de/frames_multicopter/index.md
index cb4e1e6df92d..2dd819878b16 100644
--- a/de/frames_multicopter/index.md
+++ b/de/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Videos
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 with Distance Sensor and RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/de/frames_multicopter/omnicopter.md b/de/frames_multicopter/omnicopter.md
index bcaf0fbdf0a1..5f6ad3935c41 100644
--- a/de/frames_multicopter/omnicopter.md
+++ b/de/frames_multicopter/omnicopter.md
@@ -99,7 +99,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/de/frames_multicopter/qav_r_5_kiss_esc_racer.md b/de/frames_multicopter/qav_r_5_kiss_esc_racer.md
index eee4d6393b15..f1637ddc3907 100644
--- a/de/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/de/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame. I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/de/frames_plane/index.md b/de/frames_plane/index.md
index 826ea09b9197..842d60301d86 100644
--- a/de/frames_plane/index.md
+++ b/de/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Videos
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/de/frames_plane/reptile_dragon_2.md b/de/frames_plane/reptile_dragon_2.md
index 3a4ee85d7d58..44aafd0aa3f6 100644
--- a/de/frames_plane/reptile_dragon_2.md
+++ b/de/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md).
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe. This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/de/frames_plane/turbo_timber_evolution.md b/de/frames_plane/turbo_timber_evolution.md
index d97a6c16949b..883c7b02ed68 100644
--- a/de/frames_plane/turbo_timber_evolution.md
+++ b/de/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/de/frames_plane/wing_wing_z84.md b/de/frames_plane/wing_wing_z84.md
index f6fcaeea0ecc..6c735dc5217f 100644
--- a/de/frames_plane/wing_wing_z84.md
+++ b/de/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/de/frames_rover/ackermann_rover.md b/de/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/de/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/de/frames_rover/aion_r1.md b/de/frames_rover/aion_r1.md
index cdfe25c19bf7..10bd8621abea 100644
--- a/de/frames_rover/aion_r1.md
+++ b/de/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/de/frames_rover/differential_rover.md b/de/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/de/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/de/frames_rover/index.md b/de/frames_rover/index.md
index feb613c3246c..531c7b095300 100644
--- a/de/frames_rover/index.md
+++ b/de/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). :::warning Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## Videos
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/de/frames_rover/rover_position_control.md b/de/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/de/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/de/frames_rover/traxxas_stampede.md b/de/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 7e8b261ef913..000000000000
--- a/de/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Traxxas Stampede VXL
-
-This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms. We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community. The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Parts List
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
-* [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
-* [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## Assembly
-
-The assembly consists of a wooden frame on which all the autopilot parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate. For this, two supports were 3D printed. The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## Output Connections
-
-| PWM Output | Actuator |
-| ---------- | -------------------- |
-| MAIN2 | Steering servo |
-| MAIN4 | Throttle (ESC input) |
-
-:::note
-As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Configuration
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-The main rover-specific configuration is setting the correct frame:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. Select the [Airframe](../config/airframe.md) tab.
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Usage
-
-At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution. Failing to do so will cause the rover to continuously spin around a waypoint.
-:::
-
-A correct mission setup looks as follows:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Video
-
-
diff --git a/de/frames_sub/bluerov2.md b/de/frames_sub/bluerov2.md
index bbb2d18d2e86..25d37f2568b4 100644
--- a/de/frames_sub/bluerov2.md
+++ b/de/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/de/frames_sub/index.md b/de/frames_sub/index.md
index 6b73e7cabe7d..74c11dd1acf4 100644
--- a/de/frames_sub/index.md
+++ b/de/frames_sub/index.md
@@ -30,6 +30,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/de/frames_vtol/index.md b/de/frames_vtol/index.md
index 31617ffd0d16..ed7de1926380 100644
--- a/de/frames_vtol/index.md
+++ b/de/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/de/frames_vtol/standardvtol.md b/de/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/de/frames_vtol/standardvtol.md
+++ b/de/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/de/frames_vtol/tailsitter.md b/de/frames_vtol/tailsitter.md
index 6641cd6ecdbb..35cc008d0d01 100644
--- a/de/frames_vtol/tailsitter.md
+++ b/de/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/de/frames_vtol/tiltrotor.md b/de/frames_vtol/tiltrotor.md
index 1d07a55451c7..91282554f0da 100644
--- a/de/frames_vtol/tiltrotor.md
+++ b/de/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/de/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/de/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index e7d16f60fee4..54ff0e963057 100644
--- a/de/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/de/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -287,7 +287,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Support
diff --git a/de/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/de/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index a53412ecfc73..b508b221af06 100644
--- a/de/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/de/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Support
diff --git a/de/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/de/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 8c121ba74f0b..f1239da05668 100644
--- a/de/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/de/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
:::note
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. The slot should be the length, depth and width of one 230mm square carbon tube. It should be located as indicated below.
diff --git a/de/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/de/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index 9cc8e2637ee4..e17c9a284160 100644
--- a/de/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/de/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -6,7 +6,7 @@ The Caipiroshka VTOL is a slightly modified *TBS Caipirinha*.
The *TBS Caipirinha* has been superseded and is no longer available. These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Parts List
diff --git a/de/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/de/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index 569f65148213..0167996e3bc0 100644
--- a/de/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/de/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -5,7 +5,7 @@ The [E-Flite Convergence](https://youtu.be/HNedXQ_jhYo) can easily be converted
:::note
The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/de/getting_started/index.md b/de/getting_started/index.md
deleted file mode 100644
index bc67f1cd4389..000000000000
--- a/de/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Getting Started with PX4 Autopilot
-
-This section provides an overview of the basic concepts you need to understand in order to build and fly an unmanned vehicle using PX4.
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[Flight Reporting](../getting_started/flight_reporting.md) — Download detailed flight logs for debugging and analysis.
diff --git a/de/getting_started/px4_basic_concepts.md b/de/getting_started/px4_basic_concepts.md
index 12ca7b1bd6a8..6e7b0596c0db 100644
--- a/de/getting_started/px4_basic_concepts.md
+++ b/de/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### Outputs: Motors, Servos, Actuators
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- Arming is prevented if the vehicle is not in a "healthy" state.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- Arming is prevented if a VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/de/getting_started/tunes.md b/de/getting_started/tunes.md
index 9982419ec771..f154ebb489a9 100644
--- a/de/getting_started/tunes.md
+++ b/de/getting_started/tunes.md
@@ -181,7 +181,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Battery Warning Fast
@@ -191,7 +191,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS Warning Slow
diff --git a/de/getting_started/vehicle_status.md b/de/getting_started/vehicle_status.md
index f8ff9b232028..e611b4ded44f 100644
--- a/de/getting_started/vehicle_status.md
+++ b/de/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4 provides vehicle-based visual (LED) and audible (Buzzer) notifications of "high level" vehicle status and readiness to fly. These notifications indicate, for example, whether or not the vehicle is properly calibrated, has an SD card, has position lock, is safe to approach, whether or not it is armed, when it is ready to fly, etc.
-In addition, PX4 provides more fine-grained information about readiness to fly in GCS notifications resulting from pre-flight checks.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-The LED, tune and GCS notifications are linked below:
+The LED, tune, and GCS notifications are linked below:
* [LED Meanings](../getting_started/led_meanings.md)
* [Tune/Sound Meanings](../getting_started/tunes.md)
-* [Preflight Checks (Internal)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/de/gps_compass/index.md b/de/gps_compass/index.md
index 4024e8c10dab..800d083670a7 100644
--- a/de/gps_compass/index.md
+++ b/de/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
:::note PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## Supported GNSS
PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or Emlid protocols, or via UAVCAN.
This table contains non-RTK GNSS units (most of which also have a compass). These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/de/gps_compass/magnetometer.md b/de/gps_compass/magnetometer.md
index 0d3f7d1dba2d..6ad83f6935a3 100644
--- a/de/gps_compass/magnetometer.md
+++ b/de/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :---------------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | &check; |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/de/gps_compass/rtk_gps.md b/de/gps_compass/rtk_gps.md
index 65ee33323d47..d0ba123d9245 100644
--- a/de/gps_compass/rtk_gps.md
+++ b/de/gps_compass/rtk_gps.md
@@ -40,12 +40,16 @@ The RTK compatible devices below that are expected to work with PX4 (it omits di
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -53,7 +57,6 @@ Notes:
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -127,10 +130,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -169,7 +174,6 @@ You may also need to tune some parameters as the default parameters are tuned as
A second GPS receiver can be used as a backup (either RTK or non RTK). See the [EKF2 GPS Configuration](../advanced_config/tuning_the_ecl_ekf.md#gps) section.
-
diff --git a/de/ros2/user_guide.md b/de/ros2/user_guide.md
index 14f950748db9..1cb68ff19380 100644
--- a/de/ros2/user_guide.md
+++ b/de/ros2/user_guide.md
@@ -10,7 +10,9 @@ From PX4 v1.14, ROS 2 uses [uXRCE-DDS](../middleware/uxrce_dds.md) middleware, r
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Overview
@@ -23,26 +25,24 @@ The application pipeline for ROS 2 is very straightforward, thanks to the use of
The uXRCE-DDS middleware consists of a client running on PX4 and an agent running on the companion computer, with bi-directional data exchange between them over a serial, UDP, TCP or custom link. The agent acts as a proxy for the client to publish and subscribe to topics in the global DDS data space.
-The generator uses the uORB message definitions in the source tree: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg) to create the code for sending ROS 2 messages. It includes both the "generic" micro XRCE-DDS client code, and PX4-specific translation code that it uses to publish to/from uORB topics. The subset of uORB messages that are generated into the client are listed in [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). The PX4 [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) is generated at build time and included in PX4 firmware by default.
+The PX4 [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) is generated at build time and included in PX4 firmware by default. It includes both the "generic" micro XRCE-DDS client code, and PX4-specific translation code that it uses to publish to/from uORB topics. The subset of uORB messages that are generated into the client are listed in [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). The generator uses the uORB message definitions in the source tree: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg) to create the code for sending ROS 2 messages.
-You can include these by cloning the interface package [PX4/px4_msgs](https://github.com/PX4/px4_msgs) into your ROS 2 workspace (branches in the repo correspond to the messages for different PX4 releases). ROS 2 applications need to be built in a workspace that has the _same_ message definitions that were used to create the uXRCE-DDS client module in the PX4 Firmware.
+ROS 2 applications need to be built in a workspace that has the _same_ message definitions that were used to create the uXRCE-DDS client module in the PX4 Firmware. You can include these by cloning the interface package [PX4/px4_msgs](https://github.com/PX4/px4_msgs) into your ROS 2 workspace (branches in the repo correspond to the messages for different PX4 releases).
Note that the micro XRCE-DDS _agent_ itself has no dependency on client-side code. It can be built from [source](https://github.com/eProsima/Micro-XRCE-DDS-Agent) either standalone or as part of a ROS build, or installed as a snap.
You will normally need to start both the client and agent when using ROS 2. Note that the uXRCE-DDS client is built into firmware by default but not started automatically except for simulator builds.
-:::note
-The only dependency ROS 2 has on PX4 is the set of message definitions, which it gets from [px4_msgs](https://github.com/PX4/px4_msgs). You only need to install PX4 if you need the simulator (as we do in this guide), or if you are creating a build that publishes custom uORB topics.
+::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## Installation & Setup
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-:::note PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -54,13 +54,11 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
-:::note
-The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
+::: info The only dependency ROS 2 has on PX4 is the set of message definitions, which it gets from [px4_msgs](https://github.com/PX4/px4_msgs). You only need to install PX4 if you need the simulator (as we do in this guide), or if you are creating a build that publishes custom uORB topics.
:::
Set up a PX4 development environment on Ubuntu in the normal way:
@@ -103,15 +101,14 @@ To install ROS 2 and its dependencies:
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -122,8 +119,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -162,10 +157,9 @@ To setup and start the agent:
The agent is now running, but you won't see much until we start PX4 (in the next step).
-:::note
-You can leave the agent running in this terminal!
-:::note
+::: info
You can leave the agent running in this terminal!
+Note that only one agent is allowed per connection channel.
:::
#### Start the Client
@@ -179,21 +173,25 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
@@ -202,7 +200,7 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -213,7 +211,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -227,10 +225,9 @@ This section shows how create a ROS 2 workspace hosted in your home directory (m
The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://github.com/PX4/px4_msgs) packages are cloned to a workspace folder, and then the `colcon` tool is used to build the workspace. The example is run using `ros2 launch`.
-For more information see [uXRCE-DDS > DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml). ::: info Technically, [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) completely defines the relationship between PX4 uORB topics and ROS 2 messages.
+::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -259,6 +256,7 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
cd ..
@@ -267,9 +265,11 @@ A naming convention for workspace folders can make it easier to manage workspace
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
cd ..
@@ -278,19 +278,18 @@ A naming convention for workspace folders can make it easier to manage workspace
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
-:::note
-The [ROS2 beginner tutorials](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html#source-the-overlay) recommend that you _open a new terminal_ for running your executables.
+::: info The [ROS2 beginner tutorials](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html#source-the-overlay) recommend that you _open a new terminal_ for running your executables.
:::
In a new terminal:
@@ -300,19 +299,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -322,9 +325,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -382,11 +386,10 @@ hil_state: 0
---
```
-Note that ROS code does not have to set QoS settings when publishing (the PX4 settings are compatible with ROS defaults in this case). This is needed because the ROS 2 default [Quality of Service (QoS) settings](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-profiles) are different from the settings used by PX4. Not all combinations of publisher-subscriber [Qos settings are possible](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-compatibilities), and it turns out that the default ROS 2 settings for subscribing are not!
+This is needed because the ROS 2 default [Quality of Service (QoS) settings](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-profiles) are different from the settings used by PX4. Not all combinations of publisher-subscriber [Qos settings are possible](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-compatibilities), and it turns out that the default ROS 2 settings for subscribing are not! Note that ROS code does not have to set QoS settings when publishing (the PX4 settings are compatible with ROS defaults in this case).
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -410,9 +413,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -422,7 +425,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -430,7 +433,7 @@ Similarly to vectors, also quanternions representing the attitude of the vehicle
By default, time synchronization between ROS 2 and PX4 is automatically managed by the [uXRCE-DDS middleware](https://micro-xrce-dds.docs.eprosima.com/en/latest/time_sync.html) and time synchronization statistics are available listening to the bridged topic `/fmu/out/timesync_status`. When the uXRCE-DDS client runs on a flight controller and the agent runs on a companion computer this is the desired behavior as time offsets, time drift, and communication latency, are computed and automatically compensated.
-For Gazebo simulations PX4 uses the Gazebo `/clock` topic as [time source](../sim_gazebo_gz/index.md#px4-gazebo-time-synchronization) instead. This clock is always slightly off-sync w.r.t. This clock is always slightly off-sync w.r.t. This clock is always slightly off-sync w.r.t. the OS clock (the real time factor is never exactly one) and it can can even run much faster or much slower depending on the [user preferences](http://sdformat.org/spec?elem=physics&ver=1.9). Note that this is different from the [simulation lockstep](../simulation/index.md#lockstep-simulation) procedure adopted with Gazebo Classic.
+For Gazebo simulations PX4 uses the Gazebo `/clock` topic as [time source](../sim_gazebo_gz/index.md#px4-gazebo-time-synchronization) instead. This clock is always slightly off-sync w.r.t. the OS clock (the real time factor is never exactly one) and it can can even run much faster or much slower depending on the [user preferences](http://sdformat.org/spec?elem=physics&ver=1.9). Note that this is different from the [simulation lockstep](../simulation/index.md#lockstep-simulation) procedure adopted with Gazebo Classic.
ROS2 users have then two possibilities regarding the [time source](https://design.ros2.org/articles/clock_and_time.html) of their nodes.
@@ -440,9 +443,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
+
+:::: tabs
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -515,11 +545,11 @@ The subscription sets a QoS profile based on `rmw_qos_profile_sensor_data`. This
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -534,7 +564,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -635,7 +665,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
:::note
Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
@@ -655,6 +684,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -671,7 +701,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -692,7 +722,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -714,7 +744,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -743,8 +773,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -752,30 +780,50 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/de/sensor/airspeed.md b/de/sensor/airspeed.md
index fa6b8eee5634..1bfeeddbee4d 100644
--- a/de/sensor/airspeed.md
+++ b/de/sensor/airspeed.md
@@ -15,6 +15,7 @@ Recommended digital airspeed sensors include:
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/de/sensor/barometer.md b/de/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/de/sensor/barometer.md
+++ b/de/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/de/sensor/optical_flow.md b/de/sensor/optical_flow.md
index a8e280a8a8e6..0a53ec7e282c 100644
--- a/de/sensor/optical_flow.md
+++ b/de/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/de/sensor/rangefinders.md b/de/sensor/rangefinders.md
index 04d18363c59c..b69f714c71ee 100644
--- a/de/sensor/rangefinders.md
+++ b/de/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. More detailed setup and configuration information is provided in the topics linked below (and sidebar).
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). More detailed setup and configuration information is provided in the topics linked below (and sidebar).
@@ -34,6 +34,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20. PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger Rangefinders
@@ -62,9 +64,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## Configuration/Setup
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -118,6 +139,13 @@ The _QGroundControl MAVLink Console_ works when connected to Pixhawk or other Nu
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. To do this you must start the simulator using a vehicle model that includes the rangefinder.
diff --git a/de/sensor/sfxx_lidar.md b/de/sensor/sfxx_lidar.md
index d4004e1001d7..0ef7a6cb71c1 100644
--- a/de/sensor/sfxx_lidar.md
+++ b/de/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ Specifically they may be miss-configured to have an I2C address equal to `0x55`,
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -76,6 +76,8 @@ If the configuration parameter is not available in _QGroundControl_ then you may
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Further Information
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/de/sensor_bus/i2c_general.md b/de/sensor_bus/i2c_general.md
index 22afca103a8e..b1db1a9dbc06 100644
--- a/de/sensor_bus/i2c_general.md
+++ b/de/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/de/sim_airsim/index.md b/de/sim_airsim/index.md
index 04f31b9d87b0..4c82bf8bc462 100644
--- a/de/sim_airsim/index.md
+++ b/de/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,7 +20,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
:::note WSL
2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. :::note WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment.
@@ -26,11 +30,15 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/de/sim_flightgear/index.md b/de/sim_flightgear/index.md
index 33b3d95550db..a915cb0f44b3 100644
--- a/de/sim_flightgear/index.md
+++ b/de/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/de/sim_gazebo_classic/index.md b/de/sim_gazebo_classic/index.md
index df200672a511..3eec0110ff06 100644
--- a/de/sim_gazebo_classic/index.md
+++ b/de/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic is a powerful 3D simulation environment for autonomous robots tha
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -311,7 +311,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/de/sim_gazebo_classic/multi_vehicle_simulation.md b/de/sim_gazebo_classic/multi_vehicle_simulation.md
index bc8d8641854b..bc86ab5a26ec 100644
--- a/de/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/de/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/de/sim_gazebo_gz/index.md b/de/sim_gazebo_gz/index.md
index 4f33c01509cc..9514b9d158c4 100644
--- a/de/sim_gazebo_gz/index.md
+++ b/de/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator. It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/de/sim_gazebo_gz/vehicles.md b/de/sim_gazebo_gz/vehicles.md
index 68e153cccea0..c1cbeb1a2f52 100644
--- a/de/sim_gazebo_gz/vehicles.md
+++ b/de/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md). :::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/de/sim_jsbsim/index.md b/de/sim_jsbsim/index.md
index 48c90a5b7018..8a7b801da182 100644
--- a/de/sim_jsbsim/index.md
+++ b/de/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
:::note
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
diff --git a/de/sim_sih/index.md b/de/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/de/sim_sih/index.md
+++ b/de/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/de/simulation/failsafes.md b/de/simulation/failsafes.md
index 50426abdca41..11a8dd656491 100644
--- a/de/simulation/failsafes.md
+++ b/de/simulation/failsafes.md
@@ -40,6 +40,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Sensor/System Failure
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems. For example, this can be used to simulate absent or intermittent GPS, RC signal that has stopped or got stuck on a particular value, failure of the avoidance system, and much more.
diff --git a/de/simulation/index.md b/de/simulation/index.md
index 06db21c53f55..46d1680e1adc 100644
--- a/de/simulation/index.md
+++ b/de/simulation/index.md
@@ -15,11 +15,10 @@ Information about available simulators and how to set them up are provided in th
The following simulators are supported by the PX4 core development team.
-| Simulator | Description |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
This simulator is highly recommended.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
It is easy to set up and can be used to test that your vehicle can take off, fly, land, and responds appropriately to various fail conditions (e.g. GPS failure). It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
There are also a number of [Community Supported Simulators](../simulation/community_supported_simulators.md).
diff --git a/de/smart_batteries/index.md b/de/smart_batteries/index.md
index 7ea79068f052..4633bee690ae 100644
--- a/de/smart_batteries/index.md
+++ b/de/smart_batteries/index.md
@@ -9,4 +9,4 @@ PX4 supports (at least) following smart batteries:
- [Mavlink Battery Protocol](https://mavlink.io/en/services/battery.html)
- [batt_smbus](../modules/modules_driver.md) - PX4 SMBus Battery Driver docs
-- [Safety > Low Battery Failsafe](../config/safety.md#low-battery-failsafe).
+- [Safety > Low Battery Failsafe](../config/safety.md#battery-level-failsafe).
diff --git a/en/SUMMARY.md b/en/SUMMARY.md
index 6269d24c75a7..5eb4670723fc 100644
--- a/en/SUMMARY.md
+++ b/en/SUMMARY.md
@@ -22,6 +22,7 @@
- [Throw Launch](flight_modes_mc/throw_launch.md)
- [Assembly](assembly/assembly_mc.md)
- [Configuration/Tuning](config_mc/index.md)
+ - [Auto-tune](config/autotune_mc.md)
- [Filter/Control Latency Tuning](config_mc/filter_tuning.md)
- [PID Tuning (Manual/Basic)](config_mc/pid_tuning_guide_multicopter_basic.md)
- [PID Tuning Guide (Manual/Advanced)](config_mc/pid_tuning_guide_multicopter.md)
@@ -54,6 +55,7 @@
- [Planes (Fixed-Wing)](frames_plane/index.md)
- [Assembly](assembly/assembly_fw.md)
- [Config/Tuning](config_fw/index.md)
+ - [Auto-tune](config/autotune_fw.md)
- [Rate/Attitude Controller Tuning Guide](config_fw/pid_tuning_guide_fixedwing.md)
- [Altitude/Position Controller Tuning Guide](config_fw/position_tuning_guide_fixedwing.md)
- [Weight & Altitude Tuning](config_fw/weight_and_altitude_tuning.md)
@@ -80,6 +82,7 @@
- [VTOL](frames_vtol/index.md)
- [Assembly](assembly/assembly_vtol.md)
- [VTOL Config/Tuning](config_vtol/index.md)
+ - [Auto-tune](config/autotune_vtol.md)
- [QuadPlane Configuration](config_vtol/vtol_quad_configuration.md)
- [Back-transition Tuning](config_vtol/vtol_back_transition_tuning.md)
- [VTOL w/o Airspeed Sensor](config_vtol/vtol_without_airspeed_sensor.md)
@@ -140,6 +143,7 @@
- [Holybro Pixhawk 6X-RT (FMUv6X-RT)](flight_controller/pixhawk6x-rt.md)
- [Holybro Pixhawk 6X (FMUv6X)](flight_controller/pixhawk6x.md)
- [Wiring Quickstart](assembly/quick_start_pixhawk6x.md)
+ - [RaccoonLab FMU6x](flight_controller/raccoonlab_fmu6x.md)
- [Holybro Pixhawk 6C (FMUv6C)](flight_controller/pixhawk6c.md)
- [Wiring Quickstart](assembly/quick_start_pixhawk6c.md)
- [Holybro Pixhawk 6C Mini(FMUv6C)](flight_controller/pixhawk6c_mini.md)
@@ -319,6 +323,7 @@
- [Holybro PM02D (digital)](power_module/holybro_pm02d.md)
- [Holybro PM03D (digital)](power_module/holybro_pm03d.md)
- [Pomegranate Systems Power Module](dronecan/pomegranate_systems_pm.md)
+ - [RaccoonLab Power Modules](dronecan/raccoonlab_power.md)
- [Sky-Drones SmartAP PDB](power_module/sky-drones_smartap-pdb.md)
- [Smart/MAVLink Batteries](smart_batteries/index.md)
- [Rotoye Batmon Battery Smartification Kit](smart_batteries/rotoye_batmon.md)
@@ -344,6 +349,7 @@
- [DroneCAN Peripherals](dronecan/index.md)
- [PX4 DroneCAN Firmware](dronecan/px4_cannode_fw.md)
- [ARK CANnode](dronecan/ark_cannode.md)
+ - [RaccoonLab CAN Nodes](dronecan/raccoonlab_nodes.md)
- [Cable Wiring](assembly/cable_wiring.md)
- [Companion Computers](companion_computer/index.md)
- [Pixhawk + Companion Setup](companion_computer/pixhawk_companion.md)
@@ -352,8 +358,6 @@
- [Holybro Pixhawk RPI CM4 Baseboard](companion_computer/holybro_pixhawk_rpi_cm4_baseboard.md)
- [Auterion Skynode](companion_computer/auterion_skynode.md)
- [Computer Vision](computer_vision/index.md)
- - [Obstacle Avoidance](computer_vision/obstacle_avoidance.md)
- - [Safe Landing](computer_vision/safe_landing.md)
- [Collision Prevention](computer_vision/collision_prevention.md)
- [Path Planning Interface](computer_vision/path_planning_interface.md)
- [Motion Capture (MoCap)](computer_vision/motion_capture.md)
@@ -364,7 +368,6 @@
- [Serial Port Configuration](peripherals/serial_configuration.md)
- [PX4 Ethernet Setup](advanced_config/ethernet_setup.md)
- [Standard Configuration](config/index.md)
- - [Autotune](config/autotune.md)
- [Advanced Configuration](advanced_config/index.md)
- [ECL/EKF Overview & Tuning](advanced_config/tuning_the_ecl_ekf.md)
- [Finding/Updating Parameters](advanced_config/parameters.md)
@@ -378,9 +381,11 @@
- [Helicopter (experimental)](frames_helicopter/index.md)
- [Helicopter Config/Tuning](config_heli/index.md)
- [Rovers (experimental)](frames_rover/index.md)
- - [Flight Modes](flight_modes_rover/index.md)
- - [Aion Robotics R1](frames_rover/aion_r1.md)
- - [Traxxas Stampede](frames_rover/traxxas_stampede.md)
+ - [Drive Modes](flight_modes_rover/index.md)
+ - [Differential-steering Rover](frames_rover/differential_rover.md)
+ - [Aion Robotics R1](frames_rover/aion_r1.md)
+ - [Ackermann Rover](frames_rover/ackermann_rover.md)
+ - [(Deprecated) Rover Position Control](frames_rover/rover_position_control.md)
- [Submarines (experimental)](frames_sub/index.md)
- [BlueROV2](frames_sub/bluerov2.md)
- [Airframes Reference](airframes/airframe_reference.md)
@@ -417,6 +422,7 @@
- [Gazebo Simulation](sim_gazebo_gz/index.md)
- [Vehicles](sim_gazebo_gz/vehicles.md)
- [Advanced Lift Drag Tool](sim_gazebo_gz/tools_avl_automation.md)
+ - [Worlds](sim_gazebo_gz/worlds.md)
- [Gazebo Models Repository](sim_gazebo_gz/gazebo_models.md)
- [Multi-Vehicle Sim](sim_gazebo_gz/multi_vehicle_simulation.md)
- [Gazebo Classic Simulation](sim_gazebo_classic/index.md)
@@ -589,6 +595,9 @@
- [RegisterExtComponentReply](msg_docs/RegisterExtComponentReply.md)
- [RegisterExtComponentRequest](msg_docs/RegisterExtComponentRequest.md)
- [RoverAckermannGuidanceStatus](msg_docs/RoverAckermannGuidanceStatus.md)
+ - [RoverAckermannStatus](msg_docs/RoverAckermannStatus.md)
+ - [RoverDifferentialGuidanceStatus](msg_docs/RoverDifferentialGuidanceStatus.md)
+ - [RoverDifferentialStatus](msg_docs/RoverDifferentialStatus.md)
- [Rpm](msg_docs/Rpm.md)
- [RtlStatus](msg_docs/RtlStatus.md)
- [RtlTimeEstimate](msg_docs/RtlTimeEstimate.md)
diff --git a/en/advanced/computer_vision.md b/en/advanced/computer_vision.md
index 24ee461650bf..a8c5c1dd324f 100644
--- a/en/advanced/computer_vision.md
+++ b/en/advanced/computer_vision.md
@@ -9,12 +9,10 @@ PX4 uses computer vision systems (primarily running on [Companion Computers](../
It is primarily used for indoor navigation.
- [Visual Inertial Odometry](#visual-inertial-odometry-vio) provides 3D pose and velocity estimation using an onboard vision system and IMU.
It is used for navigation when GNSS position information is absent or unreliable.
-- [Obstacle Avoidance](../computer_vision/obstacle_avoidance.md) provides full navigation around obstacles when flying a planned path (currently missions are supported). This uses [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) running on a companion computer.
- [Collision Prevention](../computer_vision/collision_prevention.md) is used to stop vehicles before they can crash into an obstacle (primarily when flying in manual modes).
:::tip
The [PX4 Vision Autonomy Development Kit](../complete_vehicles_mc/px4_vision_kit.md) (Holybro) is a robust and inexpensive kit for developers working with computer vision on PX4.
-It comes with no pre-installed software, but does include an example implementation of obstacle avoidance to demonstrate the capabilities of the platform.
:::
## Motion Capture
diff --git a/en/advanced_config/bootloader_update_from_betaflight.md b/en/advanced_config/bootloader_update_from_betaflight.md
index d3524c26580e..24aae9115539 100644
--- a/en/advanced_config/bootloader_update_from_betaflight.md
+++ b/en/advanced_config/bootloader_update_from_betaflight.md
@@ -52,7 +52,7 @@ The button can be released after the board has powered up.
### dfu-util
::: info
-The [Holybro Kakute H7 v2](../flight_controller/kakuteh7v2.md) and mini flight controllers may require that you first run an additional command to erase flash parameters (in order to fix problems with parameter saving):
+The [Holybro Kakute H7 v2](../flight_controller/kakuteh7v2.md), [Holybro Kakute H7](../flight_controller/kakuteh7.md) and [mini](../flight_controller/kakuteh7mini.md) flight controllers may require that you first run an additional command to erase flash parameters (in order to fix problems with parameter saving):
```
dfu-util -a 0 --dfuse-address 0x08000000:force:mass-erase:leave -D build//.bin
diff --git a/en/advanced_config/ethernet_setup.md b/en/advanced_config/ethernet_setup.md
index 0a13d77bc3ac..a2b681f054b4 100644
--- a/en/advanced_config/ethernet_setup.md
+++ b/en/advanced_config/ethernet_setup.md
@@ -28,6 +28,7 @@ Supported flight controllers include:
- [CUAV Pixhawk V6X](../flight_controller/cuav_pixhawk_v6x.md)
- [Holybro Pixhawk 5X](../flight_controller/pixhawk5x.md)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md)
## Setting up the Ethernet Network
diff --git a/en/advanced_config/parameter_reference.md b/en/advanced_config/parameter_reference.md
index 9bfa8d5dcb2a..3a7af4ad443e 100644
--- a/en/advanced_config/parameter_reference.md
+++ b/en/advanced_config/parameter_reference.md
@@ -10,27850 +10,34401 @@ If a listed parameter is missing from the Firmware see: [Finding/Updating Parame
-
-
## UAVCAN Motor Parameters
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
ctl_bw (INT32)
-
Speed controller bandwidth
Comment: Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.
-
[10, 250]
-
75
-
Hz
-
-
-
ctl_dir (INT32)
-
Reverse direction
Comment: Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.
-
[0, 1]
-
1
-
-
-
-
ctl_gain (FLOAT)
-
Speed (RPM) controller gain
Comment: Speed (RPM) controller gain. Determines controller
+### ctl_bw (`INT32`) {#ctl_bw}
+
+Speed controller bandwidth.
+
+Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 250 | | 75 | Hz
+
+### ctl_dir (`INT32`) {#ctl_dir}
+
+Reverse direction.
+
+Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1 |
+
+### ctl_gain (`FLOAT`) {#ctl_gain}
+
+Speed (RPM) controller gain.
+
+Determines controller
aggressiveness; units are amp-seconds per radian. Systems with
higher rotational inertia (large props) will need gain increased;
systems with low rotational inertia (small props) may need gain
decreased. Higher values result in faster response, but may result
in oscillation and excessive overshoot. Lower values result in a
- slower, smoother response.
-
[0.00, 1.00]
-
1
-
C/rad
-
-
-
ctl_hz_idle (FLOAT)
-
Idle speed (e Hz)
Comment: Idle speed (e Hz)
-
[0.0, 100.0]
-
3.5
-
Hz
-
-
-
ctl_start_rate (INT32)
-
Spin-up rate (e Hz/s)
Comment: Spin-up rate (e Hz/s)
-
[5, 1000]
-
25
-
1/s^2
-
-
-
esc_index (INT32)
-
Index of this ESC in throttle command messages.
Comment: Index of this ESC in throttle command messages.
-
[0, 15]
-
0
-
-
-
-
id_ext_status (INT32)
-
Extended status ID
Comment: Extended status ID
-
[1, 1000000]
-
20034
-
-
-
-
int_ext_status (INT32)
-
Extended status interval (µs)
Comment: Extended status interval (µs)
-
[0, 1000000]
-
50000
-
us
-
-
-
int_status (INT32)
-
ESC status interval (µs)
Comment: ESC status interval (µs)
-
[?, 1000000]
-
50000
-
us
-
-
-
mot_i_max (FLOAT)
-
Motor current limit in amps
Comment: Motor current limit in amps. This determines the maximum
+ slower, smoother response.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 1.00 | | 1 | C/rad
+
+### ctl_hz_idle (`FLOAT`) {#ctl_hz_idle}
+
+Idle speed (e Hz).
+
+Idle speed (e Hz)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 3.5 | Hz
+
+### ctl_start_rate (`INT32`) {#ctl_start_rate}
+
+Spin-up rate (e Hz/s).
+
+Spin-up rate (e Hz/s)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 1000 | | 25 | 1/s^2
+
+### esc_index (`INT32`) {#esc_index}
+
+Index of this ESC in throttle command messages.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 15 | | 0 |
+
+### id_ext_status (`INT32`) {#id_ext_status}
+
+Extended status ID.
+
+Extended status ID
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 1000000 | | 20034 |
+
+### int_ext_status (`INT32`) {#int_ext_status}
+
+Extended status interval (µs).
+
+Extended status interval (µs)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000000 | | 50000 | us
+
+### int_status (`INT32`) {#int_status}
+
+ESC status interval (µs).
+
+ESC status interval (µs)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | 1000000 | | 50000 | us
+
+### mot_i_max (`FLOAT`) {#mot_i_max}
+
+Motor current limit in amps.
+
+This determines the maximum
current controller setpoint, as well as the maximum allowable
current setpoint slew rate. This value should generally be set to
the continuous current rating listed in the motor’s specification
sheet, or set equal to the motor’s specified continuous power
- divided by the motor voltage limit.
-
[1, 80]
-
12
-
A
-
-
-
mot_kv (INT32)
-
Motor Kv in RPM per volt
Comment: Motor Kv in RPM per volt. This can be taken from the motor’s
+ divided by the motor voltage limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 80 | | 12 | A
+
+### mot_kv (`INT32`) {#mot_kv}
+
+Motor Kv in RPM per volt.
+
+This can be taken from the motor’s
specification sheet; accuracy will help control performance but
- some deviation from the specified value is acceptable.
-
[0, 4000]
-
2300
-
rpm/V
-
-
-
mot_ls (FLOAT)
-
READ ONLY: Motor inductance in henries.
Comment: READ ONLY: Motor inductance in henries. This is measured on start-up.
-
-
0.0
-
H
-
-
-
mot_num_poles (INT32)
-
Number of motor poles.
Comment: Number of motor poles. Used to convert mechanical speeds to
+ some deviation from the specified value is acceptable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4000 | | 2300 | rpm/V
+
+### mot_ls (`FLOAT`) {#mot_ls}
+
+READ ONLY: Motor inductance in henries.
+
+This is measured on start-up.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | H
+
+### mot_num_poles (`INT32`) {#mot_num_poles}
+
+Number of motor poles.
+
+Used to convert mechanical speeds to
electrical speeds. This number should be taken from the motor’s
- specification sheet.
-
[2, 40]
-
14
-
-
-
-
mot_rs (FLOAT)
-
READ ONLY: Motor resistance in ohms
Comment: READ ONLY: Motor resistance in ohms. This is measured on start-up. When
+ specification sheet.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 40 | | 14 |
+
+### mot_rs (`FLOAT`) {#mot_rs}
+
+READ ONLY: Motor resistance in ohms.
+
+This is measured on start-up. When
tuning a new motor, check that this value is approximately equal
- to the value shown in the motor’s specification sheet.
-
-
0.0
-
Ohm
-
-
-
mot_v_accel (FLOAT)
-
Acceleration limit (V)
Comment: Acceleration limit (V)
-
[0.01, 1.00]
-
0.5
-
V
-
-
-
mot_v_max (FLOAT)
-
Motor voltage limit in volts
Comment: Motor voltage limit in volts. The current controller’s
+ to the value shown in the motor’s specification sheet.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | Ohm
+
+### mot_v_accel (`FLOAT`) {#mot_v_accel}
+
+Acceleration limit (V).
+
+Acceleration limit (V)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1.00 | | 0.5 | V
+
+### mot_v_max (`FLOAT`) {#mot_v_max}
+
+Motor voltage limit in volts.
+
+The current controller’s
commanded voltage will never exceed this value. Note that this may
safely be above the nominal voltage of the motor; to determine the
actual motor voltage limit, divide the motor’s rated power by the
- motor current limit.
-
[0, ?]
-
14.8
-
V
-
-
+ motor current limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 14.8 | V
## UAVCAN GNSS
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
gnss.dyn_model (INT32)
-
GNSS dynamic model
Comment: Dynamic model used in the GNSS positioning engine. 0 –
+### gnss.dyn_model (`INT32`) {#gnss.dyn_model}
+
+GNSS dynamic model.
+
+Dynamic model used in the GNSS positioning engine. 0 –
Automotive, 1 – Sea, 2 – Airborne.
-
Values:
-
0: Automotive
-
1: Sea
-
2: Airborne
-
-
[0, 2]
-
2
-
-
-
-
gnss.old_fix_msg (INT32)
-
Broadcast old GNSS fix message
Comment: Broadcast the old (deprecated) GNSS fix message
+
+
+**Values:**
+
+- `0`: Automotive
+- `1`: Sea
+- `2`: Airborne
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 2 |
+
+### gnss.old_fix_msg (`INT32`) {#gnss.old_fix_msg}
+
+Broadcast old GNSS fix message.
+
+Broadcast the old (deprecated) GNSS fix message
uavcan.equipment.gnss.Fix alongside the new alternative
uavcan.equipment.gnss.Fix2. It is recommended to
disable this feature to reduce the CAN bus traffic.
-
Values:
-
0: Fix2
-
1: Fix and Fix2
-
-
[0, 1]
-
1
-
-
-
-
gnss.warn_dimens (INT32)
-
device health warning
Comment: Set the device health to Warning if the dimensionality of
+
+
+**Values:**
+
+- `0`: Fix2
+- `1`: Fix and Fix2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1 |
+
+### gnss.warn_dimens (`INT32`) {#gnss.warn_dimens}
+
+device health warning.
+
+Set the device health to Warning if the dimensionality of
the GNSS solution is less than this value. 3 for the full (3D)
solution, 2 for planar (2D) solution, 1 for time-only solution,
0 disables the feature.
-
Values:
-
0: disables the feature
-
1: time-only solution
-
2: planar (2D) solution
-
3: full (3D) solution
-
-
[0, 3]
-
0
-
-
-
-
gnss.warn_sats (INT32)
-
Comment: Set the device health to Warning if the number of satellites
+
+
+**Values:**
+
+- `0`: disables the feature
+- `1`: time-only solution
+- `2`: planar (2D) solution
+- `3`: full (3D) solution
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### gnss.warn_sats (`INT32`) {#gnss.warn_sats}
+
+Set the device health to Warning if the number of satellites
used in the GNSS solution is below this threshold. Zero
disables the feature
-
-
-
0
-
-
-
-
uavcan.pubp-pres (INT32)
-
Comment: Set the device health to Warning if the number of satellites
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### uavcan.pubp-pres (`INT32`) {#uavcan.pubp-pres}
+
+Set the device health to Warning if the number of satellites
used in the GNSS solution is below this threshold. Zero
disables the feature
-
Comment: Sets first 4 characters of a total of 8. Valid characters are A-Z, 0-9, " ". Example "PX4 " -> 1347957792 For CALLSIGN shorter than 8 characters use the null terminator at the end '\0'.
Reboot required: true
-
-
-
0
-
-
-
-
ADSB_CALLSIGN_2 (INT32)
-
Second 4 characters of CALLSIGN
Comment: Sets second 4 characters of a total of 8. Valid characters are A-Z, 0-9, " " only. Example "TEST" -> 1413829460 For CALLSIGN shorter than 8 characters use the null terminator at the end '\0'.
Reboot required: true
-
-
-
0
-
-
-
-
ADSB_EMERGC (INT32)
-
ADSB-Out Emergency State
Comment: Sets the vehicle emergency state
Values:
-
0: NoEmergency
-
1: General
-
2: Medical
-
3: LowFuel
-
4: NoCommunications
-
5: Interference
-
6: Downed
-
Reboot required: false
-
-
[0, 6]
-
0
-
-
-
-
ADSB_EMIT_TYPE (INT32)
-
ADSB-Out Vehicle Emitter Type
Comment: Configure the emitter type of the vehicle.
Values:
-
0: Unknown
-
1: Light
-
2: Small
-
3: Large
-
4: HighVortex
-
5: Heavy
-
6: Performance
-
7: Rotorcraft
-
8: RESERVED
-
9: Glider
-
10: LightAir
-
11: Parachute
-
12: UltraLight
-
13: RESERVED
-
14: UAV
-
15: Space
-
16: RESERVED
-
17: EmergencySurf
-
18: ServiceSurf
-
19: PointObstacle
-
Reboot required: true
-
-
[0, 15]
-
14
-
-
-
-
ADSB_GPS_OFF_LAT (INT32)
-
ADSB-Out GPS Offset lat
Comment: Sets GPS lataral offset encoding
Values:
-
0: NoData
-
1: LatLeft2M
-
2: LatLeft4M
-
3: LatLeft6M
-
4: LatRight0M
-
5: LatRight2M
-
6: LatRight4M
-
7: LatRight6M
-
Reboot required: false
-
-
[0, 7]
-
0
-
-
-
-
ADSB_GPS_OFF_LON (INT32)
-
ADSB-Out GPS Offset lon
Comment: Sets GPS longitudinal offset encoding
Values:
-
0: NoData
-
1: AppliedBySensor
-
Reboot required: false
-
-
[0, 1]
-
0
-
-
-
-
ADSB_ICAO_ID (INT32)
-
ADSB-Out ICAO configuration
Comment: Defines the ICAO ID of the vehicle
Reboot required: true
-
-
[-1, 16777215]
-
1194684
-
-
-
-
ADSB_ICAO_SPECL (INT32)
-
ADSB-In Special ICAO configuration
Comment: This vehicle is always tracked. Use 0 to disable.
Reboot required: false
-
-
[0, 16777215]
-
0
-
-
-
-
ADSB_IDENT (INT32)
-
ADSB-Out Ident Configuration
Comment: Enable Identification of Position feature
Reboot required: false
-
-
-
Disabled (0)
-
-
-
-
ADSB_LEN_WIDTH (INT32)
-
ADSB-Out Vehicle Size Configuration
Comment: Report the length and width of the vehicle in meters. In most cases, use '1' for the smallest vehicle size.
Values:
-
0: SizeUnknown
-
1: Len15_Wid23
-
2: Len25_Wid28
-
3: Len25_Wid34
-
4: Len35_Wid33
-
5: Len35_Wid38
-
6: Len45_Wid39
-
7: Len45_Wid45
-
8: Len55_Wid45
-
9: Len55_Wid52
-
10: Len65_Wid59
-
11: Len65_Wid67
-
12: Len75_Wid72
-
13: Len75_Wid80
-
14: Len85_Wid80
-
15: Len85_Wid90
-
Reboot required: true
-
-
[0, 15]
-
1
-
-
-
-
ADSB_LIST_MAX (INT32)
-
ADSB-In Vehicle List Size
Comment: Change number of targets to track
Reboot required: true
-
-
[0, 50]
-
25
-
-
-
-
ADSB_MAX_SPEED (INT32)
-
ADSB-Out Vehicle Max Speed
Comment: Informs ADSB vehicles of this vehicle's max speed capability
Values:
-
0: UnknownMaxSpeed
-
1: 75Kts
-
2: 150Kts
-
3: 300Kts
-
4: 600Kts
-
5: 1200Kts
-
6: Over1200Kts
-
Reboot required: true
-
-
[0, 6]
-
0
-
-
-
-
ADSB_SQUAWK (INT32)
-
ADSB-Out squawk code configuration
Comment: This parameter defines the squawk code. Value should be between 0000 and 7777.
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS10 (INT32)
-
PCA9685 Output Channel 10 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS11 (INT32)
-
PCA9685 Output Channel 11 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS12 (INT32)
-
PCA9685 Output Channel 12 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS13 (INT32)
-
PCA9685 Output Channel 13 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS14 (INT32)
-
PCA9685 Output Channel 14 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS15 (INT32)
-
PCA9685 Output Channel 15 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS16 (INT32)
-
PCA9685 Output Channel 16 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS2 (INT32)
-
PCA9685 Output Channel 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS3 (INT32)
-
PCA9685 Output Channel 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS4 (INT32)
-
PCA9685 Output Channel 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS5 (INT32)
-
PCA9685 Output Channel 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS6 (INT32)
-
PCA9685 Output Channel 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS7 (INT32)
-
PCA9685 Output Channel 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS8 (INT32)
-
PCA9685 Output Channel 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DIS9 (INT32)
-
PCA9685 Output Channel 9 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PCA9685_DUTY_EN (INT32)
-
Put the selected channels into Duty-Cycle output mode
Comment: The driver will output standard pulse-width encoded signal without this bit set. To make PCA9685 output in duty-cycle fashion, please enable the corresponding channel bit here and adjusting standard params to suit your need. The driver will have 12bits resolution for duty-cycle output. That means to achieve 0% to 100% output range on one channel, the corresponding params MIN and MAX for the channel should be set to 0 and 4096. Other standard params follows the same rule.
Bitmask:
0: Put CH1 to Duty-Cycle mode
-
1: Put CH2 to Duty-Cycle mode
-
2: Put CH3 to Duty-Cycle mode
-
3: Put CH4 to Duty-Cycle mode
-
4: Put CH5 to Duty-Cycle mode
-
5: Put CH6 to Duty-Cycle mode
-
6: Put CH7 to Duty-Cycle mode
-
7: Put CH8 to Duty-Cycle mode
-
8: Put CH9 to Duty-Cycle mode
-
9: Put CH10 to Duty-Cycle mode
-
10: Put CH11 to Duty-Cycle mode
-
11: Put CH12 to Duty-Cycle mode
-
12: Put CH13 to Duty-Cycle mode
-
13: Put CH14 to Duty-Cycle mode
-
14: Put CH15 to Duty-Cycle mode
-
15: Put CH16 to Duty-Cycle mode
-
-
-
[0, 65535]
-
0
-
-
-
-
PCA9685_FAIL1 (INT32)
-
PCA9685 Output Channel 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC1).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL10 (INT32)
-
PCA9685 Output Channel 10 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC10).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL11 (INT32)
-
PCA9685 Output Channel 11 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC11).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL12 (INT32)
-
PCA9685 Output Channel 12 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC12).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL13 (INT32)
-
PCA9685 Output Channel 13 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC13).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL14 (INT32)
-
PCA9685 Output Channel 14 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC14).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL15 (INT32)
-
PCA9685 Output Channel 15 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC15).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL16 (INT32)
-
PCA9685 Output Channel 16 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC16).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL2 (INT32)
-
PCA9685 Output Channel 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC2).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL3 (INT32)
-
PCA9685 Output Channel 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC3).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL4 (INT32)
-
PCA9685 Output Channel 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC4).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL5 (INT32)
-
PCA9685 Output Channel 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC5).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL6 (INT32)
-
PCA9685 Output Channel 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC6).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL7 (INT32)
-
PCA9685 Output Channel 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC7).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL8 (INT32)
-
PCA9685 Output Channel 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC8).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FAIL9 (INT32)
-
PCA9685 Output Channel 9 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC9).
-
[-1, 2200]
-
-1
-
-
-
-
PCA9685_FUNC1 (INT32)
-
PCA9685 Output Channel 1 Output Function
Comment: Select what should be output on PCA9685 Output Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC10 (INT32)
-
PCA9685 Output Channel 10 Output Function
Comment: Select what should be output on PCA9685 Output Channel 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC11 (INT32)
-
PCA9685 Output Channel 11 Output Function
Comment: Select what should be output on PCA9685 Output Channel 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC12 (INT32)
-
PCA9685 Output Channel 12 Output Function
Comment: Select what should be output on PCA9685 Output Channel 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC13 (INT32)
-
PCA9685 Output Channel 13 Output Function
Comment: Select what should be output on PCA9685 Output Channel 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC14 (INT32)
-
PCA9685 Output Channel 14 Output Function
Comment: Select what should be output on PCA9685 Output Channel 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC15 (INT32)
-
PCA9685 Output Channel 15 Output Function
Comment: Select what should be output on PCA9685 Output Channel 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC16 (INT32)
-
PCA9685 Output Channel 16 Output Function
Comment: Select what should be output on PCA9685 Output Channel 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC2 (INT32)
-
PCA9685 Output Channel 2 Output Function
Comment: Select what should be output on PCA9685 Output Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC3 (INT32)
-
PCA9685 Output Channel 3 Output Function
Comment: Select what should be output on PCA9685 Output Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC4 (INT32)
-
PCA9685 Output Channel 4 Output Function
Comment: Select what should be output on PCA9685 Output Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC5 (INT32)
-
PCA9685 Output Channel 5 Output Function
Comment: Select what should be output on PCA9685 Output Channel 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC6 (INT32)
-
PCA9685 Output Channel 6 Output Function
Comment: Select what should be output on PCA9685 Output Channel 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC7 (INT32)
-
PCA9685 Output Channel 7 Output Function
Comment: Select what should be output on PCA9685 Output Channel 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC8 (INT32)
-
PCA9685 Output Channel 8 Output Function
Comment: Select what should be output on PCA9685 Output Channel 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_FUNC9 (INT32)
-
PCA9685 Output Channel 9 Output Function
Comment: Select what should be output on PCA9685 Output Channel 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PCA9685_MAX1 (INT32)
-
PCA9685 Output Channel 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX10 (INT32)
-
PCA9685 Output Channel 10 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX11 (INT32)
-
PCA9685 Output Channel 11 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX12 (INT32)
-
PCA9685 Output Channel 12 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX13 (INT32)
-
PCA9685 Output Channel 13 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX14 (INT32)
-
PCA9685 Output Channel 14 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX15 (INT32)
-
PCA9685 Output Channel 15 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX16 (INT32)
-
PCA9685 Output Channel 16 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX2 (INT32)
-
PCA9685 Output Channel 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX3 (INT32)
-
PCA9685 Output Channel 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX4 (INT32)
-
PCA9685 Output Channel 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX5 (INT32)
-
PCA9685 Output Channel 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX6 (INT32)
-
PCA9685 Output Channel 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX7 (INT32)
-
PCA9685 Output Channel 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX8 (INT32)
-
PCA9685 Output Channel 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MAX9 (INT32)
-
PCA9685 Output Channel 9 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
1900
-
-
-
-
PCA9685_MIN1 (INT32)
-
PCA9685 Output Channel 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN10 (INT32)
-
PCA9685 Output Channel 10 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN11 (INT32)
-
PCA9685 Output Channel 11 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN12 (INT32)
-
PCA9685 Output Channel 12 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN13 (INT32)
-
PCA9685 Output Channel 13 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN14 (INT32)
-
PCA9685 Output Channel 14 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN15 (INT32)
-
PCA9685 Output Channel 15 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN16 (INT32)
-
PCA9685 Output Channel 16 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN2 (INT32)
-
PCA9685 Output Channel 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN3 (INT32)
-
PCA9685 Output Channel 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN4 (INT32)
-
PCA9685 Output Channel 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN5 (INT32)
-
PCA9685 Output Channel 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN6 (INT32)
-
PCA9685 Output Channel 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN7 (INT32)
-
PCA9685 Output Channel 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN8 (INT32)
-
PCA9685 Output Channel 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_MIN9 (INT32)
-
PCA9685 Output Channel 9 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1100
-
-
-
-
PCA9685_PWM_FREQ (FLOAT)
-
PWM cycle frequency
Comment: Controls the PWM frequency at timing perspective. This is independent from PWM update frequency, as PCA9685 is capable to output without being continuously commanded by FC. Higher frequency leads to more accurate pulse width, but some ESCs and servos may not support it. This parameter should be set to the same value as PWM update rate in most case. This parameter MUST NOT exceed upper limit of 400.0, if any outputs as generic 1000~2000us pulse width is desired. Frequency higher than 400 only makes sense in duty-cycle mode.
-
[23.8, 1525.87]
-
50.0
-
-
-
-
PCA9685_REV (INT32)
-
Reverse Output Range for PCA9685 Output
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: PCA9685 Output Channel 1
-
1: PCA9685 Output Channel 2
-
2: PCA9685 Output Channel 3
-
3: PCA9685 Output Channel 4
-
4: PCA9685 Output Channel 5
-
5: PCA9685 Output Channel 6
-
6: PCA9685 Output Channel 7
-
7: PCA9685 Output Channel 8
-
8: PCA9685 Output Channel 9
-
9: PCA9685 Output Channel 10
-
10: PCA9685 Output Channel 11
-
11: PCA9685 Output Channel 12
-
12: PCA9685 Output Channel 13
-
13: PCA9685 Output Channel 14
-
14: PCA9685 Output Channel 15
-
15: PCA9685 Output Channel 16
-
-
-
[0, 65535]
-
0
-
-
-
-
PCA9685_SCHD_HZ (FLOAT)
-
PWM update rate
Comment: Controls the update rate of PWM output. Flight Controller will inform those numbers of update events in a second, to PCA9685. Higher update rate will consume more I2C bandwidth, which may even lead to worse output latency, or completely block I2C bus.
-
[50.0, 400.0]
-
50.0
-
-
-
-
PWM_AUX_DIS1 (INT32)
-
PWM Aux 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS10 (INT32)
-
PWM Capture 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS11 (INT32)
-
PWM Capture 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS2 (INT32)
-
PWM Aux 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS3 (INT32)
-
PWM Aux 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS4 (INT32)
-
PWM Aux 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS5 (INT32)
-
PWM Aux 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS6 (INT32)
-
PWM Aux 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS7 (INT32)
-
PWM Aux 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS8 (INT32)
-
PWM Aux 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_DIS9 (INT32)
-
PWM Capture 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_AUX_FAIL1 (INT32)
-
PWM Aux 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC1).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL10 (INT32)
-
PWM Capture 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC2).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL11 (INT32)
-
PWM Capture 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC3).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL2 (INT32)
-
PWM Aux 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC2).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL3 (INT32)
-
PWM Aux 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC3).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL4 (INT32)
-
PWM Aux 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC4).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL5 (INT32)
-
PWM Aux 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC5).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL6 (INT32)
-
PWM Aux 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC6).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL7 (INT32)
-
PWM Aux 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC7).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL8 (INT32)
-
PWM Aux 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC8).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FAIL9 (INT32)
-
PWM Capture 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC1).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_AUX_FUNC1 (INT32)
-
PWM Aux 1 Output Function
Comment: Select what should be output on PWM Aux 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC10 (INT32)
-
PWM Capture 2 Output Function
Comment: Select what should be output on PWM Capture 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC11 (INT32)
-
PWM Capture 3 Output Function
Comment: Select what should be output on PWM Capture 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC2 (INT32)
-
PWM Aux 2 Output Function
Comment: Select what should be output on PWM Aux 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC3 (INT32)
-
PWM Aux 3 Output Function
Comment: Select what should be output on PWM Aux 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC4 (INT32)
-
PWM Aux 4 Output Function
Comment: Select what should be output on PWM Aux 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC5 (INT32)
-
PWM Aux 5 Output Function
Comment: Select what should be output on PWM Aux 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC6 (INT32)
-
PWM Aux 6 Output Function
Comment: Select what should be output on PWM Aux 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC7 (INT32)
-
PWM Aux 7 Output Function
Comment: Select what should be output on PWM Aux 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC8 (INT32)
-
PWM Aux 8 Output Function
Comment: Select what should be output on PWM Aux 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_FUNC9 (INT32)
-
PWM Capture 1 Output Function
Comment: Select what should be output on PWM Capture 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
2000: Camera Trigger
-
2032: Camera Capture
-
2064: PPS Input
-
-
-
0
-
-
-
-
PWM_AUX_MAX1 (INT32)
-
PWM Aux 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX10 (INT32)
-
PWM Capture 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX11 (INT32)
-
PWM Capture 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX2 (INT32)
-
PWM Aux 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX3 (INT32)
-
PWM Aux 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX4 (INT32)
-
PWM Aux 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX5 (INT32)
-
PWM Aux 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX6 (INT32)
-
PWM Aux 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX7 (INT32)
-
PWM Aux 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX8 (INT32)
-
PWM Aux 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MAX9 (INT32)
-
PWM Capture 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_AUX_MIN1 (INT32)
-
PWM Aux 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN10 (INT32)
-
PWM Capture 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN11 (INT32)
-
PWM Capture 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN2 (INT32)
-
PWM Aux 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN3 (INT32)
-
PWM Aux 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN4 (INT32)
-
PWM Aux 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN5 (INT32)
-
PWM Aux 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN6 (INT32)
-
PWM Aux 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN7 (INT32)
-
PWM Aux 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN8 (INT32)
-
PWM Aux 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_MIN9 (INT32)
-
PWM Capture 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_AUX_REV (INT32)
-
Reverse Output Range for PWM AUX
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: PWM Aux 1
-
1: PWM Aux 2
-
2: PWM Aux 3
-
3: PWM Aux 4
-
4: PWM Aux 5
-
5: PWM Aux 6
-
6: PWM Aux 7
-
7: PWM Aux 8
-
8: PWM Capture 1
-
9: PWM Capture 2
-
10: PWM Capture 3
-
-
-
[0, 2047]
-
0
-
-
-
-
PWM_AUX_TIM0 (INT32)
-
Output Protocol Configuration for PWM Aux 1-4
Comment: Select which Output Protocol to use for outputs PWM Aux 1-4. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-5: DShot150
-
-4: DShot300
-
-3: DShot600
-
-2: DShot1200
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_AUX_TIM1 (INT32)
-
Output Protocol Configuration for PWM Aux 5-6
Comment: Select which Output Protocol to use for outputs PWM Aux 5-6. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_AUX_TIM2 (INT32)
-
Output Protocol Configuration for PWM Aux 7-8
Comment: Select which Output Protocol to use for outputs PWM Aux 7-8. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_AUX_TIM3 (INT32)
-
Output Protocol Configuration for PWM Capture 1-3
Comment: Select which Output Protocol to use for outputs PWM Capture 1-3. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_MAIN_DIS1 (INT32)
-
MAIN 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS2 (INT32)
-
MAIN 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS3 (INT32)
-
MAIN 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS4 (INT32)
-
MAIN 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS5 (INT32)
-
MAIN 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS6 (INT32)
-
MAIN 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS7 (INT32)
-
MAIN 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_DIS8 (INT32)
-
MAIN 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[800, 2200]
-
1000
-
-
-
-
PWM_MAIN_FAIL1 (INT32)
-
MAIN 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC1).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL2 (INT32)
-
MAIN 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC2).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL3 (INT32)
-
MAIN 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC3).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL4 (INT32)
-
MAIN 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC4).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL5 (INT32)
-
MAIN 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC5).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL6 (INT32)
-
MAIN 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC6).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL7 (INT32)
-
MAIN 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC7).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FAIL8 (INT32)
-
MAIN 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC8).
-
[-1, 2200]
-
-1
-
-
-
-
PWM_MAIN_FUNC1 (INT32)
-
MAIN 1 Output Function
Comment: Select what should be output on MAIN 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC2 (INT32)
-
MAIN 2 Output Function
Comment: Select what should be output on MAIN 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC3 (INT32)
-
MAIN 3 Output Function
Comment: Select what should be output on MAIN 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC4 (INT32)
-
MAIN 4 Output Function
Comment: Select what should be output on MAIN 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC5 (INT32)
-
MAIN 5 Output Function
Comment: Select what should be output on MAIN 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC6 (INT32)
-
MAIN 6 Output Function
Comment: Select what should be output on MAIN 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC7 (INT32)
-
MAIN 7 Output Function
Comment: Select what should be output on MAIN 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_FUNC8 (INT32)
-
MAIN 8 Output Function
Comment: Select what should be output on MAIN 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
PWM_MAIN_MAX1 (INT32)
-
MAIN 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX2 (INT32)
-
MAIN 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX3 (INT32)
-
MAIN 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX4 (INT32)
-
MAIN 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX5 (INT32)
-
MAIN 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX6 (INT32)
-
MAIN 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX7 (INT32)
-
MAIN 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MAX8 (INT32)
-
MAIN 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[1600, 2200]
-
2000
-
-
-
-
PWM_MAIN_MIN1 (INT32)
-
MAIN 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN2 (INT32)
-
MAIN 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN3 (INT32)
-
MAIN 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN4 (INT32)
-
MAIN 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN5 (INT32)
-
MAIN 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN6 (INT32)
-
MAIN 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN7 (INT32)
-
MAIN 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_MIN8 (INT32)
-
MAIN 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[800, 1400]
-
1000
-
-
-
-
PWM_MAIN_REV (INT32)
-
Reverse Output Range for PWM MAIN
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: MAIN 1
-
1: MAIN 2
-
2: MAIN 3
-
3: MAIN 4
-
4: MAIN 5
-
5: MAIN 6
-
6: MAIN 7
-
7: MAIN 8
-
-
-
[0, 255]
-
0
-
-
-
-
PWM_MAIN_TIM0 (INT32)
-
Output Protocol Configuration for MAIN 1-2
Comment: Select which Output Protocol to use for outputs MAIN 1-2. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_MAIN_TIM1 (INT32)
-
Output Protocol Configuration for MAIN 3-4
Comment: Select which Output Protocol to use for outputs MAIN 3-4. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
PWM_MAIN_TIM2 (INT32)
-
Output Protocol Configuration for MAIN 5-8
Comment: Select which Output Protocol to use for outputs MAIN 5-8. Custom PWM rates can be used by directly setting any value >0.
Values:
-
-1: OneShot
-
50: PWM 50 Hz
-
100: PWM 100 Hz
-
200: PWM 200 Hz
-
400: PWM 400 Hz
-
Reboot required: True
-
-
-
400
-
-
-
-
RBCLW_DIS1 (INT32)
-
Roboclaw Driver Channel 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[128, 128]
-
128
-
-
-
-
RBCLW_DIS2 (INT32)
-
Roboclaw Driver Channel 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[128, 128]
-
128
-
-
-
-
RBCLW_FAIL1 (INT32)
-
Roboclaw Driver Channel 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see RBCLW_FUNC1).
-
[-1, 257]
-
-1
-
-
-
-
RBCLW_FAIL2 (INT32)
-
Roboclaw Driver Channel 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see RBCLW_FUNC2).
-
[-1, 257]
-
-1
-
-
-
-
RBCLW_FUNC1 (INT32)
-
Roboclaw Driver Channel 1 Output Function
Comment: Select what should be output on Roboclaw Driver Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
RBCLW_FUNC2 (INT32)
-
Roboclaw Driver Channel 2 Output Function
Comment: Select what should be output on Roboclaw Driver Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
RBCLW_MAX1 (INT32)
-
Roboclaw Driver Channel 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[128, 256]
-
256
-
-
-
-
RBCLW_MAX2 (INT32)
-
Roboclaw Driver Channel 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[128, 256]
-
256
-
-
-
-
RBCLW_MIN1 (INT32)
-
Roboclaw Driver Channel 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[1, 128]
-
1
-
-
-
-
RBCLW_MIN2 (INT32)
-
Roboclaw Driver Channel 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[1, 128]
-
1
-
-
-
-
RBCLW_REV (INT32)
-
Reverse Output Range for Roboclaw Driver
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: Roboclaw Driver Channel 1
-
1: Roboclaw Driver Channel 2
-
-
-
[0, 3]
-
0
-
-
-
-
SIM_GZ_EC_DIS1 (INT32)
-
SIM_GZ ESC 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS2 (INT32)
-
SIM_GZ ESC 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS3 (INT32)
-
SIM_GZ ESC 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS4 (INT32)
-
SIM_GZ ESC 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS5 (INT32)
-
SIM_GZ ESC 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS6 (INT32)
-
SIM_GZ ESC 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS7 (INT32)
-
SIM_GZ ESC 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_DIS8 (INT32)
-
SIM_GZ ESC 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_FAIL1 (INT32)
-
SIM_GZ ESC 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC1).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL2 (INT32)
-
SIM_GZ ESC 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC2).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL3 (INT32)
-
SIM_GZ ESC 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC3).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL4 (INT32)
-
SIM_GZ ESC 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC4).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL5 (INT32)
-
SIM_GZ ESC 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC5).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL6 (INT32)
-
SIM_GZ ESC 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC6).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL7 (INT32)
-
SIM_GZ ESC 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC7).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FAIL8 (INT32)
-
SIM_GZ ESC 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC8).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_EC_FUNC1 (INT32)
-
SIM_GZ ESC 1 Output Function
Comment: Select what should be output on SIM_GZ ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC2 (INT32)
-
SIM_GZ ESC 2 Output Function
Comment: Select what should be output on SIM_GZ ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC3 (INT32)
-
SIM_GZ ESC 3 Output Function
Comment: Select what should be output on SIM_GZ ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC4 (INT32)
-
SIM_GZ ESC 4 Output Function
Comment: Select what should be output on SIM_GZ ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC5 (INT32)
-
SIM_GZ ESC 5 Output Function
Comment: Select what should be output on SIM_GZ ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC6 (INT32)
-
SIM_GZ ESC 6 Output Function
Comment: Select what should be output on SIM_GZ ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC7 (INT32)
-
SIM_GZ ESC 7 Output Function
Comment: Select what should be output on SIM_GZ ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_FUNC8 (INT32)
-
SIM_GZ ESC 8 Output Function
Comment: Select what should be output on SIM_GZ ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_EC_MAX1 (INT32)
-
SIM_GZ ESC 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX2 (INT32)
-
SIM_GZ ESC 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX3 (INT32)
-
SIM_GZ ESC 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX4 (INT32)
-
SIM_GZ ESC 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX5 (INT32)
-
SIM_GZ ESC 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX6 (INT32)
-
SIM_GZ ESC 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX7 (INT32)
-
SIM_GZ ESC 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MAX8 (INT32)
-
SIM_GZ ESC 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_EC_MIN1 (INT32)
-
SIM_GZ ESC 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN2 (INT32)
-
SIM_GZ ESC 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN3 (INT32)
-
SIM_GZ ESC 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN4 (INT32)
-
SIM_GZ ESC 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN5 (INT32)
-
SIM_GZ ESC 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN6 (INT32)
-
SIM_GZ ESC 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN7 (INT32)
-
SIM_GZ ESC 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_MIN8 (INT32)
-
SIM_GZ ESC 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_EC_REV (INT32)
-
Reverse Output Range for SIM_GZ
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: SIM_GZ ESC 1
-
1: SIM_GZ ESC 2
-
2: SIM_GZ ESC 3
-
3: SIM_GZ ESC 4
-
4: SIM_GZ ESC 5
-
5: SIM_GZ ESC 6
-
6: SIM_GZ ESC 7
-
7: SIM_GZ ESC 8
-
-
-
[0, 255]
-
0
-
-
-
-
SIM_GZ_SV_DIS1 (INT32)
-
SIM_GZ Servo 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS2 (INT32)
-
SIM_GZ Servo 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS3 (INT32)
-
SIM_GZ Servo 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS4 (INT32)
-
SIM_GZ Servo 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS5 (INT32)
-
SIM_GZ Servo 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS6 (INT32)
-
SIM_GZ Servo 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS7 (INT32)
-
SIM_GZ Servo 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_DIS8 (INT32)
-
SIM_GZ Servo 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
SIM_GZ_SV_FAIL1 (INT32)
-
SIM_GZ Servo 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC1).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL2 (INT32)
-
SIM_GZ Servo 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC2).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL3 (INT32)
-
SIM_GZ Servo 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC3).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL4 (INT32)
-
SIM_GZ Servo 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC4).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL5 (INT32)
-
SIM_GZ Servo 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC5).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL6 (INT32)
-
SIM_GZ Servo 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC6).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL7 (INT32)
-
SIM_GZ Servo 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC7).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FAIL8 (INT32)
-
SIM_GZ Servo 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC8).
-
[-1, 1000]
-
-1
-
-
-
-
SIM_GZ_SV_FUNC1 (INT32)
-
SIM_GZ Servo 1 Output Function
Comment: Select what should be output on SIM_GZ Servo 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC2 (INT32)
-
SIM_GZ Servo 2 Output Function
Comment: Select what should be output on SIM_GZ Servo 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC3 (INT32)
-
SIM_GZ Servo 3 Output Function
Comment: Select what should be output on SIM_GZ Servo 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC4 (INT32)
-
SIM_GZ Servo 4 Output Function
Comment: Select what should be output on SIM_GZ Servo 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC5 (INT32)
-
SIM_GZ Servo 5 Output Function
Comment: Select what should be output on SIM_GZ Servo 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC6 (INT32)
-
SIM_GZ Servo 6 Output Function
Comment: Select what should be output on SIM_GZ Servo 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC7 (INT32)
-
SIM_GZ Servo 7 Output Function
Comment: Select what should be output on SIM_GZ Servo 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_FUNC8 (INT32)
-
SIM_GZ Servo 8 Output Function
Comment: Select what should be output on SIM_GZ Servo 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_SV_MAX1 (INT32)
-
SIM_GZ Servo 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX2 (INT32)
-
SIM_GZ Servo 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX3 (INT32)
-
SIM_GZ Servo 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX4 (INT32)
-
SIM_GZ Servo 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX5 (INT32)
-
SIM_GZ Servo 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX6 (INT32)
-
SIM_GZ Servo 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX7 (INT32)
-
SIM_GZ Servo 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MAX8 (INT32)
-
SIM_GZ Servo 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
SIM_GZ_SV_MIN1 (INT32)
-
SIM_GZ Servo 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN2 (INT32)
-
SIM_GZ Servo 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN3 (INT32)
-
SIM_GZ Servo 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN4 (INT32)
-
SIM_GZ Servo 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN5 (INT32)
-
SIM_GZ Servo 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN6 (INT32)
-
SIM_GZ Servo 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN7 (INT32)
-
SIM_GZ Servo 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_MIN8 (INT32)
-
SIM_GZ Servo 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
SIM_GZ_SV_REV (INT32)
-
Reverse Output Range for SIM_GZ
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: SIM_GZ Servo 1
-
1: SIM_GZ Servo 2
-
2: SIM_GZ Servo 3
-
3: SIM_GZ Servo 4
-
4: SIM_GZ Servo 5
-
5: SIM_GZ Servo 6
-
6: SIM_GZ Servo 7
-
7: SIM_GZ Servo 8
-
-
-
[0, 255]
-
0
-
-
-
-
SIM_GZ_WH_DIS1 (INT32)
-
SIM_GZ Wheels 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 200]
-
100
-
-
-
-
SIM_GZ_WH_DIS2 (INT32)
-
SIM_GZ Wheels 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 200]
-
100
-
-
-
-
SIM_GZ_WH_FAIL1 (INT32)
-
SIM_GZ Wheels 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_WH_FUNC1).
-
[-1, 200]
-
-1
-
-
-
-
SIM_GZ_WH_FAIL2 (INT32)
-
SIM_GZ Wheels 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_WH_FUNC2).
-
[-1, 200]
-
-1
-
-
-
-
SIM_GZ_WH_FUNC1 (INT32)
-
SIM_GZ Wheels 1 Output Function
Comment: Select what should be output on SIM_GZ Wheels 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_WH_FUNC2 (INT32)
-
SIM_GZ Wheels 2 Output Function
Comment: Select what should be output on SIM_GZ Wheels 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
SIM_GZ_WH_MAX1 (INT32)
-
SIM_GZ Wheels 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 200]
-
200
-
-
-
-
SIM_GZ_WH_MAX2 (INT32)
-
SIM_GZ Wheels 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 200]
-
200
-
-
-
-
SIM_GZ_WH_MIN1 (INT32)
-
SIM_GZ Wheels 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 200]
-
0
-
-
-
-
SIM_GZ_WH_MIN2 (INT32)
-
SIM_GZ Wheels 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 200]
-
0
-
-
-
-
SIM_GZ_WH_REV (INT32)
-
Reverse Output Range for SIM_GZ
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: SIM_GZ Wheels 1
-
1: SIM_GZ Wheels 2
-
-
-
[0, 3]
-
0
-
-
-
-
TAP_ESC_FUNC1 (INT32)
-
TAP ESC Output ESC 1 Output Function
Comment: Select what should be output on TAP ESC Output ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC2 (INT32)
-
TAP ESC Output ESC 2 Output Function
Comment: Select what should be output on TAP ESC Output ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC3 (INT32)
-
TAP ESC Output ESC 3 Output Function
Comment: Select what should be output on TAP ESC Output ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC4 (INT32)
-
TAP ESC Output ESC 4 Output Function
Comment: Select what should be output on TAP ESC Output ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC5 (INT32)
-
TAP ESC Output ESC 5 Output Function
Comment: Select what should be output on TAP ESC Output ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC6 (INT32)
-
TAP ESC Output ESC 6 Output Function
Comment: Select what should be output on TAP ESC Output ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC7 (INT32)
-
TAP ESC Output ESC 7 Output Function
Comment: Select what should be output on TAP ESC Output ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_FUNC8 (INT32)
-
TAP ESC Output ESC 8 Output Function
Comment: Select what should be output on TAP ESC Output ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
TAP_ESC_REV (INT32)
-
Reverse Output Range for TAP ESC Output
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: TAP ESC Output ESC 1
-
1: TAP ESC Output ESC 2
-
2: TAP ESC Output ESC 3
-
3: TAP ESC Output ESC 4
-
4: TAP ESC Output ESC 5
-
5: TAP ESC Output ESC 6
-
6: TAP ESC Output ESC 7
-
7: TAP ESC Output ESC 8
-
-
-
[0, 255]
-
0
-
-
-
-
UAVCAN_EC_FAIL1 (INT32)
-
UAVCAN ESC 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC1).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL2 (INT32)
-
UAVCAN ESC 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC2).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL3 (INT32)
-
UAVCAN ESC 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC3).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL4 (INT32)
-
UAVCAN ESC 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC4).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL5 (INT32)
-
UAVCAN ESC 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC5).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL6 (INT32)
-
UAVCAN ESC 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC6).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL7 (INT32)
-
UAVCAN ESC 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC7).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FAIL8 (INT32)
-
UAVCAN ESC 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC8).
-
[-1, 8191]
-
-1
-
-
-
-
UAVCAN_EC_FUNC1 (INT32)
-
UAVCAN ESC 1 Output Function
Comment: Select what should be output on UAVCAN ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC2 (INT32)
-
UAVCAN ESC 2 Output Function
Comment: Select what should be output on UAVCAN ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC3 (INT32)
-
UAVCAN ESC 3 Output Function
Comment: Select what should be output on UAVCAN ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC4 (INT32)
-
UAVCAN ESC 4 Output Function
Comment: Select what should be output on UAVCAN ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC5 (INT32)
-
UAVCAN ESC 5 Output Function
Comment: Select what should be output on UAVCAN ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC6 (INT32)
-
UAVCAN ESC 6 Output Function
Comment: Select what should be output on UAVCAN ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC7 (INT32)
-
UAVCAN ESC 7 Output Function
Comment: Select what should be output on UAVCAN ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_FUNC8 (INT32)
-
UAVCAN ESC 8 Output Function
Comment: Select what should be output on UAVCAN ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_EC_MAX1 (INT32)
-
UAVCAN ESC 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX2 (INT32)
-
UAVCAN ESC 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX3 (INT32)
-
UAVCAN ESC 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX4 (INT32)
-
UAVCAN ESC 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX5 (INT32)
-
UAVCAN ESC 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX6 (INT32)
-
UAVCAN ESC 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX7 (INT32)
-
UAVCAN ESC 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MAX8 (INT32)
-
UAVCAN ESC 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UAVCAN_EC_MIN1 (INT32)
-
UAVCAN ESC 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN2 (INT32)
-
UAVCAN ESC 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN3 (INT32)
-
UAVCAN ESC 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN4 (INT32)
-
UAVCAN ESC 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN5 (INT32)
-
UAVCAN ESC 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN6 (INT32)
-
UAVCAN ESC 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN7 (INT32)
-
UAVCAN ESC 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_MIN8 (INT32)
-
UAVCAN ESC 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UAVCAN_EC_REV (INT32)
-
Reverse Output Range for UAVCAN
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: UAVCAN ESC 1
-
1: UAVCAN ESC 2
-
2: UAVCAN ESC 3
-
3: UAVCAN ESC 4
-
4: UAVCAN ESC 5
-
5: UAVCAN ESC 6
-
6: UAVCAN ESC 7
-
7: UAVCAN ESC 8
-
-
-
[0, 255]
-
0
-
-
-
-
UAVCAN_SV_DIS1 (INT32)
-
UAVCAN Servo 1 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS2 (INT32)
-
UAVCAN Servo 2 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS3 (INT32)
-
UAVCAN Servo 3 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS4 (INT32)
-
UAVCAN Servo 4 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS5 (INT32)
-
UAVCAN Servo 5 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS6 (INT32)
-
UAVCAN Servo 6 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS7 (INT32)
-
UAVCAN Servo 7 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_DIS8 (INT32)
-
UAVCAN Servo 8 Disarmed Value
Comment: This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-
[0, 1000]
-
500
-
-
-
-
UAVCAN_SV_FAIL1 (INT32)
-
UAVCAN Servo 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC1).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL2 (INT32)
-
UAVCAN Servo 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC2).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL3 (INT32)
-
UAVCAN Servo 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC3).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL4 (INT32)
-
UAVCAN Servo 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC4).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL5 (INT32)
-
UAVCAN Servo 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC5).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL6 (INT32)
-
UAVCAN Servo 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC6).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL7 (INT32)
-
UAVCAN Servo 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC7).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FAIL8 (INT32)
-
UAVCAN Servo 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC8).
-
[-1, 1000]
-
-1
-
-
-
-
UAVCAN_SV_FUNC1 (INT32)
-
UAVCAN Servo 1 Output Function
Comment: Select what should be output on UAVCAN Servo 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC2 (INT32)
-
UAVCAN Servo 2 Output Function
Comment: Select what should be output on UAVCAN Servo 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC3 (INT32)
-
UAVCAN Servo 3 Output Function
Comment: Select what should be output on UAVCAN Servo 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC4 (INT32)
-
UAVCAN Servo 4 Output Function
Comment: Select what should be output on UAVCAN Servo 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC5 (INT32)
-
UAVCAN Servo 5 Output Function
Comment: Select what should be output on UAVCAN Servo 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC6 (INT32)
-
UAVCAN Servo 6 Output Function
Comment: Select what should be output on UAVCAN Servo 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC7 (INT32)
-
UAVCAN Servo 7 Output Function
Comment: Select what should be output on UAVCAN Servo 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_FUNC8 (INT32)
-
UAVCAN Servo 8 Output Function
Comment: Select what should be output on UAVCAN Servo 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UAVCAN_SV_MAX1 (INT32)
-
UAVCAN Servo 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX2 (INT32)
-
UAVCAN Servo 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX3 (INT32)
-
UAVCAN Servo 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX4 (INT32)
-
UAVCAN Servo 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX5 (INT32)
-
UAVCAN Servo 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX6 (INT32)
-
UAVCAN Servo 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX7 (INT32)
-
UAVCAN Servo 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MAX8 (INT32)
-
UAVCAN Servo 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 1000]
-
1000
-
-
-
-
UAVCAN_SV_MIN1 (INT32)
-
UAVCAN Servo 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN2 (INT32)
-
UAVCAN Servo 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN3 (INT32)
-
UAVCAN Servo 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN4 (INT32)
-
UAVCAN Servo 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN5 (INT32)
-
UAVCAN Servo 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN6 (INT32)
-
UAVCAN Servo 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN7 (INT32)
-
UAVCAN Servo 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_MIN8 (INT32)
-
UAVCAN Servo 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 1000]
-
0
-
-
-
-
UAVCAN_SV_REV (INT32)
-
Reverse Output Range for UAVCAN
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: UAVCAN Servo 1
-
1: UAVCAN Servo 2
-
2: UAVCAN Servo 3
-
3: UAVCAN Servo 4
-
4: UAVCAN Servo 5
-
5: UAVCAN Servo 6
-
6: UAVCAN Servo 7
-
7: UAVCAN Servo 8
-
-
-
[0, 255]
-
0
-
-
-
-
UCAN1_ESC_FAIL1 (INT32)
-
UAVCANv1 ESC 1 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC1).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL10 (INT32)
-
UAVCANv1 ESC 10 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC10).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL11 (INT32)
-
UAVCANv1 ESC 11 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC11).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL12 (INT32)
-
UAVCANv1 ESC 12 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC12).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL13 (INT32)
-
UAVCANv1 ESC 13 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC13).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL14 (INT32)
-
UAVCANv1 ESC 14 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC14).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL15 (INT32)
-
UAVCANv1 ESC 15 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC15).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL16 (INT32)
-
UAVCANv1 ESC 16 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC16).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL2 (INT32)
-
UAVCANv1 ESC 2 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC2).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL3 (INT32)
-
UAVCANv1 ESC 3 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC3).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL4 (INT32)
-
UAVCANv1 ESC 4 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC4).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL5 (INT32)
-
UAVCANv1 ESC 5 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC5).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL6 (INT32)
-
UAVCANv1 ESC 6 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC6).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL7 (INT32)
-
UAVCANv1 ESC 7 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC7).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL8 (INT32)
-
UAVCANv1 ESC 8 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC8).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FAIL9 (INT32)
-
UAVCANv1 ESC 9 Failsafe Value
Comment: This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC9).
-
[-1, 8191]
-
-1
-
-
-
-
UCAN1_ESC_FUNC1 (INT32)
-
UAVCANv1 ESC 1 Output Function
Comment: Select what should be output on UAVCANv1 ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC10 (INT32)
-
UAVCANv1 ESC 10 Output Function
Comment: Select what should be output on UAVCANv1 ESC 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC11 (INT32)
-
UAVCANv1 ESC 11 Output Function
Comment: Select what should be output on UAVCANv1 ESC 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC12 (INT32)
-
UAVCANv1 ESC 12 Output Function
Comment: Select what should be output on UAVCANv1 ESC 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC13 (INT32)
-
UAVCANv1 ESC 13 Output Function
Comment: Select what should be output on UAVCANv1 ESC 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC14 (INT32)
-
UAVCANv1 ESC 14 Output Function
Comment: Select what should be output on UAVCANv1 ESC 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC15 (INT32)
-
UAVCANv1 ESC 15 Output Function
Comment: Select what should be output on UAVCANv1 ESC 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC16 (INT32)
-
UAVCANv1 ESC 16 Output Function
Comment: Select what should be output on UAVCANv1 ESC 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC2 (INT32)
-
UAVCANv1 ESC 2 Output Function
Comment: Select what should be output on UAVCANv1 ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC3 (INT32)
-
UAVCANv1 ESC 3 Output Function
Comment: Select what should be output on UAVCANv1 ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC4 (INT32)
-
UAVCANv1 ESC 4 Output Function
Comment: Select what should be output on UAVCANv1 ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC5 (INT32)
-
UAVCANv1 ESC 5 Output Function
Comment: Select what should be output on UAVCANv1 ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC6 (INT32)
-
UAVCANv1 ESC 6 Output Function
Comment: Select what should be output on UAVCANv1 ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC7 (INT32)
-
UAVCANv1 ESC 7 Output Function
Comment: Select what should be output on UAVCANv1 ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC8 (INT32)
-
UAVCANv1 ESC 8 Output Function
Comment: Select what should be output on UAVCANv1 ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_FUNC9 (INT32)
-
UAVCANv1 ESC 9 Output Function
Comment: Select what should be output on UAVCANv1 ESC 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
UCAN1_ESC_MAX1 (INT32)
-
UAVCANv1 ESC 1 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX10 (INT32)
-
UAVCANv1 ESC 10 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX11 (INT32)
-
UAVCANv1 ESC 11 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX12 (INT32)
-
UAVCANv1 ESC 12 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX13 (INT32)
-
UAVCANv1 ESC 13 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX14 (INT32)
-
UAVCANv1 ESC 14 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX15 (INT32)
-
UAVCANv1 ESC 15 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX16 (INT32)
-
UAVCANv1 ESC 16 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX2 (INT32)
-
UAVCANv1 ESC 2 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX3 (INT32)
-
UAVCANv1 ESC 3 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX4 (INT32)
-
UAVCANv1 ESC 4 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX5 (INT32)
-
UAVCANv1 ESC 5 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX6 (INT32)
-
UAVCANv1 ESC 6 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX7 (INT32)
-
UAVCANv1 ESC 7 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX8 (INT32)
-
UAVCANv1 ESC 8 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MAX9 (INT32)
-
UAVCANv1 ESC 9 Maximum Value
Comment: Maxmimum output value (when not disarmed).
-
[0, 8191]
-
8191
-
-
-
-
UCAN1_ESC_MIN1 (INT32)
-
UAVCANv1 ESC 1 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN10 (INT32)
-
UAVCANv1 ESC 10 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN11 (INT32)
-
UAVCANv1 ESC 11 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN12 (INT32)
-
UAVCANv1 ESC 12 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN13 (INT32)
-
UAVCANv1 ESC 13 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN14 (INT32)
-
UAVCANv1 ESC 14 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN15 (INT32)
-
UAVCANv1 ESC 15 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN16 (INT32)
-
UAVCANv1 ESC 16 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN2 (INT32)
-
UAVCANv1 ESC 2 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN3 (INT32)
-
UAVCANv1 ESC 3 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN4 (INT32)
-
UAVCANv1 ESC 4 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN5 (INT32)
-
UAVCANv1 ESC 5 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN6 (INT32)
-
UAVCANv1 ESC 6 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN7 (INT32)
-
UAVCANv1 ESC 7 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN8 (INT32)
-
UAVCANv1 ESC 8 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_MIN9 (INT32)
-
UAVCANv1 ESC 9 Minimum Value
Comment: Minimum output value (when not disarmed).
-
[0, 8191]
-
1
-
-
-
-
UCAN1_ESC_REV (INT32)
-
Reverse Output Range for UAVCANv1
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: UAVCANv1 ESC 1
-
1: UAVCANv1 ESC 2
-
2: UAVCANv1 ESC 3
-
3: UAVCANv1 ESC 4
-
4: UAVCANv1 ESC 5
-
5: UAVCANv1 ESC 6
-
6: UAVCANv1 ESC 7
-
7: UAVCANv1 ESC 8
-
8: UAVCANv1 ESC 9
-
9: UAVCANv1 ESC 10
-
10: UAVCANv1 ESC 11
-
11: UAVCANv1 ESC 12
-
12: UAVCANv1 ESC 13
-
13: UAVCANv1 ESC 14
-
14: UAVCANv1 ESC 15
-
15: UAVCANv1 ESC 16
-
-
-
[0, 65535]
-
0
-
-
-
-
VOXL2_IO_FUNC1 (INT32)
-
VOXL2 IO Output PWM Channel 1 Output Function
Comment: Select what should be output on VOXL2 IO Output PWM Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL2_IO_FUNC2 (INT32)
-
VOXL2 IO Output PWM Channel 2 Output Function
Comment: Select what should be output on VOXL2 IO Output PWM Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL2_IO_FUNC3 (INT32)
-
VOXL2 IO Output PWM Channel 3 Output Function
Comment: Select what should be output on VOXL2 IO Output PWM Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL2_IO_FUNC4 (INT32)
-
VOXL2 IO Output PWM Channel 4 Output Function
Comment: Select what should be output on VOXL2 IO Output PWM Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL2_IO_REV (INT32)
-
Reverse Output Range for VOXL2 IO Output
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Bitmask:
0: VOXL2 IO Output PWM Channel 1
-
1: VOXL2 IO Output PWM Channel 2
-
2: VOXL2 IO Output PWM Channel 3
-
3: VOXL2 IO Output PWM Channel 4
-
-
-
[0, 15]
-
0
-
-
-
-
VOXL_ESC_FUNC1 (INT32)
-
VOXL ESC Output ESC 1 Output Function
Comment: Select what should be output on VOXL ESC Output ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL_ESC_FUNC2 (INT32)
-
VOXL ESC Output ESC 2 Output Function
Comment: Select what should be output on VOXL ESC Output ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL_ESC_FUNC3 (INT32)
-
VOXL ESC Output ESC 3 Output Function
Comment: Select what should be output on VOXL ESC Output ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL_ESC_FUNC4 (INT32)
-
VOXL ESC Output ESC 4 Output Function
Comment: Select what should be output on VOXL ESC Output ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
Values:
-
0: Disabled
-
1: Constant Min
-
2: Constant Max
-
101: Motor 1
-
102: Motor 2
-
103: Motor 3
-
104: Motor 4
-
105: Motor 5
-
106: Motor 6
-
107: Motor 7
-
108: Motor 8
-
109: Motor 9
-
110: Motor 10
-
111: Motor 11
-
112: Motor 12
-
201: Servo 1
-
202: Servo 2
-
203: Servo 3
-
204: Servo 4
-
205: Servo 5
-
206: Servo 6
-
207: Servo 7
-
208: Servo 8
-
301: Peripheral via Actuator Set 1
-
302: Peripheral via Actuator Set 2
-
303: Peripheral via Actuator Set 3
-
304: Peripheral via Actuator Set 4
-
305: Peripheral via Actuator Set 5
-
306: Peripheral via Actuator Set 6
-
400: Landing Gear
-
401: Parachute
-
402: RC Roll
-
403: RC Pitch
-
404: RC Throttle
-
405: RC Yaw
-
406: RC Flaps
-
407: RC AUX 1
-
408: RC AUX 2
-
409: RC AUX 3
-
410: RC AUX 4
-
411: RC AUX 5
-
412: RC AUX 6
-
420: Gimbal Roll
-
421: Gimbal Pitch
-
422: Gimbal Yaw
-
430: Gripper
-
440: Landing Gear Wheel
-
-
-
0
-
-
-
-
VOXL_ESC_REV (INT32)
-
Reverse Output Range for VOXL ESC Output
Comment: Allows to reverse the output range for each channel. Note: this is only useful for servos.
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1, 5]
-
1
-
SD
-
-
-
ASPD_BETA_NOISE (FLOAT)
-
Wind estimator sideslip measurement noise
Comment: Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.
-
[0, 1]
-
0.15
-
rad
-
-
-
ASPD_DO_CHECKS (INT32)
-
Enable checks on airspeed sensors
Comment: Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY > 0.
Bitmask:
0: Only data missing check (triggers if more than 1s no data)
-
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
-
2: Innovation check (see ASPD_FS_INNOV)
-
3: Load factor check (triggers if measurement is below stall speed)
-
4: First principle check (airspeed change vs. throttle and pitch)
-
-
-
[0, 31]
-
7
-
-
-
-
ASPD_FALLBACK_GW (INT32)
-
Enable fallback to sensor-less airspeed estimation
Comment: If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.
Values:
-
0: Disable fallback to sensor-less estimation
-
1: Enable fallback to sensor-less estimation
-
-
-
Disabled (0)
-
-
-
-
ASPD_FP_T_WINDOW (FLOAT)
-
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
-
[0, ?]
-
2.0
-
s
-
-
-
ASPD_FS_INNOV (FLOAT)
-
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
-
[0.5, 10.0]
-
5.
-
m/s
-
-
-
ASPD_FS_INTEG (FLOAT)
-
Airspeed failure innovation integral threshold
Comment: This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.
-
[0.0, 50.0]
-
10.
-
m
-
-
-
ASPD_FS_T_START (FLOAT)
-
Airspeed failsafe start delay
Comment: Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.
-
[-1.0, ?]
-
-1.
-
s
-
-
-
ASPD_FS_T_STOP (FLOAT)
-
Airspeed failsafe stop delay
Comment: Delay before stopping use of airspeed sensor if checks indicate sensor is bad.
-
[0.0, ?]
-
1.
-
s
-
-
-
ASPD_PRIMARY (INT32)
-
Index or primary airspeed measurement source Values:
-
0: Groundspeed minus windspeed
-
1: First airspeed sensor
-
2: Second airspeed sensor
-
3: Third airspeed sensor
-
Reboot required: true
-
-
-
1
-
-
-
-
ASPD_SCALE_1 (FLOAT)
-
Scale of airspeed sensor 1
Comment: This is the scale IAS --> CAS of the first airspeed sensor instance
Reboot required: true
-
-
[0.5, 2.0]
-
1.0
-
-
-
-
ASPD_SCALE_2 (FLOAT)
-
Scale of airspeed sensor 2
Comment: This is the scale IAS --> CAS of the second airspeed sensor instance
Reboot required: true
-
-
[0.5, 2.0]
-
1.0
-
-
-
-
ASPD_SCALE_3 (FLOAT)
-
Scale of airspeed sensor 3
Comment: This is the scale IAS --> CAS of the third airspeed sensor instance
Reboot required: true
-
-
[0.5, 2.0]
-
1.0
-
-
-
-
ASPD_SCALE_APPLY (INT32)
-
Controls when to apply the new estimated airspeed scale(s) Values:
-
0: Do not automatically apply the estimated scale
-
1: Apply the estimated scale after disarm
-
2: Apply the estimated scale in air
-
-
-
2
-
-
-
-
ASPD_SCALE_NSD (FLOAT)
-
Wind estimator true airspeed scale process noise spectral density
Comment: Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.
-
[0, 0.1]
-
1.e-4
-
1/s/sqrt(Hz)
-
-
-
ASPD_TAS_GATE (INT32)
-
Gate size for true airspeed fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1, 5]
-
4
-
SD
-
-
-
ASPD_TAS_NOISE (FLOAT)
-
Wind estimator true airspeed measurement noise
Comment: True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.
-
[0, 4]
-
1.4
-
m/s
-
-
-
ASPD_WERR_THR (FLOAT)
-
Horizontal wind uncertainty threshold for synthetic airspeed
Comment: The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty is below this value.
-
[0.001, 5]
-
0.55
-
m/s
-
-
-
ASPD_WIND_NSD (FLOAT)
-
Wind estimator wind process noise spectral density
Comment: Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.
-
[0, 1]
-
1.e-1
-
m/s^2/sqrt(Hz)
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Attitude Q estimator
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
Comment: After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.
Values:
-
0: Do not apply the new gains (logging only)
-
1: Apply the new gains after disarm
-
2: Apply the new gains in air
-
-
-
2
-
-
-
-
FW_AT_AXES (INT32)
-
Tuning axes selection
Comment: Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw
Bitmask:
0: roll
-
1: pitch
-
2: yaw
-
-
-
[1, 7]
-
3
-
-
-
-
FW_AT_MAN_AUX (INT32)
-
Enable/disable auto tuning using an RC AUX input
Comment: Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.
Values:
-
0: Disable
-
1: Aux1
-
2: Aux2
-
3: Aux3
-
4: Aux4
-
5: Aux5
-
6: Aux6
-
-
[0, 6]
-
0
-
-
-
-
FW_AT_START (INT32)
-
Start the autotuning sequence
Comment: WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio
-
-
Disabled (0)
-
-
-
-
FW_AT_SYSID_AMP (FLOAT)
-
Amplitude of the injected signal
Comment: This parameter scales the signal sent to the rate controller during system identification.
-
[0.1, 6.0]
-
1.0
-
-
-
-
FW_AT_SYSID_F0 (FLOAT)
-
Start frequency of the injected signal
Comment: Can be set lower or higher than the end frequency
-
[0.1, 30.0]
-
1.
-
Hz
-
-
-
FW_AT_SYSID_F1 (FLOAT)
-
End frequency of the injected signal
Comment: Can be set lower or higher than the start frequency
-
[0.1, 30.0]
-
20.
-
Hz
-
-
-
FW_AT_SYSID_TIME (FLOAT)
-
Maneuver time for each axis
Comment: Duration of the input signal sent on each axis during system identification
-
[5, 120]
-
10.
-
s
-
-
-
FW_AT_SYSID_TYPE (INT32)
-
Input signal type
Comment: Type of signal used during system identification to excite the system.
Values:
-
0: Step
-
1: Linear sine sweep
-
2: Logarithmic sine sweep
-
-
-
0
-
-
-
-
MC_AT_APPLY (INT32)
-
Controls when to apply the new gains
Comment: After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.
Values:
-
0: Do not apply the new gains (logging only)
-
1: Apply the new gains after disarm
-
2: WARNING Apply the new gains in air
-
-
-
1
-
-
-
-
MC_AT_EN (INT32)
-
Multicopter autotune module enable
-
-
Disabled (0)
-
-
-
-
MC_AT_RISE_TIME (FLOAT)
-
Desired angular rate closed-loop rise time
-
[0.01, 0.5]
-
0.14
-
s
-
-
-
MC_AT_START (INT32)
-
Start the autotuning sequence
Comment: WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio
-
-
Disabled (0)
-
-
-
-
MC_AT_SYSID_AMP (FLOAT)
-
Amplitude of the injected signal
-
[0.1, 6.0]
-
0.7
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Battery Calibration
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
BAT1_A_PER_V (FLOAT)
-
Battery 1 current per volt (A/V)
Comment: The voltage seen by the ADC multiplied by this factor will determine the battery current. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1.0
-
-
-
-
BAT1_CAPACITY (FLOAT)
-
Battery 1 capacity
Comment: Defines the capacity of battery 1 in mAh.
Reboot required: True
-
-
[-1.0, 100000] (50)
-
-1.0
-
mAh
-
-
-
BAT1_I_CHANNEL (INT32)
-
Battery 1 Current ADC Channel
Comment: This parameter specifies the ADC channel used to monitor current of main power battery. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1
-
-
-
-
BAT1_N_CELLS (INT32)
-
Number of cells for battery 1
Comment: Defines the number of cells the attached battery consists of.
Values:
-
0: Unknown
-
1: 1S Battery
-
2: 2S Battery
-
3: 3S Battery
-
4: 4S Battery
-
5: 5S Battery
-
6: 6S Battery
-
7: 7S Battery
-
8: 8S Battery
-
9: 9S Battery
-
10: 10S Battery
-
11: 11S Battery
-
12: 12S Battery
-
13: 13S Battery
-
14: 14S Battery
-
15: 15S Battery
-
16: 16S Battery
-
Reboot required: True
-
-
-
0
-
-
-
-
BAT1_R_INTERNAL (FLOAT)
-
Explicitly defines the per cell internal resistance for battery 1
Comment: If non-negative, then this will be used instead of the online estimated internal resistance.
Reboot required: True
-
-
[-1.0, 0.2] (0.0005)
-
-1.0
-
Ohm
-
-
-
BAT1_SOURCE (INT32)
-
Battery 1 monitoring source
Comment: This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
Values:
-
-1: Disabled
-
0: Power Module
-
1: External
-
2: ESCs
-
Reboot required: True
-
-
-
0
-
-
-
-
BAT1_V_CHANNEL (INT32)
-
Battery 1 Voltage ADC Channel
Comment: This parameter specifies the ADC channel used to monitor voltage of main power battery. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1
-
-
-
-
BAT1_V_CHARGED (FLOAT)
-
Full cell voltage
Comment: Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
Reboot required: True
-
-
(0.01)
-
4.05
-
V
-
-
-
BAT1_V_DIV (FLOAT)
-
Battery 1 voltage divider (V divider)
Comment: This is the divider from battery 1 voltage to ADC voltage. If using e.g. Mauch power modules the value from the datasheet can be applied straight here. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1.0
-
-
-
-
BAT1_V_EMPTY (FLOAT)
-
Empty cell voltage
Comment: Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
Reboot required: True
-
-
(0.01)
-
3.6
-
V
-
-
-
BAT2_A_PER_V (FLOAT)
-
Battery 2 current per volt (A/V)
Comment: The voltage seen by the ADC multiplied by this factor will determine the battery current. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1.0
-
-
-
-
BAT2_CAPACITY (FLOAT)
-
Battery 2 capacity
Comment: Defines the capacity of battery 2 in mAh.
Reboot required: True
-
-
[-1.0, 100000] (50)
-
-1.0
-
mAh
-
-
-
BAT2_I_CHANNEL (INT32)
-
Battery 2 Current ADC Channel
Comment: This parameter specifies the ADC channel used to monitor current of main power battery. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1
-
-
-
-
BAT2_N_CELLS (INT32)
-
Number of cells for battery 2
Comment: Defines the number of cells the attached battery consists of.
Values:
-
0: Unknown
-
1: 1S Battery
-
2: 2S Battery
-
3: 3S Battery
-
4: 4S Battery
-
5: 5S Battery
-
6: 6S Battery
-
7: 7S Battery
-
8: 8S Battery
-
9: 9S Battery
-
10: 10S Battery
-
11: 11S Battery
-
12: 12S Battery
-
13: 13S Battery
-
14: 14S Battery
-
15: 15S Battery
-
16: 16S Battery
-
Reboot required: True
-
-
-
0
-
-
-
-
BAT2_R_INTERNAL (FLOAT)
-
Explicitly defines the per cell internal resistance for battery 2
Comment: If non-negative, then this will be used instead of the online estimated internal resistance.
Reboot required: True
-
-
[-1.0, 0.2] (0.0005)
-
-1.0
-
Ohm
-
-
-
BAT2_SOURCE (INT32)
-
Battery 2 monitoring source
Comment: This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
Values:
-
-1: Disabled
-
0: Power Module
-
1: External
-
2: ESCs
-
Reboot required: True
-
-
-
-1
-
-
-
-
BAT2_V_CHANNEL (INT32)
-
Battery 2 Voltage ADC Channel
Comment: This parameter specifies the ADC channel used to monitor voltage of main power battery. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1
-
-
-
-
BAT2_V_CHARGED (FLOAT)
-
Full cell voltage
Comment: Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
Reboot required: True
-
-
(0.01)
-
4.05
-
V
-
-
-
BAT2_V_DIV (FLOAT)
-
Battery 2 voltage divider (V divider)
Comment: This is the divider from battery 2 voltage to ADC voltage. If using e.g. Mauch power modules the value from the datasheet can be applied straight here. A value of -1 means to use the board default.
Reboot required: True
-
-
-
-1.0
-
-
-
-
BAT2_V_EMPTY (FLOAT)
-
Empty cell voltage
Comment: Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
Reboot required: True
-
-
(0.01)
-
3.6
-
V
-
-
-
BAT3_CAPACITY (FLOAT)
-
Battery 3 capacity
Comment: Defines the capacity of battery 3 in mAh.
Reboot required: True
-
-
[-1.0, 100000] (50)
-
-1.0
-
mAh
-
-
-
BAT3_N_CELLS (INT32)
-
Number of cells for battery 3
Comment: Defines the number of cells the attached battery consists of.
Values:
-
0: Unknown
-
1: 1S Battery
-
2: 2S Battery
-
3: 3S Battery
-
4: 4S Battery
-
5: 5S Battery
-
6: 6S Battery
-
7: 7S Battery
-
8: 8S Battery
-
9: 9S Battery
-
10: 10S Battery
-
11: 11S Battery
-
12: 12S Battery
-
13: 13S Battery
-
14: 14S Battery
-
15: 15S Battery
-
16: 16S Battery
-
Reboot required: True
-
-
-
0
-
-
-
-
BAT3_R_INTERNAL (FLOAT)
-
Explicitly defines the per cell internal resistance for battery 3
Comment: If non-negative, then this will be used instead of the online estimated internal resistance.
Reboot required: True
-
-
[-1.0, 0.2] (0.0005)
-
-1.0
-
Ohm
-
-
-
BAT3_SOURCE (INT32)
-
Battery 3 monitoring source
Comment: This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
Values:
-
-1: Disabled
-
0: Power Module
-
1: External
-
2: ESCs
-
Reboot required: True
-
-
-
-1
-
-
-
-
BAT3_V_CHARGED (FLOAT)
-
Full cell voltage
Comment: Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
Reboot required: True
-
-
(0.01)
-
4.05
-
V
-
-
-
BAT3_V_EMPTY (FLOAT)
-
Empty cell voltage
Comment: Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
Reboot required: True
-
-
(0.01)
-
3.6
-
V
-
-
-
BAT_ADC_CHANNEL (INT32)
-
This parameter is deprecated. Please use BAT1_I_CHANNEL
-
-
-1
-
-
-
-
BAT_AVRG_CURRENT (FLOAT)
-
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
-
[0, 500] (0.1)
-
15.0
-
A
-
-
-
BAT_CRIT_THR (FLOAT)
-
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
-
0.07
-
norm
-
-
-
BAT_EMERGEN_THR (FLOAT)
-
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
-
0.05
-
norm
-
-
-
BAT_LOW_THR (FLOAT)
-
Low threshold
Comment: Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.
-
[0.12, 0.5] (0.01)
-
0.15
-
norm
-
-
-
BAT_V_OFFS_CURR (FLOAT)
-
Offset in volt as seen by the ADC input of the current sensor
Comment: This offset will be subtracted before calculating the battery current based on the voltage.
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Camera Capture
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
CAM_CAP_DELAY (FLOAT)
-
Camera strobe delay
Comment: This parameter sets the delay between image integration start and strobe firing
-
[0.0, 100.0]
-
0.0
-
ms
-
-
+### PCA9685_DIS12 (`INT32`) {#PCA9685_DIS12}
-## Camera Control
+PCA9685 Output Channel 12 Disarmed Value.
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
CAM_CAP_EDGE (INT32)
-
Camera capture edge Values:
-
0: Falling edge
-
1: Rising edge
-
Reboot required: true
-
-
-
0
-
-
-
-
CAM_CAP_FBACK (INT32)
-
Camera capture feedback
Comment: Enables camera capture feedback
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
CAM_CAP_MODE (INT32)
-
Camera capture timestamping mode
Comment: Change time measurement
Values:
-
0: Get absolute timestamp
-
1: Get timestamp of mid exposure (active high)
-
2: Get timestamp of mid exposure (active low)
-
Reboot required: true
-
-
-
0
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Camera trigger
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
TRIG_ACT_TIME (FLOAT)
-
Camera trigger activation time
Comment: This parameter sets the time the trigger needs to pulled high or low.
Reboot required: true
-
-
[0.1, 3000]
-
40.0
-
ms
-
-
-
TRIG_DISTANCE (FLOAT)
-
Camera trigger distance
Comment: Sets the distance at which to trigger the camera.
Reboot required: true
-
-
[0, ?] (1)
-
25.0
-
m
-
-
-
TRIG_INTERFACE (INT32)
-
Camera trigger Interface
Comment: Selects the trigger interface
Values:
-
1: GPIO
-
2: Seagull MAP2 (over PWM)
-
3: MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)
-
4: Generic PWM (IR trigger, servo)
-
Reboot required: true
-
-
-
4
-
-
-
-
TRIG_INTERVAL (FLOAT)
-
Camera trigger interval
Comment: This parameter sets the time between two consecutive trigger events
Reboot required: true
-
-
[4.0, 10000.0]
-
40.0
-
ms
-
-
-
TRIG_MIN_INTERVA (FLOAT)
-
Minimum camera trigger interval
Comment: This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.
Reboot required: true
-
-
[1.0, 10000.0]
-
1.0
-
ms
-
-
-
TRIG_MODE (INT32)
-
Camera trigger mode Values:
-
0: Disable
-
1: Time based, on command
-
2: Time based, always on
-
3: Distance based, always on
-
4: Distance based, on command (Survey mode)
-
Reboot required: true
-
-
[0, 4]
-
0
-
-
-
-
TRIG_POLARITY (INT32)
-
Camera trigger polarity
Comment: This parameter sets the polarity of the trigger (0 = active low, 1 = active high )
Comment: Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.
Reboot required: true
-
-
[0, 782097]
-
0
-
-
-
-
CBRK_FLIGHTTERM (INT32)
-
Circuit breaker for flight termination
Comment: Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.
Reboot required: true
-
-
[0, 121212]
-
121212
-
-
-
-
CBRK_IO_SAFETY (INT32)
-
Circuit breaker for IO safety
Comment: Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
-
[0, 22027]
-
22027
-
-
-
-
CBRK_SUPPLY_CHK (INT32)
-
Circuit breaker for power supply check
Comment: Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
-
[0, 894281]
-
0
-
-
-
-
CBRK_USB_CHK (INT32)
-
Circuit breaker for USB link check
Comment: Setting this parameter to 197848 will disable the USB connected 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.
-
[0, 197848]
-
197848
-
-
-
-
CBRK_VTOLARMING (INT32)
-
Circuit breaker for arming in fixed-wing mode check
Comment: Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
-
[0, 159753]
-
0
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Commander
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
COM_ACT_FAIL_ACT (INT32)
-
Set the actuator failure failsafe mode
Comment: Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.
Values:
-
0: Warning only
-
1: Hold mode
-
2: Land mode
-
3: Return mode
-
4: Terminate
-
-
[0, 3]
-
0
-
-
-
-
COM_ARMABLE (INT32)
-
Flag to allow arming
Comment: Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.
Values:
-
0: Disallow arming
-
1: Allow arming
-
-
-
Enabled (1)
-
-
-
-
COM_ARM_AUTH_ID (INT32)
-
Arm authorizer system id
Comment: Used if arm authorization is requested by COM_ARM_AUTH_REQ.
-
-
10
-
-
-
-
COM_ARM_AUTH_MET (INT32)
-
Arm authorization method
Comment: Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.
Values:
-
0: one arm
-
1: two step arm
-
-
-
0
-
-
-
-
COM_ARM_AUTH_REQ (INT32)
-
Require arm authorization to arm
Comment: By default off. The default allows to arm the vehicle without a arm authorization.
-
-
Disabled (0)
-
-
-
-
COM_ARM_AUTH_TO (FLOAT)
-
Arm authorization timeout
Comment: Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.
-
(0.1)
-
1
-
s
-
-
-
COM_ARM_BAT_MIN (FLOAT)
-
Minimum battery level for arming
Comment: Additional battery level check that only allows arming if the state of charge of the emptiest connected battery is above this value. A value of 0 disables the check.
-
[0, 0.9] (0.01)
-
0.
-
norm
-
-
-
COM_ARM_CHK_ESCS (INT32)
-
Enable checks on ESCs that report telemetry
Comment: If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.
-
-
Disabled (0)
-
-
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_HFLT_CHK (INT32)
-
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
-
-
Enabled (1)
-
-
-
-
COM_ARM_IMU_ACC (FLOAT)
-
Maximum accelerometer inconsistency between IMU units that will allow arming
-
[0.1, 1.0] (0.05)
-
0.7
-
m/s^2
-
-
-
COM_ARM_IMU_GYR (FLOAT)
-
Maximum rate gyro inconsistency between IMU units that will allow arming
-
[0.02, 0.3] (0.01)
-
0.25
-
rad/s
-
-
-
COM_ARM_MAG_ANG (INT32)
-
Maximum magnetic field inconsistency between units that will allow arming
Comment: Set -1 to disable the check.
-
[3, 180]
-
60
-
deg
-
-
-
COM_ARM_MAG_STR (INT32)
-
Enable mag strength preflight check
Comment: Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)
Values:
-
0: Disabled
-
1: Deny arming
-
2: Warning only
-
-
-
2
-
-
-
-
COM_ARM_MIS_REQ (INT32)
-
Require valid mission to arm
Comment: The default allows to arm the vehicle without a valid mission.
-
-
Disabled (0)
-
-
-
-
COM_ARM_ODID (INT32)
-
Enable Drone ID system detection and health check
Comment: This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.
Values:
-
0: Disabled
-
1: Warning only
-
2: Enforce Open Drone ID system presence
-
-
-
0
-
-
-
-
COM_ARM_SDCARD (INT32)
-
Enable FMU SD card detection check
Comment: This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.
Values:
-
0: Disabled
-
1: Warning only
-
2: Enforce SD card presence
-
-
-
1
-
-
-
-
COM_ARM_SWISBTN (INT32)
-
Arm switch is a momentary button
Comment: 0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.
-
-
Disabled (0)
-
-
-
-
COM_ARM_WO_GPS (INT32)
-
Allow arming without GPS Values:
-
0: Require GPS lock to arm
-
1: Allow arming without GPS
-
-
-
1
-
-
-
-
COM_CPU_MAX (FLOAT)
-
Maximum allowed CPU load to still arm
Comment: The check fails if the CPU load is above this threshold for 2s. A negative value disables the check.
-
[-1, 100] (1)
-
95.0
-
%
-
-
-
COM_DISARM_LAND (FLOAT)
-
Time-out for auto disarm after landing
Comment: A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.
-
(0.1)
-
2.0
-
s
-
-
-
COM_DISARM_MAN (INT32)
-
Allow disarming via switch/stick/button on multicopters in manual thrust modes
Comment: 0: Disallow disarming when not landed 1: Allow disarming in multicopter flight in modes where the thrust is directly controlled by thr throttle stick e.g. Stabilized, Acro
-
-
Enabled (1)
-
-
-
-
COM_DISARM_PRFLT (FLOAT)
-
Time-out for auto disarm if not taking off
Comment: A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.
-
(0.1)
-
10.0
-
s
-
-
-
COM_DL_LOSS_T (INT32)
-
GCS connection loss time threshold
Comment: After this amount of seconds without datalink, the GCS connection lost mode triggers
-
[5, 300] (1)
-
10
-
s
-
-
-
COM_FAIL_ACT_T (FLOAT)
-
Delay between failsafe condition triggered and failsafe reaction
Comment: Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control via the stick override feature (see COM_RC_OVERRIDE). Afterwards the configured failsafe action is triggered and the user may use stick override. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).
-
[0.0, 25.0]
-
5.
-
s
-
-
-
COM_FLIGHT_UUID (INT32)
-
Next flight UUID
Comment: This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.
-
[0, ?]
-
0
-
-
-
-
COM_FLTMODE1 (INT32)
-
Mode slot 1
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTMODE2 (INT32)
-
Mode slot 2
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTMODE3 (INT32)
-
Mode slot 3
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTMODE4 (INT32)
-
Mode slot 4
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTMODE5 (INT32)
-
Mode slot 5
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTMODE6 (INT32)
-
Mode slot 6
Comment: If the main switch channel is in this range the selected flight mode will be applied.
Values:
-
-1: Unassigned
-
0: Manual
-
1: Altitude
-
2: Position
-
3: Mission
-
4: Hold
-
5: Return
-
6: Acro
-
7: Offboard
-
8: Stabilized
-
9: Position Slow
-
10: Takeoff
-
11: Land
-
12: Follow Me
-
13: Precision Land
-
100: External Mode 1
-
101: External Mode 2
-
102: External Mode 3
-
103: External Mode 4
-
104: External Mode 5
-
105: External Mode 6
-
106: External Mode 7
-
107: External Mode 8
-
-
-
-1
-
-
-
-
COM_FLTT_LOW_ACT (INT32)
-
Remaining flight time low failsafe
Comment: Action the system takes when the remaining flight time is below the estimated time it takes to reach the RTL destination.
Values:
-
0: None
-
1: Warning
-
3: Return
-
-
(1)
-
3
-
-
-
-
COM_FLT_PROFILE (INT32)
-
User Flight Profile
Comment: Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).
Values:
-
0: Default
-
100: Pro User
-
200: Flight Tester
-
300: Developer
-
-
-
0
-
-
-
-
COM_FLT_TIME_MAX (INT32)
-
Maximum allowed flight time
Comment: The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.
-
[-1, ?]
-
-1
-
s
-
-
-
COM_FORCE_SAFETY (INT32)
-
Enable force safety
Comment: Force safety when the vehicle disarms
-
-
Disabled (0)
-
-
-
-
COM_HLDL_LOSS_T (INT32)
-
High Latency Datalink loss time threshold
Comment: After this amount of seconds without datalink the data link lost mode triggers
-
[60, 3600]
-
120
-
s
-
-
-
COM_HLDL_REG_T (INT32)
-
High Latency Datalink regain time threshold
Comment: After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false
-
[0, 60]
-
0
-
s
-
-
-
COM_HOME_EN (INT32)
-
Home position enabled
Comment: Set home position automatically if possible.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
COM_HOME_IN_AIR (INT32)
-
Allows setting the home position after takeoff
Comment: If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.
-
-
Disabled (0)
-
-
-
-
COM_IMB_PROP_ACT (INT32)
-
Imbalanced propeller failsafe mode
Comment: Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.
Values:
-
-1: Disabled
-
0: Warning
-
1: Return
-
2: Land
-
-
(1)
-
0
-
-
-
-
COM_KILL_DISARM (FLOAT)
-
Timeout value for disarming when kill switch is engaged
-
[0.0, 30.0] (0.1)
-
5.0
-
s
-
-
-
COM_LKDOWN_TKO (FLOAT)
-
Timeout for detecting a failure after takeoff
Comment: A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.
-
[-1.0, 5.0]
-
3.0
-
s
-
-
-
COM_LOW_BAT_ACT (INT32)
-
Battery failsafe mode
Comment: Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.
Values:
-
0: Warning
-
2: Land mode
-
3: Return at critical level, land at emergency level
-
-
-
0
-
-
-
-
COM_MODE0_HASH (INT32)
-
External mode identifier 0
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE1_HASH (INT32)
-
External mode identifier 1
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE2_HASH (INT32)
-
External mode identifier 2
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE3_HASH (INT32)
-
External mode identifier 3
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE4_HASH (INT32)
-
External mode identifier 4
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE5_HASH (INT32)
-
External mode identifier 5
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE6_HASH (INT32)
-
External mode identifier 6
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MODE7_HASH (INT32)
-
External mode identifier 7
Comment: This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
-
-
0
-
-
-
-
COM_MOT_TEST_EN (INT32)
-
Enable Actuator Testing
Comment: If set, enables the actuator test interface via MAVLink (ACTUATOR_TEST), that allows spinning the motors and moving the servos for testing purposes.
-
-
Enabled (1)
-
-
-
-
COM_OBC_LOSS_T (FLOAT)
-
Time-out to wait when onboard computer connection is lost before warning about loss connection
-
[0, 60] (0.01)
-
5.0
-
s
-
-
-
COM_OBL_RC_ACT (INT32)
-
Set offboard loss failsafe mode
Comment: The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.
Values:
-
0: Position mode
-
1: Altitude mode
-
2: Manual
-
3: Return mode
-
4: Land mode
-
5: Hold mode
-
6: Terminate
-
7: Disarm
-
-
-
0
-
-
-
-
COM_OBS_AVOID (INT32)
-
Flag to enable obstacle avoidance
-
-
Disabled (0)
-
-
-
-
COM_OF_LOSS_T (FLOAT)
-
Time-out to wait when offboard connection is lost before triggering offboard lost action
Comment: See COM_OBL_RC_ACT to configure action.
-
[0, 60] (0.01)
-
1.0
-
s
-
-
-
COM_PARACHUTE (INT32)
-
Expect and require a healthy MAVLink parachute system
-
-
Disabled (0)
-
-
-
-
COM_POSCTL_NAVL (INT32)
-
Position control navigation loss response
Comment: This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.
Values:
-
0: Altitude/Manual
-
1: Land/Descend
-
-
-
0
-
-
-
-
COM_POS_FS_DELAY (INT32)
-
Loss of position failsafe activation delay
Comment: This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.
-
[1, 100]
-
1
-
s
-
-
-
COM_POS_FS_EPH (FLOAT)
-
Horizontal position error threshold
Comment: This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation). Set to -1 to disable.
-
[-1, 400]
-
5.
-
m
-
-
-
COM_POS_LOW_EPH (FLOAT)
-
EPH threshold for RTL
Comment: Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.
-
[-1, 1000]
-
-1.0
-
m
-
-
-
COM_POWER_COUNT (INT32)
-
Required number of redundant power modules
Comment: This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.
-
[0, 4]
-
1
-
-
-
-
COM_PREARM_MODE (INT32)
-
Condition to enter prearmed mode
Comment: Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.
Values:
-
0: Disabled
-
1: Safety button
-
2: Always
-
-
-
0
-
-
-
-
COM_QC_ACT (INT32)
-
Set command after a quadchute Values:
-
-1: Warning only
-
0: Return mode
-
1: Land mode
-
2: Hold mode
-
-
-
0
-
-
-
-
COM_RAM_MAX (FLOAT)
-
Maximum allowed RAM usage to pass checks
Comment: The check fails if the RAM usage is above this threshold. A negative value disables the check.
-
[-1, 100] (1)
-
95.0
-
%
-
-
-
COM_RCL_EXCEPT (INT32)
-
RC loss exceptions
Comment: Specify modes in which RC loss is ignored and the failsafe action not triggered.
Bitmask:
0: Mission
-
1: Hold
-
2: Offboard
-
-
-
[0, 31]
-
0
-
-
-
-
COM_RC_ARM_HYST (INT32)
-
RC input arm/disarm command duration
Comment: The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.
-
[100, 1500]
-
1000
-
ms
-
-
-
COM_RC_IN_MODE (INT32)
-
RC control input mode
Comment: A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.
Values:
-
0: RC Transmitter only
-
1: Joystick only
-
2: RC and Joystick with fallback
-
3: RC or Joystick keep first
-
4: Stick input disabled
-
-
[0, 4]
-
3
-
-
-
-
COM_RC_LOSS_T (FLOAT)
-
Manual control loss timeout
Comment: The time in seconds without a new setpoint from RC or Joystick, after which the connection is considered lost. This must be kept short as the vehicle will use the last supplied setpoint until the timeout triggers.
-
[0, 35] (0.1)
-
0.5
-
s
-
-
-
COM_RC_OVERRIDE (INT32)
-
Enable RC stick override of auto and/or offboard modes
Comment: When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode.
Bitmask:
0: Enable override during auto modes (except for in critical battery reaction)
-
1: Enable override during offboard mode
-
-
-
[0, 3]
-
1
-
-
-
-
COM_RC_STICK_OV (FLOAT)
-
RC stick override threshold
Comment: If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.
-
[5, 80] (0.05)
-
30.0
-
%
-
-
-
COM_SPOOLUP_TIME (FLOAT)
-
Enforced delay between arming and further navigation
Comment: The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground
-
[0, 30] (0.1)
-
1.0
-
s
-
-
-
COM_TAKEOFF_ACT (INT32)
-
Action after TAKEOFF has been accepted
Comment: The mode transition after TAKEOFF has completed successfully.
Values:
-
0: Hold
-
1: Mission (if valid)
-
-
-
0
-
-
-
-
COM_THROW_EN (INT32)
-
Enable throw-start
Comment: Allows to start the vehicle by throwing it into the air.
-
-
Disabled (0)
-
-
-
-
COM_THROW_SPEED (FLOAT)
-
Minimum speed for the throw start
Comment: When the throw launch is enabled, the drone will only arm after this speed is exceeded before detecting the freefall. This is a safety feature to ensure the drone does not turn on after accidental drop or a rapid movement before the throw. Set to 0 to disable.
-
[0, ?] (0.1)
-
5
-
m/s
-
-
-
COM_VEL_FS_EVH (FLOAT)
-
Horizontal velocity error threshold
Comment: This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).
-
[0, ?]
-
1.
-
m/s
-
-
-
COM_WIND_MAX (FLOAT)
-
High wind speed failsafe threshold
Comment: Wind speed threshold above which an automatic failsafe action is triggered. Failsafe action can be specified with COM_WIND_MAX_ACT.
-
[-1, ?] (0.1)
-
-1.
-
m/s
-
-
-
COM_WIND_MAX_ACT (INT32)
-
High wind failsafe mode
Comment: Action the system takes when a wind speed above the specified threshold is detected. See COM_WIND_MAX to set the failsafe threshold. If enabled, it is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible.
Values:
-
0: None
-
1: Warning
-
2: Hold
-
3: Return
-
4: Terminate
-
5: Land
-
-
(1)
-
0
-
-
-
-
COM_WIND_WARN (FLOAT)
-
Wind speed warning threshold
Comment: A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.
-
[-1, ?] (0.1)
-
-1.
-
m/s
-
-
-
NAV_DLL_ACT (INT32)
-
Set GCS connection loss failsafe mode
Comment: The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.
Values:
-
0: Disabled
-
1: Hold mode
-
2: Return mode
-
3: Land mode
-
5: Terminate
-
6: Disarm
-
-
[0, 6]
-
0
-
-
-
-
NAV_RCL_ACT (INT32)
-
Set RC loss failsafe mode
Comment: The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.
Comment: Read the specs at http://uavcan.org to learn more about Node ID.
Reboot required: true
-
-
[-1, 125]
-
1
-
-
-
-
UCAN1_ACTR_PUB (INT32)
-
actuator_outputs uORB over Cyphal publication port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_BMS_BP_SUB (INT32)
-
UDRAL battery parameters subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_BMS_BS_SUB (INT32)
-
UDRAL battery status subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_BMS_ES_SUB (INT32)
-
UDRAL battery energy source subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_ESC0_SUB (INT32)
-
ESC 0 subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_ESC_PUB (INT32)
-
Cyphal ESC publication port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB0_SUB (INT32)
-
Cyphal ESC 0 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB1_SUB (INT32)
-
Cyphal ESC 1 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB2_SUB (INT32)
-
Cyphal ESC 2 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB3_SUB (INT32)
-
Cyphal ESC 3 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB4_SUB (INT32)
-
Cyphal ESC 4 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB5_SUB (INT32)
-
Cyphal ESC 5 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB6_SUB (INT32)
-
Cyphal ESC 6 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_FB7_SUB (INT32)
-
Cyphal ESC 7 zubax feedback port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_GPS0_SUB (INT32)
-
GPS 0 subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_GPS1_SUB (INT32)
-
GPS 1 subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_GPS_PUB (INT32)
-
Cyphal GPS publication port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_LG_BMS_SUB (INT32)
-
Cyphal legacy battery port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_READ_PUB (INT32)
-
Cyphal ESC readiness port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_SERVO_PUB (INT32)
-
Cyphal Servo publication port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_UORB_GPS (INT32)
-
sensor_gps uORB over Cyphal subscription port ID
-
[-1, 6143]
-
-1
-
-
-
-
UCAN1_UORB_GPS_P (INT32)
-
sensor_gps uORB over Cyphal publication port ID
-
[-1, 6143]
-
-1
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## DShot
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
DSHOT_3D_DEAD_H (INT32)
-
DSHOT 3D deadband high
Comment: When the actuator_output is between DSHOT_3D_DEAD_L and DSHOT_3D_DEAD_H, motor will not spin. This value is with respect to the mixer_module range (0-1999), not the DSHOT values.
-
[1000, 1999]
-
1000
-
-
-
-
DSHOT_3D_DEAD_L (INT32)
-
DSHOT 3D deadband low
Comment: When the actuator_output is between DSHOT_3D_DEAD_L and DSHOT_3D_DEAD_H, motor will not spin. This value is with respect to the mixer_module range (0-1999), not the DSHOT values.
-
[0, 1000]
-
1000
-
-
-
-
DSHOT_3D_ENABLE (INT32)
-
Allows for 3d mode when using DShot and suitable mixer
Comment: WARNING: ESC must be configured for 3D mode, and DSHOT_MIN set to 0. This splits the throttle ranges in two. Direction 1) 48 is the slowest, 1047 is the fastest. Direction 2) 1049 is the slowest, 2047 is the fastest. When mixer outputs 1000 or value inside DSHOT 3D deadband, DShot 0 is sent.
-
-
Disabled (0)
-
-
-
-
DSHOT_BIDIR_EN (INT32)
-
Enable bidirectional DShot
Comment: This parameter enables bidirectional DShot which provides RPM feedback. Note that this requires ESCs that support bidirectional DSHot, e.g. BlHeli32. This is not the same as DShot telemetry which requires an additional serial connection.
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
DSHOT_MIN (FLOAT)
-
Minimum DShot Motor Output
Comment: Minimum Output Value for DShot in percent. The value depends on the ESC. Make sure to set this high enough so that the motors are always spinning while armed.
-
[0, 1] (0.01)
-
0.055
-
%
-
-
-
DSHOT_TEL_CFG (INT32)
-
Serial Configuration for DShot Driver
Comment: Configure on which serial port to run DShot Driver.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
MOT_POLE_COUNT (INT32)
-
Number of magnetic poles of the motors
Comment: Specify the number of magnetic poles of the motors. It is required to compute the RPM value from the eRPM returned with the ESC telemetry. Either get the number from the motor spec sheet or count the magnets on the bell of the motor (not the stator magnets). Typical motors for 5 inch props have 14 poles.
Maximum IMU accel magnitude that allows IMU bias learning
Comment: If the magnitude of the IMU accelerometer vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the accel bias estimates.
-
[20.0, 200.0]
-
25.0
-
m/s^2
-
-
-
EKF2_ABL_GYRLIM (FLOAT)
-
Maximum IMU gyro angular rate magnitude that allows IMU bias learning
Comment: If the magnitude of the IMU angular rate vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the accel bias estimates.
-
[2.0, 20.0]
-
3.0
-
rad/s
-
-
-
EKF2_ABL_LIM (FLOAT)
-
Accelerometer bias learning limit
Comment: The ekf accel bias states will be limited to within a range equivalent to +- of this value.
-
[0.0, 0.8]
-
0.4
-
m/s^2
-
-
-
EKF2_ABL_TAU (FLOAT)
-
Accel bias learning inhibit time constant
Comment: The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.
-
[0.1, 1.0]
-
0.5
-
s
-
-
-
EKF2_ACC_B_NOISE (FLOAT)
-
Process noise for IMU accelerometer bias prediction
-
[0.0, 0.01]
-
0.003
-
m/s^3
-
-
-
EKF2_ACC_NOISE (FLOAT)
-
Accelerometer noise for covariance prediction
-
[0.01, 1.0]
-
0.35
-
m/s^2
-
-
-
EKF2_AGP_CTRL (INT32)
-
Aux global position (AGP) sensor aiding
Comment: Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion
Bitmask:
0: Horizontal position
-
1: Vertical position
-
-
-
[0, 3]
-
0
-
-
-
-
EKF2_AGP_DELAY (FLOAT)
-
Aux global position estimator delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
0
-
ms
-
-
-
EKF2_AGP_GATE (FLOAT)
-
Gate size for aux global position fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
3.0
-
SD
-
-
-
EKF2_AGP_NOISE (FLOAT)
-
Measurement noise for aux global position measurements
Comment: Used to lower bound or replace the uncertainty included in the message
-
[0.01, ?]
-
0.9
-
m
-
-
-
EKF2_ANGERR_INIT (FLOAT)
-
1-sigma tilt angle uncertainty after gravity vector alignment
Reboot required: True
-
-
[0.0, 0.5]
-
0.1
-
rad
-
-
-
EKF2_ARSP_THR (FLOAT)
-
Airspeed fusion threshold
Comment: Airspeed data is fused for wind estimation if above this threshold. Set to 0 to disable airspeed fusion. For reliable wind estimation both sideslip (see EKF2_FUSE_BETA) and airspeed fusion should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode).
-
[0.0, ?]
-
0.0
-
m/s
-
-
-
EKF2_ASPD_MAX (FLOAT)
-
Maximum airspeed used for baro static pressure compensation
-
[5.0, 50.0]
-
20.0
-
m/s
-
-
-
EKF2_ASP_DELAY (FLOAT)
-
Airspeed measurement delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
100
-
ms
-
-
-
EKF2_AVEL_DELAY (FLOAT)
-
Auxiliary Velocity Estimate delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
5
-
ms
-
-
-
EKF2_BARO_CTRL (INT32)
-
Barometric sensor height aiding
Comment: If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).
-
-
Enabled (1)
-
-
-
-
EKF2_BARO_DELAY (FLOAT)
-
Barometer measurement delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
0
-
ms
-
-
-
EKF2_BARO_GATE (FLOAT)
-
Gate size for barometric and GPS height fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_BARO_NOISE (FLOAT)
-
Measurement noise for barometric altitude
-
[0.01, 15.0]
-
3.5
-
m
-
-
-
EKF2_BCOEF_X (FLOAT)
-
X-axis ballistic coefficient used for multi-rotor wind estimation
Comment: This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.
-
[0.0, 200.0]
-
100.0
-
kg/m^2
-
-
-
EKF2_BCOEF_Y (FLOAT)
-
Y-axis ballistic coefficient used for multi-rotor wind estimation
Comment: This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.
-
[0.0, 200.0]
-
100.0
-
kg/m^2
-
-
-
EKF2_BETA_GATE (FLOAT)
-
Gate size for synthetic sideslip fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_BETA_NOISE (FLOAT)
-
Noise for synthetic sideslip fusion
-
[0.1, 1.0]
-
0.3
-
m/s
-
-
-
EKF2_DECL_TYPE (INT32)
-
Integer bitmask controlling handling of magnetic declination
Comment: Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms.
Bitmask:
0: use geo_lookup declination
-
1: save EKF2_MAG_DECL on disarm
-
-
Reboot required: True
-
-
[0, 3]
-
3
-
-
-
-
EKF2_DELAY_MAX (FLOAT)
-
Maximum delay of all the aiding sensors
Comment: Defines the delay between the current time and the delayed-time horizon. This value should be at least as large as the largest EKF2_XXX_DELAY parameter.
Reboot required: True
-
-
[0, 1000]
-
200
-
ms
-
-
-
EKF2_DRAG_CTRL (INT32)
-
Multirotor wind estimation selection
Comment: Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.
-
-
Disabled (0)
-
-
-
-
EKF2_DRAG_NOISE (FLOAT)
-
Specific drag force observation noise variance
Comment: Used by the multi-rotor specific drag force model. Increasing this makes the multi-rotor wind estimates adjust more slowly.
-
[0.5, 10.0]
-
2.5
-
(m/s^2)^2
-
-
-
EKF2_EAS_NOISE (FLOAT)
-
Measurement noise for airspeed fusion
-
[0.5, 5.0]
-
1.4
-
m/s
-
-
-
EKF2_EN (INT32)
-
EKF2 enable
-
-
Enabled (1)
-
-
-
-
EKF2_EVA_NOISE (FLOAT)
-
Measurement noise for vision angle measurements
Comment: Used to lower bound or replace the uncertainty included in the message
-
[0.05, ?]
-
0.1
-
rad
-
-
-
EKF2_EVP_GATE (FLOAT)
-
Gate size for vision position fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_EVP_NOISE (FLOAT)
-
Measurement noise for vision position measurements
Comment: Used to lower bound or replace the uncertainty included in the message
-
[0.01, ?]
-
0.1
-
m
-
-
-
EKF2_EVV_GATE (FLOAT)
-
Gate size for vision velocity estimate fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
3.0
-
SD
-
-
-
EKF2_EVV_NOISE (FLOAT)
-
Measurement noise for vision velocity measurements
Comment: Used to lower bound or replace the uncertainty included in the message
-
[0.01, ?]
-
0.1
-
m/s
-
-
-
EKF2_EV_CTRL (INT32)
-
External vision (EV) sensor aiding
Comment: Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw
Bitmask:
0: Horizontal position
-
1: Vertical position
-
2: 3D velocity
-
3: Yaw
-
-
-
[0, 15]
-
0
-
-
-
-
EKF2_EV_DELAY (FLOAT)
-
Vision Position Estimator delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
0
-
ms
-
-
-
EKF2_EV_NOISE_MD (INT32)
-
External vision (EV) noise mode
Comment: If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,
Values:
-
0: EV reported variance (parameter lower bound)
-
1: EV noise parameters
-
-
-
0
-
-
-
-
EKF2_EV_POS_X (FLOAT)
-
X position of VI sensor focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_EV_POS_Y (FLOAT)
-
Y position of VI sensor focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_EV_POS_Z (FLOAT)
-
Z position of VI sensor focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_EV_QMIN (INT32)
-
External vision (EV) minimum quality (optional)
Comment: External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.
-
[0, 100]
-
0
-
-
-
-
EKF2_FUSE_BETA (INT32)
-
Enable synthetic sideslip fusion
Comment: For reliable wind estimation both sideslip and airspeed fusion (see EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported for tailsitters.
-
-
Disabled (0)
-
-
-
-
EKF2_GBIAS_INIT (FLOAT)
-
1-sigma IMU gyro switch-on bias
Reboot required: True
-
-
[0.0, 0.2]
-
0.1
-
rad/s
-
-
-
EKF2_GND_EFF_DZ (FLOAT)
-
Baro deadzone range for height fusion
Comment: Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ > 0.
-
[0.0, 10.0]
-
4.0
-
m
-
-
-
EKF2_GND_MAX_HGT (FLOAT)
-
Height above ground level for ground effect zone
Comment: Sets the maximum distance to the ground level where negative baro innovations are expected.
-
[0.0, 5.0]
-
0.5
-
m
-
-
-
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
-
-
-
[0, 511]
-
245
-
-
-
-
EKF2_GPS_CTRL (INT32)
-
GNSS sensor aiding
Comment: Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion
Bitmask:
0: Lon/lat
-
1: Altitude
-
2: 3D velocity
-
3: Dual antenna heading
-
-
-
[0, 15]
-
7
-
-
-
-
EKF2_GPS_DELAY (FLOAT)
-
GPS measurement delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
110
-
ms
-
-
-
EKF2_GPS_POS_X (FLOAT)
-
X position of GPS antenna in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_GPS_POS_Y (FLOAT)
-
Y position of GPS antenna in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_GPS_POS_Z (FLOAT)
-
Z position of GPS antenna in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_GPS_P_GATE (FLOAT)
-
Gate size for GNSS position fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_GPS_P_NOISE (FLOAT)
-
Measurement noise for GNSS position
-
[0.01, 10.0]
-
0.5
-
m
-
-
-
EKF2_GPS_V_GATE (FLOAT)
-
Gate size for GNSS velocity fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_GPS_V_NOISE (FLOAT)
-
Measurement noise for GNSS velocity
-
[0.01, 5.0]
-
0.3
-
m/s
-
-
-
EKF2_GRAV_NOISE (FLOAT)
-
Accelerometer measurement noise for gravity based observations
-
[0.1, 10.0]
-
1.0
-
g0
-
-
-
EKF2_GSF_TAS (FLOAT)
-
Default value of true airspeed used in EKF-GSF AHRS calculation
Comment: If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.
-
[0.0, 100.0]
-
15.0
-
m/s
-
-
-
EKF2_GYR_B_LIM (FLOAT)
-
Gyro bias learning limit
Comment: The ekf gyro bias states will be limited to within a range equivalent to +- of this value.
-
[0.0, 0.4]
-
0.15
-
rad/s
-
-
-
EKF2_GYR_B_NOISE (FLOAT)
-
Process noise for IMU rate gyro bias prediction
-
[0.0, 0.01]
-
0.001
-
rad/s^2
-
-
-
EKF2_GYR_NOISE (FLOAT)
-
Rate gyro noise for covariance prediction
-
[0.0001, 0.1]
-
0.015
-
rad/s
-
-
-
EKF2_HDG_GATE (FLOAT)
-
Gate size for heading fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
2.6
-
SD
-
-
-
EKF2_HEAD_NOISE (FLOAT)
-
Measurement noise for magnetic heading fusion
-
[0.01, 1.0]
-
0.3
-
rad
-
-
-
EKF2_HGT_REF (INT32)
-
Determines the reference source of height data used by the EKF
Comment: When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.
Values:
-
0: Barometric pressure
-
1: GPS
-
2: Range sensor
-
3: Vision
-
Reboot required: True
-
-
-
1
-
-
-
-
EKF2_IMU_CTRL (INT32)
-
IMU control Bitmask:
0: Gyro Bias
-
1: Accel Bias
-
2: Gravity vector fusion
-
-
-
[0, 7]
-
7
-
-
-
-
EKF2_IMU_POS_X (FLOAT)
-
X position of IMU in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_IMU_POS_Y (FLOAT)
-
Y position of IMU in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_IMU_POS_Z (FLOAT)
-
Z position of IMU in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_LOG_VERBOSE (INT32)
-
Verbose logging
-
-
Enabled (1)
-
-
-
-
EKF2_MAG_ACCLIM (FLOAT)
-
Horizontal acceleration threshold used for heading observability check
Comment: The heading is assumed to be observable when the body acceleration is greater than this parameter when a global position/velocity aiding source is active.
-
[0.0, 5.0]
-
0.5
-
m/s^2
-
-
-
EKF2_MAG_B_NOISE (FLOAT)
-
Process noise for body magnetic field prediction
-
[0.0, 0.1]
-
0.0001
-
gauss/s
-
-
-
EKF2_MAG_CHECK (INT32)
-
Magnetic field strength test selection
Comment: Bitmask to set which check is used to decide whether the magnetometer data is valid. If GNSS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance. Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Magnetic field strength. Set tolerance using EKF2_MAG_CHK_STR 1 : Magnetic field inclination. Set tolerance using EKF2_MAG_CHK_INC 2 : Wait for GNSS to find the theoretical strength and inclination using the WMM
Bitmask:
0: Strength (EKF2_MAG_CHK_STR)
-
1: Inclination (EKF2_MAG_CHK_INC)
-
2: Wait for WMM
-
-
-
[0, 7]
-
1
-
-
-
-
EKF2_MAG_CHK_INC (FLOAT)
-
Magnetic field inclination check tolerance
Comment: Maximum allowed deviation from the expected magnetic field inclination to pass the check.
-
[0.0, 90.0]
-
20.0
-
deg
-
-
-
EKF2_MAG_CHK_STR (FLOAT)
-
Magnetic field strength check tolerance
Comment: Maximum allowed deviation from the expected magnetic field strength to pass the check.
-
[0.0, 1.0]
-
0.2
-
gauss
-
-
-
EKF2_MAG_DECL (FLOAT)
-
Magnetic declination
-
-
0
-
deg
-
-
-
EKF2_MAG_DELAY (FLOAT)
-
Magnetometer measurement delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
0
-
ms
-
-
-
EKF2_MAG_E_NOISE (FLOAT)
-
Process noise for earth magnetic field prediction
-
[0.0, 0.1]
-
0.001
-
gauss/s
-
-
-
EKF2_MAG_GATE (FLOAT)
-
Gate size for magnetometer XYZ component fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
3.0
-
SD
-
-
-
EKF2_MAG_NOISE (FLOAT)
-
Measurement noise for magnetometer 3-axis fusion
-
[0.001, 1.0]
-
0.05
-
gauss
-
-
-
EKF2_MAG_TYPE (INT32)
-
Type of magnetometer fusion
Comment: Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GNSS velocity measurements to align the yaw angle. If set to 'Init' the magnetometer is only used to initalize the heading.
Values:
-
0: Automatic
-
1: Magnetic heading
-
5: None
-
6: Init
-
Reboot required: True
-
-
-
0
-
-
-
-
EKF2_MCOEF (FLOAT)
-
Propeller momentum drag coefficient for multi-rotor wind estimation
Comment: This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.
-
[0, 1.0]
-
0.15
-
1/s
-
-
-
EKF2_MIN_RNG (FLOAT)
-
Expected range finder reading when on ground
Comment: If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.
-
[0.01, ?]
-
0.1
-
m
-
-
-
EKF2_MULTI_IMU (INT32)
-
Multi-EKF IMUs
Comment: Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.
Reboot required: True
-
-
[0, 4]
-
0
-
-
-
-
EKF2_MULTI_MAG (INT32)
-
Multi-EKF Magnetometers
Comment: Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.
Reboot required: True
-
-
[0, 4]
-
0
-
-
-
-
EKF2_NOAID_NOISE (FLOAT)
-
Measurement noise for non-aiding position hold
-
[0.5, 50.0]
-
10.0
-
m
-
-
-
EKF2_NOAID_TOUT (INT32)
-
Maximum inertial dead-reckoning time
Comment: Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid
-
[500000, 10000000]
-
5000000
-
us
-
-
-
EKF2_OF_CTRL (INT32)
-
Optical flow aiding
Comment: Enable optical flow fusion.
-
-
Disabled (0)
-
-
-
-
EKF2_OF_DELAY (FLOAT)
-
Optical flow measurement delay relative to IMU measurements
Comment: Assumes measurement is timestamped at trailing edge of integration period
Reboot required: True
-
-
[0, 300]
-
20
-
ms
-
-
-
EKF2_OF_GATE (FLOAT)
-
Gate size for optical flow fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
3.0
-
SD
-
-
-
EKF2_OF_N_MAX (FLOAT)
-
Optical flow maximum noise
Comment: Measurement noise for the optical flow sensor when it's reported quality metric is at the minimum
-
[0.05, ?]
-
0.5
-
rad/s
-
-
-
EKF2_OF_N_MIN (FLOAT)
-
Optical flow minimum noise
Comment: Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum
-
[0.05, ?]
-
0.15
-
rad/s
-
-
-
EKF2_OF_POS_X (FLOAT)
-
X position of optical flow focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_OF_POS_Y (FLOAT)
-
Y position of optical flow focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_OF_POS_Z (FLOAT)
-
Z position of optical flow focal point in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_OF_QMIN (INT32)
-
In air optical flow minimum quality
Comment: Optical Flow data will only be used in air if the sensor reports a quality metric >= EKF2_OF_QMIN
-
[0, 255]
-
1
-
-
-
-
EKF2_OF_QMIN_GND (INT32)
-
On ground optical flow minimum quality
Comment: Optical Flow data will only be used on the ground if the sensor reports a quality metric >= EKF2_OF_QMIN_GND
-
[0, 255]
-
0
-
-
-
-
EKF2_PCOEF_XN (FLOAT)
-
Static pressure position error coefficient for the negative X axis
Comment: This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.
-
[-0.5, 0.5]
-
0.0
-
-
-
-
EKF2_PCOEF_XP (FLOAT)
-
Static pressure position error coefficient for the positive X axis
Comment: This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.
-
[-0.5, 0.5]
-
0.0
-
-
-
-
EKF2_PCOEF_YN (FLOAT)
-
Pressure position error coefficient for the negative Y axis
Comment: This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.
-
[-0.5, 0.5]
-
0.0
-
-
-
-
EKF2_PCOEF_YP (FLOAT)
-
Pressure position error coefficient for the positive Y axis
Comment: This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.
-
[-0.5, 0.5]
-
0.0
-
-
-
-
EKF2_PCOEF_Z (FLOAT)
-
Static pressure position error coefficient for the Z axis
Comment: This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.
-
[-0.5, 0.5]
-
0.0
-
-
-
-
EKF2_PREDICT_US (INT32)
-
EKF prediction period
Comment: EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.
-
[1000, 20000]
-
10000
-
us
-
-
-
EKF2_REQ_EPH (FLOAT)
-
Required EPH to use GPS
-
[2, 100]
-
3.0
-
m
-
-
-
EKF2_REQ_EPV (FLOAT)
-
Required EPV to use GPS
-
[2, 100]
-
5.0
-
m
-
-
-
EKF2_REQ_GPS_H (FLOAT)
-
Required GPS health time on startup
Comment: Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.
Reboot required: True
-
-
[0.1, ?]
-
10.0
-
s
-
-
-
EKF2_REQ_HDRIFT (FLOAT)
-
Maximum horizontal drift speed to use GPS
-
[0.1, 1.0]
-
0.1
-
m/s
-
-
-
EKF2_REQ_NSATS (INT32)
-
Required satellite count to use GPS
-
[4, 12]
-
6
-
-
-
-
EKF2_REQ_PDOP (FLOAT)
-
Maximum PDOP to use GPS
-
[1.5, 5.0]
-
2.5
-
-
-
-
EKF2_REQ_SACC (FLOAT)
-
Required speed accuracy to use GPS
-
[0.5, 5.0]
-
0.5
-
m/s
-
-
-
EKF2_REQ_VDRIFT (FLOAT)
-
Maximum vertical drift speed to use GPS
-
[0.1, 1.5]
-
0.2
-
m/s
-
-
-
EKF2_RNG_A_HMAX (FLOAT)
-
Maximum height above ground allowed for conditional range aid mode
Comment: If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).
-
[1.0, 10.0]
-
5.0
-
m
-
-
-
EKF2_RNG_A_IGATE (FLOAT)
-
Gate size used for innovation consistency checks for range aid fusion
Comment: A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode
-
[0.1, 5.0]
-
1.0
-
SD
-
-
-
EKF2_RNG_A_VMAX (FLOAT)
-
Maximum horizontal velocity allowed for conditional range aid mode
Comment: If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).
-
[0.1, 2]
-
1.0
-
m/s
-
-
-
EKF2_RNG_CTRL (INT32)
-
Range sensor height aiding
Comment: WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in "conditional" mode. Conditional mode: This enables the range finder to be used during low speed (< EKF2_RNG_A_VMAX) and low altitude (< EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.
Values:
-
0: Disable range fusion
-
1: Enabled (conditional mode)
-
2: Enabled
-
-
-
1
-
-
-
-
EKF2_RNG_DELAY (FLOAT)
-
Range finder measurement delay relative to IMU measurements
Reboot required: True
-
-
[0, 300]
-
5
-
ms
-
-
-
EKF2_RNG_GATE (FLOAT)
-
Gate size for range finder fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_RNG_K_GATE (FLOAT)
-
Gate size used for range finder kinematic consistency check
Comment: To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.
-
[0.1, 5.0]
-
1.0
-
SD
-
-
-
EKF2_RNG_NOISE (FLOAT)
-
Measurement noise for range finder fusion
-
[0.01, ?]
-
0.1
-
m
-
-
-
EKF2_RNG_PITCH (FLOAT)
-
Range sensor pitch offset
-
[-0.75, 0.75]
-
0.0
-
rad
-
-
-
EKF2_RNG_POS_X (FLOAT)
-
X position of range finder origin in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_RNG_POS_Y (FLOAT)
-
Y position of range finder origin in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_RNG_POS_Z (FLOAT)
-
Z position of range finder origin in body frame
Comment: Forward axis with origin relative to vehicle centre of gravity
-
-
0.0
-
m
-
-
-
EKF2_RNG_QLTY_T (FLOAT)
-
Minumum range validity period
Comment: Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)
-
[0.1, 5]
-
1.0
-
s
-
-
-
EKF2_RNG_SFE (FLOAT)
-
Range finder range dependent noise scaler
Comment: Specifies the increase in range finder noise with range.
-
[0.0, 0.2]
-
0.05
-
m/m
-
-
-
EKF2_SEL_ERR_RED (FLOAT)
-
Selector error reduce threshold
Comment: EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.
-
-
0.2
-
-
-
-
EKF2_SEL_IMU_ACC (FLOAT)
-
Selector acceleration threshold
Comment: EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.
-
-
1.0
-
m/s^2
-
-
-
EKF2_SEL_IMU_ANG (FLOAT)
-
Selector angular threshold
Comment: EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.
-
-
15.0
-
deg
-
-
-
EKF2_SEL_IMU_RAT (FLOAT)
-
Selector angular rate threshold
Comment: EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.
-
-
7.0
-
deg/s
-
-
-
EKF2_SEL_IMU_VEL (FLOAT)
-
Selector angular threshold
Comment: EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.
-
-
2.0
-
m/s
-
-
-
EKF2_SYNT_MAG_Z (INT32)
-
Enable synthetic magnetometer Z component measurement
Comment: Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.
-
-
Disabled (0)
-
-
-
-
EKF2_TAS_GATE (FLOAT)
-
Gate size for TAS fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, ?]
-
5.0
-
SD
-
-
-
EKF2_TAU_POS (FLOAT)
-
Output predictor position time constant
Comment: Controls how tightly the output track the EKF states
-
[0.1, 1.0]
-
0.25
-
s
-
-
-
EKF2_TAU_VEL (FLOAT)
-
Time constant of the velocity output prediction and smoothing filter
-
[?, 1.0]
-
0.25
-
s
-
-
-
EKF2_TERR_GRAD (FLOAT)
-
Magnitude of terrain gradient
-
[0.0, ?]
-
0.5
-
m/m
-
-
-
EKF2_TERR_NOISE (FLOAT)
-
Terrain altitude process noise
-
[0.5, ?]
-
5.0
-
m/s
-
-
-
EKF2_WIND_NSD (FLOAT)
-
Process noise spectral density for wind velocity prediction
Comment: When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.
-
[0.0, 1.0]
-
0.05
-
m/s^2/sqrt(Hz)
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## ESC
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
Comment: Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
EV_TSK_STAT_DIS (INT32)
-
Status Display
Comment: Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -
Reboot required: true
-
-
-
Disabled (0)
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## FW Attitude Control
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
FW_MAN_P_MAX (FLOAT)
-
Maximum manual pitch angle
Comment: Applies to both directions in all manual modes with attitude stabilization but without altitude control
-
[0.0, 90.0] (0.5)
-
30.0
-
deg
-
-
-
FW_MAN_R_MAX (FLOAT)
-
Maximum manual roll angle
Comment: Applies to both directions in all manual modes with attitude stabilization
-
[0.0, 90.0] (0.5)
-
45.0
-
deg
-
-
-
FW_MAN_YR_MAX (FLOAT)
-
Maximum manually added yaw rate
Comment: This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. It is added to the yaw rate setpoint generated by the controller for turn coordination.
-
[0, ?] (0.5)
-
30.
-
deg/s
-
-
-
FW_PSP_OFF (FLOAT)
-
Pitch setpoint offset (pitch at level flight)
Comment: An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.
-
[-90.0, 90.0] (0.5)
-
0.0
-
deg
-
-
-
FW_P_RMAX_NEG (FLOAT)
-
Maximum negative / down pitch rate setpoint
-
[0.0, 180] (0.5)
-
60.0
-
deg/s
-
-
-
FW_P_RMAX_POS (FLOAT)
-
Maximum positive / up pitch rate setpoint
-
[0.0, 180] (0.5)
-
60.0
-
deg/s
-
-
-
FW_P_TC (FLOAT)
-
Attitude pitch time constant
Comment: This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.
-
[0.2, 1.0] (0.05)
-
0.4
-
s
-
-
-
FW_R_RMAX (FLOAT)
-
Maximum roll rate setpoint
-
[0.0, 180] (0.5)
-
70.0
-
deg/s
-
-
-
FW_R_TC (FLOAT)
-
Attitude Roll Time Constant
Comment: This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.
-
[0.2, 1.0] (0.05)
-
0.4
-
s
-
-
-
FW_SPOILERS_LND (FLOAT)
-
Spoiler landing setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
-
-
FW_WR_FF (FLOAT)
-
Wheel steering rate feed forward
-
[0.0, 10] (0.05)
-
0.2
-
%/rad/s
-
-
-
FW_WR_I (FLOAT)
-
Wheel steering rate integrator gain
Comment: This gain defines how much control response will result out of a steady state error. It trims any constant error.
-
[0.0, 10] (0.005)
-
0.1
-
%/rad
-
-
-
FW_WR_IMAX (FLOAT)
-
Wheel steering rate integrator limit
-
[0.0, 1.0] (0.05)
-
0.4
-
-
-
-
FW_WR_P (FLOAT)
-
Wheel steering rate proportional gain
Comment: This defines how much the wheel steering input will be commanded depending on the current body angular rate error.
-
[0.0, 10] (0.005)
-
0.5
-
%/rad/s
-
-
-
FW_W_EN (INT32)
-
Enable wheel steering controller
Comment: Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.
-
-
Disabled (0)
-
-
-
-
FW_W_RMAX (FLOAT)
-
Maximum wheel steering rate
Comment: This limits the maximum wheel steering rate the controller will output (in degrees per second).
Bit mask to set the automatic landing abort conditions
Comment: Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)
Bitmask:
0: Abort if terrain is not found (only applies to mission landings)
-
1: Abort if terrain times out (after a first successful measurement)
-
-
-
[0, 3]
-
3
-
-
-
-
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
-
[-1.0, ?] (0.1)
-
-1.
-
m/s
-
-
-
FW_LND_ANG (FLOAT)
-
Maximum landing slope angle
Comment: Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.
-
[1.0, 15.0] (0.5)
-
5.0
-
deg
-
-
-
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
-
-
Disabled (0)
-
-
-
-
FW_LND_FLALT (FLOAT)
-
Landing flare altitude (relative to landing altitude)
Comment: NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude
-
[0.0, ?] (0.5)
-
0.5
-
m
-
-
-
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
-
[0, 45.0] (0.5)
-
15.0
-
deg
-
-
-
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
-
[-5, 15.0] (0.5)
-
2.5
-
deg
-
-
-
FW_LND_FL_SINK (FLOAT)
-
Landing flare sink rate
Comment: TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)
-
[0.0, 2] (0.1)
-
0.25
-
m/s
-
-
-
FW_LND_FL_TIME (FLOAT)
-
Landing flare time
Comment: Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude
-
[0.1, 5.0] (0.1)
-
1.0
-
s
-
-
-
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
-
0: Disable nudging
-
1: Nudge approach angle
-
2: Nudge approach path
-
-
[0, 2]
-
2
-
-
-
-
FW_LND_TD_OFF (FLOAT)
-
Maximum lateral position offset for the touchdown point
-
[0.0, 10.0] (1)
-
3.0
-
m
-
-
-
FW_LND_TD_TIME (FLOAT)
-
Landing touchdown time (since flare start)
Comment: This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).
-
[-1.0, 5.0] (0.1)
-
-1.0
-
s
-
-
-
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
-
[0.2, 1.0] (0.1)
-
1.0
-
-
-
-
FW_LND_USETER (INT32)
-
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
-
0: Disable the terrain estimate
-
1: Use the terrain estimate to trigger the flare (only)
-
2: Calculate landing glide slope relative to the terrain estimate
-
-
[0, 2]
-
1
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## FW Geometry
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
FW_WING_HEIGHT (FLOAT)
-
Height (AGL) of the wings when the aircraft is on the ground
Comment: This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (> 0m)
-
[0.0, ?] (1)
-
0.5
-
m
-
-
-
FW_WING_SPAN (FLOAT)
-
The aircraft's wing span (length from tip to tip)
Comment: This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)
Comment: Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
-
[0.0, 5.0] (0.05)
-
0.05
-
s
-
-
-
FW_LAUN_AC_THLD (FLOAT)
-
Trigger acceleration threshold
Comment: Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
-
[0, ?] (0.5)
-
30.0
-
m/s^2
-
-
-
FW_LAUN_DETCN_ON (INT32)
-
Fixed-wing launch detection
Comment: Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Not compatible with runway takeoff.
-
-
Disabled (0)
-
-
-
-
FW_LAUN_MOT_DEL (FLOAT)
-
Motor delay
Comment: Start the motor(s) this amount of seconds after launch is detected.
-
[0.0, 10.0] (0.5)
-
0.0
-
s
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## FW NPFG Control
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
Maximum, minimum forward ground speed for track keeping in excess wind
Comment: The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.
-
[0.0, 10.0] (0.5)
-
5.0
-
m/s
-
-
-
NPFG_LB_PERIOD (INT32)
-
Enable automatic lower bound on the NPFG period
Comment: Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.
-
-
Enabled (1)
-
-
-
-
NPFG_PERIOD (FLOAT)
-
NPFG period
Comment: Period of the NPFG control law.
-
[1.0, 100.0] (0.1)
-
10.0
-
s
-
-
-
NPFG_PERIOD_SF (FLOAT)
-
Period safety factor
Comment: Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.
-
[1.0, 10.0] (0.1)
-
1.5
-
-
-
-
NPFG_ROLL_TC (FLOAT)
-
Roll time constant
Comment: Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.
-
[0.00, 2.00] (0.05)
-
0.5
-
s
-
-
-
NPFG_SW_DST_MLT (FLOAT)
-
NPFG switch distance multiplier
Comment: Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.
-
[0.1, 1.0] (0.01)
-
0.32
-
-
-
-
NPFG_TRACK_KEEP (INT32)
-
Enable track keeping excess wind handling logic
-
-
Enabled (1)
-
-
-
-
NPFG_UB_PERIOD (INT32)
-
Enable automatic upper bound on the NPFG period
Comment: Adapts period to maintain track keeping in variable winds and path curvature.
-
-
Enabled (1)
-
-
-
-
NPFG_WIND_REG (INT32)
-
Enable wind excess regulation
Comment: Disabling this parameter further disables all other airspeed incrementation options.
Comment: The maximum change in roll angle setpoint per second. This limit is applied in all Auto modes, plus manual Position and Altitude modes.
-
[0, ?] (1)
-
90.0
-
deg/s
-
-
-
FW_POS_STK_CONF (INT32)
-
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
-
1: Enable airspeed setpoint via sticks in altitude and position flight mode
-
-
-
[0, 3]
-
2
-
-
-
-
FW_R_LIM (FLOAT)
-
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
-
[35.0, 65.0] (0.5)
-
50.0
-
deg
-
-
-
FW_TKO_PITCH_MIN (FLOAT)
-
Minimum pitch during takeoff
-
[-5.0, 30.0] (0.5)
-
10.0
-
deg
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## FW Performance
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
FW_AIRSPD_MAX (FLOAT)
-
Maximum Airspeed (CAS)
Comment: The maximal airspeed (calibrated airspeed) the user is able to command.
-
[0.5, ?] (0.5)
-
20.0
-
m/s
-
-
-
FW_AIRSPD_MIN (FLOAT)
-
Minimum Airspeed (CAS)
Comment: The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).
-
[0.5, ?] (0.5)
-
10.0
-
m/s
-
-
-
FW_AIRSPD_STALL (FLOAT)
-
Stall Airspeed (CAS)
Comment: The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.
-
[0.5, ?] (0.5)
-
7.0
-
m/s
-
-
-
FW_AIRSPD_TRIM (FLOAT)
-
Trim (Cruise) Airspeed
Comment: The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve. This value corresponds to the trim airspeed with the default load factor (level flight, default weight).
-
[0.5, ?] (0.5)
-
15.0
-
m/s
-
-
-
FW_SERVICE_CEIL (FLOAT)
-
Service ceiling
Comment: Altitude in standard atmosphere at which the vehicle in normal configuration (WEIGHT_BASE) is still able to achieve a maximum climb rate of 0.5m/s at maximum throttle (FW_THR_MAX). Used to compensate for air density in FW_T_CLMB_MAX. Set negative to disable.
-
[-1.0, ?] (1.0)
-
-1.0
-
m
-
-
-
FW_THR_ASPD_MAX (FLOAT)
-
Throttle at max airspeed
Comment: Required throttle (at sea level, standard atmosphere) for level flight at maximum airspeed FW_AIRSPD_MAX Set to 0 to disable mapping of airspeed to trim throttle.
-
[0, 1] (0.01)
-
0.
-
-
-
-
FW_THR_ASPD_MIN (FLOAT)
-
Throttle at min airspeed
Comment: Required throttle (at sea level, standard atmosphere) for level flight at minimum airspeed FW_AIRSPD_MIN Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.
-
[0, 1] (0.01)
-
0.
-
-
-
-
FW_THR_TRIM (FLOAT)
-
Trim throttle
Comment: Required throttle (at sea level, standard atmosphere) for level flight at FW_AIRSPD_TRIM
-
[0.0, 1.0] (0.01)
-
0.6
-
norm
-
-
-
FW_T_CLMB_MAX (FLOAT)
-
Maximum climb rate
Comment: This is the maximum calibrated climb rate that the aircraft can achieve with the throttle set to FW_THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.
-
[1.0, 15.0] (0.5)
-
5.0
-
m/s
-
-
-
FW_T_SINK_MIN (FLOAT)
-
Minimum descent rate
Comment: This is the minimum calibrated sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.
-
[1.0, 5.0] (0.5)
-
2.0
-
m/s
-
-
-
WEIGHT_BASE (FLOAT)
-
Vehicle base weight
Comment: This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.
-
(0.5)
-
-1.0
-
kg
-
-
-
WEIGHT_GROSS (FLOAT)
-
Vehicle gross weight
Comment: This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.
Comment: If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.
-
-
Disabled (0)
-
-
-
-
FW_ACRO_Y_MAX (FLOAT)
-
Acro body pitch max rate setpoint
-
[10, 720]
-
90
-
deg
-
-
-
FW_ACRO_Z_MAX (FLOAT)
-
Acro body yaw max rate setpoint
-
[10, 720]
-
45
-
deg
-
-
-
FW_ARSP_SCALE_EN (INT32)
-
Enable airspeed scaling
Comment: This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)
-
-
Enabled (1)
-
-
-
-
FW_BAT_SCALE_EN (INT32)
-
Enable throttle scale by battery level
Comment: This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.
-
-
Disabled (0)
-
-
-
-
FW_DTRIM_P_VMAX (FLOAT)
-
Pitch trim increment at maximum airspeed
Comment: This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_DTRIM_P_VMIN (FLOAT)
-
Pitch trim increment at minimum airspeed
Comment: This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_DTRIM_R_VMAX (FLOAT)
-
Roll trim increment at maximum airspeed
Comment: This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_DTRIM_R_VMIN (FLOAT)
-
Roll trim increment at minimum airspeed
Comment: This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_DTRIM_Y_VMAX (FLOAT)
-
Yaw trim increment at maximum airspeed
Comment: This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_DTRIM_Y_VMIN (FLOAT)
-
Yaw trim increment at minimum airspeed
Comment: This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
FW_FLAPS_LND_SCL (FLOAT)
-
Flaps setting during landing
Comment: Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.
-
[0.0, 1.0] (0.01)
-
1.0
-
norm
-
-
-
FW_FLAPS_TO_SCL (FLOAT)
-
Flaps setting during take-off
Comment: Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.
-
[0.0, 1.0] (0.01)
-
0.0
-
norm
-
-
-
FW_MAN_P_SC (FLOAT)
-
Manual pitch scale
Comment: Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
-
[0.0, ?] (0.01)
-
1.0
-
norm
-
-
-
FW_MAN_R_SC (FLOAT)
-
Manual roll scale
Comment: Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
-
[0.0, 1.0] (0.01)
-
1.0
-
norm
-
-
-
FW_MAN_Y_SC (FLOAT)
-
Manual yaw scale
Comment: Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
-
[0.0, ?] (0.01)
-
1.0
-
norm
-
-
-
FW_PR_D (FLOAT)
-
Pitch rate derivative gain
Comment: Pitch rate differential gain.
-
[0.0, 10] (0.005)
-
0.
-
%/rad/s
-
-
-
FW_PR_FF (FLOAT)
-
Pitch rate feed forward
Comment: Direct feed forward from rate setpoint to control surface output
-
[0.0, 10.0] (0.05)
-
0.5
-
%/rad/s
-
-
-
FW_PR_I (FLOAT)
-
Pitch rate integrator gain
-
[0.0, 10] (0.005)
-
0.1
-
%/rad
-
-
-
FW_PR_IMAX (FLOAT)
-
Pitch rate integrator limit
-
[0.0, 1.0] (0.05)
-
0.4
-
-
-
-
FW_PR_P (FLOAT)
-
Pitch rate proportional gain
-
[0.0, 10] (0.005)
-
0.08
-
%/rad/s
-
-
-
FW_RLL_TO_YAW_FF (FLOAT)
-
Roll control to yaw control feedforward gain
Comment: This gain can be used to counteract the "adverse yaw" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.
-
[0.0, ?] (0.01)
-
0.0
-
-
-
-
FW_RR_D (FLOAT)
-
Roll rate derivative gain
-
[0.0, 10] (0.005)
-
0.0
-
%/rad/s
-
-
-
FW_RR_FF (FLOAT)
-
Roll rate feed forward
Comment: Direct feed forward from rate setpoint to control surface output.
-
[0.0, 10.0] (0.05)
-
0.5
-
%/rad/s
-
-
-
FW_RR_I (FLOAT)
-
Roll rate integrator gain
-
[0.0, 10] (0.01)
-
0.1
-
%/rad
-
-
-
FW_RR_IMAX (FLOAT)
-
Roll integrator limit
-
[0.0, 1.0] (0.05)
-
0.2
-
-
-
-
FW_RR_P (FLOAT)
-
Roll rate proportional gain
-
[0.0, 10] (0.005)
-
0.05
-
%/rad/s
-
-
-
FW_SPOILERS_MAN (INT32)
-
Spoiler input in manual flight
Comment: Chose source for manual setting of spoilers in manual flight modes.
Values:
-
0: Disabled
-
1: Flaps channel
-
2: Aux1
-
-
-
0
-
-
-
-
FW_USE_AIRSPD (INT32)
-
Use airspeed for control
Comment: If set to 1, the airspeed measurement data, if valid, is used in the following controllers: - Rate controller: output scaling - Attitude controller: coordinated turn controller - Position controller: airspeed setpoint tracking, takeoff logic - VTOL: transition logic
-
-
Enabled (1)
-
-
-
-
FW_YR_D (FLOAT)
-
Yaw rate derivative gain
-
[0.0, 10] (0.005)
-
0.0
-
%/rad/s
-
-
-
FW_YR_FF (FLOAT)
-
Yaw rate feed forward
Comment: Direct feed forward from rate setpoint to control surface output
-
[0.0, 10.0] (0.05)
-
0.3
-
%/rad/s
-
-
-
FW_YR_I (FLOAT)
-
Yaw rate integrator gain
-
[0.0, 10] (0.5)
-
0.1
-
%/rad
-
-
-
FW_YR_IMAX (FLOAT)
-
Yaw rate integrator limit
-
[0.0, 1.0] (0.05)
-
0.2
-
-
-
-
FW_YR_P (FLOAT)
-
Yaw rate proportional gain
-
[0.0, 10] (0.005)
-
0.05
-
%/rad/s
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## FW TECS
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
FW_GND_SPD_MIN (FLOAT)
-
Minimum groundspeed
Comment: The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.
-
[0.0, 40] (0.5)
-
5.0
-
m/s
-
-
-
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
-
[0.0, 60.0] (0.5)
-
30.0
-
deg
-
-
-
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
-
[-60.0, 0.0] (0.5)
-
-30.0
-
deg
-
-
-
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
-
[0.0, 0.4] (0.01)
-
0.0
-
norm
-
-
-
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
-
[0.0, 1.0] (0.01)
-
1.0
-
norm
-
-
-
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
-
[0.0, 1.0] (0.01)
-
0.0
-
norm
-
-
-
FW_THR_SLEW_MAX (FLOAT)
-
Throttle max slew rate
Comment: Maximum slew rate for the commanded throttle
-
[0.0, 1.0] (0.01)
-
0.0
-
-
-
-
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
-
[-1.0, ?] (0.1)
-
-1.0
-
m/s
-
-
-
FW_T_ALT_TC (FLOAT)
-
Altitude error time constant
-
[2.0, ?] (0.5)
-
5.0
-
-
-
-
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
-
[0.5, 15] (0.01)
-
3.0
-
m/s
-
-
-
FW_T_F_ALT_ERR (FLOAT)
-
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
-
[-1.0, ?]
-
-1.0
-
-
-
-
FW_T_HRATE_FF (FLOAT)
-
Height rate feed forward
-
[0.0, 1.0] (0.05)
-
0.3
-
-
-
-
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
-
[0.0, 2.0] (0.05)
-
0.1
-
-
-
-
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping gain
-
[0.0, 2.0] (0.1)
-
0.1
-
-
-
-
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
-
[0.0, 20.0] (0.5)
-
15.0
-
-
-
-
FW_T_SEB_R_FF (FLOAT)
-
Specific total energy balance rate feedforward gain
-
[0.5, 3] (0.01)
-
1.0
-
-
-
-
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
-
[1.0, 15.0] (0.5)
-
5.0
-
m/s
-
-
-
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
-
[0.5, 15] (0.01)
-
2.0
-
m/s
-
-
-
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
-
[0.0, 2.0] (1.0)
-
1.0
-
-
-
-
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
-
[0.01, 10.0] (0.1)
-
0.2
-
m/s^2
-
-
-
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
-
[0.01, 10.0] (0.1)
-
0.2
-
m/s^2
-
-
-
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
-
[0.01, 10.0] (0.1)
-
0.2
-
m/s
-
-
-
FW_T_STE_R_TC (FLOAT)
-
Specific total energy rate first order filter time constant
Comment: This filter is applied to the specific total energy rate used for throttle damping.
-
[0.0, 2] (0.01)
-
0.4
-
-
-
-
FW_T_TAS_TC (FLOAT)
-
True airspeed error time constant
-
[2.0, ?] (0.5)
-
5.0
-
-
-
-
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
-
[0.0, 1.0] (0.01)
-
0.05
-
-
-
-
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
-
[0.0, 1.0] (0.005)
-
0.02
-
-
-
-
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
-
[1.0, 10.0] (0.5)
-
7.0
-
m/s^2
-
-
-
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
Comment: If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
FD_ACT_MOT_C2T (FLOAT)
-
Motor Failure Current/Throttle Threshold
Comment: Motor failure triggers only below this current value
-
[0.0, 50.0] (1)
-
2.0
-
A/%
-
-
-
FD_ACT_MOT_THR (FLOAT)
-
Motor Failure Throttle Threshold
Comment: Motor failure triggers only above this throttle value.
-
[0.0, 1.0] (0.01)
-
0.2
-
norm
-
-
-
FD_ACT_MOT_TOUT (INT32)
-
Motor Failure Time Threshold
Comment: Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.
-
[10, 10000] (100)
-
100
-
ms
-
-
-
FD_ESCS_EN (INT32)
-
Enable checks on ESCs that report their arming state
Comment: If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.
-
-
Enabled (1)
-
-
-
-
FD_EXT_ATS_EN (INT32)
-
Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS)
Comment: Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
FD_EXT_ATS_TRIG (INT32)
-
The PWM threshold from external automatic trigger system for engaging failsafe
Comment: External ATS is required by ASTM F3322-18.
-
-
1900
-
us
-
-
-
FD_FAIL_P (INT32)
-
FailureDetector Max Pitch
Comment: Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check
-
[0, 180]
-
60
-
deg
-
-
-
FD_FAIL_P_TTRI (FLOAT)
-
Pitch failure trigger time
Comment: Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.
-
[0.02, 5]
-
0.3
-
s
-
-
-
FD_FAIL_R (INT32)
-
FailureDetector Max Roll
Comment: Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check
-
[0, 180]
-
60
-
deg
-
-
-
FD_FAIL_R_TTRI (FLOAT)
-
Roll failure trigger time
Comment: Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.
-
[0.02, 5]
-
0.3
-
s
-
-
-
FD_IMB_PROP_THR (INT32)
-
Imbalanced propeller check threshold
Comment: Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.
-
[0, 1000] (1)
-
30
-
-
-
-
-## FlightTaskOrbit
-
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MC_ORBIT_RAD_MAX (FLOAT)
-
Maximum radius of orbit
-
[1.0, 10000.0] (0.5)
-
1000.0
-
m
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Follow target
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
FLW_TGT_ALT_M (INT32)
-
Altitude control mode
Comment: Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.
Values:
-
0: 2D Tracking: Maintain constant altitude relative to home and track XY position only
-
1: 2D + Terrain: Maintain constant altitude relative to terrain below and track XY position
-
2: 3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)
-
-
-
0
-
-
-
-
FLW_TGT_DST (FLOAT)
-
Distance to follow target from
Comment: The distance in meters to follow the target at
-
[1.0, ?]
-
8.0
-
m
-
-
-
FLW_TGT_FA (FLOAT)
-
Follow Angle setting in degrees
Comment: Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -> 120) in the range to gracefully handle the out of range.
-
[-180.0, 180.0]
-
180.0
-
-
-
-
FLW_TGT_HT (FLOAT)
-
Follow target height
Comment: Following height above the target
-
[8.0, ?]
-
8.0
-
m
-
-
-
FLW_TGT_MAX_VEL (FLOAT)
-
Maximum tangential velocity setting for generating the follow orbit trajectory
Comment: This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.
-
[0.0, 20.0]
-
5.0
-
-
-
-
FLW_TGT_RS (FLOAT)
-
Responsiveness to target movement in Target Estimator
Comment: lower values increase the responsiveness to changing position, but also ignore less noise
Comment: Configure on which serial port to run Main GPS.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
201
-
-
-
-
GPS_1_GNSS (INT32)
-
GNSS Systems for Primary GPS (integer bitmask)
Comment: This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC
Bitmask:
0: GPS (with QZSS)
-
1: SBAS
-
2: Galileo
-
3: BeiDou
-
4: GLONASS
-
5: NAVIC
-
-
Reboot required: true
-
-
[0, 63]
-
0
-
-
-
-
GPS_1_PROTOCOL (INT32)
-
Protocol for Main GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
-
0: Auto detect
-
1: u-blox
-
2: MTK
-
3: Ashtech / Trimble
-
4: Emlid Reach
-
5: Femtomes
-
6: NMEA (generic)
-
Reboot required: true
-
-
[0, 7]
-
1
-
-
-
-
GPS_2_CONFIG (INT32)
-
Serial Configuration for Secondary GPS
Comment: Configure on which serial port to run Secondary GPS.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
GPS_2_GNSS (INT32)
-
GNSS Systems for Secondary GPS (integer bitmask)
Comment: This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC
Bitmask:
0: GPS (with QZSS)
-
1: SBAS
-
2: Galileo
-
3: BeiDou
-
4: GLONASS
-
5: NAVIC
-
-
Reboot required: true
-
-
[0, 63]
-
0
-
-
-
-
GPS_2_PROTOCOL (INT32)
-
Protocol for Secondary GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
-
0: Auto detect
-
1: u-blox
-
2: MTK
-
3: Ashtech / Trimble
-
4: Emlid Reach
-
5: Femtomes
-
6: NMEA (generic)
-
Reboot required: true
-
-
[0, 6]
-
1
-
-
-
-
GPS_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.
Values:
-
0: Disable
-
1: Full communication
-
2: RTCM output (PPK)
-
-
[0, 2]
-
0
-
-
-
-
GPS_SAT_INFO (INT32)
-
Enable sat info (if available)
Comment: Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
GPS_UBX_BAUD2 (INT32)
-
u-blox F9P UART2 Baudrate
Comment: Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.
Reboot required: true
-
-
[0, ?]
-
230400
-
B/s
-
-
-
GPS_UBX_CFG_INTF (INT32)
-
u-blox protocol configuration for interfaces Bitmask:
0: Enable I2C input protocol UBX
-
1: Enable I2C input protocol NMEA
-
2: Enable I2C input protocol RTCM3X
-
3: Enable I2C output protocol UBX
-
4: Enable I2C output protocol NMEA
-
5: Enable I2C output protocol RTCM3X
-
-
Reboot required: true
-
-
[0, 32]
-
0
-
-
-
-
GPS_UBX_DYNMODEL (INT32)
-
u-blox GPS dynamic platform model
Comment: u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.
Values:
-
2: stationary
-
4: automotive
-
6: airborne with <1g acceleration
-
7: airborne with <2g acceleration
-
8: airborne with <4g acceleration
-
Reboot required: true
-
-
[0, 9]
-
7
-
-
-
-
GPS_UBX_MODE (INT32)
-
u-blox GPS Mode
Comment: Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.
Values:
-
0: Default
-
1: Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)
-
2: Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)
-
3: Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
-
4: Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
-
5: Rover with Static Base on UART2 (similar to Default, except coming in on UART2)
-
Reboot required: true
-
-
[0, 1]
-
0
-
-
-
-
GPS_YAW_OFFSET (FLOAT)
-
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary, or Septentrio Mosaic Aux) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).
Reboot required: true
-
-
[0, 360]
-
0.
-
deg
-
-
-
PPS_CAP_ENABLE (INT32)
-
PPS Capture Enable
Comment: Enables the PPS capture module. This switches mode of FMU channel 7 to be the PPS input channel.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Geofence
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
GF_ACTION (INT32)
-
Geofence violation action
Comment: Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
Values:
-
0: None
-
1: Warning
-
2: Hold mode
-
3: Return mode
-
4: Terminate
-
5: Land mode
-
-
[0, 5]
-
2
-
-
-
-
GF_MAX_HOR_DIST (FLOAT)
-
Max horizontal distance from Home
Comment: Maximum horizontal distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.
-
[0, 10000] (1)
-
0.0
-
m
-
-
-
GF_MAX_VER_DIST (FLOAT)
-
Max vertical distance from Home
Comment: Maximum vertical distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.
-
[0, 10000] (1)
-
0.0
-
m
-
-
-
GF_PREDICT (INT32)
-
[EXPERIMENTAL] Use Pre-emptive geofence triggering
Comment: WARNING: This experimental feature may cause flyaways. Use at your own risk. Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).
-
-
Disabled (0)
-
-
-
-
GF_SOURCE (INT32)
-
Geofence source
Comment: Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
Comment: Defines which mixer implementation to use. Some are generic, while others are specifically fit to a certain vehicle with a fixed set of actuators. 'Custom' should only be used if noting else can be used.
Values:
-
0: Multirotor
-
1: Fixed-wing
-
2: Standard VTOL
-
3: Tiltrotor VTOL
-
4: Tailsitter VTOL
-
5: Rover (Ackermann)
-
6: Rover (Differential)
-
7: Motors (6DOF)
-
8: Multirotor with Tilt
-
9: Custom
-
10: Helicopter (tail ESC)
-
11: Helicopter (tail Servo)
-
12: Helicopter (Coaxial)
-
-
-
0
-
-
-
-
CA_FAILURE_MODE (INT32)
-
Motor failure handling mode
Comment: This is used to specify how to handle motor failures reported by failure detector.
Values:
-
0: Ignore
-
1: Remove first failed motor from effectiveness
-
-
-
0
-
-
-
-
CA_HELI_PITCH_C0 (FLOAT)
-
Collective pitch curve at position 0
Comment: Defines the collective pitch at the interval position 0 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
-
[-1, 1] (0.1)
-
-0.05
-
-
-
-
CA_HELI_PITCH_C1 (FLOAT)
-
Collective pitch curve at position 1
Comment: Defines the collective pitch at the interval position 1 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
-
[-1, 1] (0.1)
-
0.0725
-
-
-
-
CA_HELI_PITCH_C2 (FLOAT)
-
Collective pitch curve at position 2
Comment: Defines the collective pitch at the interval position 2 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
-
[-1, 1] (0.1)
-
0.2
-
-
-
-
CA_HELI_PITCH_C3 (FLOAT)
-
Collective pitch curve at position 3
Comment: Defines the collective pitch at the interval position 3 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
-
[-1, 1] (0.1)
-
0.325
-
-
-
-
CA_HELI_PITCH_C4 (FLOAT)
-
Collective pitch curve at position 4
Comment: Defines the collective pitch at the interval position 4 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
-
[-1, 1] (0.1)
-
0.45
-
-
-
-
CA_HELI_THR_C0 (FLOAT)
-
Throttle curve at position 0
Comment: Defines the output throttle at the interval position 0.
-
[0, 1] (0.1)
-
1
-
-
-
-
CA_HELI_THR_C1 (FLOAT)
-
Throttle curve at position 1
Comment: Defines the output throttle at the interval position 1.
-
[0, 1] (0.1)
-
1
-
-
-
-
CA_HELI_THR_C2 (FLOAT)
-
Throttle curve at position 2
Comment: Defines the output throttle at the interval position 2.
-
[0, 1] (0.1)
-
1
-
-
-
-
CA_HELI_THR_C3 (FLOAT)
-
Throttle curve at position 3
Comment: Defines the output throttle at the interval position 3.
-
[0, 1] (0.1)
-
1
-
-
-
-
CA_HELI_THR_C4 (FLOAT)
-
Throttle curve at position 4
Comment: Defines the output throttle at the interval position 4.
-
[0, 1] (0.1)
-
1
-
-
-
-
CA_HELI_YAW_CCW (INT32)
-
Main rotor turns counter-clockwise
Comment: Default configuration is for a clockwise turning main rotor and positive thrust of the tail rotor is expected to rotate the vehicle clockwise. Set this parameter to true if the tail rotor provides thrust in counter-clockwise direction which is mostly the case when the main rotor turns counter-clockwise.
-
-
Disabled (0)
-
-
-
-
CA_HELI_YAW_CP_O (FLOAT)
-
Offset for yaw compensation based on collective pitch
Comment: This allows to specify which collective pitch command results in the least amount of rotor drag. This is used to increase the accuracy of the yaw drag torque compensation based on collective pitch by aligning the lowest rotor drag with zero compensation. For symmetric profile blades this is the command that results in exactly 0° collective blade angle. For lift profile blades this is typically a command resulting in slightly negative collective blade angle. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)
-
[-2, 2] (0.1)
-
0.0
-
-
-
-
CA_HELI_YAW_CP_S (FLOAT)
-
Scale for yaw compensation based on collective pitch
Comment: This allows to add a proportional factor of the collective pitch command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)
-
[-2, 2] (0.1)
-
0.0
-
-
-
-
CA_HELI_YAW_TH_S (FLOAT)
-
Scale for yaw compensation based on throttle
Comment: This allows to add a proportional factor of the throttle command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_TH_S * throttle
-
[-2, 2] (0.1)
-
0.0
-
-
-
-
CA_METHOD (INT32)
-
Control allocation method
Comment: Selects the algorithm and desaturation method. If set to Automtic, the selection is based on the airframe (CA_AIRFRAME).
Values:
-
0: Pseudo-inverse with output clipping
-
1: Pseudo-inverse with sequential desaturation technique
-
2: Automatic
-
-
-
2
-
-
-
-
CA_R0_SLEW (FLOAT)
-
Motor 0 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R10_SLEW (FLOAT)
-
Motor 10 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R11_SLEW (FLOAT)
-
Motor 11 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R1_SLEW (FLOAT)
-
Motor 1 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R2_SLEW (FLOAT)
-
Motor 2 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R3_SLEW (FLOAT)
-
Motor 3 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R4_SLEW (FLOAT)
-
Motor 4 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R5_SLEW (FLOAT)
-
Motor 5 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R6_SLEW (FLOAT)
-
Motor 6 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R7_SLEW (FLOAT)
-
Motor 7 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R8_SLEW (FLOAT)
-
Motor 8 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_R9_SLEW (FLOAT)
-
Motor 9 slew rate limit
Comment: Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
-
[0, 10] (0.01)
-
0.0
-
-
-
-
CA_ROTOR0_AX (FLOAT)
-
Axis of rotor 0 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR0_AY (FLOAT)
-
Axis of rotor 0 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR0_AZ (FLOAT)
-
Axis of rotor 0 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR0_CT (FLOAT)
-
Thrust coefficient of rotor 0
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR0_KM (FLOAT)
-
Moment coefficient of rotor 0
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR0_PX (FLOAT)
-
Position of rotor 0 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR0_PY (FLOAT)
-
Position of rotor 0 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR0_PZ (FLOAT)
-
Position of rotor 0 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR0_TILT (INT32)
-
Rotor 0 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR10_AX (FLOAT)
-
Axis of rotor 10 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR10_AY (FLOAT)
-
Axis of rotor 10 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR10_AZ (FLOAT)
-
Axis of rotor 10 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR10_CT (FLOAT)
-
Thrust coefficient of rotor 10
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR10_KM (FLOAT)
-
Moment coefficient of rotor 10
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR10_PX (FLOAT)
-
Position of rotor 10 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR10_PY (FLOAT)
-
Position of rotor 10 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR10_PZ (FLOAT)
-
Position of rotor 10 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR10_TILT (INT32)
-
Rotor 10 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR11_AX (FLOAT)
-
Axis of rotor 11 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR11_AY (FLOAT)
-
Axis of rotor 11 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR11_AZ (FLOAT)
-
Axis of rotor 11 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR11_CT (FLOAT)
-
Thrust coefficient of rotor 11
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR11_KM (FLOAT)
-
Moment coefficient of rotor 11
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR11_PX (FLOAT)
-
Position of rotor 11 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR11_PY (FLOAT)
-
Position of rotor 11 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR11_PZ (FLOAT)
-
Position of rotor 11 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR11_TILT (INT32)
-
Rotor 11 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR1_AX (FLOAT)
-
Axis of rotor 1 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR1_AY (FLOAT)
-
Axis of rotor 1 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR1_AZ (FLOAT)
-
Axis of rotor 1 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR1_CT (FLOAT)
-
Thrust coefficient of rotor 1
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR1_KM (FLOAT)
-
Moment coefficient of rotor 1
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR1_PX (FLOAT)
-
Position of rotor 1 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR1_PY (FLOAT)
-
Position of rotor 1 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR1_PZ (FLOAT)
-
Position of rotor 1 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR1_TILT (INT32)
-
Rotor 1 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR2_AX (FLOAT)
-
Axis of rotor 2 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR2_AY (FLOAT)
-
Axis of rotor 2 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR2_AZ (FLOAT)
-
Axis of rotor 2 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR2_CT (FLOAT)
-
Thrust coefficient of rotor 2
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR2_KM (FLOAT)
-
Moment coefficient of rotor 2
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR2_PX (FLOAT)
-
Position of rotor 2 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR2_PY (FLOAT)
-
Position of rotor 2 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR2_PZ (FLOAT)
-
Position of rotor 2 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR2_TILT (INT32)
-
Rotor 2 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR3_AX (FLOAT)
-
Axis of rotor 3 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR3_AY (FLOAT)
-
Axis of rotor 3 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR3_AZ (FLOAT)
-
Axis of rotor 3 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR3_CT (FLOAT)
-
Thrust coefficient of rotor 3
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR3_KM (FLOAT)
-
Moment coefficient of rotor 3
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR3_PX (FLOAT)
-
Position of rotor 3 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR3_PY (FLOAT)
-
Position of rotor 3 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR3_PZ (FLOAT)
-
Position of rotor 3 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR3_TILT (INT32)
-
Rotor 3 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR4_AX (FLOAT)
-
Axis of rotor 4 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR4_AY (FLOAT)
-
Axis of rotor 4 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR4_AZ (FLOAT)
-
Axis of rotor 4 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR4_CT (FLOAT)
-
Thrust coefficient of rotor 4
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR4_KM (FLOAT)
-
Moment coefficient of rotor 4
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR4_PX (FLOAT)
-
Position of rotor 4 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR4_PY (FLOAT)
-
Position of rotor 4 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR4_PZ (FLOAT)
-
Position of rotor 4 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR4_TILT (INT32)
-
Rotor 4 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR5_AX (FLOAT)
-
Axis of rotor 5 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR5_AY (FLOAT)
-
Axis of rotor 5 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR5_AZ (FLOAT)
-
Axis of rotor 5 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR5_CT (FLOAT)
-
Thrust coefficient of rotor 5
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR5_KM (FLOAT)
-
Moment coefficient of rotor 5
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR5_PX (FLOAT)
-
Position of rotor 5 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR5_PY (FLOAT)
-
Position of rotor 5 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR5_PZ (FLOAT)
-
Position of rotor 5 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR5_TILT (INT32)
-
Rotor 5 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR6_AX (FLOAT)
-
Axis of rotor 6 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR6_AY (FLOAT)
-
Axis of rotor 6 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR6_AZ (FLOAT)
-
Axis of rotor 6 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR6_CT (FLOAT)
-
Thrust coefficient of rotor 6
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR6_KM (FLOAT)
-
Moment coefficient of rotor 6
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR6_PX (FLOAT)
-
Position of rotor 6 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR6_PY (FLOAT)
-
Position of rotor 6 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR6_PZ (FLOAT)
-
Position of rotor 6 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR6_TILT (INT32)
-
Rotor 6 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR7_AX (FLOAT)
-
Axis of rotor 7 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR7_AY (FLOAT)
-
Axis of rotor 7 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR7_AZ (FLOAT)
-
Axis of rotor 7 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR7_CT (FLOAT)
-
Thrust coefficient of rotor 7
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR7_KM (FLOAT)
-
Moment coefficient of rotor 7
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR7_PX (FLOAT)
-
Position of rotor 7 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR7_PY (FLOAT)
-
Position of rotor 7 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR7_PZ (FLOAT)
-
Position of rotor 7 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR7_TILT (INT32)
-
Rotor 7 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR8_AX (FLOAT)
-
Axis of rotor 8 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR8_AY (FLOAT)
-
Axis of rotor 8 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR8_AZ (FLOAT)
-
Axis of rotor 8 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR8_CT (FLOAT)
-
Thrust coefficient of rotor 8
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR8_KM (FLOAT)
-
Moment coefficient of rotor 8
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR8_PX (FLOAT)
-
Position of rotor 8 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR8_PY (FLOAT)
-
Position of rotor 8 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR8_PZ (FLOAT)
-
Position of rotor 8 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR8_TILT (INT32)
-
Rotor 8 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR9_AX (FLOAT)
-
Axis of rotor 9 thrust vector, X body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR9_AY (FLOAT)
-
Axis of rotor 9 thrust vector, Y body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
0.0
-
-
-
-
CA_ROTOR9_AZ (FLOAT)
-
Axis of rotor 9 thrust vector, Z body axis component
Comment: Only the direction is considered (the vector is normalized).
-
[-100, 100] (0.1)
-
-1.0
-
-
-
-
CA_ROTOR9_CT (FLOAT)
-
Thrust coefficient of rotor 9
Comment: The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
-
[0, 100] (1)
-
6.5
-
-
-
-
CA_ROTOR9_KM (FLOAT)
-
Moment coefficient of rotor 9
Comment: The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
-
[-1, 1] (0.01)
-
0.05
-
-
-
-
CA_ROTOR9_PX (FLOAT)
-
Position of rotor 9 along X body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR9_PY (FLOAT)
-
Position of rotor 9 along Y body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR9_PZ (FLOAT)
-
Position of rotor 9 along Z body axis relative to center of gravity
-
[-100, 100] (0.1)
-
0.0
-
m
-
-
-
CA_ROTOR9_TILT (INT32)
-
Rotor 9 tilt assignment
Comment: If not set to None, this motor is tilted by the configured tilt servo.
Values:
-
0: None
-
1: Tilt 1
-
2: Tilt 2
-
3: Tilt 3
-
4: Tilt 4
-
-
-
0
-
-
-
-
CA_ROTOR_COUNT (INT32)
-
Total number of rotors Values:
-
0: 0
-
1: 1
-
2: 2
-
3: 3
-
4: 4
-
5: 5
-
6: 6
-
7: 7
-
8: 8
-
9: 9
-
10: 10
-
11: 11
-
12: 12
-
-
-
0
-
-
-
-
CA_R_REV (INT32)
-
Bidirectional/Reversible motors
Comment: Configure motors to be bidirectional/reversible. Note that the output driver needs to support this as well.
Bitmask:
0: Motor 1
-
1: Motor 2
-
2: Motor 3
-
3: Motor 4
-
4: Motor 5
-
5: Motor 6
-
6: Motor 7
-
7: Motor 8
-
8: Motor 9
-
9: Motor 10
-
10: Motor 11
-
11: Motor 12
-
-
-
[0, 4095]
-
0
-
-
-
-
CA_SP0_ANG0 (FLOAT)
-
Angle for swash plate servo 0
Comment: The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
-
[0, 360] (10)
-
0
-
deg
-
-
-
CA_SP0_ANG1 (FLOAT)
-
Angle for swash plate servo 1
Comment: The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
-
[0, 360] (10)
-
140
-
deg
-
-
-
CA_SP0_ANG2 (FLOAT)
-
Angle for swash plate servo 2
Comment: The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
-
[0, 360] (10)
-
220
-
deg
-
-
-
CA_SP0_ANG3 (FLOAT)
-
Angle for swash plate servo 3
Comment: The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
-
[0, 360] (10)
-
0
-
deg
-
-
-
CA_SP0_ARM_L0 (FLOAT)
-
Arm length for swash plate servo 0
Comment: This is relative to the other arm lengths.
-
[0, 10] (0.1)
-
1.0
-
-
-
-
CA_SP0_ARM_L1 (FLOAT)
-
Arm length for swash plate servo 1
Comment: This is relative to the other arm lengths.
-
[0, 10] (0.1)
-
1.0
-
-
-
-
CA_SP0_ARM_L2 (FLOAT)
-
Arm length for swash plate servo 2
Comment: This is relative to the other arm lengths.
-
[0, 10] (0.1)
-
1.0
-
-
-
-
CA_SP0_ARM_L3 (FLOAT)
-
Arm length for swash plate servo 3
Comment: This is relative to the other arm lengths.
-
[0, 10] (0.1)
-
1.0
-
-
-
-
CA_SP0_COUNT (INT32)
-
Number of swash plates servos Values:
-
2: 2
-
3: 3
-
4: 4
-
-
-
3
-
-
-
-
CA_SV0_SLEW (FLOAT)
-
Servo 0 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV1_SLEW (FLOAT)
-
Servo 1 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV2_SLEW (FLOAT)
-
Servo 2 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV3_SLEW (FLOAT)
-
Servo 3 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV4_SLEW (FLOAT)
-
Servo 4 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV5_SLEW (FLOAT)
-
Servo 5 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV6_SLEW (FLOAT)
-
Servo 6 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV7_SLEW (FLOAT)
-
Servo 7 slew rate limit
Comment: Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0, 10] (0.05)
-
0.0
-
-
-
-
CA_SV_CS0_FLAP (FLOAT)
-
Control Surface 0 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS0_SPOIL (FLOAT)
-
Control Surface 0 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS0_TRIM (FLOAT)
-
Control Surface 0 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS0_TRQ_P (FLOAT)
-
Control Surface 0 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS0_TRQ_R (FLOAT)
-
Control Surface 0 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS0_TRQ_Y (FLOAT)
-
Control Surface 0 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS0_TYPE (INT32)
-
Control Surface 0 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS1_FLAP (FLOAT)
-
Control Surface 1 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS1_SPOIL (FLOAT)
-
Control Surface 1 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS1_TRIM (FLOAT)
-
Control Surface 1 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS1_TRQ_P (FLOAT)
-
Control Surface 1 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS1_TRQ_R (FLOAT)
-
Control Surface 1 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS1_TRQ_Y (FLOAT)
-
Control Surface 1 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS1_TYPE (INT32)
-
Control Surface 1 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS2_FLAP (FLOAT)
-
Control Surface 2 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS2_SPOIL (FLOAT)
-
Control Surface 2 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS2_TRIM (FLOAT)
-
Control Surface 2 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS2_TRQ_P (FLOAT)
-
Control Surface 2 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS2_TRQ_R (FLOAT)
-
Control Surface 2 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS2_TRQ_Y (FLOAT)
-
Control Surface 2 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS2_TYPE (INT32)
-
Control Surface 2 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS3_FLAP (FLOAT)
-
Control Surface 3 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS3_SPOIL (FLOAT)
-
Control Surface 3 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS3_TRIM (FLOAT)
-
Control Surface 3 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS3_TRQ_P (FLOAT)
-
Control Surface 3 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS3_TRQ_R (FLOAT)
-
Control Surface 3 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS3_TRQ_Y (FLOAT)
-
Control Surface 3 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS3_TYPE (INT32)
-
Control Surface 3 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS4_FLAP (FLOAT)
-
Control Surface 4 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS4_SPOIL (FLOAT)
-
Control Surface 4 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS4_TRIM (FLOAT)
-
Control Surface 4 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS4_TRQ_P (FLOAT)
-
Control Surface 4 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS4_TRQ_R (FLOAT)
-
Control Surface 4 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS4_TRQ_Y (FLOAT)
-
Control Surface 4 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS4_TYPE (INT32)
-
Control Surface 4 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS5_FLAP (FLOAT)
-
Control Surface 5 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS5_SPOIL (FLOAT)
-
Control Surface 5 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS5_TRIM (FLOAT)
-
Control Surface 5 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS5_TRQ_P (FLOAT)
-
Control Surface 5 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS5_TRQ_R (FLOAT)
-
Control Surface 5 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS5_TRQ_Y (FLOAT)
-
Control Surface 5 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS5_TYPE (INT32)
-
Control Surface 5 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS6_FLAP (FLOAT)
-
Control Surface 6 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS6_SPOIL (FLOAT)
-
Control Surface 6 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS6_TRIM (FLOAT)
-
Control Surface 6 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS6_TRQ_P (FLOAT)
-
Control Surface 6 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS6_TRQ_R (FLOAT)
-
Control Surface 6 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS6_TRQ_Y (FLOAT)
-
Control Surface 6 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS6_TYPE (INT32)
-
Control Surface 6 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS7_FLAP (FLOAT)
-
Control Surface 7 configuration as flap
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS7_SPOIL (FLOAT)
-
Control Surface 7 configuration as spoiler
-
[-1.0, 1.0]
-
0
-
-
-
-
CA_SV_CS7_TRIM (FLOAT)
-
Control Surface 7 trim
Comment: Can be used to add an offset to the servo control.
-
[-1.0, 1.0]
-
0.0
-
-
-
-
CA_SV_CS7_TRQ_P (FLOAT)
-
Control Surface 7 pitch torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS7_TRQ_R (FLOAT)
-
Control Surface 7 roll torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS7_TRQ_Y (FLOAT)
-
Control Surface 7 yaw torque scaling
-
-
0.0
-
-
-
-
CA_SV_CS7_TYPE (INT32)
-
Control Surface 7 type Values:
-
0: (Not set)
-
1: Left Aileron
-
2: Right Aileron
-
3: Elevator
-
4: Rudder
-
5: Left Elevon
-
6: Right Elevon
-
7: Left V-Tail
-
8: Right V-Tail
-
9: Left Flap
-
10: Right Flap
-
11: Airbrake
-
12: Custom
-
13: Left A-tail
-
14: Right A-tail
-
15: Single Channel Aileron
-
16: Steering Wheel
-
17: Left Spoiler
-
18: Right Spoiler
-
-
-
0
-
-
-
-
CA_SV_CS_COUNT (INT32)
-
Total number of Control Surfaces Values:
-
0: 0
-
1: 1
-
2: 2
-
3: 3
-
4: 4
-
5: 5
-
6: 6
-
7: 7
-
8: 8
-
-
-
0
-
-
-
-
CA_SV_TL0_CT (INT32)
-
Tilt 0 is used for control
Comment: Define if this servo is used for additional control.
Values:
-
0: None
-
1: Yaw
-
2: Pitch
-
3: Yaw and Pitch
-
-
-
1
-
-
-
-
CA_SV_TL0_MAXA (FLOAT)
-
Tilt Servo 0 Tilt Angle at Maximum
Comment: Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
90.0
-
deg
-
-
-
CA_SV_TL0_MINA (FLOAT)
-
Tilt Servo 0 Tilt Angle at Minimum
Comment: Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
0.0
-
deg
-
-
-
CA_SV_TL0_TD (INT32)
-
Tilt Servo 0 Tilt Direction
Comment: Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
Values:
-
0: Towards Front
-
90: Towards Right
-
-
[0, 359]
-
0
-
-
-
-
CA_SV_TL1_CT (INT32)
-
Tilt 1 is used for control
Comment: Define if this servo is used for additional control.
Values:
-
0: None
-
1: Yaw
-
2: Pitch
-
3: Yaw and Pitch
-
-
-
1
-
-
-
-
CA_SV_TL1_MAXA (FLOAT)
-
Tilt Servo 1 Tilt Angle at Maximum
Comment: Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
90.0
-
deg
-
-
-
CA_SV_TL1_MINA (FLOAT)
-
Tilt Servo 1 Tilt Angle at Minimum
Comment: Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
0.0
-
deg
-
-
-
CA_SV_TL1_TD (INT32)
-
Tilt Servo 1 Tilt Direction
Comment: Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
Values:
-
0: Towards Front
-
90: Towards Right
-
-
[0, 359]
-
0
-
-
-
-
CA_SV_TL2_CT (INT32)
-
Tilt 2 is used for control
Comment: Define if this servo is used for additional control.
Values:
-
0: None
-
1: Yaw
-
2: Pitch
-
3: Yaw and Pitch
-
-
-
1
-
-
-
-
CA_SV_TL2_MAXA (FLOAT)
-
Tilt Servo 2 Tilt Angle at Maximum
Comment: Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
90.0
-
deg
-
-
-
CA_SV_TL2_MINA (FLOAT)
-
Tilt Servo 2 Tilt Angle at Minimum
Comment: Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
0.0
-
deg
-
-
-
CA_SV_TL2_TD (INT32)
-
Tilt Servo 2 Tilt Direction
Comment: Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
Values:
-
0: Towards Front
-
90: Towards Right
-
-
[0, 359]
-
0
-
-
-
-
CA_SV_TL3_CT (INT32)
-
Tilt 3 is used for control
Comment: Define if this servo is used for additional control.
Values:
-
0: None
-
1: Yaw
-
2: Pitch
-
3: Yaw and Pitch
-
-
-
1
-
-
-
-
CA_SV_TL3_MAXA (FLOAT)
-
Tilt Servo 3 Tilt Angle at Maximum
Comment: Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
90.0
-
deg
-
-
-
CA_SV_TL3_MINA (FLOAT)
-
Tilt Servo 3 Tilt Angle at Minimum
Comment: Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
-
[-90.0, 90.0]
-
0.0
-
deg
-
-
-
CA_SV_TL3_TD (INT32)
-
Tilt Servo 3 Tilt Direction
Comment: Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
Values:
-
0: Towards Front
-
90: Towards Right
-
-
[0, 359]
-
0
-
-
-
-
CA_SV_TL_COUNT (INT32)
-
Total number of Tilt Servos Values:
-
0: 0
-
1: 1
-
2: 2
-
3: 3
-
4: 4
-
-
-
0
-
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Hover Thrust Estimator
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
HTE_ACC_GATE (FLOAT)
-
Gate size for acceleration fusion
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[1.0, 10.0]
-
3.0
-
SD
-
-
-
HTE_HT_ERR_INIT (FLOAT)
-
1-sigma initial hover thrust uncertainty
Comment: Sets the number of standard deviations used by the innovation consistency test.
-
[0.0, 1.0]
-
0.1
-
normalized_thrust
-
-
-
HTE_HT_NOISE (FLOAT)
-
Hover thrust process noise
Comment: Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.
-
[0.0001, 1.0]
-
0.0036
-
normalized_thrust/s
-
-
-
HTE_THR_RANGE (FLOAT)
-
Max deviation from MPC_THR_HOVER
Comment: Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).
-
[0.01, 0.4]
-
0.2
-
normalized_thrust
-
-
-
HTE_VXY_THR (FLOAT)
-
Horizontal velocity threshold for sensitivity reduction
Comment: Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.
-
[1.0, 20.0]
-
10.0
-
m/s
-
-
-
HTE_VZ_THR (FLOAT)
-
Vertical velocity threshold for sensitivity reduction
Comment: Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.
Comment: Configure on which serial port to run Iridium (with MAVLink).
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
ISBD_READ_INT (INT32)
-
Satellite radio read interval. Only required to be nonzero if data is not sent using a ring call
-
[0, 5000]
-
0
-
s
-
-
-
ISBD_SBD_TIMEOUT (INT32)
-
Iridium SBD session timeout
-
[0, 300]
-
60
-
s
-
-
-
ISBD_STACK_TIME (INT32)
-
Time the Iridium driver will wait for additional mavlink messages to combine them into one SBD message
Comment: Value 0 turns the functionality off
-
[0, 500]
-
0
-
ms
-
-
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
-## Land Detector
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
LNDFW_AIRSPD_MAX (FLOAT)
-
Fixed-wing land detector: Max airspeed
Comment: Maximum airspeed allowed in the landed state
-
[2, 20]
-
6.00
-
m/s
-
-
-
LNDFW_TRIG_TIME (FLOAT)
-
Fixed-wing land detection trigger time
Comment: Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.
Reboot required: true
-
-
[0.1, ?]
-
2.
-
s
-
-
-
LNDFW_VEL_XY_MAX (FLOAT)
-
Fixed-wing land detector: Max horizontal velocity threshold
Comment: Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).
-
[0.5, 10]
-
5.0
-
m/s
-
-
-
LNDFW_VEL_Z_MAX (FLOAT)
-
Fixed-wing land detector: Max vertiacal velocity threshold
Comment: Maximum vertical velocity allowed in the landed state.
-
[0.1, 20]
-
1.0
-
m/s
-
-
-
LNDFW_XYACC_MAX (FLOAT)
-
Fixed-wing land detector: Max horizontal acceleration
Comment: Maximum horizontal (x,y body axes) acceleration allowed in the landed state
-
[2, 15]
-
8.0
-
m/s^2
-
-
-
LNDMC_ALT_GND (FLOAT)
-
Ground effect altitude for multicopters
Comment: The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.
-
[-1, ?]
-
2.
-
m
-
-
-
LNDMC_ROT_MAX (FLOAT)
-
Multicopter max rotation
Comment: Maximum allowed angular velocity around each axis allowed in the landed state.
-
-
20.0
-
deg/s
-
-
-
LNDMC_TRIG_TIME (FLOAT)
-
Multicopter land detection trigger time
Comment: Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.
-
[0.1, 10.0]
-
1.0
-
s
-
-
-
LNDMC_XY_VEL_MAX (FLOAT)
-
Multicopter max horizontal velocity
Comment: Maximum horizontal velocity allowed in the landed state
-
-
1.5
-
m/s
-
-
-
LNDMC_Z_VEL_MAX (FLOAT)
-
Multicopter vertical velocity threshold
Comment: Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.
-
[0, ?]
-
0.25
-
m/s
-
-
-
LND_FLIGHT_T_HI (INT32)
-
Total flight time in microseconds
Comment: Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.
-
[0, ?]
-
0
-
-
-
-
LND_FLIGHT_T_LO (INT32)
-
Total flight time in microseconds
Comment: Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.
-
[0, ?]
-
0
-
-
-
+### PCA9685_DUTY_EN (`INT32`) {#PCA9685_DUTY_EN}
-## Landing Target Estimator
+Put the selected channels into Duty-Cycle output mode.
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
LTEST_ACC_UNC (FLOAT)
-
Acceleration uncertainty
Comment: Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection
-
[0.01, ?]
-
10.0
-
(m/s^2)^2
-
-
-
LTEST_MEAS_UNC (FLOAT)
-
Landing target measurement uncertainty
Comment: Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.
-
-
0.005
-
tan(rad)^2
-
-
-
LTEST_MODE (INT32)
-
Landing target mode
Comment: Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving: The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.
Values:
-
0: Moving
-
1: Stationary
-
-
[0, 1]
-
0
-
-
-
-
LTEST_POS_UNC_IN (FLOAT)
-
Initial landing target position uncertainty
Comment: Initial variance of the relative landing target position in x and y direction
-
[0.001, ?]
-
0.1
-
m^2
-
-
-
LTEST_SCALE_X (FLOAT)
-
Scale factor for sensor measurements in sensor x axis
Comment: Landing target x measurements are scaled by this factor before being used
-
[0.01, ?]
-
1.0
-
-
-
-
LTEST_SCALE_Y (FLOAT)
-
Scale factor for sensor measurements in sensor y axis
Comment: Landing target y measurements are scaled by this factor before being used
-
[0.01, ?]
-
1.0
-
-
-
-
LTEST_SENS_POS_X (FLOAT)
-
X Position of IRLOCK in body frame (forward)
Reboot required: true
-
-
-
0.0
-
m
-
-
-
LTEST_SENS_POS_Y (FLOAT)
-
Y Position of IRLOCK in body frame (right)
Reboot required: true
-
-
-
0.0
-
m
-
-
-
LTEST_SENS_POS_Z (FLOAT)
-
Z Position of IRLOCK in body frame (downward)
Reboot required: true
-
-
-
0.0
-
m
-
-
-
LTEST_SENS_ROT (INT32)
-
Rotation of IRLOCK sensor relative to airframe
Comment: Default orientation of Yaw 90°
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[-1, 40]
-
2
-
-
-
-
LTEST_VEL_UNC_IN (FLOAT)
-
Initial landing target velocity uncertainty
Comment: Initial variance of the relative landing target velocity in x and y directions
-
[0.001, ?]
-
0.1
-
(m/s)^2
-
-
+The driver will output standard pulse-width encoded signal without this bit set. To make PCA9685 output in duty-cycle fashion, please enable the corresponding channel bit here and adjusting standard params to suit your need. The driver will have 12bits resolution for duty-cycle output. That means to achieve 0% to 100% output range on one channel, the corresponding params MIN and MAX for the channel should be set to 0 and 4096. Other standard params follows the same rule.
-## Local Position Estimator
+**Bitmask:**
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
LPE_ACC_XY (FLOAT)
-
Accelerometer xy noise density
Comment: Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.
-
[0.00001, 2]
-
0.012
-
m/s^2/sqrt(Hz)
-
-
-
LPE_ACC_Z (FLOAT)
-
Accelerometer z noise density
Comment: Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)
-
[0.00001, 2]
-
0.02
-
m/s^2/sqrt(Hz)
-
-
-
LPE_BAR_Z (FLOAT)
-
Barometric presssure altitude z standard deviation
-
[0.01, 100]
-
3.0
-
m
-
-
-
LPE_EN (INT32)
-
Local position estimator enable (unsupported)
-
-
Disabled (0)
-
-
-
-
LPE_EPH_MAX (FLOAT)
-
Max EPH allowed for GPS initialization
-
[1.0, 5.0]
-
3.0
-
m
-
-
-
LPE_EPV_MAX (FLOAT)
-
Max EPV allowed for GPS initialization
-
[1.0, 5.0]
-
5.0
-
m
-
-
-
LPE_FAKE_ORIGIN (INT32)
-
Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow)
Comment: By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable
-
[0, 1]
-
0
-
-
-
-
LPE_FGYRO_HP (FLOAT)
-
Flow gyro high pass filter cut off frequency
-
[0, 2]
-
0.001
-
Hz
-
-
-
LPE_FLW_OFF_Z (FLOAT)
-
Optical flow z offset from center
-
[-1, 1]
-
0.0
-
m
-
-
-
LPE_FLW_QMIN (INT32)
-
Optical flow minimum quality threshold
-
[0, 255]
-
150
-
-
-
-
LPE_FLW_R (FLOAT)
-
Optical flow rotation (roll/pitch) noise gain
-
[0.1, 10.0]
-
7.0
-
m/s/rad
-
-
-
LPE_FLW_RR (FLOAT)
-
Optical flow angular velocity noise gain
-
[0.0, 10.0]
-
7.0
-
m/rad
-
-
-
LPE_FLW_SCALE (FLOAT)
-
Optical flow scale
-
[0.1, 10.0]
-
1.3
-
m
-
-
-
LPE_FUSION (INT32)
-
Integer bitmask controlling data fusion
Comment: Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)
Bitmask:
0: fuse GPS, requires GPS for alt. init
-
1: fuse optical flow
-
2: fuse vision position
-
3: fuse landing target
-
4: fuse land detector
-
5: pub agl as lpos down
-
6: flow gyro compensation
-
7: fuse baro
-
-
-
[0, 255]
-
145
-
-
-
-
LPE_GPS_DELAY (FLOAT)
-
GPS delay compensaton
-
[0, 0.4]
-
0.29
-
s
-
-
-
LPE_GPS_VXY (FLOAT)
-
GPS xy velocity standard deviation
Comment: EPV used if greater than this value.
-
[0.01, 2]
-
0.25
-
m/s
-
-
-
LPE_GPS_VZ (FLOAT)
-
GPS z velocity standard deviation
-
[0.01, 2]
-
0.25
-
m/s
-
-
-
LPE_GPS_XY (FLOAT)
-
Minimum GPS xy standard deviation, uses reported EPH if greater
-
[0.01, 5]
-
1.0
-
m
-
-
-
LPE_GPS_Z (FLOAT)
-
Minimum GPS z standard deviation, uses reported EPV if greater
-
[0.01, 200]
-
3.0
-
m
-
-
-
LPE_LAND_VXY (FLOAT)
-
Land detector xy velocity standard deviation
-
[0.01, 10.0]
-
0.05
-
m/s
-
-
-
LPE_LAND_Z (FLOAT)
-
Land detector z standard deviation
-
[0.001, 10.0]
-
0.03
-
m
-
-
-
LPE_LAT (FLOAT)
-
Local origin latitude for nav w/o GPS
-
[-90, 90]
-
47.397742
-
deg
-
-
-
LPE_LDR_OFF_Z (FLOAT)
-
Lidar z offset from center of vehicle +down
-
[-1, 1]
-
0.00
-
m
-
-
-
LPE_LDR_Z (FLOAT)
-
Lidar z standard deviation
-
[0.01, 1]
-
0.03
-
m
-
-
-
LPE_LON (FLOAT)
-
Local origin longitude for nav w/o GPS
-
[-180, 180]
-
8.545594
-
deg
-
-
-
LPE_LT_COV (FLOAT)
-
Minimum landing target standard covariance, uses reported covariance if greater
-
[0.0, 10]
-
0.0001
-
m^2
-
-
-
LPE_PN_B (FLOAT)
-
Accel bias propagation noise density
-
[0, 1]
-
1e-3
-
m/s^3/sqrt(Hz)
-
-
-
LPE_PN_P (FLOAT)
-
Position propagation noise density
Comment: Increase to trust measurements more. Decrease to trust model more.
-
[0, 1]
-
0.1
-
m/s/sqrt(Hz)
-
-
-
LPE_PN_T (FLOAT)
-
Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001)
-
[0, 1]
-
0.001
-
m/s/sqrt(Hz)
-
-
-
LPE_PN_V (FLOAT)
-
Velocity propagation noise density
Comment: Increase to trust measurements more. Decrease to trust model more.
Comment: Used to calculate increased terrain random walk nosie due to movement.
-
[0, 100]
-
1.0
-
%
-
-
-
LPE_VIC_P (FLOAT)
-
Vicon position standard deviation
-
[0.0001, 1]
-
0.001
-
m
-
-
-
LPE_VIS_DELAY (FLOAT)
-
Vision delay compensation
Comment: Set to zero to enable automatic compensation from measurement timestamps
-
[0, 0.1]
-
0.1
-
s
-
-
-
LPE_VIS_XY (FLOAT)
-
Vision xy standard deviation
-
[0.01, 1]
-
0.1
-
m
-
-
-
LPE_VIS_Z (FLOAT)
-
Vision z standard deviation
-
[0.01, 100]
-
0.5
-
m
-
-
-
LPE_VXY_PUB (FLOAT)
-
Required velocity xy standard deviation to publish position
-
[0.01, 1.0]
-
0.3
-
m/s
-
-
-
LPE_X_LP (FLOAT)
-
Cut frequency for state publication
-
[5, 1000]
-
5.0
-
Hz
-
-
-
LPE_Z_PUB (FLOAT)
-
Required z standard deviation to publish altitude/ terrain
-
[0.3, 5.0]
-
1.0
-
m
-
-
+- `0`: Put CH1 to Duty-Cycle mode
+- `1`: Put CH2 to Duty-Cycle mode
+- `2`: Put CH3 to Duty-Cycle mode
+- `3`: Put CH4 to Duty-Cycle mode
+- `4`: Put CH5 to Duty-Cycle mode
+- `5`: Put CH6 to Duty-Cycle mode
+- `6`: Put CH7 to Duty-Cycle mode
+- `7`: Put CH8 to Duty-Cycle mode
+- `8`: Put CH9 to Duty-Cycle mode
+- `9`: Put CH10 to Duty-Cycle mode
+- `10`: Put CH11 to Duty-Cycle mode
+- `11`: Put CH12 to Duty-Cycle mode
+- `12`: Put CH13 to Duty-Cycle mode
+- `13`: Put CH14 to Duty-Cycle mode
+- `14`: Put CH15 to Duty-Cycle mode
+- `15`: Put CH16 to Duty-Cycle mode
-## MAVLink
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MAV_0_BROADCAST (INT32)
-
Broadcast heartbeats on local network for MAVLink instance 0
Comment: This allows a ground control station to automatically find the drone on the local network.
Values:
-
0: Never broadcast
-
1: Always broadcast
-
2: Only multicast
-
-
-
1
-
-
-
-
MAV_0_CONFIG (INT32)
-
Serial Configuration for MAVLink (instance 0)
Comment: Configure on which serial port to run MAVLink.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
1000: Ethernet
-
Reboot required: true
-
-
-
101
-
-
-
-
MAV_0_FLOW_CTRL (INT32)
-
Enable serial flow control for instance 0
Comment: This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
Values:
-
0: Force off
-
1: Force on
-
2: Auto-detected
-
Reboot required: True
-
-
-
2
-
-
-
-
MAV_0_FORWARD (INT32)
-
Enable MAVLink Message forwarding for instance 0
Comment: If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
Reboot required: True
-
-
-
Enabled (1)
-
-
-
-
MAV_0_HL_FREQ (FLOAT)
-
Configures the frequency of HIGH_LATENCY2 stream for instance 0
Comment: Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 0, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
Reboot required: True
-
-
[0.0, 50.0] (0.001)
-
0.015
-
Hz
-
-
-
MAV_0_MODE (INT32)
-
MAVLink Mode for instance 0
Comment: The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
Values:
-
0: Normal
-
1: Custom
-
2: Onboard
-
3: OSD
-
4: Magic
-
5: Config
-
7: Minimal
-
8: External Vision
-
10: Gimbal
-
11: Onboard Low Bandwidth
-
12: uAvionix
-
Reboot required: True
-
-
-
0
-
-
-
-
MAV_0_RADIO_CTL (INT32)
-
Enable software throttling of mavlink on instance 0
Comment: If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
Reboot required: True
-
-
-
Enabled (1)
-
-
-
-
MAV_0_RATE (INT32)
-
Maximum MAVLink sending rate for instance 0
Comment: Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
Reboot required: True
-
-
[0, ?]
-
1200
-
B/s
-
-
-
MAV_0_REMOTE_PRT (INT32)
-
MAVLink Remote Port for instance 0
Comment: If ethernet enabled and selected as configuration for MAVLink instance 0, selected remote port will be set and used in MAVLink instance 0.
Reboot required: True
-
-
-
14550
-
-
-
-
MAV_0_UDP_PRT (INT32)
-
MAVLink Network Port for instance 0
Comment: If ethernet enabled and selected as configuration for MAVLink instance 0, selected udp port will be set and used in MAVLink instance 0.
Reboot required: True
-
-
-
14556
-
-
-
-
MAV_1_BROADCAST (INT32)
-
Broadcast heartbeats on local network for MAVLink instance 1
Comment: This allows a ground control station to automatically find the drone on the local network.
Values:
-
0: Never broadcast
-
1: Always broadcast
-
2: Only multicast
-
-
-
0
-
-
-
-
MAV_1_CONFIG (INT32)
-
Serial Configuration for MAVLink (instance 1)
Comment: Configure on which serial port to run MAVLink.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
1000: Ethernet
-
Reboot required: true
-
-
-
0
-
-
-
-
MAV_1_FLOW_CTRL (INT32)
-
Enable serial flow control for instance 1
Comment: This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
Values:
-
0: Force off
-
1: Force on
-
2: Auto-detected
-
Reboot required: True
-
-
-
2
-
-
-
-
MAV_1_FORWARD (INT32)
-
Enable MAVLink Message forwarding for instance 1
Comment: If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
MAV_1_HL_FREQ (FLOAT)
-
Configures the frequency of HIGH_LATENCY2 stream for instance 1
Comment: Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 1, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
Reboot required: True
-
-
[0.0, 50.0] (0.001)
-
0.015
-
Hz
-
-
-
MAV_1_MODE (INT32)
-
MAVLink Mode for instance 1
Comment: The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
Values:
-
0: Normal
-
1: Custom
-
2: Onboard
-
3: OSD
-
4: Magic
-
5: Config
-
7: Minimal
-
8: External Vision
-
10: Gimbal
-
11: Onboard Low Bandwidth
-
12: uAvionix
-
Reboot required: True
-
-
-
2
-
-
-
-
MAV_1_RADIO_CTL (INT32)
-
Enable software throttling of mavlink on instance 1
Comment: If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
Reboot required: True
-
-
-
Enabled (1)
-
-
-
-
MAV_1_RATE (INT32)
-
Maximum MAVLink sending rate for instance 1
Comment: Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
Reboot required: True
-
-
[0, ?]
-
0
-
B/s
-
-
-
MAV_1_REMOTE_PRT (INT32)
-
MAVLink Remote Port for instance 1
Comment: If ethernet enabled and selected as configuration for MAVLink instance 1, selected remote port will be set and used in MAVLink instance 1.
Reboot required: True
-
-
-
0
-
-
-
-
MAV_1_UDP_PRT (INT32)
-
MAVLink Network Port for instance 1
Comment: If ethernet enabled and selected as configuration for MAVLink instance 1, selected udp port will be set and used in MAVLink instance 1.
Reboot required: True
-
-
-
0
-
-
-
-
MAV_2_BROADCAST (INT32)
-
Broadcast heartbeats on local network for MAVLink instance 2
Comment: This allows a ground control station to automatically find the drone on the local network.
Values:
-
0: Never broadcast
-
1: Always broadcast
-
2: Only multicast
-
-
-
0
-
-
-
-
MAV_2_CONFIG (INT32)
-
Serial Configuration for MAVLink (instance 2)
Comment: Configure on which serial port to run MAVLink.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
1000: Ethernet
-
Reboot required: true
-
-
-
0
-
-
-
-
MAV_2_FLOW_CTRL (INT32)
-
Enable serial flow control for instance 2
Comment: This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
Values:
-
0: Force off
-
1: Force on
-
2: Auto-detected
-
Reboot required: True
-
-
-
2
-
-
-
-
MAV_2_FORWARD (INT32)
-
Enable MAVLink Message forwarding for instance 2
Comment: If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
MAV_2_HL_FREQ (FLOAT)
-
Configures the frequency of HIGH_LATENCY2 stream for instance 2
Comment: Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 2, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
Reboot required: True
-
-
[0.0, 50.0] (0.001)
-
0.015
-
Hz
-
-
-
MAV_2_MODE (INT32)
-
MAVLink Mode for instance 2
Comment: The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
Values:
-
0: Normal
-
1: Custom
-
2: Onboard
-
3: OSD
-
4: Magic
-
5: Config
-
7: Minimal
-
8: External Vision
-
10: Gimbal
-
11: Onboard Low Bandwidth
-
12: uAvionix
-
Reboot required: True
-
-
-
0
-
-
-
-
MAV_2_RADIO_CTL (INT32)
-
Enable software throttling of mavlink on instance 2
Comment: If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
Reboot required: True
-
-
-
Enabled (1)
-
-
-
-
MAV_2_RATE (INT32)
-
Maximum MAVLink sending rate for instance 2
Comment: Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
Reboot required: True
-
-
[0, ?]
-
0
-
B/s
-
-
-
MAV_2_REMOTE_PRT (INT32)
-
MAVLink Remote Port for instance 2
Comment: If ethernet enabled and selected as configuration for MAVLink instance 2, selected remote port will be set and used in MAVLink instance 2.
Reboot required: True
-
-
-
0
-
-
-
-
MAV_2_UDP_PRT (INT32)
-
MAVLink Network Port for instance 2
Comment: If ethernet enabled and selected as configuration for MAVLink instance 2, selected udp port will be set and used in MAVLink instance 2.
Reboot required: True
-
-
-
0
-
-
-
-
MAV_COMP_ID (INT32)
-
MAVLink component ID
Reboot required: true
-
-
[1, 250]
-
1
-
-
-
-
MAV_FWDEXTSP (INT32)
-
Forward external setpoint messages
Comment: If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode
-
-
Enabled (1)
-
-
-
-
MAV_HASH_CHK_EN (INT32)
-
Parameter hash check
Comment: Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.
-
-
Enabled (1)
-
-
-
-
MAV_HB_FORW_EN (INT32)
-
Heartbeat message forwarding
Comment: The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.
-
-
Enabled (1)
-
-
-
-
MAV_PROTO_VER (INT32)
-
MAVLink protocol version Values:
-
0: Default to 1, switch to 2 if GCS sends version 2
-
1: Always use version 1
-
2: Always use version 2
-
-
-
0
-
-
-
-
MAV_RADIO_TOUT (INT32)
-
Timeout in seconds for the RADIO_STATUS reports coming in
Comment: If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.
-
[1, 250]
-
5
-
s
-
-
-
MAV_SIK_RADIO_ID (INT32)
-
MAVLink SiK Radio ID
Comment: When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio
-
[-1, 240]
-
0
-
-
-
-
MAV_SYS_ID (INT32)
-
MAVLink system ID
Reboot required: true
-
-
[1, 250]
-
1
-
-
-
-
MAV_TYPE (INT32)
-
MAVLink airframe type Values:
-
0: Generic micro air vehicle
-
1: Fixed wing aircraft
-
2: Quadrotor
-
3: Coaxial helicopter
-
4: Normal helicopter with tail rotor
-
7: Airship, controlled
-
8: Free balloon, uncontrolled
-
10: Ground rover
-
11: Surface vessel, boat, ship
-
12: Submarine
-
13: Hexarotor
-
14: Octorotor
-
15: Tricopter
-
19: VTOL Two-rotor Tailsitter
-
20: VTOL Quad-rotor Tailsitter
-
21: VTOL Tiltrotor
-
22: VTOL Standard (separate fixed rotors for hover and cruise flight)
-
23: VTOL Tailsitter
-
-
[0, 22]
-
0
-
-
-
-
MAV_USEHILGPS (INT32)
-
Use/Accept HIL GPS message even if not in HIL mode
Comment: If set to 1 incoming HIL GPS messages are parsed.
Comment: This enables continuous calibration of the magnetometers before takeoff using gyro data.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
MBE_LEARN_GAIN (FLOAT)
-
Mag bias estimator learning gain
Comment: Increase to make the estimator more responsive Decrease to make the estimator more robust to noise
-
[0.1, 100] (0.1)
-
18.
-
-
-
+PCA9685 Output Channel 1 Failsafe Value.
-## Manual Control
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC1).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MAN_ARM_GESTURE (INT32)
-
Enable arm/disarm stick gesture
Comment: This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.
-
-
Enabled (1)
-
-
-
-
MAN_KILL_GEST_T (FLOAT)
-
Trigger time for kill stick gesture
Comment: The timeout for holding the left stick to the lower left and the right stick to the lower right at the same time until the gesture kills the actuators one-way. A negative value disables the feature.
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
-
[0, 3600]
-
30
-
s
-
-
-
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
-
[0.0, 30.0] (0.5)
-
15.0
-
deg
-
-
-
MIS_DIST_1WP (FLOAT)
-
Maximal horizontal distance from current position to first waypoint
Comment: Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.
-
[-1, 10000] (100)
-
10000
-
m
-
-
-
MIS_LND_ABRT_ALT (INT32)
-
Landing abort min altitude
Comment: Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.
-
[0, ?]
-
30
-
m
-
-
-
MIS_MNT_YAW_CTL (INT32)
-
Enable yaw control of the mount. (Only affects multicopters and ROI mission items)
Comment: If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.
Values:
-
0: Disable
-
1: Enable
-
-
[0, 1]
-
0
-
-
-
-
MIS_PD_TO (FLOAT)
-
Timeout for a successful payload deployment acknowledgement
-
[0, ?] (1)
-
5.0
-
s
-
-
-
MIS_TAKEOFF_ALT (FLOAT)
-
Default take-off altitude
Comment: This is the relative altitude the system will take off to if not otherwise specified.
-
[0, ?] (0.5)
-
2.5
-
m
-
-
-
MIS_TKO_LAND_REQ (INT32)
-
Mission takeoff/landing required
Comment: Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.
Values:
-
0: No requirements
-
1: Require a takeoff
-
2: Require a landing
-
3: Require a takeoff and a landing
-
4: Require both a takeoff and a landing, or neither
-
5: Same as previous when landed, in-air require landing only if no valid VTOL approach is present
-
-
-
0
-
-
-
-
MIS_YAW_ERR (FLOAT)
-
Max yaw error in degrees needed for waypoint heading acceptance
-
[0, 90] (1)
-
12.0
-
deg
-
-
-
MIS_YAW_TMT (FLOAT)
-
Time in seconds we wait on reaching target heading at a waypoint if it is forced
Comment: If set > 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.
-
[-1, 20] (1)
-
-1.0
-
s
-
-
-
MPC_YAW_MODE (INT32)
-
Heading behavior in autonomous modes Values:
-
0: towards waypoint
-
1: towards home
-
2: away from home
-
3: along trajectory
-
4: towards waypoint (yaw first)
-
5: yaw fixed
-
-
[0, 4]
-
0
-
-
-
-
NAV_ACC_RAD (FLOAT)
-
Acceptance Radius
Comment: Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.
-
[0.05, 200.0] (0.5)
-
10.0
-
m
-
-
-
NAV_FORCE_VT (INT32)
-
Force VTOL mode takeoff and land
-
-
Enabled (1)
-
-
-
-
NAV_FW_ALTL_RAD (FLOAT)
-
FW Altitude Acceptance Radius before a landing
Comment: Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.
-
[0.05, 200.0]
-
5.0
-
m
-
-
-
NAV_FW_ALT_RAD (FLOAT)
-
FW Altitude Acceptance Radius
Comment: Acceptance radius for fixedwing altitude.
-
[0.05, 200.0] (0.5)
-
10.0
-
m
-
-
-
NAV_LOITER_RAD (FLOAT)
-
Loiter radius (FW only)
Comment: Default value of loiter radius in FW mode (e.g. for Loiter mode).
-
[25, 1000] (0.5)
-
80.0
-
m
-
-
-
NAV_MC_ALT_RAD (FLOAT)
-
MC Altitude Acceptance Radius
Comment: Acceptance radius for multicopter altitude.
-
[0.05, 200.0] (0.5)
-
0.8
-
m
-
-
-
NAV_MIN_LTR_ALT (FLOAT)
-
Minimum Loiter altitude
Comment: This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint ("Go to"). Set to a negative value to disable.
-
[-1, ?] (0.5)
-
-1.
-
m
-
-
-
NAV_TRAFF_AVOID (INT32)
-
Set traffic avoidance mode
Comment: Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders
Values:
-
0: Disabled
-
1: Warn only
-
2: Return mode
-
3: Land mode
-
4: Position Hold mode
-
-
-
1
-
-
-
-
NAV_TRAFF_A_HOR (FLOAT)
-
Set NAV TRAFFIC AVOID horizontal distance
Comment: Defines a crosstrack horizontal distance
-
[500, ?]
-
500
-
m
-
-
-
NAV_TRAFF_A_VER (FLOAT)
-
Set NAV TRAFFIC AVOID vertical distance
-
[10, 500]
-
500
-
m
-
-
-
NAV_TRAFF_COLL_T (INT32)
-
Estimated time until collision
Comment: Minimum acceptable time until collsion. Assumes constant speed over 3d distance.
-
[1, 900000000]
-
60
-
s
-
-
+PCA9685 Output Channel 10 Failsafe Value.
-## Mixer Output
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC10).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MC_AIRMODE (INT32)
-
Multicopter air-mode
Comment: The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.
Comment: This can be set to indicate that drone behavior needs to be changed to match a custom setting
Reboot required: True
-
-
-
0
-
-
-
+PCA9685 Output Channel 11 Failsafe Value.
-## Mount
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC11).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MNT_DO_STAB (INT32)
-
Stabilize the mount
Comment: Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.
Values:
-
0: Disable
-
1: Stabilize all axis
-
2: Stabilize yaw for absolute/lock mode.
-
-
[0, 2]
-
0
-
-
-
-
MNT_LND_P_MAX (FLOAT)
-
Pitch maximum when landed
-
[-90.0, 90.0]
-
90.0
-
deg
-
-
-
MNT_LND_P_MIN (FLOAT)
-
Pitch minimum when landed
-
[-90.0, 90.0]
-
-90.0
-
deg
-
-
-
MNT_MAN_PITCH (INT32)
-
Auxiliary channel to control pitch (in AUX input or manual mode) Values:
-
0: Disable
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
[0, 6]
-
0
-
-
-
-
MNT_MAN_ROLL (INT32)
-
Auxiliary channel to control roll (in AUX input or manual mode) Values:
-
0: Disable
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
[0, 6]
-
0
-
-
-
-
MNT_MAN_YAW (INT32)
-
Auxiliary channel to control yaw (in AUX input or manual mode) Values:
-
0: Disable
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
[0, 6]
-
0
-
-
-
-
MNT_MAV_COMPID (INT32)
-
Mavlink Component ID of the mount
Comment: If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.
-
-
154
-
-
-
-
MNT_MAV_SYSID (INT32)
-
Mavlink System ID of the mount
Comment: If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.
-
-
1
-
-
-
-
MNT_MODE_IN (INT32)
-
Mount input mode
Comment: This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.
Values:
-
-1: DISABLED
-
0: Auto (RC and MAVLink gimbal protocol v2)
-
1: RC
-
2: MAVLINK_ROI (protocol v1, to be deprecated)
-
3: MAVLINK_DO_MOUNT (protocol v1, to be deprecated)
-
4: MAVlink gimbal protocol v2
-
Reboot required: true
-
-
[-1, 4]
-
-1
-
-
-
-
MNT_MODE_OUT (INT32)
-
Mount output mode
Comment: This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.
Values:
-
0: AUX
-
1: MAVLink gimbal protocol v1
-
2: MAVLink gimbal protocol v2
-
Reboot required: true
-
-
[0, 2]
-
0
-
-
-
-
MNT_OFF_PITCH (FLOAT)
-
Offset for pitch channel output in degrees
-
[-360.0, 360.0]
-
0.0
-
deg
-
-
-
MNT_OFF_ROLL (FLOAT)
-
Offset for roll channel output in degrees
-
[-360.0, 360.0]
-
0.0
-
deg
-
-
-
MNT_OFF_YAW (FLOAT)
-
Offset for yaw channel output in degrees
-
[-360.0, 360.0]
-
0.0
-
deg
-
-
-
MNT_RANGE_PITCH (FLOAT)
-
Range of pitch channel output in degrees (only in AUX output mode)
-
[1.0, 720.0]
-
90.0
-
deg
-
-
-
MNT_RANGE_ROLL (FLOAT)
-
Range of roll channel output in degrees (only in AUX output mode)
-
[1.0, 720.0]
-
90.0
-
deg
-
-
-
MNT_RANGE_YAW (FLOAT)
-
Range of yaw channel output in degrees (only in AUX output mode)
-
[1.0, 720.0]
-
360.0
-
deg
-
-
-
MNT_RATE_PITCH (FLOAT)
-
Angular pitch rate for manual input in degrees/second
Comment: Full stick input [-1..1] translats to [-pitch rate..pitch rate].
-
[1.0, 90.0]
-
30.0
-
deg/s
-
-
-
MNT_RATE_YAW (FLOAT)
-
Angular yaw rate for manual input in degrees/second
Comment: Full stick input [-1..1] translats to [-yaw rate..yaw rate].
Comment: Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve
-
[0, 1]
-
0.
-
-
-
-
MC_ACRO_EXPO_Y (FLOAT)
-
Acro mode yaw expo factor
Comment: Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve
-
[0, 1]
-
0.
-
-
-
-
MC_ACRO_P_MAX (FLOAT)
-
Acro mode maximum pitch rate
Comment: Full stick deflection leads to this rate.
-
[0.0, 1800.0] (5)
-
100.
-
deg/s
-
-
-
MC_ACRO_R_MAX (FLOAT)
-
Acro mode maximum roll rate
Comment: Full stick deflection leads to this rate.
-
[0.0, 1800.0] (5)
-
100.
-
deg/s
-
-
-
MC_ACRO_SUPEXPO (FLOAT)
-
Acro mode roll, pitch super expo factor
Comment: "Superexponential" factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect
-
[0, 0.95]
-
0.
-
-
-
-
MC_ACRO_SUPEXPOY (FLOAT)
-
Acro mode yaw super expo factor
Comment: "Superexponential" factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect
-
[0, 0.95]
-
0.
-
-
-
-
MC_ACRO_Y_MAX (FLOAT)
-
Acro mode maximum yaw rate
Comment: Full stick deflection leads to this rate.
-
[0.0, 1800.0] (5)
-
100.
-
deg/s
-
-
+PCA9685 Output Channel 12 Failsafe Value.
-## Multicopter Attitude Control
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC12).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MC_PITCHRATE_MAX (FLOAT)
-
Max pitch rate
Comment: Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.
-
[0.0, 1800.0] (5)
-
220.0
-
deg/s
-
-
-
MC_PITCH_P (FLOAT)
-
Pitch P gain
Comment: Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
-
[0.0, 12] (0.1)
-
6.5
-
-
-
-
MC_ROLLRATE_MAX (FLOAT)
-
Max roll rate
Comment: Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.
-
[0.0, 1800.0] (5)
-
220.0
-
deg/s
-
-
-
MC_ROLL_P (FLOAT)
-
Roll P gain
Comment: Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
-
[0.0, 12] (0.1)
-
6.5
-
-
-
-
MC_YAWRATE_MAX (FLOAT)
-
Max yaw rate
-
[0.0, 1800.0] (5)
-
200.0
-
deg/s
-
-
-
MC_YAW_P (FLOAT)
-
Yaw P gain
Comment: Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
-
[0.0, 5] (0.1)
-
2.8
-
-
-
-
MC_YAW_WEIGHT (FLOAT)
-
Yaw weight
Comment: A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.
-
[0.0, 1.0] (0.1)
-
0.4
-
-
-
-
MPC_YAWRAUTO_ACC (FLOAT)
-
Maximum yaw acceleration in autonomous modes
Comment: Limits the acceleration of the yaw setpoint to avoid large control output and mixer saturation.
-
[5, 360] (5)
-
60.
-
deg/s^2
-
-
-
MPC_YAWRAUTO_MAX (FLOAT)
-
Maximum yaw rate in autonomous modes
Comment: Limits the rate of change of the yaw setpoint to avoid large control output and mixer saturation.
Average delay of the range sensor message plus the tracking delay of the position controller in seconds
Comment: Only used in Position mode.
-
[0, 1]
-
0.4
-
s
-
-
-
CP_DIST (FLOAT)
-
Minimum distance the vehicle should keep to all obstacles
Comment: Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value
-
[-1, 15]
-
-1.0
-
m
-
-
-
CP_GO_NO_DATA (INT32)
-
Boolean to allow moving into directions where there is no sensor data (outside FOV)
Comment: Only used in Position mode.
-
-
Disabled (0)
-
-
-
-
CP_GUIDE_ANG (FLOAT)
-
Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction
Comment: Only used in Position mode.
-
[0, 90]
-
30.
-
deg
-
-
-
MC_MAN_TILT_TAU (FLOAT)
-
Manual tilt input filter time constant
Comment: Setting this parameter to 0 disables the filter
-
[0.0, 2.0]
-
0.0
-
s
-
-
-
MPC_ACC_DECOUPLE (INT32)
-
Acceleration to tilt coupling
Comment: Set to decouple tilt from vertical acceleration.
-
-
Enabled (1)
-
-
-
-
MPC_ACC_DOWN_MAX (FLOAT)
-
Maximum downwards acceleration in climb rate controlled modes
-
[2, 15] (1)
-
3.
-
m/s^2
-
-
-
MPC_ACC_HOR (FLOAT)
-
Acceleration for autonomous and for manual modes
Comment: When piloting manually, this parameter is only used in MPC_POS_MODE 4.
-
[2, 15] (1)
-
3.
-
m/s^2
-
-
-
MPC_ACC_HOR_MAX (FLOAT)
-
Maximum horizontal acceleration
Comment: MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 not used, use MPC_ACC_HOR instead
-
[2, 15] (1)
-
5.
-
m/s^2
-
-
-
MPC_ACC_UP_MAX (FLOAT)
-
Maximum upwards acceleration in climb rate controlled modes
-
[2, 15] (1)
-
4.
-
m/s^2
-
-
-
MPC_ALT_MODE (INT32)
-
Altitude reference mode
Comment: Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.
Values:
-
0: Altitude following
-
1: Terrain following
-
2: Terrain hold
-
-
[0, 2]
-
2
-
-
-
-
MPC_HOLD_DZ (FLOAT)
-
Deadzone for sticks in manual piloted modes
Comment: Does not apply to manual throttle and direct attitude piloting by stick.
-
[0, 1] (0.01)
-
0.1
-
-
-
-
MPC_HOLD_MAX_XY (FLOAT)
-
Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)
Comment: Only used with MPC_POS_MODE 0 or MPC_ALT_MODE 2
-
[0, 3]
-
0.8
-
m/s
-
-
-
MPC_HOLD_MAX_Z (FLOAT)
-
Maximum vertical velocity for which position hold is enabled (use 0 to disable check)
Comment: Only used with MPC_ALT_MODE 1
-
[0, 3]
-
0.6
-
m/s
-
-
-
MPC_JERK_AUTO (FLOAT)
-
Jerk limit in autonomous modes
Comment: Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions but also limited agility.
-
[1, 80] (1)
-
4.
-
m/s^3
-
-
-
MPC_JERK_MAX (FLOAT)
-
Maximum horizontal and vertical jerk in Position/Altitude mode
Comment: Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother motions but limits agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Only used with smooth MPC_POS_MODE 3 and 4.
-
[0.5, 500] (1)
-
8.
-
m/s^3
-
-
-
MPC_LAND_ALT1 (FLOAT)
-
Altitude for 1. step of slow landing (descend)
Comment: Below this altitude descending velocity gets limited to a value between "MPC_Z_VEL_MAX_DN" (or "MPC_Z_V_AUTO_DN") and "MPC_LAND_SPEED" Value needs to be higher than "MPC_LAND_ALT2"
-
[0, 122]
-
10.
-
m
-
-
-
MPC_LAND_ALT2 (FLOAT)
-
Altitude for 2. step of slow landing (landing)
Comment: Below this altitude descending velocity gets limited to "MPC_LAND_SPEED" Value needs to be lower than "MPC_LAND_ALT1"
-
[0, 122]
-
5.
-
m
-
-
-
MPC_LAND_ALT3 (FLOAT)
-
Altitude for 3. step of slow landing
Comment: Below this altitude descending velocity gets limited to "MPC_LAND_CRWL", if LIDAR available. No effect if LIDAR not available
-
[0, 122]
-
1.
-
m
-
-
-
MPC_LAND_CRWL (FLOAT)
-
Land crawl descend rate
Comment: Used below MPC_LAND_ALT3 if distance sensor data is availabe.
-
[0.1, ?]
-
0.3
-
m/s
-
-
-
MPC_LAND_RADIUS (FLOAT)
-
User assisted landing radius
Comment: When nudging is enabled (see MPC_LAND_RC_HELP), this controls the maximum allowed horizontal displacement from the original landing point.
-
[0, ?] (1)
-
1000.
-
m
-
-
-
MPC_LAND_RC_HELP (INT32)
-
Enable nudging based on user input during autonomous land routine
Comment: Using stick input the vehicle can be moved horizontally and yawed. The descend speed is amended: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).
Values:
-
0: Nudging disabled
-
1: Nudging enabled
-
-
[0, 1]
-
0
-
-
-
-
MPC_LAND_SPEED (FLOAT)
-
Landing descend rate
-
[0.6, ?]
-
0.7
-
m/s
-
-
-
MPC_MANTHR_MIN (FLOAT)
-
Minimum collective thrust in Stabilized mode
Comment: The value is mapped to the lowest throttle stick position in Stabilized mode. Too low collective thrust leads to loss of roll/pitch/yaw torque control authority. Airmode is used to keep torque authority with zero thrust (see MC_AIRMODE).
-
[0, 1] (0.01)
-
0.08
-
norm
-
-
-
MPC_MAN_TILT_MAX (FLOAT)
-
Maximal tilt angle in Stabilized or Altitude mode
-
[1, 70] (1)
-
35.
-
deg
-
-
-
MPC_MAN_Y_MAX (FLOAT)
-
Max manual yaw rate for Stabilized, Altitude, Position mode
-
[0, 400] (10)
-
150.
-
deg/s
-
-
-
MPC_MAN_Y_TAU (FLOAT)
-
Manual yaw rate input filter time constant
Comment: Not used in Stabilized mode Setting this parameter to 0 disables the filter
-
[0, 5] (0.01)
-
0.08
-
s
-
-
-
MPC_POS_MODE (INT32)
-
Position/Altitude mode variant
Comment: The supported sub-modes are: 0 Sticks directly map to velocity setpoints without smoothing. Also applies to vertical direction and Altitude mode. Useful for velocity control tuning. 3 Sticks map to velocity but with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). 4 Sticks map to acceleration and there's a virtual brake drag
Values:
-
0: Direct velocity
-
3: Smoothed velocity
-
4: Acceleration based
-
-
-
4
-
-
-
-
MPC_THR_CURVE (INT32)
-
Thrust curve mapping in Stabilized Mode
Comment: This parameter defines how the throttle stick input is mapped to collective thrust in Stabilized mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, then 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.
Values:
-
0: Rescale to hover thrust
-
1: No Rescale
-
-
-
0
-
-
-
-
MPC_THR_HOVER (FLOAT)
-
Vertical thrust required to hover
Comment: Mapped to center throttle stick in Stabilized mode (see MPC_THR_CURVE). Used for initialization of the hover thrust estimator (see MPC_USE_HTE). The estimated hover thrust is used as base for zero vertical acceleration in altitude control. The hover thrust is important for land detection to work correctly.
-
[0.1, 0.8] (0.01)
-
0.5
-
norm
-
-
-
MPC_THR_MAX (FLOAT)
-
Maximum collective thrust in climb rate controlled modes
Comment: Limit allowed thrust e.g. for indoor test of overpowered vehicle.
-
[0, 1] (0.05)
-
1.
-
norm
-
-
-
MPC_THR_MIN (FLOAT)
-
Minimum collective thrust in climb rate controlled modes
Comment: Too low thrust leads to loss of roll/pitch/yaw torque control authority. With airmode enabled this parameters can be set to 0 while still keeping torque authority (see MC_AIRMODE).
-
[0.05, 0.5] (0.01)
-
0.12
-
norm
-
-
-
MPC_THR_XY_MARG (FLOAT)
-
Horizontal thrust margin
Comment: Margin that is kept for horizontal control when higher priority vertical thrust is saturated. To avoid completely starving horizontal control with high vertical error.
-
[0, 0.5] (0.01)
-
0.3
-
norm
-
-
-
MPC_TILTMAX_AIR (FLOAT)
-
Maximum tilt angle in air
Comment: Absolute maximum for all velocity or acceleration controlled modes. Any higher value is truncated.
-
[20, 89] (1)
-
45.
-
deg
-
-
-
MPC_TILTMAX_LND (FLOAT)
-
Maximum tilt during inital takeoff ramp
Comment: Tighter tilt limit during takeoff to avoid tip over.
-
[5, 89] (1)
-
12.
-
deg
-
-
-
MPC_TKO_RAMP_T (FLOAT)
-
Smooth takeoff ramp time constant
Comment: Increasing this value will make climb rate controlled takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp
-
[0, 5]
-
3.
-
s
-
-
-
MPC_TKO_SPEED (FLOAT)
-
Takeoff climb rate
-
[1, 5]
-
1.5
-
m/s
-
-
-
MPC_USE_HTE (INT32)
-
Hover thrust estimator
Comment: Disable to use the fixed parameter MPC_THR_HOVER Enable to use the hover thrust estimator
-
-
Enabled (1)
-
-
-
-
MPC_VELD_LP (FLOAT)
-
Velocity derivative low pass cutoff frequency
Comment: A value of 0 disables the filter.
-
[0, 50] (0.5)
-
5.0
-
Hz
-
-
-
MPC_VEL_LP (FLOAT)
-
Velocity low pass cutoff frequency
Comment: A value of 0 disables the filter.
-
[0, 50] (0.5)
-
0.0
-
Hz
-
-
-
MPC_VEL_MANUAL (FLOAT)
-
Maximum horizontal velocity setpoint in Position mode
Comment: Must be smaller than MPC_XY_VEL_MAX. The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.
-
[3, 20] (1)
-
10.
-
m/s
-
-
-
MPC_VEL_MAN_BACK (FLOAT)
-
Maximum backward velocity in Position mode
Comment: If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
-
[-1, 20] (1)
-
-1.
-
m/s
-
-
-
MPC_VEL_MAN_SIDE (FLOAT)
-
Maximum sideways velocity in Position mode
Comment: If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
-
[-1, 20] (1)
-
-1.
-
m/s
-
-
-
MPC_VEL_NF_BW (FLOAT)
-
Velocity notch filter bandwidth
Comment: A value of 0 disables the filter.
-
[0, 50] (0.5)
-
5.0
-
Hz
-
-
-
MPC_VEL_NF_FRQ (FLOAT)
-
Velocity notch filter frequency
Comment: The center frequency for the 2nd order notch filter on the velocity. A value of 0 disables the filter.
-
[0, 50] (0.5)
-
0.0
-
Hz
-
-
-
MPC_XY_CRUISE (FLOAT)
-
Default horizontal velocity in autonomous modes
Comment: e.g. in Missions, RTL, Goto if the waypoint does not specify differently
-
[3, 20] (1)
-
5.
-
m/s
-
-
-
MPC_XY_ERR_MAX (FLOAT)
-
Maximum horizontal error allowed by the trajectory generator
Comment: The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.
-
[0.1, 10] (1)
-
2.
-
-
-
-
MPC_XY_MAN_EXPO (FLOAT)
-
Manual position control stick exponential curve sensitivity
Comment: The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
-
[0, 1] (0.01)
-
0.6
-
-
-
-
MPC_XY_P (FLOAT)
-
Proportional gain for horizontal position error
Comment: Defined as corrective velocity in m/s per m position error
-
[0, 2] (0.1)
-
0.95
-
-
-
-
MPC_XY_TRAJ_P (FLOAT)
-
Proportional gain for horizontal trajectory position error
-
[0.1, 1] (0.1)
-
0.5
-
-
-
-
MPC_XY_VEL_ALL (FLOAT)
-
Overall Horizontal Velocity Limit
Comment: If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.
-
[-20, 20] (1)
-
-10.
-
-
-
-
MPC_XY_VEL_D_ACC (FLOAT)
-
Differential gain for horizontal velocity error
Comment: Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
-
[0.1, 2] (0.02)
-
0.2
-
-
-
-
MPC_XY_VEL_I_ACC (FLOAT)
-
Integral gain for horizontal velocity error
Comment: Defined as correction acceleration in m/s^2 per m velocity integral Allows to eliminate steady state errors in disturbances like wind.
-
[0, 60] (0.02)
-
0.4
-
-
-
-
MPC_XY_VEL_MAX (FLOAT)
-
Maximum horizontal velocity
Comment: Absolute maximum for all velocity controlled modes. Any higher value is truncated.
-
[0, 20] (1)
-
12.
-
m/s
-
-
-
MPC_XY_VEL_P_ACC (FLOAT)
-
Proportional gain for horizontal velocity error
Comment: Defined as corrective acceleration in m/s^2 per m/s velocity error
-
[1.2, 5] (0.1)
-
1.8
-
-
-
-
MPC_YAW_EXPO (FLOAT)
-
Manual control stick yaw rotation exponential curve
Comment: The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
-
[0, 1] (0.01)
-
0.6
-
-
-
-
MPC_Z_MAN_EXPO (FLOAT)
-
Manual control stick vertical exponential curve
Comment: The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
-
[0, 1] (0.01)
-
0.6
-
-
-
-
MPC_Z_P (FLOAT)
-
Proportional gain for vertical position error
Comment: Defined as corrective velocity in m/s per m position error
-
[0.1, 1.5] (0.1)
-
1.
-
-
-
-
MPC_Z_VEL_ALL (FLOAT)
-
Overall Vertical Velocity Limit
Comment: If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.
-
[-3, 8] (0.5)
-
-3.
-
-
-
-
MPC_Z_VEL_D_ACC (FLOAT)
-
Differential gain for vertical velocity error
Comment: Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
-
[0, 2] (0.02)
-
0.
-
-
-
-
MPC_Z_VEL_I_ACC (FLOAT)
-
Integral gain for vertical velocity error
Comment: Defined as corrective acceleration in m/s^2 per m velocity integral
-
[0.2, 3] (0.1)
-
2.
-
-
-
-
MPC_Z_VEL_MAX_DN (FLOAT)
-
Maximum descent velocity
Comment: Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP
-
[0.5, 4] (0.1)
-
1.5
-
m/s
-
-
-
MPC_Z_VEL_MAX_UP (FLOAT)
-
Maximum ascent velocity
Comment: Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP
-
[0.5, 8] (0.1)
-
3.
-
m/s
-
-
-
MPC_Z_VEL_P_ACC (FLOAT)
-
Proportional gain for vertical velocity error
Comment: Defined as corrective acceleration in m/s^2 per m/s velocity error
-
[2, 15] (0.1)
-
4.
-
-
-
-
MPC_Z_V_AUTO_DN (FLOAT)
-
Descent velocity in autonomous modes
Comment: For manual modes and offboard, see MPC_Z_VEL_MAX_DN
-
[0.5, 4] (0.5)
-
1.5
-
m/s
-
-
-
MPC_Z_V_AUTO_UP (FLOAT)
-
Ascent velocity in autonomous modes
Comment: For manually controlled modes and offboard see MPC_Z_VEL_MAX_UP
-
[0.5, 8] (0.5)
-
3.
-
m/s
-
-
-
SYS_VEHICLE_RESP (FLOAT)
-
Responsiveness
Comment: Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.
-
[-1, 1] (0.05)
-
-0.4
-
-
-
-
WV_EN (INT32)
-
Enable weathervane
-
-
Disabled (0)
-
-
-
-
WV_ROLL_MIN (FLOAT)
-
Minimum roll angle setpoint for weathervane controller to demand a yaw-rate
-
[0, 5]
-
1.0
-
deg
-
-
-
WV_YRATE_MAX (FLOAT)
-
Maximum yawrate the weathervane controller is allowed to demand
-
[0, 120]
-
90.0
-
deg/s
-
-
+PCA9685 Output Channel 13 Failsafe Value.
-## Multicopter Position Slow Mode
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC13).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MC_SLOW_DEF_HVEL (FLOAT)
-
Default horizontal velocity limit
Comment: This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
-
[0.1, ?] (0.1)
-
3.
-
m/s
-
-
-
MC_SLOW_DEF_VVEL (FLOAT)
-
Default vertical velocity limit
Comment: This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
-
[0.1, ?] (0.1)
-
1.
-
m/s
-
-
-
MC_SLOW_DEF_YAWR (FLOAT)
-
Default yaw rate limit
Comment: This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
-
[1, ?] (0.1)
-
45.
-
deg/s
-
-
-
MC_SLOW_MAP_HVEL (INT32)
-
Manual input mapped to scale horizontal velocity in position slow mode Values:
-
0: No rescaling
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
-
0
-
-
-
-
MC_SLOW_MAP_VVEL (INT32)
-
Manual input mapped to scale vertical velocity in position slow mode Values:
-
0: No rescaling
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
-
0
-
-
-
-
MC_SLOW_MAP_YAWR (INT32)
-
Manual input mapped to scale yaw rate in position slow mode Values:
-
0: No rescaling
-
1: AUX1
-
2: AUX2
-
3: AUX3
-
4: AUX4
-
5: AUX5
-
6: AUX6
-
-
-
0
-
-
-
-
MC_SLOW_MIN_HVEL (FLOAT)
-
Horizontal velocity lower limit
Comment: The lowest input maps and is clamped to this velocity.
-
[0.1, ?] (0.1)
-
.3
-
m/s
-
-
-
MC_SLOW_MIN_VVEL (FLOAT)
-
Vertical velocity lower limit
Comment: The lowest input maps and is clamped to this velocity.
-
[0.1, ?] (0.1)
-
.3
-
m/s
-
-
-
MC_SLOW_MIN_YAWR (FLOAT)
-
Yaw rate lower limit
Comment: The lowest input maps and is clamped to this rate.
Comment: This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.
-
-
Disabled (0)
-
-
-
-
MC_PITCHRATE_D (FLOAT)
-
Pitch rate D gain
Comment: Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
-
[0.0, ?] (0.0005)
-
0.003
-
-
-
-
MC_PITCHRATE_FF (FLOAT)
-
Pitch rate feedforward
Comment: Improves tracking performance.
-
[0.0, ?]
-
0.0
-
-
-
-
MC_PITCHRATE_I (FLOAT)
-
Pitch rate I gain
Comment: Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
-
[0.0, ?] (0.01)
-
0.2
-
-
-
-
MC_PITCHRATE_K (FLOAT)
-
Pitch rate controller gain
Comment: Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.
-
[0.01, 5.0] (0.0005)
-
1.0
-
-
-
-
MC_PITCHRATE_P (FLOAT)
-
Pitch rate P gain
Comment: Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.
-
[0.01, 0.6] (0.01)
-
0.15
-
-
-
-
MC_PR_INT_LIM (FLOAT)
-
Pitch rate integrator limit
Comment: Pitch rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.
-
[0.0, ?] (0.01)
-
0.30
-
-
-
-
MC_ROLLRATE_D (FLOAT)
-
Roll rate D gain
Comment: Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
-
[0.0, 0.01] (0.0005)
-
0.003
-
-
-
-
MC_ROLLRATE_FF (FLOAT)
-
Roll rate feedforward
Comment: Improves tracking performance.
-
[0.0, ?]
-
0.0
-
-
-
-
MC_ROLLRATE_I (FLOAT)
-
Roll rate I gain
Comment: Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
-
[0.0, ?] (0.01)
-
0.2
-
-
-
-
MC_ROLLRATE_K (FLOAT)
-
Roll rate controller gain
Comment: Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.
-
[0.01, 5.0] (0.0005)
-
1.0
-
-
-
-
MC_ROLLRATE_P (FLOAT)
-
Roll rate P gain
Comment: Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.
-
[0.01, 0.5] (0.01)
-
0.15
-
-
-
-
MC_RR_INT_LIM (FLOAT)
-
Roll rate integrator limit
Comment: Roll rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.
-
[0.0, ?] (0.01)
-
0.30
-
-
-
-
MC_YAWRATE_D (FLOAT)
-
Yaw rate D gain
Comment: Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
-
[0.0, ?] (0.01)
-
0.0
-
-
-
-
MC_YAWRATE_FF (FLOAT)
-
Yaw rate feedforward
Comment: Improves tracking performance.
-
[0.0, ?] (0.01)
-
0.0
-
-
-
-
MC_YAWRATE_I (FLOAT)
-
Yaw rate I gain
Comment: Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
-
[0.0, ?] (0.01)
-
0.1
-
-
-
-
MC_YAWRATE_K (FLOAT)
-
Yaw rate controller gain
Comment: Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.
-
[0.0, 5.0] (0.0005)
-
1.0
-
-
-
-
MC_YAWRATE_P (FLOAT)
-
Yaw rate P gain
Comment: Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.
-
[0.0, 0.6] (0.01)
-
0.2
-
-
-
-
MC_YR_INT_LIM (FLOAT)
-
Yaw rate integrator limit
Comment: Yaw rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.
-
[0.0, ?] (0.01)
-
0.30
-
-
-
+PCA9685 Output Channel 14 Failsafe Value.
-## OSD
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC14).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MSP_OSD_CONFIG (INT32)
-
Serial Configuration for MSP OSD
Comment: Configure on which serial port to run MSP OSD.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
OSD_ATXXXX_CFG (INT32)
-
Enable/Disable the ATXXX OSD Chip
Comment: Configure the ATXXXX OSD Chip (mounted on the OmnibusF4SD board) and select the transmission standard.
Values:
-
0: Disabled
-
1: NTSC
-
2: PAL
-
Reboot required: true
-
-
-
0
-
-
-
-
OSD_CH_HEIGHT (INT32)
-
OSD Crosshairs Height
Comment: Controls the vertical position of the crosshair display. Resolution is limited by OSD to 15 discrete values. Negative values will display the crosshairs below the horizon
-
[-8, 8]
-
0
-
-
-
-
OSD_DWELL_TIME (INT32)
-
OSD Dwell Time (ms)
Comment: Amount of time in milliseconds to dwell at the beginning of the display, when scrolling.
-
[100, 10000]
-
500
-
-
-
-
OSD_LOG_LEVEL (INT32)
-
OSD Warning Level
Comment: Minimum security of log level to display on the OSD.
-
-
3
-
-
-
-
OSD_SCROLL_RATE (INT32)
-
OSD Scroll Rate (ms)
Comment: Scroll rate in milliseconds for OSD messages longer than available character width. This is lower-bounded by the nominal loop rate of this module.
-
[100, 1000]
-
125
-
-
-
-
OSD_SYMBOLS (INT32)
-
OSD Symbol Selection
Comment: Configure / toggle support display options.
Comment: Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.
-
[0.0, ?]
-
0.0
-
s/(1000*PWM)
-
-
-
PWM_SBUS_MODE (INT32)
-
S.BUS out
Comment: Set to 1 to enable S.BUS version 1 output instead of RSSI.
-
-
Disabled (0)
-
-
-
-
THR_MDL_FAC (FLOAT)
-
Thrust to motor control signal model parameter
Comment: Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.
-
[0.0, 1.0] (0.1)
-
0.0
-
-
-
+PCA9685 Output Channel 15 Failsafe Value.
-## Payload Deliverer
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC15).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
PD_GRIPPER_EN (INT32)
-
Enable Gripper actuation in Payload Deliverer
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
PD_GRIPPER_TO (FLOAT)
-
Timeout for successful gripper actuation acknowledgement
Comment: Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action
Comment: Time after which the landing target is considered lost without any new measurements.
-
[0.0, 50] (0.5)
-
5.0
-
s
-
-
-
PLD_FAPPR_ALT (FLOAT)
-
Final approach altitude
Comment: Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.
-
[0.0, 10] (0.1)
-
0.1
-
m
-
-
-
PLD_HACC_RAD (FLOAT)
-
Horizontal acceptance radius
Comment: Start descending if closer above landing target than this.
-
[0.0, 10] (0.1)
-
0.2
-
m
-
-
-
PLD_MAX_SRCH (INT32)
-
Maximum number of search attempts
Comment: Maximum number of times to search for the landing target if it is lost during the precision landing.
-
[0, 100]
-
3
-
-
-
-
PLD_SRCH_ALT (FLOAT)
-
Search altitude
Comment: Altitude above home to which to climb when searching for the landing target.
-
[0.0, 100] (0.1)
-
10.0
-
m
-
-
-
PLD_SRCH_TOUT (FLOAT)
-
Search timeout
Comment: Time allowed to search for the landing target before falling back to normal landing.
-
[0.0, 100] (0.1)
-
10.0
-
s
-
-
+PCA9685 Output Channel 16 Failsafe Value.
-## RC
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC16).
-
Comment: Select your RC input protocol or auto to scan.
Values:
-
-1: Auto
-
0: None
-
1: PPM
-
2: SBUS
-
3: DSM
-
4: ST24
-
5: SUMD
-
6: CRSF
-
7: GHST
-
-
[-1, 7]
-
-1
-
-
-
+PCA9685 Output Channel 2 Failsafe Value.
-## Radio Calibration
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC2).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RC10_DZ (FLOAT)
-
RC channel 10 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC10_MAX (FLOAT)
-
RC channel 10 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC10_MIN (FLOAT)
-
RC channel 10 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC10_REV (FLOAT)
-
RC channel 10 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC10_TRIM (FLOAT)
-
RC channel 10 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC11_DZ (FLOAT)
-
RC channel 11 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC11_MAX (FLOAT)
-
RC channel 11 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC11_MIN (FLOAT)
-
RC channel 11 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC11_REV (FLOAT)
-
RC channel 11 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC11_TRIM (FLOAT)
-
RC channel 11 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC12_DZ (FLOAT)
-
RC channel 12 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC12_MAX (FLOAT)
-
RC channel 12 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC12_MIN (FLOAT)
-
RC channel 12 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC12_REV (FLOAT)
-
RC channel 12 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC12_TRIM (FLOAT)
-
RC channel 12 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC13_DZ (FLOAT)
-
RC channel 13 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC13_MAX (FLOAT)
-
RC channel 13 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC13_MIN (FLOAT)
-
RC channel 13 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC13_REV (FLOAT)
-
RC channel 13 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC13_TRIM (FLOAT)
-
RC channel 13 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC14_DZ (FLOAT)
-
RC channel 14 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC14_MAX (FLOAT)
-
RC channel 14 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC14_MIN (FLOAT)
-
RC channel 14 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC14_REV (FLOAT)
-
RC channel 14 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC14_TRIM (FLOAT)
-
RC channel 14 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC15_DZ (FLOAT)
-
RC channel 15 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC15_MAX (FLOAT)
-
RC channel 15 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC15_MIN (FLOAT)
-
RC channel 15 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC15_REV (FLOAT)
-
RC channel 15 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC15_TRIM (FLOAT)
-
RC channel 15 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC16_DZ (FLOAT)
-
RC channel 16 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC16_MAX (FLOAT)
-
RC channel 16 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC16_MIN (FLOAT)
-
RC channel 16 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC16_REV (FLOAT)
-
RC channel 16 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC16_TRIM (FLOAT)
-
RC channel 16 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC17_DZ (FLOAT)
-
RC channel 17 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC17_MAX (FLOAT)
-
RC channel 17 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC17_MIN (FLOAT)
-
RC channel 17 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC17_REV (FLOAT)
-
RC channel 17 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC17_TRIM (FLOAT)
-
RC channel 17 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC18_DZ (FLOAT)
-
RC channel 18 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC18_MAX (FLOAT)
-
RC channel 18 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC18_MIN (FLOAT)
-
RC channel 18 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC18_REV (FLOAT)
-
RC channel 18 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC18_TRIM (FLOAT)
-
RC channel 18 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC1_DZ (FLOAT)
-
RC channel 1 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
us
-
-
-
RC1_MAX (FLOAT)
-
RC channel 1 maximum
Comment: Maximum value for RC channel 1
-
[1500.0, 2200.0]
-
2000.0
-
us
-
-
-
RC1_MIN (FLOAT)
-
RC channel 1 minimum
Comment: Minimum value for RC channel 1
-
[800.0, 1500.0]
-
1000.0
-
us
-
-
-
RC1_REV (FLOAT)
-
RC channel 1 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC1_TRIM (FLOAT)
-
RC channel 1 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500.0
-
us
-
-
-
RC2_DZ (FLOAT)
-
RC channel 2 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
us
-
-
-
RC2_MAX (FLOAT)
-
RC channel 2 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000.0
-
us
-
-
-
RC2_MIN (FLOAT)
-
RC channel 2 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000.0
-
us
-
-
-
RC2_REV (FLOAT)
-
RC channel 2 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC2_TRIM (FLOAT)
-
RC channel 2 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500.0
-
us
-
-
-
RC3_DZ (FLOAT)
-
RC channel 3 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
us
-
-
-
RC3_MAX (FLOAT)
-
RC channel 3 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC3_MIN (FLOAT)
-
RC channel 3 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC3_REV (FLOAT)
-
RC channel 3 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC3_TRIM (FLOAT)
-
RC channel 3 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC4_DZ (FLOAT)
-
RC channel 4 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
us
-
-
-
RC4_MAX (FLOAT)
-
RC channel 4 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC4_MIN (FLOAT)
-
RC channel 4 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC4_REV (FLOAT)
-
RC channel 4 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC4_TRIM (FLOAT)
-
RC channel 4 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC5_DZ (FLOAT)
-
RC channel 5 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
-
-
-
RC5_MAX (FLOAT)
-
RC channel 5 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC5_MIN (FLOAT)
-
RC channel 5 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC5_REV (FLOAT)
-
RC channel 5 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC5_TRIM (FLOAT)
-
RC channel 5 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC6_DZ (FLOAT)
-
RC channel 6 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
-
-
-
RC6_MAX (FLOAT)
-
RC channel 6 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC6_MIN (FLOAT)
-
RC channel 6 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC6_REV (FLOAT)
-
RC channel 6 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC6_TRIM (FLOAT)
-
RC channel 6 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC7_DZ (FLOAT)
-
RC channel 7 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
-
-
-
RC7_MAX (FLOAT)
-
RC channel 7 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC7_MIN (FLOAT)
-
RC channel 7 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC7_REV (FLOAT)
-
RC channel 7 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC7_TRIM (FLOAT)
-
RC channel 7 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC8_DZ (FLOAT)
-
RC channel 8 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
10.0
-
-
-
-
RC8_MAX (FLOAT)
-
RC channel 8 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC8_MIN (FLOAT)
-
RC channel 8 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC8_REV (FLOAT)
-
RC channel 8 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC8_TRIM (FLOAT)
-
RC channel 8 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC9_DZ (FLOAT)
-
RC channel 9 dead zone
Comment: The +- range of this value around the trim value will be considered as zero.
-
[0.0, 100.0]
-
0.0
-
-
-
-
RC9_MAX (FLOAT)
-
RC channel 9 maximum
Comment: Maximum value for this channel.
-
[1500.0, 2200.0]
-
2000
-
us
-
-
-
RC9_MIN (FLOAT)
-
RC channel 9 minimum
Comment: Minimum value for this channel.
-
[800.0, 1500.0]
-
1000
-
us
-
-
-
RC9_REV (FLOAT)
-
RC channel 9 reverse
Comment: Set to -1 to reverse channel.
Values:
-
-1.0: Reverse
-
1.0: Normal
-
-
[-1.0, 1.0]
-
1.0
-
-
-
-
RC9_TRIM (FLOAT)
-
RC channel 9 trim
Comment: Mid point value
-
[800.0, 2200.0]
-
1500
-
us
-
-
-
RC_CHAN_CNT (INT32)
-
RC channel count
Comment: This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.
-
[0, 18]
-
0
-
-
-
-
RC_FAILS_THR (INT32)
-
Failsafe channel PWM threshold
Comment: Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).
-
[0, 2200]
-
0
-
us
-
-
-
RC_MAP_AUX1 (INT32)
-
AUX1 Passthrough RC channel
Comment: Default function: Camera pitch
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_AUX2 (INT32)
-
AUX2 Passthrough RC channel
Comment: Default function: Camera roll
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_AUX3 (INT32)
-
AUX3 Passthrough RC channel
Comment: Default function: Camera azimuth / yaw
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_AUX4 (INT32)
-
AUX4 Passthrough RC channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_AUX5 (INT32)
-
AUX5 Passthrough RC channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_AUX6 (INT32)
-
AUX6 Passthrough RC channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_ENG_MOT (INT32)
-
RC channel to engage the main motor (for helicopters) Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_FAILSAFE (INT32)
-
Failsafe channel mapping
Comment: Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_PARAM1 (INT32)
-
PARAM1 tuning channel
Comment: Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_PARAM2 (INT32)
-
PARAM2 tuning channel
Comment: Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_PARAM3 (INT32)
-
PARAM3 tuning channel
Comment: Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_PITCH (INT32)
-
Pitch control channel mapping
Comment: The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_ROLL (INT32)
-
Roll control channel mapping
Comment: The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_THROTTLE (INT32)
-
Throttle control channel mapping
Comment: The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_YAW (INT32)
-
Yaw control channel mapping
Comment: The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_RSSI_PWM_CHAN (INT32)
-
PWM input channel that provides RSSI
Comment: 0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_RSSI_PWM_MAX (INT32)
-
Max input value for RSSI reading
Comment: Only used if RC_RSSI_PWM_CHAN > 0
-
[0, 2000]
-
2000
-
-
-
-
RC_RSSI_PWM_MIN (INT32)
-
Min input value for RSSI reading
Comment: Only used if RC_RSSI_PWM_CHAN > 0
-
[0, 2000]
-
1000
-
-
-
-
TRIM_PITCH (FLOAT)
-
Pitch trim
Comment: The trim value is the actuator control value the system needs for straight and level flight.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
TRIM_ROLL (FLOAT)
-
Roll trim
Comment: The trim value is the actuator control value the system needs for straight and level flight.
-
[-0.5, 0.5] (0.01)
-
0.0
-
-
-
-
TRIM_YAW (FLOAT)
-
Yaw trim
Comment: The trim value is the actuator control value the system needs for straight and level flight.
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_ENG_MOT_TH (FLOAT)
-
Threshold for selecting main motor engage
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_GEAR_TH (FLOAT)
-
Threshold for the landing gear switch
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_KILLSWITCH_TH (FLOAT)
-
Threshold for the kill switch
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_LOITER_TH (FLOAT)
-
Threshold for selecting loiter mode
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_MAP_ARM_SW (INT32)
-
Arm switch channel
Comment: Use it to arm/disarm via switch instead of default throttle stick. If this is assigned, arming and disarming via stick is disabled.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_FLAPS (INT32)
-
Flaps channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_FLTMODE (INT32)
-
Single channel flight mode selection
Comment: If this parameter is non-zero, flight modes are only selected by this channel and are assigned to six slots.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_FLTM_BTN (INT32)
-
Button flight mode selection
Comment: This bitmask allows to specify multiple channels for changing flight modes using momentary buttons. Each channel is assigned to a mode slot ((lowest channel = slot 1). The resulting modes for each slot X is defined by the COM_FLTMODEX parameters. The functionality can be used only if RC_MAP_FLTMODE is disabled. The maximum number of available slots and hence bits set in the mask is 6.
Bitmask:
0: Mask Channel 1 as a mode button
-
1: Mask Channel 2 as a mode button
-
2: Mask Channel 3 as a mode button
-
3: Mask Channel 4 as a mode button
-
4: Mask Channel 5 as a mode button
-
5: Mask Channel 6 as a mode button
-
6: Mask Channel 7 as a mode button
-
7: Mask Channel 8 as a mode button
-
8: Mask Channel 9 as a mode button
-
9: Mask Channel 10 as a mode button
-
10: Mask Channel 11 as a mode button
-
11: Mask Channel 12 as a mode button
-
12: Mask Channel 13 as a mode button
-
13: Mask Channel 14 as a mode button
-
14: Mask Channel 15 as a mode button
-
15: Mask Channel 16 as a mode button
-
16: Mask Channel 17 as a mode button
-
17: Mask Channel 18 as a mode button
-
-
-
[0, 258048]
-
0
-
-
-
-
RC_MAP_GEAR_SW (INT32)
-
Landing gear switch channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_KILL_SW (INT32)
-
Emergency Kill switch channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_LOITER_SW (INT32)
-
Loiter switch channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_MODE_SW (INT32)
-
Mode switch channel mapping (deprecated)
Comment: This is the main flight mode selector. The channel index (starting from 1 for channel 1) indicates which channel should be used for deciding about the main mode. A value of zero indicates the switch is not assigned.
Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_OFFB_SW (INT32)
-
Offboard switch channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_RETURN_SW (INT32)
-
Return switch channel Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_MAP_TRANS_SW (INT32)
-
VTOL transition switch channel mapping Values:
-
0: Unassigned
-
1: Channel 1
-
2: Channel 2
-
3: Channel 3
-
4: Channel 4
-
5: Channel 5
-
6: Channel 6
-
7: Channel 7
-
8: Channel 8
-
9: Channel 9
-
10: Channel 10
-
11: Channel 11
-
12: Channel 12
-
13: Channel 13
-
14: Channel 14
-
15: Channel 15
-
16: Channel 16
-
17: Channel 17
-
18: Channel 18
-
-
[0, 18]
-
0
-
-
-
-
RC_OFFB_TH (FLOAT)
-
Threshold for selecting offboard mode
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_RETURN_TH (FLOAT)
-
Threshold for selecting return to launch mode
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
-
RC_TRANS_TH (FLOAT)
-
Threshold for the VTOL transition switch
Comment: 0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel<th
-
[-1, 1]
-
0.75
-
-
-
+PCA9685 Output Channel 3 Failsafe Value.
-## Return Mode
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC3).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RTL_CONE_ANG (INT32)
-
Half-angle of the return mode altitude cone
Comment: Defines the half-angle of a cone centered around the destination position that affects the altitude at which the vehicle returns.
Values:
-
0: No cone, always climb to RTL_RETURN_ALT above destination.
-
25: 25 degrees half cone angle.
-
45: 45 degrees half cone angle.
-
65: 65 degrees half cone angle.
-
80: 80 degrees half cone angle.
-
90: Only climb to at least RTL_DESCEND_ALT above destination.
-
-
[0, 90]
-
45
-
deg
-
-
-
RTL_DESCEND_ALT (FLOAT)
-
Return mode loiter altitude
Comment: Descend to this altitude (above destination position) after return, and wait for time defined in RTL_LAND_DELAY. Land (i.e. slowly descend) from this altitude if autolanding allowed. VTOLs do transition to hover in this altitdue above the landing point.
-
[0, ?] (0.5)
-
30.
-
m
-
-
-
RTL_LAND_DELAY (FLOAT)
-
Return mode delay
Comment: Delay before landing (after initial descent) in Return mode. If set to -1 the system will not land but loiter at RTL_DESCEND_ALT.
-
[-1, ?] (0.5)
-
0.0
-
s
-
-
-
RTL_LOITER_RAD (FLOAT)
-
Loiter radius for rtl descend
Comment: Set the radius for loitering to a safe altitude for VTOL transition.
-
[25, ?] (0.5)
-
80.0
-
m
-
-
-
RTL_MIN_DIST (FLOAT)
-
Horizontal radius from return point within which special rules for return mode apply
Comment: The return altitude will be calculated based on RTL_CONE_ANG parameter. The yaw setpoint will switch to the one defined by corresponding waypoint.
-
[0.5, ?] (0.5)
-
10.0
-
m
-
-
-
RTL_PLD_MD (INT32)
-
RTL precision land mode
Comment: Use precision landing when doing an RTL landing phase.
Values:
-
0: No precision landing
-
1: Opportunistic precision landing
-
2: Required precision landing
-
-
-
0
-
-
-
-
RTL_RETURN_ALT (FLOAT)
-
Return mode return altitude
Comment: Default minimum altitude above destination (e.g. home, safe point, landing pattern) for return flight. The vehicle will climb to this altitude when Return mode is enganged, unless it currently is flying higher already. This is affected by RTL_MIN_DIST and RTL_CONE_ANG.
-
[0, ?] (0.5)
-
60.
-
m
-
-
-
RTL_TYPE (INT32)
-
Return type
Comment: Return mode destination and flight path (home location, rally point, mission landing pattern, reverse mission)
Values:
-
0: Return to closest safe point (home or rally point) via direct path.
-
1: Return to closest safe point other than home (mission landing pattern or rally point), via direct path. If no mission landing or rally points are defined return home via direct path. Always chose closest safe landing point if vehicle is a VTOL in hover mode.
-
2: Return to a planned mission landing, if available, using the mission path, else return to home via the reverse mission path. Do not consider rally points.
-
3: Return via direct path to closest destination: home, start of mission landing pattern or safe point. If the destination is a mission landing pattern, follow the pattern to land.
Comment: Only consider RTL point, if it has an approach defined.
-
-
Disabled (0)
-
-
-
-
RTL_TIME_FACTOR (FLOAT)
-
RTL time estimate safety margin factor
Comment: Safety factor that is used to scale the actual RTL time estimate. Time with margin = RTL_TIME_FACTOR * time + RTL_TIME_MARGIN
-
[1.0, 2.0] (0.1)
-
1.1
-
-
-
-
RTL_TIME_MARGIN (INT32)
-
RTL time estimate safety margin offset
Comment: Margin that is added to the time estimate, after it has already been scaled Time with margin = RTL_TIME_FACTOR * time + RTL_TIME_MARGIN
-
[0, 3600] (1)
-
100
-
s
-
-
+PCA9685 Output Channel 4 Failsafe Value.
-## Roboclaw
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC4).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RBCLW_SER_CFG (INT32)
-
Serial Configuration for Roboclaw Driver
Comment: Configure on which serial port to run Roboclaw Driver.
Comment: The ESC has to be configured to have an address from 0x80 to 0x87. This parameter needs to match the configured value.
Values:
-
128: 0x80
-
129: 0x81
-
130: 0x82
-
131: 0x83
-
132: 0x84
-
133: 0x85
-
134: 0x86
-
135: 0x87
-
-
[128, 135]
-
128
-
-
-
-
RBCLW_COUNTS_REV (INT32)
-
Number of encoder counts for one wheel revolution
Comment: The default value of 1200 corresponds to the default configuration of the Aion R1 rover.
-
[1, ?]
-
1200
-
-
-
+PCA9685 Output Channel 5 Failsafe Value.
-## Rover Ackermann
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC5).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
-
-
RA_ACC_RAD_GAIN (FLOAT)
-
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
-
[1, 100] (0.01)
-
2
-
-
-
-
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
-
3
-
m
-
-
-
RA_LOOKAHD_GAIN (FLOAT)
-
Tuning parameter for the pure pursuit controller
Comment: Lower value -> More aggressive controller (beware overshoot/oscillations)
-
[0.1, 100] (0.01)
-
1
-
-
-
-
RA_LOOKAHD_MAX (FLOAT)
-
Maximum lookahead distance for the pure pursuit controller
Comment: This is the maximum crosstrack error before the controller starts targeting the current waypoint rather then the path between the previous and next waypoint.
-
[0.1, 100] (0.01)
-
10
-
m
-
-
-
RA_LOOKAHD_MIN (FLOAT)
-
Minimum lookahead distance for the pure pursuit controller
-
[0.1, 100] (0.01)
-
1
-
m
-
-
-
RA_MAX_SPEED (FLOAT)
-
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
-
[-1, 100] (0.01)
-
-1
-
m/s
-
-
-
RA_MAX_STR_ANG (FLOAT)
-
Maximum steering angle
Comment: The maximum angle that the rover can steer
-
[0.1, 1.5708] (0.01)
-
0.5236
-
rad
-
-
-
RA_MISS_VEL_DEF (FLOAT)
-
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
-
m/s
-
-
-
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
-
5
-
-
-
-
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
-
1
-
m/s
-
-
-
RA_SPEED_I (FLOAT)
-
Integral gain for ground speed controller
-
[0, 100] (0.01)
-
1
-
-
-
-
RA_SPEED_P (FLOAT)
-
Proportional gain for ground speed controller
-
[0, 100] (0.01)
-
1
-
-
-
-
RA_WHEEL_BASE (FLOAT)
-
Wheel base
Comment: Distance from the front to the rear axle
-
[0.001, 100] (0.001)
-
0.5
-
m
-
-
-
-## Rover Differential Drive
-
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RDD_ANG_SCALE (FLOAT)
-
Manual angular velocity scale
-
[0, 1] (0.01)
-
1
-
-
-
-
RDD_I_ANG_VEL (FLOAT)
-
Integral gain for angular velocity controller
-
[0, 100] (0.01)
-
0
-
-
-
-
RDD_I_SPEED (FLOAT)
-
Integral gain for ground speed controller
-
[0, 100] (0.01)
-
0
-
-
-
-
RDD_MAX_ACCEL (FLOAT)
-
Maximum acceleration
Comment: Maximum acceleration is used to limit the acceleration of the rover
-
[0, 100] (0.01)
-
0.5
-
m/s^2
-
-
-
RDD_MAX_JERK (FLOAT)
-
Maximum jerk
Comment: Limit for forwards acc/deceleration change.
-
[0, 100] (0.01)
-
0.5
-
m/s^3
-
-
-
RDD_P_ANG_VEL (FLOAT)
-
Proportional gain for angular velocity controller
-
[0, 100] (0.01)
-
1
-
-
-
-
RDD_P_HEADING (FLOAT)
-
Proportional gain for heading controller
-
[0, 100] (0.01)
-
1
-
-
-
-
RDD_P_SPEED (FLOAT)
-
Proportional gain for speed controller
-
[0, 100] (0.01)
-
1
-
-
-
-
RDD_SPEED_SCALE (FLOAT)
-
Manual speed scale
-
[0, 1] (0.01)
-
1
-
-
-
-
RDD_WHEEL_BASE (FLOAT)
-
Wheel base
Comment: Distance from the center of the right wheel to the center of the left wheel
-
[0.001, 100] (0.001)
-
0.5
-
m
-
-
-
RDD_WHEEL_RADIUS (FLOAT)
-
Wheel radius
Comment: Size of the wheel, half the diameter of the wheel
Comment: This is the distance at which the next waypoint is activated. This should be set to about 2-4x of GND_WHEEL_BASE and not smaller than one meter (due to GPS accuracy).
-
[1.0, 50.0] (0.1)
-
1.0
-
m
-
-
-
GND_L1_PERIOD (FLOAT)
-
L1 period
Comment: This is the L1 distance and defines the tracking point ahead of the rover it's following. Use values around 2-5m for a 0.3m wheel base. Tuning instructions: Shorten slowly during tuning until response is sharp without oscillation.
-
[0.5, 50.0] (0.5)
-
5.0
-
m
-
-
-
GND_MAN_Y_MAX (FLOAT)
-
Max manual yaw rate
-
[0.0, 400]
-
150.0
-
deg/s
-
-
-
GND_MAX_ANG (FLOAT)
-
Maximum turn angle for Ackerman steering
Comment: At a control output of 0, the steering wheels are at 0 radians. At a control output of 1, the steering wheels are at GND_MAX_ANG radians.
-
[0.0, 3.14159] (0.01)
-
0.7854
-
rad
-
-
-
GND_SPEED_D (FLOAT)
-
Speed proportional gain
Comment: This is the derivative gain for the speed closed loop controller
-
[0.00, 50.0] (0.005)
-
0.001
-
%m/s
-
-
-
GND_SPEED_I (FLOAT)
-
Speed Integral gain
Comment: This is the integral gain for the speed closed loop controller
-
[0.00, 50.0] (0.005)
-
3.0
-
%m/s
-
-
-
GND_SPEED_IMAX (FLOAT)
-
Speed integral maximum value
Comment: This is the maxim value the integral can reach to prevent wind-up.
-
[0.005, 50.0] (0.005)
-
1.0
-
%m/s
-
-
-
GND_SPEED_MAX (FLOAT)
-
Maximum ground speed
-
[0.0, 40] (0.5)
-
10.0
-
m/s
-
-
-
GND_SPEED_P (FLOAT)
-
Speed proportional gain
Comment: This is the proportional gain for the speed closed loop controller
-
[0.005, 50.0] (0.005)
-
2.0
-
%m/s
-
-
-
GND_SPEED_THR_SC (FLOAT)
-
Speed to throttle scaler
Comment: This is a gain to map the speed control output to the throttle linearly.
-
[0.005, 50.0] (0.005)
-
1.0
-
%m/s
-
-
-
GND_SPEED_TRIM (FLOAT)
-
Trim ground speed
-
[0.0, 40] (0.5)
-
3.0
-
m/s
-
-
-
GND_SP_CTRL_MODE (INT32)
-
Control mode for speed
Comment: This allows the user to choose between closed loop gps speed or open loop cruise throttle speed
Values:
-
0: open loop control
-
1: close the loop with gps speed
-
-
[0, 1]
-
1
-
-
-
-
GND_THR_CRUISE (FLOAT)
-
Cruise throttle
Comment: This is the throttle setting required to achieve the desired cruise speed. 10% is ok for a traxxas stampede vxl with ESC set to training mode
-
[0.0, 1.0] (0.01)
-
0.1
-
norm
-
-
-
GND_THR_MAX (FLOAT)
-
Throttle limit max
Comment: This is the maximum throttle % that can be used by the controller. For a Traxxas stampede vxl with the ESC set to training, 30 % is enough
-
[0.0, 1.0] (0.01)
-
0.3
-
norm
-
-
-
GND_THR_MIN (FLOAT)
-
Throttle limit min
Comment: This is the minimum throttle % that can be used by the controller. Set to 0 for rover
-
[0.0, 1.0] (0.01)
-
0.0
-
norm
-
-
-
GND_WHEEL_BASE (FLOAT)
-
Distance from front axle to rear axle
Comment: A value of 0.31 is typical for 1/10 RC cars.
-
[0.0, ?] (0.01)
-
0.31
-
m
-
-
+PCA9685 Output Channel 6 Failsafe Value.
-## Runway Takeoff
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC6).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RWTO_HDG (INT32)
-
Specifies which heading should be held during the runway takeoff ground roll
Comment: 0: airframe heading when takeoff is initiated 1: position control along runway direction (bearing defined from vehicle position on takeoff initiation to MAV_CMD_TAKEOFF position defined by operator)
Values:
-
0: Airframe
-
1: Runway
-
-
[0, 1]
-
0
-
-
-
-
RWTO_MAX_THR (FLOAT)
-
Max throttle during runway takeoff
-
[0.0, 1.0] (0.01)
-
1.0
-
norm
-
-
-
RWTO_NPFG_PERIOD (FLOAT)
-
NPFG period while steering on runway
-
[1.0, 100.0] (0.1)
-
5.0
-
s
-
-
-
RWTO_NUDGE (INT32)
-
Enable use of yaw stick for nudging the wheel during runway ground roll
Comment: This is useful when map, GNSS, or yaw errors on ground are misaligned with what the operator intends for takeoff course. Particularly useful for skinny runways or if the wheel servo is a bit off trim.
-
-
Enabled (1)
-
-
-
-
RWTO_PSP (FLOAT)
-
Pitch setpoint during taxi / before takeoff rotation airspeed is reached
Comment: A taildragger with steerable wheel might need to pitch up a little to keep its wheel on the ground before airspeed to takeoff is reached.
-
[-10.0, 20.0] (0.5)
-
0.0
-
deg
-
-
-
RWTO_RAMP_TIME (FLOAT)
-
Throttle ramp up time for runway takeoff
-
[1.0, 15.0] (0.1)
-
2.0
-
s
-
-
-
RWTO_ROT_AIRSPD (FLOAT)
-
Takeoff rotation airspeed
Comment: The calibrated airspeed threshold during the takeoff ground roll when the plane should start rotating (pitching up). Must be less than the takeoff airspeed, will otherwise be capped at the takeoff airpeed (see FW_TKO_AIRSPD). If set <= 0.0, defaults to 0.9 * takeoff airspeed (see FW_TKO_AIRSPD)
-
[-1.0, ?] (0.1)
-
-1.0
-
m/s
-
-
-
RWTO_ROT_TIME (FLOAT)
-
Takeoff rotation time
Comment: This is the time desired to linearly ramp in takeoff pitch constraints during the takeoff rotation
Comment: Selects the algorithm used for logfile encryption
Values:
-
0: Disabled
-
2: XChaCha20
-
3: AES
-
-
-
2
-
-
-
-
SDLOG_BOOT_BAT (INT32)
-
Battery-only Logging
Comment: When enabled, logging will not start from boot if battery power is not detected (e.g. powered via USB on a test bench). This prevents extraneous flight logs from being created during bench testing. Note that this only applies to log-from-boot modes. This has no effect on arm-based modes.
-
-
Disabled (0)
-
-
-
-
SDLOG_DIRS_MAX (INT32)
-
Maximum number of log directories to keep
Comment: If there are more log directories than this value, the system will delete the oldest directories during startup. In addition, the system will delete old logs if there is not enough free space left. The minimum amount is 300 MB. If this is set to 0, old directories will only be removed if the free space falls below the minimum. Note: this does not apply to mission log files.
Reboot required: true
-
-
[0, 1000]
-
0
-
-
-
-
SDLOG_EXCH_KEY (INT32)
-
Logfile Encryption key exchange key
Comment: If the logfile is encrypted using a symmetric key algorithm, the used encryption key is generated at logging start and stored on the sdcard RSA2048 encrypted using this key.
-
[0, 255]
-
1
-
-
-
-
SDLOG_KEY (INT32)
-
Logfile Encryption key index
Comment: Selects the key in keystore, used for encrypting the log. When using a symmetric encryption algorithm, the key is generated at logging start and kept stored in this index. For symmetric algorithms, the key is volatile and valid only for the duration of logging. The key is stored in encrypted format on the sdcard alongside the logfile, using an RSA2048 key defined by the SDLOG_EXCHANGE_KEY
-
[0, 255]
-
2
-
-
-
-
SDLOG_MISSION (INT32)
-
Mission Log
Comment: If enabled, a small additional "mission" log file will be written to the SD card. The log contains just those messages that are useful for tasks like generating flight statistics and geotagging. The different modes can be used to further reduce the logged data (and thus the log file size). For example, choose geotagging mode to only log data required for geotagging. Note that the normal/full log is still created, and contains all the data in the mission log (and more).
Values:
-
0: Disabled
-
1: All mission messages
-
2: Geotagging messages
-
Reboot required: true
-
-
-
0
-
-
-
-
SDLOG_MODE (INT32)
-
Logging Mode
Comment: Determines when to start and stop logging. By default, logging is started when arming the system, and stopped when disarming.
Values:
-
-1: disabled
-
0: when armed until disarm (default)
-
1: from boot until disarm
-
2: from boot until shutdown
-
3: depending on AUX1 RC channel
-
4: from 1st armed until shutdown
-
Reboot required: true
-
-
-
0
-
-
-
-
SDLOG_PROFILE (INT32)
-
Logging topic profile (integer bitmask)
Comment: This integer bitmask controls the set and rates of logged topics. The default allows for general log analysis while keeping the log file size reasonably small. Enabling multiple sets leads to higher bandwidth requirements and larger log files. Set bits true to enable: 0 : Default set (used for general log analysis) 1 : Full rate estimator (EKF2) replay topics 2 : Topics for thermal calibration (high rate raw IMU and Baro sensor data) 3 : Topics for system identification (high rate actuator control and IMU data) 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators) 5 : Debugging topics (debug_*.msg topics, for custom code) 6 : Topics for sensor comparison (low rate raw IMU, Baro and magnetometer data) 7 : Topics for computer vision and collision avoidance 8 : Raw FIFO high-rate IMU (Gyro) 9 : Raw FIFO high-rate IMU (Accel) 10: Logging of mavlink tunnel message (useful for payload communication debugging)
Bitmask:
0: Default set (general log analysis)
-
1: Estimator replay (EKF2)
-
2: Thermal calibration
-
3: System identification
-
4: High rate
-
5: Debug
-
6: Sensor comparison
-
7: Computer Vision and Avoidance
-
8: Raw FIFO high-rate IMU (Gyro)
-
9: Raw FIFO high-rate IMU (Accel)
-
10: Mavlink tunnel message logging
-
-
Reboot required: true
-
-
[0, 2047]
-
1
-
-
-
-
SDLOG_UTC_OFFSET (INT32)
-
UTC offset (unit: min)
Comment: the difference in hours and minutes from Coordinated Universal Time (UTC) for a your place and date. for example, In case of South Korea(UTC+09:00), UTC offset is 540 min (9*60) refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
-
[-1000, 1000]
-
0
-
min
-
-
-
SDLOG_UUID (INT32)
-
Log UUID
Comment: If set to 1, add an ID to the log, which uniquely identifies the vehicle
-
-
Enabled (1)
-
-
-
+PCA9685 Output Channel 7 Failsafe Value.
-## SITL
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC7).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
SIM_BAT_DRAIN (FLOAT)
-
Simulator Battery drain interval
-
[1, 86400] (1)
-
60
-
s
-
-
-
SIM_BAT_ENABLE (INT32)
-
Simulator Battery enabled
Comment: Enable or disable the internal battery simulation. This is useful when the battery is simulated externally and interfaced with PX4 through MAVLink for example.
-
-
Enabled (1)
-
-
-
-
SIM_BAT_MIN_PCT (FLOAT)
-
Simulator Battery minimal percentage
Comment: Can be used to alter the battery level during SITL- or HITL-simulation on the fly. Particularly useful for testing different low-battery behaviour.
Comment: Device ID of the accelerometer this calibration applies to.
-
-
0
-
-
-
-
CAL_ACC0_PRIO (INT32)
-
Accelerometer 0 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_ACC0_ROT (INT32)
-
Accelerometer 0 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_ACC0_XOFF (FLOAT)
-
Accelerometer 0 X-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC0_XSCALE (FLOAT)
-
Accelerometer 0 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC0_YOFF (FLOAT)
-
Accelerometer 0 Y-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC0_YSCALE (FLOAT)
-
Accelerometer 0 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC0_ZOFF (FLOAT)
-
Accelerometer 0 Z-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC0_ZSCALE (FLOAT)
-
Accelerometer 0 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC1_ID (INT32)
-
Accelerometer 1 calibration device ID
Comment: Device ID of the accelerometer this calibration applies to.
-
-
0
-
-
-
-
CAL_ACC1_PRIO (INT32)
-
Accelerometer 1 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_ACC1_ROT (INT32)
-
Accelerometer 1 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_ACC1_XOFF (FLOAT)
-
Accelerometer 1 X-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC1_XSCALE (FLOAT)
-
Accelerometer 1 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC1_YOFF (FLOAT)
-
Accelerometer 1 Y-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC1_YSCALE (FLOAT)
-
Accelerometer 1 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC1_ZOFF (FLOAT)
-
Accelerometer 1 Z-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC1_ZSCALE (FLOAT)
-
Accelerometer 1 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC2_ID (INT32)
-
Accelerometer 2 calibration device ID
Comment: Device ID of the accelerometer this calibration applies to.
-
-
0
-
-
-
-
CAL_ACC2_PRIO (INT32)
-
Accelerometer 2 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_ACC2_ROT (INT32)
-
Accelerometer 2 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_ACC2_XOFF (FLOAT)
-
Accelerometer 2 X-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC2_XSCALE (FLOAT)
-
Accelerometer 2 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC2_YOFF (FLOAT)
-
Accelerometer 2 Y-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC2_YSCALE (FLOAT)
-
Accelerometer 2 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC2_ZOFF (FLOAT)
-
Accelerometer 2 Z-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC2_ZSCALE (FLOAT)
-
Accelerometer 2 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC3_ID (INT32)
-
Accelerometer 3 calibration device ID
Comment: Device ID of the accelerometer this calibration applies to.
-
-
0
-
-
-
-
CAL_ACC3_PRIO (INT32)
-
Accelerometer 3 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_ACC3_ROT (INT32)
-
Accelerometer 3 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_ACC3_XOFF (FLOAT)
-
Accelerometer 3 X-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC3_XSCALE (FLOAT)
-
Accelerometer 3 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC3_YOFF (FLOAT)
-
Accelerometer 3 Y-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC3_YSCALE (FLOAT)
-
Accelerometer 3 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_ACC3_ZOFF (FLOAT)
-
Accelerometer 3 Z-axis offset
-
-
0.0
-
m/s^2
-
-
-
CAL_ACC3_ZSCALE (FLOAT)
-
Accelerometer 3 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_BARO0_ID (INT32)
-
Barometer 0 calibration device ID
Comment: Device ID of the barometer this calibration applies to.
-
-
0
-
-
-
-
CAL_BARO0_OFF (FLOAT)
-
Barometer 0 offset
-
-
0.0
-
-
-
-
CAL_BARO0_PRIO (INT32)
-
Barometer 0 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_BARO1_ID (INT32)
-
Barometer 1 calibration device ID
Comment: Device ID of the barometer this calibration applies to.
-
-
0
-
-
-
-
CAL_BARO1_OFF (FLOAT)
-
Barometer 1 offset
-
-
0.0
-
-
-
-
CAL_BARO1_PRIO (INT32)
-
Barometer 1 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_BARO2_ID (INT32)
-
Barometer 2 calibration device ID
Comment: Device ID of the barometer this calibration applies to.
-
-
0
-
-
-
-
CAL_BARO2_OFF (FLOAT)
-
Barometer 2 offset
-
-
0.0
-
-
-
-
CAL_BARO2_PRIO (INT32)
-
Barometer 2 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_BARO3_ID (INT32)
-
Barometer 3 calibration device ID
Comment: Device ID of the barometer this calibration applies to.
-
-
0
-
-
-
-
CAL_BARO3_OFF (FLOAT)
-
Barometer 3 offset
-
-
0.0
-
-
-
-
CAL_BARO3_PRIO (INT32)
-
Barometer 3 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_GYRO0_ID (INT32)
-
Gyroscope 0 calibration device ID
Comment: Device ID of the gyroscope this calibration applies to.
-
-
0
-
-
-
-
CAL_GYRO0_PRIO (INT32)
-
Gyroscope 0 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_GYRO0_ROT (INT32)
-
Gyroscope 0 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_GYRO0_XOFF (FLOAT)
-
Gyroscope 0 X-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO0_YOFF (FLOAT)
-
Gyroscope 0 Y-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO0_ZOFF (FLOAT)
-
Gyroscope 0 Z-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO1_ID (INT32)
-
Gyroscope 1 calibration device ID
Comment: Device ID of the gyroscope this calibration applies to.
-
-
0
-
-
-
-
CAL_GYRO1_PRIO (INT32)
-
Gyroscope 1 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_GYRO1_ROT (INT32)
-
Gyroscope 1 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_GYRO1_XOFF (FLOAT)
-
Gyroscope 1 X-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO1_YOFF (FLOAT)
-
Gyroscope 1 Y-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO1_ZOFF (FLOAT)
-
Gyroscope 1 Z-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO2_ID (INT32)
-
Gyroscope 2 calibration device ID
Comment: Device ID of the gyroscope this calibration applies to.
-
-
0
-
-
-
-
CAL_GYRO2_PRIO (INT32)
-
Gyroscope 2 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_GYRO2_ROT (INT32)
-
Gyroscope 2 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_GYRO2_XOFF (FLOAT)
-
Gyroscope 2 X-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO2_YOFF (FLOAT)
-
Gyroscope 2 Y-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO2_ZOFF (FLOAT)
-
Gyroscope 2 Z-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO3_ID (INT32)
-
Gyroscope 3 calibration device ID
Comment: Device ID of the gyroscope this calibration applies to.
-
-
0
-
-
-
-
CAL_GYRO3_PRIO (INT32)
-
Gyroscope 3 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_GYRO3_ROT (INT32)
-
Gyroscope 3 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
-
[-1, 40]
-
-1
-
-
-
-
CAL_GYRO3_XOFF (FLOAT)
-
Gyroscope 3 X-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO3_YOFF (FLOAT)
-
Gyroscope 3 Y-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_GYRO3_ZOFF (FLOAT)
-
Gyroscope 3 Z-axis offset
-
-
0.0
-
rad/s
-
-
-
CAL_MAG0_ID (INT32)
-
Magnetometer 0 calibration device ID
Comment: Device ID of the magnetometer this calibration applies to.
-
-
0
-
-
-
-
CAL_MAG0_PITCH (FLOAT)
-
Magnetometer 0 Custom Euler Pitch Angle
Comment: Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG0_PRIO (INT32)
-
Magnetometer 0 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_MAG0_ROLL (FLOAT)
-
Magnetometer 0 Custom Euler Roll Angle
Comment: Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG0_ROT (INT32)
-
Magnetometer 0 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG0_ROLL, CAL_MAG0_PITCH and CAL_MAG0_YAW.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
100: Custom Euler Angle
-
-
[-1, 100]
-
-1
-
-
-
-
CAL_MAG0_XCOMP (FLOAT)
-
Magnetometer 0 X Axis throttle compensation
Comment: Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG0_XODIAG (FLOAT)
-
Magnetometer 0 X-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG0_XOFF (FLOAT)
-
Magnetometer 0 X-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG0_XSCALE (FLOAT)
-
Magnetometer 0 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG0_YAW (FLOAT)
-
Magnetometer 0 Custom Euler Yaw Angle
Comment: Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG0_YCOMP (FLOAT)
-
Magnetometer 0 Y Axis throttle compensation
Comment: Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG0_YODIAG (FLOAT)
-
Magnetometer 0 Y-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG0_YOFF (FLOAT)
-
Magnetometer 0 Y-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG0_YSCALE (FLOAT)
-
Magnetometer 0 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG0_ZCOMP (FLOAT)
-
Magnetometer 0 Z Axis throttle compensation
Comment: Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG0_ZODIAG (FLOAT)
-
Magnetometer 0 Z-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG0_ZOFF (FLOAT)
-
Magnetometer 0 Z-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG0_ZSCALE (FLOAT)
-
Magnetometer 0 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG1_ID (INT32)
-
Magnetometer 1 calibration device ID
Comment: Device ID of the magnetometer this calibration applies to.
-
-
0
-
-
-
-
CAL_MAG1_PITCH (FLOAT)
-
Magnetometer 1 Custom Euler Pitch Angle
Comment: Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG1_PRIO (INT32)
-
Magnetometer 1 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_MAG1_ROLL (FLOAT)
-
Magnetometer 1 Custom Euler Roll Angle
Comment: Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG1_ROT (INT32)
-
Magnetometer 1 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG1_ROLL, CAL_MAG1_PITCH and CAL_MAG1_YAW.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
100: Custom Euler Angle
-
-
[-1, 100]
-
-1
-
-
-
-
CAL_MAG1_XCOMP (FLOAT)
-
Magnetometer 1 X Axis throttle compensation
Comment: Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG1_XODIAG (FLOAT)
-
Magnetometer 1 X-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG1_XOFF (FLOAT)
-
Magnetometer 1 X-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG1_XSCALE (FLOAT)
-
Magnetometer 1 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG1_YAW (FLOAT)
-
Magnetometer 1 Custom Euler Yaw Angle
Comment: Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG1_YCOMP (FLOAT)
-
Magnetometer 1 Y Axis throttle compensation
Comment: Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG1_YODIAG (FLOAT)
-
Magnetometer 1 Y-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG1_YOFF (FLOAT)
-
Magnetometer 1 Y-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG1_YSCALE (FLOAT)
-
Magnetometer 1 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG1_ZCOMP (FLOAT)
-
Magnetometer 1 Z Axis throttle compensation
Comment: Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG1_ZODIAG (FLOAT)
-
Magnetometer 1 Z-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG1_ZOFF (FLOAT)
-
Magnetometer 1 Z-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG1_ZSCALE (FLOAT)
-
Magnetometer 1 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG2_ID (INT32)
-
Magnetometer 2 calibration device ID
Comment: Device ID of the magnetometer this calibration applies to.
-
-
0
-
-
-
-
CAL_MAG2_PITCH (FLOAT)
-
Magnetometer 2 Custom Euler Pitch Angle
Comment: Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG2_PRIO (INT32)
-
Magnetometer 2 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_MAG2_ROLL (FLOAT)
-
Magnetometer 2 Custom Euler Roll Angle
Comment: Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG2_ROT (INT32)
-
Magnetometer 2 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG2_ROLL, CAL_MAG2_PITCH and CAL_MAG2_YAW.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
100: Custom Euler Angle
-
-
[-1, 100]
-
-1
-
-
-
-
CAL_MAG2_XCOMP (FLOAT)
-
Magnetometer 2 X Axis throttle compensation
Comment: Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG2_XODIAG (FLOAT)
-
Magnetometer 2 X-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG2_XOFF (FLOAT)
-
Magnetometer 2 X-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG2_XSCALE (FLOAT)
-
Magnetometer 2 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG2_YAW (FLOAT)
-
Magnetometer 2 Custom Euler Yaw Angle
Comment: Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG2_YCOMP (FLOAT)
-
Magnetometer 2 Y Axis throttle compensation
Comment: Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG2_YODIAG (FLOAT)
-
Magnetometer 2 Y-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG2_YOFF (FLOAT)
-
Magnetometer 2 Y-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG2_YSCALE (FLOAT)
-
Magnetometer 2 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG2_ZCOMP (FLOAT)
-
Magnetometer 2 Z Axis throttle compensation
Comment: Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG2_ZODIAG (FLOAT)
-
Magnetometer 2 Z-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG2_ZOFF (FLOAT)
-
Magnetometer 2 Z-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG2_ZSCALE (FLOAT)
-
Magnetometer 2 Z-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG3_ID (INT32)
-
Magnetometer 3 calibration device ID
Comment: Device ID of the magnetometer this calibration applies to.
-
-
0
-
-
-
-
CAL_MAG3_PITCH (FLOAT)
-
Magnetometer 3 Custom Euler Pitch Angle
Comment: Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG3_PRIO (INT32)
-
Magnetometer 3 priority Values:
-
-1: Uninitialized
-
0: Disabled
-
1: Min
-
25: Low
-
50: Medium (Default)
-
75: High
-
100: Max
-
-
-
-1
-
-
-
-
CAL_MAG3_ROLL (FLOAT)
-
Magnetometer 3 Custom Euler Roll Angle
Comment: Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG3_ROT (INT32)
-
Magnetometer 3 rotation relative to airframe
Comment: An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG3_ROLL, CAL_MAG3_PITCH and CAL_MAG3_YAW.
Values:
-
-1: Internal
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
100: Custom Euler Angle
-
-
[-1, 100]
-
-1
-
-
-
-
CAL_MAG3_XCOMP (FLOAT)
-
Magnetometer 3 X Axis throttle compensation
Comment: Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG3_XODIAG (FLOAT)
-
Magnetometer 3 X-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG3_XOFF (FLOAT)
-
Magnetometer 3 X-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG3_XSCALE (FLOAT)
-
Magnetometer 3 X-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG3_YAW (FLOAT)
-
Magnetometer 3 Custom Euler Yaw Angle
Comment: Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
-
[-180, 180]
-
0.0
-
deg
-
-
-
CAL_MAG3_YCOMP (FLOAT)
-
Magnetometer 3 Y Axis throttle compensation
Comment: Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
-
-
0.0
-
-
-
-
CAL_MAG3_YODIAG (FLOAT)
-
Magnetometer 3 Y-axis off diagonal scale factor
-
-
0.0
-
-
-
-
CAL_MAG3_YOFF (FLOAT)
-
Magnetometer 3 Y-axis offset
-
-
0.0
-
gauss
-
-
-
CAL_MAG3_YSCALE (FLOAT)
-
Magnetometer 3 Y-axis scaling factor
-
[0.1, 3.0]
-
1.0
-
-
-
-
CAL_MAG3_ZCOMP (FLOAT)
-
Magnetometer 3 Z Axis throttle compensation
Comment: Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
Comment: Pick the appropriate scaling from the datasheet. this number defines the (linear) conversion from voltage to Pascal (pa). For the MPXV7002DP this is 1000. NOTE: If the sensor always registers zero, try switching the static and dynamic tubes.
-
-
0
-
-
-
-
SENS_DPRES_OFF (FLOAT)
-
Differential pressure sensor offset
Comment: The offset (zero-reading) in Pascal
-
-
0.0
-
-
-
-
SENS_FLOW_MAXHGT (FLOAT)
-
Maximum height above ground when reliant on optical flow
Comment: This parameter defines the maximum distance from ground at which the optical flow sensor operates reliably. The height setpoint will be limited to be no greater than this value when the navigation system is completely reliant on optical flow data and the height above ground estimate is valid. The sensor may be usable above this height, but accuracy will progressively degrade.
-
[1.0, 100.0] (0.1)
-
100.
-
m
-
-
-
SENS_FLOW_MAXR (FLOAT)
-
Magnitude of maximum angular flow rate reliably measurable by the optical flow sensor
Comment: Optical flow data will not fused by the estimators if the magnitude of the flow rate exceeds this value and control loops will be instructed to limit ground speed such that the flow rate produced by movement over ground is less than 50% of this value.
-
[1.0, ?]
-
8.
-
rad/s
-
-
-
SENS_FLOW_MINHGT (FLOAT)
-
Minimum height above ground when reliant on optical flow
Comment: This parameter defines the minimum distance from ground at which the optical flow sensor operates reliably. The sensor may be usable below this height, but accuracy will progressively reduce to loss of focus.
-
[0.0, 1.0] (0.1)
-
0.08
-
m
-
-
+PCA9685 Output Channel 8 Failsafe Value.
-## Sensors
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC8).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
ADC_ADS1115_EN (INT32)
-
Enable external ADS1115 ADC
Comment: If enabled, the internal ADC is not used.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
BAT1_C_MULT (FLOAT)
-
Capacity/current multiplier for high-current capable SMBUS battery
Reboot required: true
-
-
-
1.0
-
-
-
-
BAT1_SMBUS_MODEL (INT32)
-
Battery device model Values:
-
0: AutoDetect
-
1: BQ40Z50 based
-
2: BQ40Z80 based
-
Reboot required: true
-
-
[0, 2]
-
0
-
-
-
-
BATMON_ADDR_DFLT (INT32)
-
I2C address for BatMon battery 1
Reboot required: true
-
-
-
11
-
-
-
-
BATMON_DRIVER_EN (INT32)
-
Parameter to enable BatMon module Values:
-
0: Disabled
-
1: Start on default I2C addr(BATMON_ADDR_DFLT)
-
2: Autodetect I2C address (TODO)
-
Reboot required: true
-
-
[0, 2]
-
0
-
-
-
-
CAL_AIR_CMODEL (INT32)
-
Airspeed sensor compensation model for the SDP3x
Comment: Model with Pitot CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Model without Pitot (1.5 mm tubes) CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Tube Pressure Drop CAL_AIR_TUBED_MM: Diameter in mm of the pitot and tubes, must have the same diameter. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor and the static + dynamic port length of the pitot.
Values:
-
0: Model with Pitot
-
1: Model without Pitot (1.5 mm tubes)
-
2: Tube Pressure Drop
-
-
-
0
-
-
-
-
CAL_AIR_TUBED_MM (FLOAT)
-
Airspeed sensor tube diameter. Only used for the Tube Pressure Drop Compensation
-
[1.5, 100]
-
1.5
-
mm
-
-
-
CAL_AIR_TUBELEN (FLOAT)
-
Airspeed sensor tube length
Comment: See the CAL_AIR_CMODEL explanation on how this parameter should be set.
-
[0.01, 2.00]
-
0.2
-
m
-
-
-
CAL_MAG_SIDES (INT32)
-
For legacy QGC support only
Comment: Use SENS_MAG_SIDES instead
-
-
63
-
-
-
-
IMU_ACCEL_CUTOFF (FLOAT)
-
Low pass filter cutoff frequency for accel
Comment: The cutoff frequency for the 2nd order butterworth filter on the primary accelerometer. This only affects the signal sent to the controllers, not the estimators. 0 disables the filter.
Reboot required: true
-
-
[0, 1000]
-
30.0
-
Hz
-
-
-
IMU_DGYRO_CUTOFF (FLOAT)
-
Cutoff frequency for angular acceleration (D-Term filter)
Comment: The cutoff frequency for the 2nd order butterworth filter used on the time derivative of the measured angular velocity, also known as the D-term filter in the rate controller. The D-term uses the derivative of the rate and thus is the most susceptible to noise. Therefore, using a D-term filter allows to increase IMU_GYRO_CUTOFF, which leads to reduced control latency and permits to increase the P gains. A value of 0 disables the filter.
Reboot required: true
-
-
[0, 1000]
-
30.0
-
Hz
-
-
-
IMU_GYRO_CAL_EN (INT32)
-
IMU gyro auto calibration enable
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
IMU_GYRO_CUTOFF (FLOAT)
-
Low pass filter cutoff frequency for gyro
Comment: The cutoff frequency for the 2nd order butterworth filter on the primary gyro. This only affects the angular velocity sent to the controllers, not the estimators. It applies also to the angular acceleration (D-Term filter), see IMU_DGYRO_CUTOFF. A value of 0 disables the filter.
Reboot required: true
-
-
[0, 1000]
-
40.0
-
Hz
-
-
-
IMU_GYRO_DNF_BW (FLOAT)
-
IMU gyro ESC notch filter bandwidth
Comment: Bandwidth per notch filter when using dynamic notch filtering with ESC RPM.
-
[5, 30]
-
15.
-
Hz
-
-
-
IMU_GYRO_DNF_EN (INT32)
-
IMU gyro dynamic notch filtering
Comment: Enable bank of dynamically updating notch filters. Requires ESC RPM feedback or onboard FFT (IMU_GYRO_FFT_EN).
Bitmask:
0: ESC RPM
-
1: FFT
-
-
-
[0, 3]
-
0
-
-
-
-
IMU_GYRO_DNF_HMC (INT32)
-
IMU gyro dynamic notch filter harmonics
Comment: ESC RPM number of harmonics (multiples of RPM) for ESC RPM dynamic notch filtering.
-
[1, 7]
-
3
-
-
-
-
IMU_GYRO_DNF_MIN (FLOAT)
-
IMU gyro dynamic notch filter minimum frequency
Comment: Minimum notch filter frequency in Hz.
-
-
25.
-
Hz
-
-
-
IMU_GYRO_FFT_EN (INT32)
-
IMU gyro FFT enable
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
IMU_GYRO_FFT_LEN (INT32)
-
IMU gyro FFT length Values:
-
256: 256
-
512: 512
-
1024: 1024
-
4096: 4096
-
Reboot required: true
-
-
-
512
-
Hz
-
-
-
IMU_GYRO_FFT_MAX (FLOAT)
-
IMU gyro FFT maximum frequency
Reboot required: true
-
-
[1, 1000]
-
150.
-
Hz
-
-
-
IMU_GYRO_FFT_MIN (FLOAT)
-
IMU gyro FFT minimum frequency
Reboot required: true
-
-
[1, 1000]
-
30.
-
Hz
-
-
-
IMU_GYRO_FFT_SNR (FLOAT)
-
IMU gyro FFT SNR
-
[1, 30]
-
10.
-
-
-
-
IMU_GYRO_NF0_BW (FLOAT)
-
Notch filter bandwidth for gyro
Comment: The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF0_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.
Reboot required: true
-
-
[0, 100]
-
20.0
-
Hz
-
-
-
IMU_GYRO_NF0_FRQ (FLOAT)
-
Notch filter frequency for gyro
Comment: The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF0_BW" to set the bandwidth of the filter. A value of 0 disables the filter.
Reboot required: true
-
-
[0, 1000]
-
0.0
-
Hz
-
-
-
IMU_GYRO_NF1_BW (FLOAT)
-
Notch filter 1 bandwidth for gyro
Comment: The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF1_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.
Reboot required: true
-
-
[0, 100]
-
20.0
-
Hz
-
-
-
IMU_GYRO_NF1_FRQ (FLOAT)
-
Notch filter 2 frequency for gyro
Comment: The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF1_BW" to set the bandwidth of the filter. A value of 0 disables the filter.
Reboot required: true
-
-
[0, 1000]
-
0.0
-
Hz
-
-
-
IMU_GYRO_RATEMAX (INT32)
-
Gyro control data maximum publication rate (inner loop rate)
Comment: The maximum rate the gyro control data (vehicle_angular_velocity) will be allowed to publish at. This is the loop rate for the rate controller and outputs. Note: sensor data is always read and filtered at the full raw rate (eg commonly 8 kHz) regardless of this setting.
Values:
-
100: 100 Hz
-
250: 250 Hz
-
400: 400 Hz
-
800: 800 Hz
-
1000: 1000 Hz
-
2000: 2000 Hz
-
Reboot required: true
-
-
[100, 2000]
-
400
-
Hz
-
-
-
IMU_INTEG_RATE (INT32)
-
IMU integration rate
Comment: The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
Values:
-
100: 100 Hz
-
200: 200 Hz
-
250: 250 Hz
-
400: 400 Hz
-
Reboot required: true
-
-
[100, 1000]
-
200
-
Hz
-
-
-
INA220_CONFIG (INT32)
-
INA220 Power Monitor Config
-
[0, 65535] (1)
-
8607
-
-
-
-
INA220_CUR_BAT (FLOAT)
-
INA220 Power Monitor Battery Max Current
-
[0.1, 500.0] (0.1)
-
164.0
-
-
-
-
INA220_CUR_REG (FLOAT)
-
INA220 Power Monitor Regulator Max Current
-
[0.1, 500.0] (0.1)
-
164.0
-
-
-
-
INA220_SHUNT_BAT (FLOAT)
-
INA220 Power Monitor Battery Shunt
-
[0.000000001, 0.1] (.000000001)
-
0.0005
-
-
-
-
INA220_SHUNT_REG (FLOAT)
-
INA220 Power Monitor Regulator Shunt
-
[0.000000001, 0.1] (.000000001)
-
0.0005
-
-
-
-
INA226_CONFIG (INT32)
-
INA226 Power Monitor Config
-
[0, 65535] (1)
-
18139
-
-
-
-
INA226_CURRENT (FLOAT)
-
INA226 Power Monitor Max Current
-
[0.1, 200.0] (0.1)
-
164.0
-
-
-
-
INA226_SHUNT (FLOAT)
-
INA226 Power Monitor Shunt
-
[0.000000001, 0.1] (.000000001)
-
0.0005
-
-
-
-
INA228_CONFIG (INT32)
-
INA228 Power Monitor Config
-
[0, 65535] (1)
-
63779
-
-
-
-
INA228_CURRENT (FLOAT)
-
INA228 Power Monitor Max Current
-
[0.1, 327.68] (0.1)
-
327.68
-
-
-
-
INA228_SHUNT (FLOAT)
-
INA228 Power Monitor Shunt
-
[0.000000001, 0.1] (.000000001)
-
0.0005
-
-
-
-
INA238_CURRENT (FLOAT)
-
INA238 Power Monitor Max Current
-
[0.1, 327.68] (0.1)
-
327.68
-
-
-
-
INA238_SHUNT (FLOAT)
-
INA238 Power Monitor Shunt
-
[0.000000001, 0.1] (.000000001)
-
0.0003
-
-
-
-
PCF8583_MAGNET (INT32)
-
PCF8583 rotorfreq (i2c) pulse count
Comment: Nmumber of signals per rotation of actuator
Reboot required: true
-
-
[1, ?]
-
2
-
-
-
-
PCF8583_POOL (INT32)
-
PCF8583 rotorfreq (i2c) pool interval
Comment: Determines how often the sensor is read out.
Reboot required: true
-
-
-
1000000
-
us
-
-
-
PCF8583_RESET (INT32)
-
PCF8583 rotorfreq (i2c) pulse reset value
Comment: Internal device counter is reset to 0 when overrun this value, counter is able to store up to 6 digits reset of counter takes some time - measurement with reset has worse accuracy. 0 means reset counter after every measurement.
Reboot required: true
-
-
-
500000
-
-
-
-
SENS_AFBR_HYSTER (INT32)
-
AFBR Rangefinder Short/Long Range Threshold Hysteresis
Comment: This parameter defines the hysteresis for switching between short and long range mode.
-
[1, 10]
-
1
-
m
-
-
-
SENS_AFBR_L_RATE (INT32)
-
AFBR Rangefinder Long Range Rate
Comment: This parameter defines measurement rate of the AFBR Rangefinder in long range mode.
-
[1, 100]
-
25
-
-
-
-
SENS_AFBR_MODE (INT32)
-
AFBR Rangefinder Mode
Comment: This parameter defines the mode of the AFBR Rangefinder.
Values:
-
0: Short Range Mode
-
1: Long Range Mode
-
2: High Speed Short Range Mode
-
3: High Speed Long Range Mode
-
Reboot required: true
-
-
[0, 3]
-
0
-
-
-
-
SENS_AFBR_S_RATE (INT32)
-
AFBR Rangefinder Short Range Rate
Comment: This parameter defines measurement rate of the AFBR Rangefinder in short range mode.
-
[1, 100]
-
50
-
-
-
-
SENS_AFBR_THRESH (INT32)
-
AFBR Rangefinder Short/Long Range Threshold
Comment: This parameter defines the threshold for switching between short and long range mode. The mode will switch from short to long range when the distance is greater than the threshold plus the hysteresis. The mode will switch from long to short range when the distance is less than the threshold minus the hysteresis.
-
[1, 50]
-
4
-
m
-
-
-
SENS_BARO_QNH (FLOAT)
-
QNH for barometer
-
[500, 1500]
-
1013.25
-
hPa
-
-
-
SENS_BARO_RATE (FLOAT)
-
Baro max rate
Comment: Barometric air data maximum publication rate. This is an upper bound, actual barometric data rate is still dependent on the sensor.
-
[1, 200]
-
20.0
-
Hz
-
-
-
SENS_BOARD_ROT (INT32)
-
Board rotation
Comment: This parameter defines the rotation of the FMU board relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
8: Roll 180°
-
9: Roll 180°, Yaw 45°
-
10: Roll 180°, Yaw 90°
-
11: Roll 180°, Yaw 135°
-
12: Pitch 180°
-
13: Roll 180°, Yaw 225°
-
14: Roll 180°, Yaw 270°
-
15: Roll 180°, Yaw 315°
-
16: Roll 90°
-
17: Roll 90°, Yaw 45°
-
18: Roll 90°, Yaw 90°
-
19: Roll 90°, Yaw 135°
-
20: Roll 270°
-
21: Roll 270°, Yaw 45°
-
22: Roll 270°, Yaw 90°
-
23: Roll 270°, Yaw 135°
-
24: Pitch 90°
-
25: Pitch 270°
-
26: Pitch 180°, Yaw 90°
-
27: Pitch 180°, Yaw 270°
-
28: Roll 90°, Pitch 90°
-
29: Roll 180°, Pitch 90°
-
30: Roll 270°, Pitch 90°
-
31: Roll 90°, Pitch 180°
-
32: Roll 270°, Pitch 180°
-
33: Roll 90°, Pitch 270°
-
34: Roll 180°, Pitch 270°
-
35: Roll 270°, Pitch 270°
-
36: Roll 90°, Pitch 180°, Yaw 90°
-
37: Roll 90°, Yaw 270°
-
38: Roll 90°, Pitch 68°, Yaw 293°
-
39: Pitch 315°
-
40: Roll 90°, Pitch 315°
-
Reboot required: true
-
-
[-1, 40]
-
0
-
-
-
-
SENS_BOARD_X_OFF (FLOAT)
-
Board rotation X (Roll) offset
Comment: This parameter defines a rotational offset in degrees around the X (Roll) axis It allows the user to fine tune the board offset in the event of misalignment.
-
-
0.0
-
deg
-
-
-
SENS_BOARD_Y_OFF (FLOAT)
-
Board rotation Y (Pitch) offset
Comment: This parameter defines a rotational offset in degrees around the Y (Pitch) axis. It allows the user to fine tune the board offset in the event of misalignment.
-
-
0.0
-
deg
-
-
-
SENS_BOARD_Z_OFF (FLOAT)
-
Board rotation Z (YAW) offset
Comment: This parameter defines a rotational offset in degrees around the Z (Yaw) axis. It allows the user to fine tune the board offset in the event of misalignment.
-
-
0.0
-
deg
-
-
-
SENS_CM8JL65_CFG (INT32)
-
Serial Configuration for Lanbao PSK-CM8JL65-CC5
Comment: Configure on which serial port to run Lanbao PSK-CM8JL65-CC5.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_CM8JL65_R_0 (INT32)
-
Distance Sensor Rotation
Comment: Distance Sensor Rotation as MAV_SENSOR_ORIENTATION enum
Values:
-
0: ROTATION_FORWARD_FACING
-
2: ROTATION_RIGHT_FACING
-
6: ROTATION_LEFT_FACING
-
12: ROTATION_BACKWARD_FACING
-
24: ROTATION_UPWARD_FACING
-
25: ROTATION_DOWNWARD_FACING
-
Reboot required: True
-
-
-
25
-
-
-
-
SENS_EN_ADIS164X (INT32)
-
Analog Devices ADIS16448 IMU (external SPI) Values:
Serial Configuration for Lightware SF45 Rangefinder (serial)
Comment: Configure on which serial port to run Lightware SF45 Rangefinder (serial).
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
102
-
-
-
-
SENS_EN_SHT3X (INT32)
-
SHT3x temperature and hygrometer
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EN_SPL06 (INT32)
-
Goertek SPL06 Barometer (external I2C)
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EN_SR05 (INT32)
-
HY-SRF05 / HC-SR05
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EN_TF02PRO (INT32)
-
TF02 Pro Distance Sensor (i2c)
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EN_THERMAL (INT32)
-
Thermal control of sensor temperature Values:
-
-1: Thermal control unavailable
-
0: Thermal control off
-
1: Thermal control enabled
-
-
-
-1
-
-
-
-
SENS_EN_TRANGER (INT32)
-
TeraRanger Rangefinder (i2c) Values:
-
0: Disabled
-
1: Autodetect
-
2: TROne
-
3: TREvo60m
-
4: TREvo600Hz
-
5: TREvo3m
-
Reboot required: true
-
-
[0, 3]
-
0
-
-
-
-
SENS_EN_VL53L0X (INT32)
-
VL53L0X Distance Sensor
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EN_VL53L1X (INT32)
-
VL53L1X Distance Sensor
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SENS_EXT_I2C_PRB (INT32)
-
External I2C probe
Comment: Probe for optional external I2C devices.
-
-
Enabled (1)
-
-
-
-
SENS_FLOW_RATE (FLOAT)
-
Optical flow max rate
Comment: Optical flow data maximum publication rate. This is an upper bound, actual optical flow data rate is still dependent on the sensor.
Reboot required: true
-
-
[1, 200]
-
70.0
-
Hz
-
-
-
SENS_FLOW_ROT (INT32)
-
Optical flow rotation
Comment: This parameter defines the yaw rotation of the optical flow relative to the vehicle body frame. Zero rotation is defined as X on flow board pointing towards front of vehicle.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
-
-
0
-
-
-
-
SENS_FTX_CFG (INT32)
-
Serial Configuration for FT Technologies Digital Wind Sensor (serial)
Comment: Configure on which serial port to run FT Technologies Digital Wind Sensor (serial).
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_GPS_MASK (INT32)
-
Multi GPS Blending Control Mask
Comment: Set bits in the following positions to set which GPS accuracy metrics will be used to calculate the blending weight. Set to zero to disable and always used first GPS instance. 0 : Set to true to use speed accuracy 1 : Set to true to use horizontal position accuracy 2 : Set to true to use vertical position accuracy
Bitmask:
0: use speed accuracy
-
1: use hpos accuracy
-
2: use vpos accuracy
-
-
-
[0, 7]
-
7
-
-
-
-
SENS_GPS_PRIME (INT32)
-
Multi GPS primary instance
Comment: When no blending is active, this defines the preferred GPS receiver instance. The GPS selection logic waits until the primary receiver is available to send data to the EKF even if a secondary instance is already available. The secondary instance is then only used if the primary one times out. To have an equal priority of all the instances, set this parameter to -1 and the best receiver will be used. This parameter has no effect if blending is active.
-
[-1, 1]
-
0
-
-
-
-
SENS_GPS_TAU (FLOAT)
-
Multi GPS Blending Time Constant
Comment: Sets the longest time constant that will be applied to the calculation of GPS position and height offsets used to correct data from multiple GPS data for steady state position differences.
-
[1.0, 100.0]
-
10.0
-
s
-
-
-
SENS_IMU_AUTOCAL (INT32)
-
IMU auto calibration
Comment: Automatically initialize IMU (accel/gyro) calibration from bias estimates if available.
-
-
Enabled (1)
-
-
-
-
SENS_IMU_CLPNOTI (INT32)
-
IMU notify clipping
Comment: Notify the user if the IMU is clipping
-
-
Enabled (1)
-
-
-
-
SENS_IMU_MODE (INT32)
-
Sensors hub IMU mode Values:
-
0: Disabled
-
1: Publish primary IMU selection
-
Reboot required: true
-
-
-
1
-
-
-
-
SENS_IMU_TEMP (FLOAT)
-
Target IMU temperature
-
[0, 85.0]
-
55.0
-
celcius
-
-
-
SENS_IMU_TEMP_FF (FLOAT)
-
IMU heater controller feedforward value
-
[0, 1.0]
-
0.05
-
%
-
-
-
SENS_IMU_TEMP_I (FLOAT)
-
IMU heater controller integrator gain value
-
[0, 1.0]
-
0.025
-
us/C
-
-
-
SENS_IMU_TEMP_P (FLOAT)
-
IMU heater controller proportional gain value
-
[0, 2.0]
-
1.0
-
us/C
-
-
-
SENS_INT_BARO_EN (INT32)
-
Enable internal barometers
Comment: For systems with an external barometer, this should be set to false to make sure that the external is used.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
SENS_LEDDAR1_CFG (INT32)
-
Serial Configuration for LeddarOne Rangefinder
Comment: Configure on which serial port to run LeddarOne Rangefinder.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_MAG_AUTOCAL (INT32)
-
Magnetometer auto calibration
Comment: Automatically initialize magnetometer calibration from bias estimate if available.
-
-
Enabled (1)
-
-
-
-
SENS_MAG_AUTOROT (INT32)
-
Automatically set external rotations
Comment: During calibration attempt to automatically determine the rotation of external magnetometers.
-
-
Enabled (1)
-
-
-
-
SENS_MAG_MODE (INT32)
-
Sensors hub mag mode Values:
-
0: Publish all magnetometers
-
1: Publish primary magnetometer
-
Reboot required: true
-
-
-
1
-
-
-
-
SENS_MAG_RATE (FLOAT)
-
Magnetometer max rate
Comment: Magnetometer data maximum publication rate. This is an upper bound, actual magnetometer data rate is still dependent on the sensor.
Reboot required: true
-
-
[1, 200]
-
15.0
-
Hz
-
-
-
SENS_MAG_SIDES (INT32)
-
Bitfield selecting mag sides for calibration
Comment: If set to two side calibration, only the offsets are estimated, the scale calibration is left unchanged. Thus an initial six side calibration is recommended. Bits: ORIENTATION_TAIL_DOWN = 1 ORIENTATION_NOSE_DOWN = 2 ORIENTATION_LEFT = 4 ORIENTATION_RIGHT = 8 ORIENTATION_UPSIDE_DOWN = 16 ORIENTATION_RIGHTSIDE_UP = 32
Values:
-
34: Two side calibration
-
38: Three side calibration
-
63: Six side calibration
-
-
[34, 63]
-
63
-
-
-
-
SENS_MB12_0_ROT (INT32)
-
MaxBotix MB12XX Sensor 0 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_10_ROT (INT32)
-
MaxBotix MB12XX Sensor 10 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_11_ROT (INT32)
-
MaxBotix MB12XX Sensor 12 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_1_ROT (INT32)
-
MaxBotix MB12XX Sensor 1 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_2_ROT (INT32)
-
MaxBotix MB12XX Sensor 2 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_3_ROT (INT32)
-
MaxBotix MB12XX Sensor 3 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_4_ROT (INT32)
-
MaxBotix MB12XX Sensor 4 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_5_ROT (INT32)
-
MaxBotix MB12XX Sensor 5 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_6_ROT (INT32)
-
MaxBotix MB12XX Sensor 6 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_7_ROT (INT32)
-
MaxBotix MB12XX Sensor 7 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_8_ROT (INT32)
-
MaxBotix MB12XX Sensor 8 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MB12_9_ROT (INT32)
-
MaxBotix MB12XX Sensor 9 Rotation
Comment: This parameter defines the rotation of the sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT0_ROT (INT32)
-
MappyDot Sensor 0 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT10_ROT (INT32)
-
MappyDot Sensor 10 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT11_ROT (INT32)
-
MappyDot Sensor 12 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT1_ROT (INT32)
-
MappyDot Sensor 1 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT2_ROT (INT32)
-
MappyDot Sensor 2 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT3_ROT (INT32)
-
MappyDot Sensor 3 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT4_ROT (INT32)
-
MappyDot Sensor 4 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT5_ROT (INT32)
-
MappyDot Sensor 5 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT6_ROT (INT32)
-
MappyDot Sensor 6 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT7_ROT (INT32)
-
MappyDot Sensor 7 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT8_ROT (INT32)
-
MappyDot Sensor 8 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_MPDT9_ROT (INT32)
-
MappyDot Sensor 9 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
-
0: No rotation
-
1: Yaw 45°
-
2: Yaw 90°
-
3: Yaw 135°
-
4: Yaw 180°
-
5: Yaw 225°
-
6: Yaw 270°
-
7: Yaw 315°
-
Reboot required: true
-
-
[0, 7]
-
0
-
-
-
-
SENS_OR_ADIS164X (INT32)
-
Analog Devices ADIS16448 IMU Orientation(external SPI) Values:
-
0: ROTATION_NONE
-
4: ROTATION_YAW_180
-
Reboot required: true
-
-
[0, 101]
-
0
-
-
-
-
SENS_SF0X_CFG (INT32)
-
Serial Configuration for Lightware Laser Rangefinder (serial)
Comment: Configure on which serial port to run Lightware Laser Rangefinder (serial).
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_TEMP_ID (INT32)
-
Target IMU device ID to regulate temperature
-
-
0
-
-
-
-
SENS_TFLOW_CFG (INT32)
-
Serial Configuration for ThoneFlow-3901U optical flow sensor
Comment: Configure on which serial port to run ThoneFlow-3901U optical flow sensor.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_TFMINI_CFG (INT32)
-
Serial Configuration for Benewake TFmini Rangefinder
Comment: Configure on which serial port to run Benewake TFmini Rangefinder.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_ULAND_CFG (INT32)
-
Serial Configuration for uLanding Radar
Comment: Configure on which serial port to run uLanding Radar.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SENS_VN_CFG (INT32)
-
Serial Configuration for VectorNav (VN-100, VN-200, VN-300)
Comment: Configure on which serial port to run VectorNav (VN-100, VN-200, VN-300).
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SF45_ORIENT_CFG (INT32)
-
Orientation upright or facing downward
Comment: The SF45 mounted facing upward or downward on the frame
Values:
-
0: Rotation upward
-
1: Rotation downward
-
Reboot required: True
-
-
-
0
-
-
-
-
SF45_UPDATE_CFG (INT32)
-
Update rate in Hz
Comment: The SF45 sets the update rate in Hz to allow greater resolution
Values:
-
1: 50hz
-
2: 100hz
-
3: 200hz
-
4: 400hz
-
5: 500hz
-
6: 625hz
-
7: 1000hz
-
8: 1250hz
-
9: 1538hz
-
10: 2000hz
-
11: 2500hz
-
12: 5000hz
-
Reboot required: True
-
-
-
1
-
-
-
-
SF45_YAW_CFG (INT32)
-
Sensor facing forward or backward
Comment: The usb port on the sensor indicates 180deg, opposite usb is forward facing
Values:
-
0: Rotation forward
-
1: Rotation backward
-
2: Rotation right
-
3: Rotation left
-
Reboot required: True
-
-
-
0
-
-
-
-
SIM_ARSPD_FAIL (INT32)
-
Dynamically simulate failure of airspeed sensor instance Values:
Comment: By default, the receiver is automatically configured. Sometimes it may be used for multiple purposes. If the offered parameters aren't sufficient, this parameter can be disabled to have full control of the receiver configuration. A good way to use this is to enable automatic configuration, let the receiver be configured, and then disable it to make manual adjustments.
Reboot required: True
-
-
-
Enabled (1)
-
-
-
-
SEP_CONST_USAGE (INT32)
-
Usage of different constellations
Comment: Choice of which constellations the receiver should use for PVT computation. When this is 0, the constellation usage isn't changed.
Bitmask:
0: GPS
-
1: GLONASS
-
2: Galileo
-
3: SBAS
-
4: BeiDou
-
-
Reboot required: True
-
-
[0, 63]
-
0
-
-
-
-
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
-
0: Disabled
-
1: From receiver
-
2: To receiver
-
3: Both
-
-
[0, 3]
-
0
-
-
-
-
SEP_HARDW_SETUP (INT32)
-
Setup and expected use of the hardware
Comment: Setup and expected use of the hardware. - Default: Use two receivers as completely separate instances. - Moving base: Use two receivers in a rover & moving base setup for heading.
Values:
-
0: Default
-
1: Moving base
-
Reboot required: True
-
-
[0, 1]
-
0
-
-
-
-
SEP_LOG_FORCE (INT32)
-
Whether to overwrite or add to existing logging
Comment: When the receiver is already set up to log data, this decides whether extra logged data should be added or overwrite existing data.
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
SEP_LOG_HZ (INT32)
-
Logging frequency for the receiver
Comment: Select the frequency at which the connected receiver should log data to its internal storage.
Values:
-
0: Disabled
-
1: 0.1 Hz
-
2: 0.2 Hz
-
3: 0.5 Hz
-
4: 1 Hz
-
5: 2 Hz
-
6: 5 Hz
-
7: 10 Hz
-
8: 20 Hz
-
9: 25 Hz
-
10: 50 Hz
-
Reboot required: True
-
-
[0, 10]
-
0
-
-
-
-
SEP_LOG_LEVEL (INT32)
-
Logging level for the receiver
Comment: Select the level of detail that needs to be logged by the receiver.
Values:
-
0: Lite
-
1: Basic
-
2: Default
-
3: Full
-
Reboot required: True
-
-
[0, 3]
-
2
-
-
-
-
SEP_OUTP_HZ (INT32)
-
Output frequency of main SBF blocks
Comment: The output frequency of the main SBF blocks needed for PVT information.
Values:
-
0: 5 Hz
-
1: 10 Hz
-
2: 20 Hz
-
3: 25 Hz
-
Reboot required: True
-
-
[0, 3]
-
1
-
-
-
-
SEP_PITCH_OFFS (FLOAT)
-
Pitch offset for dual antenna GPS
Comment: Vertical offsets can be compensated for by adjusting the Pitch offset. Note that this can be interpreted as the "roll" angle in case the antennas are aligned along the perpendicular axis. This occurs in situations where the two antenna ARPs may not be exactly at the same height in the vehicle reference frame. Since pitch is defined as the right-handed rotation about the vehicle Y axis, a situation where the main antenna is mounted lower than the aux antenna (assuming the default antenna setup) will result in a positive pitch.
Reboot required: True
-
-
[-90, 90]
-
0
-
deg
-
-
-
SEP_PORT1_CFG (INT32)
-
Serial Configuration for GPS Port
Comment: Configure on which serial port to run GPS Port.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
201
-
-
-
-
SEP_PORT2_CFG (INT32)
-
Serial Configuration for Secondary GPS port
Comment: Configure on which serial port to run Secondary GPS port.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
SEP_SAT_INFO (INT32)
-
Enable sat info
Comment: Enable publication of satellite info (ORB_ID(satellite_info)) if possible.
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
SEP_STREAM_LOG (INT32)
-
Logging stream used during automatic configuration
Comment: The stream the autopilot sets up on the receiver to output the logging data. Set this to another value if the default stream is already used for another purpose.
Reboot required: True
-
-
[1, 10]
-
2
-
-
-
-
SEP_STREAM_MAIN (INT32)
-
Main stream used during automatic configuration
Comment: The stream the autopilot sets up on the receiver to output the main data. Set this to another value if the default stream is already used for another purpose.
Reboot required: True
-
-
[1, 10]
-
1
-
-
-
-
SEP_YAW_OFFS (FLOAT)
-
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
-
[-360, 360]
-
0
-
deg
-
-
+PCA9685 Output Channel 9 Failsafe Value.
-## Serial
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PCA9685_FUNC9).
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
RC_CRSF_PRT_CFG (INT32)
-
Serial Configuration for CRSF RC Input Driver
Comment: Configure on which serial port to run CRSF RC Input Driver. Crossfire RC (CRSF) driver.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
RC_PORT_CONFIG (INT32)
-
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
300
-
-
-
-
SER_EXT2_BAUD (INT32)
-
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
57600
-
-
-
-
SER_GPS1_BAUD (INT32)
-
Baudrate for the GPS 1 Serial Port
Comment: Configure the Baudrate for the GPS 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
0
-
-
-
-
SER_GPS2_BAUD (INT32)
-
Baudrate for the GPS 2 Serial Port
Comment: Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
0
-
-
-
-
SER_GPS3_BAUD (INT32)
-
Baudrate for the GPS 3 Serial Port
Comment: Configure the Baudrate for the GPS 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
0
-
-
-
-
SER_MXS_BAUD (INT32)
-
MXS Serial Communication Baud rate
Comment: Baudrate for the Serial Port connected to the MXS Transponder
Values:
-
0: 38400
-
1: 600
-
2: 4800
-
3: 9600
-
4: RESERVED
-
5: 57600
-
6: 115200
-
7: 230400
-
8: 19200
-
9: 460800
-
10: 921600
-
Reboot required: true
-
-
[0, 10]
-
5
-
-
-
-
SER_RC_BAUD (INT32)
-
Baudrate for the Radio Controller Serial Port
Comment: Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
0
-
-
-
-
SER_TEL1_BAUD (INT32)
-
Baudrate for the TELEM 1 Serial Port
Comment: Configure the Baudrate for the TELEM 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
57600
-
-
-
-
SER_TEL2_BAUD (INT32)
-
Baudrate for the TELEM 2 Serial Port
Comment: Configure the Baudrate for the TELEM 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
921600
-
-
-
-
SER_TEL3_BAUD (INT32)
-
Baudrate for the TELEM 3 Serial Port
Comment: Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
57600
-
-
-
-
SER_TEL4_BAUD (INT32)
-
Baudrate for the TELEM/SERIAL 4 Serial Port
Comment: Configure the Baudrate for the TELEM/SERIAL 4 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
57600
-
-
-
-
SER_URT6_BAUD (INT32)
-
Baudrate for the UART 6 Serial Port
Comment: Configure the Baudrate for the UART 6 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
-
0: Auto
-
50: 50 8N1
-
75: 75 8N1
-
110: 110 8N1
-
134: 134 8N1
-
150: 150 8N1
-
200: 200 8N1
-
300: 300 8N1
-
600: 600 8N1
-
1200: 1200 8N1
-
1800: 1800 8N1
-
2400: 2400 8N1
-
4800: 4800 8N1
-
9600: 9600 8N1
-
19200: 19200 8N1
-
38400: 38400 8N1
-
57600: 57600 8N1
-
115200: 115200 8N1
-
230400: 230400 8N1
-
460800: 460800 8N1
-
500000: 500000 8N1
-
921600: 921600 8N1
-
1000000: 1000000 8N1
-
1500000: 1500000 8N1
-
2000000: 2000000 8N1
-
3000000: 3000000 8N1
-
Reboot required: true
-
-
-
57600
-
-
-
-
SER_WIFI_BAUD (INT32)
-
Baudrate for the Wifi Port Serial Port
Comment: Configure the Baudrate for the Wifi Port Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
if >= 0 the distance sensor measures will be overridden by this value
Comment: Absolute value superior to 10000 will disable distance sensor
-
-
-1.0
-
m
-
-
-
SIH_IXX (FLOAT)
-
Vehicle inertia about X axis
Comment: The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
-
[0.0, ?] (0.005)
-
0.025
-
kg m^2
-
-
-
SIH_IXY (FLOAT)
-
Vehicle cross term inertia xy
Comment: The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
-
(0.005)
-
0.0
-
kg m^2
-
-
-
SIH_IXZ (FLOAT)
-
Vehicle cross term inertia xz
Comment: The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
-
(0.005)
-
0.0
-
kg m^2
-
-
-
SIH_IYY (FLOAT)
-
Vehicle inertia about Y axis
Comment: The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
-
[0.0, ?] (0.005)
-
0.025
-
kg m^2
-
-
-
SIH_IYZ (FLOAT)
-
Vehicle cross term inertia yz
Comment: The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
-
(0.005)
-
0.0
-
kg m^2
-
-
-
SIH_IZZ (FLOAT)
-
Vehicle inertia about Z axis
Comment: The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
-
[0.0, ?] (0.005)
-
0.030
-
kg m^2
-
-
-
SIH_KDV (FLOAT)
-
First order drag coefficient
Comment: Physical coefficient representing the friction with air particules. The greater this value, the slower the quad will move. Drag force function of velocity: D=-KDV*V. The maximum freefall velocity can be computed as V=10*MASS/KDV [m/s]
-
[0.0, ?] (0.05)
-
1.0
-
N/(m/s)
-
-
-
SIH_KDW (FLOAT)
-
First order angular damper coefficient
Comment: Physical coefficient representing the friction with air particules during rotations. The greater this value, the slower the quad will rotate. Aerodynamic moment function of body rate: Ma=-KDW*W_B. This value can be set to 0 if unknown.
-
[0.0, ?] (0.005)
-
0.025
-
Nm/(rad/s)
-
-
-
SIH_LOC_H0 (FLOAT)
-
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-420.0, 8848.0] (0.01)
-
489.4
-
m
-
-
-
SIH_LOC_LAT0 (FLOAT)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-90, 90]
-
47.397742
-
deg
-
-
-
SIH_LOC_LON0 (FLOAT)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-180, 180]
-
8.545594
-
deg
-
-
-
SIH_L_PITCH (FLOAT)
-
Pitch arm length
Comment: This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.
-
[0.0, ?] (0.05)
-
0.2
-
m
-
-
-
SIH_L_ROLL (FLOAT)
-
Roll arm length
Comment: This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.
-
[0.0, ?] (0.05)
-
0.2
-
m
-
-
-
SIH_MASS (FLOAT)
-
Vehicle mass
Comment: This value can be measured by weighting the quad on a scale.
-
[0.0, ?] (0.1)
-
1.0
-
kg
-
-
-
SIH_Q_MAX (FLOAT)
-
Max propeller torque
Comment: This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.
-
[0.0, ?] (0.05)
-
0.1
-
Nm
-
-
-
SIH_T_MAX (FLOAT)
-
Max propeller thrust force
Comment: This is the maximum force delivered by one propeller when the motor is running at full speed. This value is usually about 5 times the mass of the quadrotor.
-
[0.0, ?] (0.5)
-
5.0
-
N
-
-
-
SIH_T_TAU (FLOAT)
-
thruster time constant tau
Comment: the time taken for the thruster to step from 0 to 100% should be about 4 times tau
-
-
0.05
-
s
-
-
-
SIH_VEHICLE_TYPE (INT32)
-
Vehicle type Values:
-
0: Multicopter
-
1: Fixed-Wing
-
2: Tailsitter
-
Reboot required: true
-
-
-
0
-
-
-
+PCA9685 Output Channel 1 Output Function.
-## Simulator
+Select what should be output on PCA9685 Output Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
SIM_BARO_OFF_P (FLOAT)
-
simulated barometer pressure offset
-
-
0.0
-
-
-
-
SIM_BARO_OFF_T (FLOAT)
-
simulated barometer temperature offset
-
-
0.0
-
celcius
-
-
-
SIM_GPS_USED (INT32)
-
simulated GPS number of satellites used
-
[0, 50]
-
10
-
-
-
-
SIM_MAG_OFFSET_X (FLOAT)
-
simulated magnetometer X offset
-
-
0.0
-
gauss
-
-
-
SIM_MAG_OFFSET_Y (FLOAT)
-
simulated magnetometer Y offset
-
-
0.0
-
gauss
-
-
-
SIM_MAG_OFFSET_Z (FLOAT)
-
simulated magnetometer Z offset
-
-
0.0
-
gauss
-
-
+**Values:**
-## System
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
SYS_AUTOCONFIG (INT32)
-
Automatically configure default values
Comment: Set to 1 to reset parameters on next system startup (setting defaults). Platform-specific values are used if available. RC* parameters are preserved.
Values:
-
0: Keep parameters
-
1: Reset parameters to airframe defaults
-
-
-
0
-
-
-
-
SYS_AUTOSTART (INT32)
-
Auto-start script index
Comment: CHANGING THIS VALUE REQUIRES A RESTART. Defines the auto-start script used to bootstrap the system.
Reboot required: true
-
-
[0, 9999999]
-
0
-
-
-
-
SYS_BL_UPDATE (INT32)
-
Bootloader update
Comment: If enabled, update the bootloader on the next boot. WARNING: do not cut the power during an update process, otherwise you will have to recover using some alternative method (e.g. JTAG). Instructions: - Insert an SD card - Enable this parameter - Reboot the board (plug the power or send a reboot command) - Wait until the board comes back up (or at least 2 minutes) - If it does not come back, check the file bootlog.txt on the SD card
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SYS_CAL_ACCEL (INT32)
-
Enable auto start of accelerometer thermal calibration at the next power up
Comment: 0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
-
[0, 1]
-
0
-
-
-
-
SYS_CAL_BARO (INT32)
-
Enable auto start of barometer thermal calibration at the next power up
Comment: 0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
-
[0, 1]
-
0
-
-
-
-
SYS_CAL_GYRO (INT32)
-
Enable auto start of rate gyro thermal calibration at the next power up
Comment: 0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
-
[0, 1]
-
0
-
-
-
-
SYS_CAL_TDEL (INT32)
-
Required temperature rise during thermal calibration
Comment: A temperature increase greater than this value is required during calibration. Calibration will complete for each sensor when the temperature increase above the starting temperature exceeds the value set by SYS_CAL_TDEL. If the temperature rise is insufficient, the calibration will continue indefinitely and the board will need to be repowered to exit.
-
[10, ?]
-
24
-
celcius
-
-
-
SYS_CAL_TMAX (INT32)
-
Maximum starting temperature for thermal calibration
Comment: Temperature calibration will not start if the temperature of any sensor is higher than the value set by SYS_CAL_TMAX.
-
-
10
-
celcius
-
-
-
SYS_CAL_TMIN (INT32)
-
Minimum starting temperature for thermal calibration
Comment: Temperature calibration for each sensor will ignore data if the temperature is lower than the value set by SYS_CAL_TMIN.
-
-
5
-
celcius
-
-
-
SYS_DM_BACKEND (INT32)
-
Dataman storage backend Values:
-
-1: Disabled
-
0: default (SD card)
-
1: RAM (not persistent)
-
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
SYS_FAC_CAL_MODE (INT32)
-
Enable factory calibration mode
Comment: If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
Values:
-
0: Disabled
-
1: All sensors
-
2: All sensors except mag
-
-
-
0
-
-
-
-
SYS_FAILURE_EN (INT32)
-
Enable failure injection
Comment: If enabled allows MAVLink INJECT_FAILURE commands. WARNING: the failures can easily cause crashes and are to be used with caution!
-
-
Disabled (0)
-
-
-
-
SYS_HAS_BARO (INT32)
-
Control if the vehicle has a barometer
Comment: Disable this if the board has no barometer, such as some of the Omnibus F4 SD variants. If disabled, the preflight checks will not check for the presence of a barometer.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
SYS_HAS_GPS (INT32)
-
Control if the vehicle has a GPS
Comment: Disable this if the system has no GPS. If disabled, the sensors hub will not process sensor_gps, and GPS will not be available for the rest of the system.
Reboot required: true
-
-
-
Enabled (1)
-
-
-
-
SYS_HAS_MAG (INT32)
-
Control if the vehicle has a magnetometer
Comment: Set this to 0 if the board has no magnetometer. If set to 0, the preflight checks will not check for the presence of a magnetometer, otherwise N sensors are required.
Reboot required: true
-
-
-
1
-
-
-
-
SYS_HAS_NUM_ASPD (INT32)
-
Control if the vehicle has an airspeed sensor
Comment: Set this to 0 if the board has no airspeed sensor. If set to 0, the preflight checks will not check for the presence of an airspeed sensor.
-
[0, 1]
-
0
-
-
-
-
SYS_HAS_NUM_DIST (INT32)
-
Number of distance sensors to check being available
Comment: The preflight check will fail if fewer than this number of distance sensors with valid data is present. Disable the check with 0.
-
[0, 4]
-
0
-
-
-
-
SYS_HITL (INT32)
-
Enable HITL/SIH mode on next boot
Comment: While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
Values:
-
-1: external HITL
-
0: HITL and SIH disabled
-
1: HITL enabled
-
2: SIH enabled
-
Reboot required: true
-
-
-
0
-
-
-
-
SYS_PARAM_VER (INT32)
-
Parameter version
Comment: This is used internally only: an airframe configuration might set an expected parameter version value via PARAM_DEFAULTS_VER. This is checked on bootup against SYS_PARAM_VER, and if they do not match, parameters are reset and reloaded from the airframe configuration.
-
[0, ?]
-
1
-
-
-
-
SYS_RGB_MAXBRT (FLOAT)
-
RGB Led brightness limit
Comment: Set to 0 to disable, 1 for maximum brightness
+Select what should be output on PCA9685 Output Channel 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
-## Thermal Compensation
+**Values:**
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
TC_A0_ID (INT32)
-
ID of Accelerometer that the calibration is for
-
-
0
-
-
-
-
TC_A0_TMAX (FLOAT)
-
Accelerometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_A0_TMIN (FLOAT)
-
Accelerometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_A0_TREF (FLOAT)
-
Accelerometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_A0_X0_0 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A0_X0_1 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A0_X0_2 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A0_X1_0 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A0_X1_1 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A0_X1_2 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A0_X2_0 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A0_X2_1 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A0_X2_2 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A0_X3_0 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A0_X3_1 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A0_X3_2 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A1_ID (INT32)
-
ID of Accelerometer that the calibration is for
-
-
0
-
-
-
-
TC_A1_TMAX (FLOAT)
-
Accelerometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_A1_TMIN (FLOAT)
-
Accelerometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_A1_TREF (FLOAT)
-
Accelerometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_A1_X0_0 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A1_X0_1 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A1_X0_2 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A1_X1_0 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A1_X1_1 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A1_X1_2 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A1_X2_0 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A1_X2_1 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A1_X2_2 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A1_X3_0 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A1_X3_1 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A1_X3_2 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A2_ID (INT32)
-
ID of Accelerometer that the calibration is for
-
-
0
-
-
-
-
TC_A2_TMAX (FLOAT)
-
Accelerometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_A2_TMIN (FLOAT)
-
Accelerometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_A2_TREF (FLOAT)
-
Accelerometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_A2_X0_0 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A2_X0_1 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A2_X0_2 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A2_X1_0 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A2_X1_1 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A2_X1_2 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A2_X2_0 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A2_X2_1 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A2_X2_2 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A2_X3_0 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A2_X3_1 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A2_X3_2 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A3_ID (INT32)
-
ID of Accelerometer that the calibration is for
-
-
0
-
-
-
-
TC_A3_TMAX (FLOAT)
-
Accelerometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_A3_TMIN (FLOAT)
-
Accelerometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_A3_TREF (FLOAT)
-
Accelerometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_A3_X0_0 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A3_X0_1 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A3_X0_2 (FLOAT)
-
Accelerometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A3_X1_0 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A3_X1_1 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A3_X1_2 (FLOAT)
-
Accelerometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A3_X2_0 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A3_X2_1 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A3_X2_2 (FLOAT)
-
Accelerometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A3_X3_0 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_A3_X3_1 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_A3_X3_2 (FLOAT)
-
Accelerometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_A_ENABLE (INT32)
-
Thermal compensation for accelerometer sensors
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
TC_B0_ID (INT32)
-
ID of Barometer that the calibration is for
-
-
0
-
-
-
-
TC_B0_TMAX (FLOAT)
-
Barometer calibration maximum temperature
-
-
75.0
-
-
-
-
TC_B0_TMIN (FLOAT)
-
Barometer calibration minimum temperature
-
-
5.0
-
-
-
-
TC_B0_TREF (FLOAT)
-
Barometer calibration reference temperature
-
-
40.0
-
-
-
-
TC_B0_X0 (FLOAT)
-
Barometer offset temperature ^0 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B0_X1 (FLOAT)
-
Barometer offset temperature ^1 polynomial coefficients
-
-
0.0
-
-
-
-
TC_B0_X2 (FLOAT)
-
Barometer offset temperature ^2 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B0_X3 (FLOAT)
-
Barometer offset temperature ^3 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B0_X4 (FLOAT)
-
Barometer offset temperature ^4 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B0_X5 (FLOAT)
-
Barometer offset temperature ^5 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B1_ID (INT32)
-
ID of Barometer that the calibration is for
-
-
0
-
-
-
-
TC_B1_TMAX (FLOAT)
-
Barometer calibration maximum temperature
-
-
75.0
-
-
-
-
TC_B1_TMIN (FLOAT)
-
Barometer calibration minimum temperature
-
-
5.0
-
-
-
-
TC_B1_TREF (FLOAT)
-
Barometer calibration reference temperature
-
-
40.0
-
-
-
-
TC_B1_X0 (FLOAT)
-
Barometer offset temperature ^0 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B1_X1 (FLOAT)
-
Barometer offset temperature ^1 polynomial coefficients
-
-
0.0
-
-
-
-
TC_B1_X2 (FLOAT)
-
Barometer offset temperature ^2 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B1_X3 (FLOAT)
-
Barometer offset temperature ^3 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B1_X4 (FLOAT)
-
Barometer offset temperature ^4 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B1_X5 (FLOAT)
-
Barometer offset temperature ^5 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B2_ID (INT32)
-
ID of Barometer that the calibration is for
-
-
0
-
-
-
-
TC_B2_TMAX (FLOAT)
-
Barometer calibration maximum temperature
-
-
75.0
-
-
-
-
TC_B2_TMIN (FLOAT)
-
Barometer calibration minimum temperature
-
-
5.0
-
-
-
-
TC_B2_TREF (FLOAT)
-
Barometer calibration reference temperature
-
-
40.0
-
-
-
-
TC_B2_X0 (FLOAT)
-
Barometer offset temperature ^0 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B2_X1 (FLOAT)
-
Barometer offset temperature ^1 polynomial coefficients
-
-
0.0
-
-
-
-
TC_B2_X2 (FLOAT)
-
Barometer offset temperature ^2 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B2_X3 (FLOAT)
-
Barometer offset temperature ^3 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B2_X4 (FLOAT)
-
Barometer offset temperature ^4 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B2_X5 (FLOAT)
-
Barometer offset temperature ^5 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B3_ID (INT32)
-
ID of Barometer that the calibration is for
-
-
0
-
-
-
-
TC_B3_TMAX (FLOAT)
-
Barometer calibration maximum temperature
-
-
75.0
-
-
-
-
TC_B3_TMIN (FLOAT)
-
Barometer calibration minimum temperature
-
-
5.0
-
-
-
-
TC_B3_TREF (FLOAT)
-
Barometer calibration reference temperature
-
-
40.0
-
-
-
-
TC_B3_X0 (FLOAT)
-
Barometer offset temperature ^0 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B3_X1 (FLOAT)
-
Barometer offset temperature ^1 polynomial coefficients
-
-
0.0
-
-
-
-
TC_B3_X2 (FLOAT)
-
Barometer offset temperature ^2 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B3_X3 (FLOAT)
-
Barometer offset temperature ^3 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B3_X4 (FLOAT)
-
Barometer offset temperature ^4 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B3_X5 (FLOAT)
-
Barometer offset temperature ^5 polynomial coefficient
-
-
0.0
-
-
-
-
TC_B_ENABLE (INT32)
-
Thermal compensation for barometric pressure sensors
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
TC_G0_ID (INT32)
-
ID of Gyro that the calibration is for
-
-
0
-
-
-
-
TC_G0_TMAX (FLOAT)
-
Gyro calibration maximum temperature
-
-
100.0
-
-
-
-
TC_G0_TMIN (FLOAT)
-
Gyro calibration minimum temperature
-
-
0.0
-
-
-
-
TC_G0_TREF (FLOAT)
-
Gyro calibration reference temperature
-
-
25.0
-
-
-
-
TC_G0_X0_0 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G0_X0_1 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G0_X0_2 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G0_X1_0 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G0_X1_1 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G0_X1_2 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G0_X2_0 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G0_X2_1 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G0_X2_2 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G0_X3_0 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G0_X3_1 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G0_X3_2 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G1_ID (INT32)
-
ID of Gyro that the calibration is for
-
-
0
-
-
-
-
TC_G1_TMAX (FLOAT)
-
Gyro calibration maximum temperature
-
-
100.0
-
-
-
-
TC_G1_TMIN (FLOAT)
-
Gyro calibration minimum temperature
-
-
0.0
-
-
-
-
TC_G1_TREF (FLOAT)
-
Gyro calibration reference temperature
-
-
25.0
-
-
-
-
TC_G1_X0_0 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G1_X0_1 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G1_X0_2 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G1_X1_0 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G1_X1_1 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G1_X1_2 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G1_X2_0 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G1_X2_1 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G1_X2_2 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G1_X3_0 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G1_X3_1 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G1_X3_2 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G2_ID (INT32)
-
ID of Gyro that the calibration is for
-
-
0
-
-
-
-
TC_G2_TMAX (FLOAT)
-
Gyro calibration maximum temperature
-
-
100.0
-
-
-
-
TC_G2_TMIN (FLOAT)
-
Gyro calibration minimum temperature
-
-
0.0
-
-
-
-
TC_G2_TREF (FLOAT)
-
Gyro calibration reference temperature
-
-
25.0
-
-
-
-
TC_G2_X0_0 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G2_X0_1 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G2_X0_2 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G2_X1_0 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G2_X1_1 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G2_X1_2 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G2_X2_0 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G2_X2_1 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G2_X2_2 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G2_X3_0 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G2_X3_1 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G2_X3_2 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G3_ID (INT32)
-
ID of Gyro that the calibration is for
-
-
0
-
-
-
-
TC_G3_TMAX (FLOAT)
-
Gyro calibration maximum temperature
-
-
100.0
-
-
-
-
TC_G3_TMIN (FLOAT)
-
Gyro calibration minimum temperature
-
-
0.0
-
-
-
-
TC_G3_TREF (FLOAT)
-
Gyro calibration reference temperature
-
-
25.0
-
-
-
-
TC_G3_X0_0 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G3_X0_1 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G3_X0_2 (FLOAT)
-
Gyro rate offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G3_X1_0 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G3_X1_1 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G3_X1_2 (FLOAT)
-
Gyro rate offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G3_X2_0 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G3_X2_1 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G3_X2_2 (FLOAT)
-
Gyro rate offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G3_X3_0 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_G3_X3_1 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_G3_X3_2 (FLOAT)
-
Gyro rate offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_G_ENABLE (INT32)
-
Thermal compensation for rate gyro sensors
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
TC_M0_ID (INT32)
-
ID of Magnetometer that the calibration is for
-
-
0
-
-
-
-
TC_M0_TMAX (FLOAT)
-
Magnetometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_M0_TMIN (FLOAT)
-
Magnetometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_M0_TREF (FLOAT)
-
Magnetometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_M0_X0_0 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M0_X0_1 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M0_X0_2 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M0_X1_0 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M0_X1_1 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M0_X1_2 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M0_X2_0 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M0_X2_1 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M0_X2_2 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M0_X3_0 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M0_X3_1 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M0_X3_2 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M1_ID (INT32)
-
ID of Magnetometer that the calibration is for
-
-
0
-
-
-
-
TC_M1_TMAX (FLOAT)
-
Magnetometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_M1_TMIN (FLOAT)
-
Magnetometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_M1_TREF (FLOAT)
-
Magnetometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_M1_X0_0 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M1_X0_1 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M1_X0_2 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M1_X1_0 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M1_X1_1 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M1_X1_2 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M1_X2_0 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M1_X2_1 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M1_X2_2 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M1_X3_0 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M1_X3_1 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M1_X3_2 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M2_ID (INT32)
-
ID of Magnetometer that the calibration is for
-
-
0
-
-
-
-
TC_M2_TMAX (FLOAT)
-
Magnetometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_M2_TMIN (FLOAT)
-
Magnetometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_M2_TREF (FLOAT)
-
Magnetometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_M2_X0_0 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M2_X0_1 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M2_X0_2 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M2_X1_0 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M2_X1_1 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M2_X1_2 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M2_X2_0 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M2_X2_1 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M2_X2_2 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M2_X3_0 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M2_X3_1 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M2_X3_2 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M3_ID (INT32)
-
ID of Magnetometer that the calibration is for
-
-
0
-
-
-
-
TC_M3_TMAX (FLOAT)
-
Magnetometer calibration maximum temperature
-
-
100.0
-
-
-
-
TC_M3_TMIN (FLOAT)
-
Magnetometer calibration minimum temperature
-
-
0.0
-
-
-
-
TC_M3_TREF (FLOAT)
-
Magnetometer calibration reference temperature
-
-
25.0
-
-
-
-
TC_M3_X0_0 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M3_X0_1 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M3_X0_2 (FLOAT)
-
Magnetometer offset temperature ^0 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M3_X1_0 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M3_X1_1 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M3_X1_2 (FLOAT)
-
Magnetometer offset temperature ^1 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M3_X2_0 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M3_X2_1 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M3_X2_2 (FLOAT)
-
Magnetometer offset temperature ^2 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M3_X3_0 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - X axis
-
-
0.0
-
-
-
-
TC_M3_X3_1 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Y axis
-
-
0.0
-
-
-
-
TC_M3_X3_2 (FLOAT)
-
Magnetometer offset temperature ^3 polynomial coefficient - Z axis
-
-
0.0
-
-
-
-
TC_M_ENABLE (INT32)
-
Thermal compensation for magnetometer sensors
Reboot required: true
-
-
-
Disabled (0)
-
-
-
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
-## Transponder
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
MXS_EXT_CFG (INT32)
-
Sagetech External Configuration Mode
Comment: Disables auto-configuration mode enabling MXS config through external software.
Reboot required: true
-
-
-
Disabled (0)
-
-
-
-
MXS_OP_MODE (INT32)
-
Sagetech MXS mode configuration
Comment: This parameter defines the operating mode of the MXS
Values:
-
0: Off
-
1: On
-
2: Standby
-
3: Alt
-
Reboot required: false
-
-
[0, 3]
-
0
-
-
-
-
MXS_SER_CFG (INT32)
-
Serial Configuration for Sagetech MXS Serial Port
Comment: Configure on which serial port to run Sagetech MXS Serial Port.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
MXS_TARG_PORT (INT32)
-
Sagetech MXS Participant Configuration
Comment: The MXS communication port to receive Target data from
Comment: This parameter defines the type of fuel used in the vehicle's fuel tank. 0: Unknown 1: Liquid (e.g., gasoline, diesel) 2: Gas (e.g., hydrogen, methane, propane)
Values:
-
0: Unknown
-
1: Liquid
-
2: Gas
-
Reboot required: true
-
-
[0, 2]
-
1
-
-
-
-
UAVCAN_ECU_MAXF (FLOAT)
-
UAVCAN fuel tank maximum capacity
Comment: This parameter defines the maximum fuel capacity of the vehicle's fuel tank.
Reboot required: true
-
-
[0.0, 100000.0] (0.1)
-
15.0
-
liters
-
-
-
UAVCAN_ENABLE (INT32)
-
UAVCAN mode
Comment: 0 - UAVCAN disabled. 1 - Enables support for UAVCAN sensors without dynamic node ID allocation and firmware update. 2 - Enables support for UAVCAN sensors with dynamic node ID allocation and firmware update. 3 - Enables support for UAVCAN sensors and actuators with dynamic node ID allocation and firmware update. Also sets the motor control outputs to UAVCAN.
Values:
-
0: Disabled
-
1: Sensors Manual Config
-
2: Sensors Automatic Config
-
3: Sensors and Actuators (ESCs) Automatic Config
-
Reboot required: true
-
-
[0, 3]
-
0
-
-
-
-
UAVCAN_LGT_ANTCL (INT32)
-
UAVCAN ANTI_COLLISION light operating mode
Comment: This parameter defines the minimum condition under which the system will command the ANTI_COLLISION lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
Values:
-
0: Always off
-
1: When autopilot is armed
-
2: When autopilot is prearmed
-
3: Always on
-
Reboot required: true
-
-
[0, 3]
-
2
-
-
-
-
UAVCAN_LGT_LAND (INT32)
-
UAVCAN LIGHT_ID_LANDING light operating mode
Comment: This parameter defines the minimum condition under which the system will command the LIGHT_ID_LANDING lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
Values:
-
0: Always off
-
1: When autopilot is armed
-
2: When autopilot is prearmed
-
3: Always on
-
Reboot required: true
-
-
[0, 3]
-
0
-
-
-
-
UAVCAN_LGT_NAV (INT32)
-
UAVCAN RIGHT_OF_WAY light operating mode
Comment: This parameter defines the minimum condition under which the system will command the RIGHT_OF_WAY lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
Values:
-
0: Always off
-
1: When autopilot is armed
-
2: When autopilot is prearmed
-
3: Always on
-
Reboot required: true
-
-
[0, 3]
-
3
-
-
-
-
UAVCAN_LGT_STROB (INT32)
-
UAVCAN STROBE light operating mode
Comment: This parameter defines the minimum condition under which the system will command the STROBE lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
Values:
-
0: Always off
-
1: When autopilot is armed
-
2: When autopilot is prearmed
-
3: Always on
-
Reboot required: true
-
-
[0, 3]
-
1
-
-
-
-
UAVCAN_NODE_ID (INT32)
-
UAVCAN Node ID
Comment: Read the specs at http://uavcan.org to learn more about Node ID.
Reboot required: true
-
-
[1, 125]
-
1
-
-
-
-
UAVCAN_PUB_ARM (INT32)
-
publish Arming Status stream
Comment: Enable UAVCAN Arming Status stream publication uavcan::equipment::safety::ArmingStatus
Comment: Enable UAVCAN battery subscription. uavcan::equipment::power::BatteryInfo ardupilot::equipment::power::BatteryInfoAux 0 - Disable 1 - Use raw data. Recommended for Smart battery 2 - Filter the data with internal battery library
Comment: Enable UAVCAN range finder subscription. uavcan::equipment::range_sensor::Measurement
Reboot required: true
-
-
-
Disabled (0)
-
-
-
+PCA9685 Output Channel 11 Output Function.
-## UUV Attitude Control
+Select what should be output on PCA9685 Output Channel 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
UUV_DIRCT_PITCH (FLOAT)
-
Direct pitch input
-
-
0.0
-
-
-
-
UUV_DIRCT_ROLL (FLOAT)
-
Direct roll input
-
-
0.0
-
-
-
-
UUV_DIRCT_THRUST (FLOAT)
-
Direct thrust input
-
-
0.0
-
-
-
-
UUV_DIRCT_YAW (FLOAT)
-
Direct yaw input
-
-
0.0
-
-
-
-
UUV_INPUT_MODE (INT32)
-
Select Input Mode Values:
-
0: use Attitude Setpoints
-
1: Direct Feedthrough
-
-
-
0
-
-
-
-
UUV_PITCH_D (FLOAT)
-
Pitch differential gain
-
-
2.0
-
-
-
-
UUV_PITCH_P (FLOAT)
-
Pitch proportional gain
-
-
4.0
-
-
-
-
UUV_ROLL_D (FLOAT)
-
Roll differential gain
-
-
1.5
-
-
-
-
UUV_ROLL_P (FLOAT)
-
Roll proportional gain
-
-
4.0
-
-
-
-
UUV_YAW_D (FLOAT)
-
Yaw differential gain
-
-
2.0
-
-
-
-
UUV_YAW_P (FLOAT)
-
Yawh proportional gain
-
-
4.0
-
-
-
+**Values:**
-## UUV Position Control
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
UUV_GAIN_X_D (FLOAT)
-
Gain of D controller X
-
-
0.2
-
-
-
-
UUV_GAIN_X_P (FLOAT)
-
Gain of P controller X
-
-
1.0
-
-
-
-
UUV_GAIN_Y_D (FLOAT)
-
Gain of D controller Y
-
-
0.2
-
-
-
-
UUV_GAIN_Y_P (FLOAT)
-
Gain of P controller Y
-
-
1.0
-
-
-
-
UUV_GAIN_Z_D (FLOAT)
-
Gain of D controller Z
-
-
0.2
-
-
-
-
UUV_GAIN_Z_P (FLOAT)
-
Gain of P controller Z
-
-
1.0
-
-
-
-
UUV_STAB_MODE (INT32)
-
Stabilization mode(1) or Position Control(0) Values:
Comment: UWB sensor positioning in relation to Drone in NED. X offset. A Positive offset results in a Position o
-
(0.01)
-
0.0
-
m
-
-
-
UWB_INIT_OFF_Y (FLOAT)
-
UWB sensor Y offset in body frame
Comment: UWB sensor positioning in relation to Drone in NED. Y offset.
-
(0.01)
-
0.0
-
m
-
-
-
UWB_INIT_OFF_Z (FLOAT)
-
UWB sensor Z offset in body frame
Comment: UWB sensor positioning in relation to Drone in NED. Z offset.
-
(0.01)
-
0.0
-
m
-
-
-
UWB_PORT_CFG (INT32)
-
Serial Configuration for Ultrawideband position sensor driver
Comment: Configure on which serial port to run Ultrawideband position sensor driver.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
Reboot required: true
-
-
-
0
-
-
-
-
UWB_SENS_ROT (INT32)
-
UWB sensor orientation
Comment: The orientation of the sensor relative to the forward direction of the body frame. Look up table in src/lib/conversion/rotation.h Default position is the antannaes downward facing, UWB board parallel with body frame.
Comment: If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected Agent IP address will be set and used. Decimal dot notation is not supported. IP address must be provided in int32 format. For example, 192.168.1.2 is mapped to -1062731518; 127.0.0.1 is mapped to 2130706433.
Reboot required: True
-
-
-
2130706433
-
-
-
-
UXRCE_DDS_CFG (INT32)
-
Serial Configuration for UXRCE-DDS Client
Comment: Configure on which serial port to run UXRCE-DDS Client.
Values:
-
0: Disabled
-
6: UART 6
-
101: TELEM 1
-
102: TELEM 2
-
103: TELEM 3
-
104: TELEM/SERIAL 4
-
201: GPS 1
-
202: GPS 2
-
203: GPS 3
-
300: Radio Controller
-
301: Wifi Port
-
401: EXT2
-
1000: Ethernet
-
Reboot required: true
-
-
-
0
-
-
-
-
UXRCE_DDS_DOM_ID (INT32)
-
uXRCE-DDS domain ID
Comment: uXRCE-DDS domain ID
Reboot required: True
-
-
-
0
-
-
-
-
UXRCE_DDS_KEY (INT32)
-
uXRCE-DDS session key
Comment: uXRCE-DDS key, must be different from zero. In a single agent - multi client configuration, each client must have a unique session key.
Reboot required: True
-
-
-
1
-
-
-
-
UXRCE_DDS_PRT (INT32)
-
uXRCE-DDS UDP port
Comment: If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected UDP port will be set and used.
Reboot required: True
-
-
[0, 65535]
-
8888
-
-
-
-
UXRCE_DDS_PTCFG (INT32)
-
uXRCE-DDS participant configuration
Comment: Set the participant configuration on the Agent's system. 0: Use the default configuration. 1: Restrict messages to localhost (use in combination with ROS_LOCALHOST_ONLY=1). 2: Use a custom participant with the profile name "px4_participant".
Values:
-
0: Default
-
1: Localhost-only
-
2: Custom participant
-
Reboot required: True
-
-
[0, 2]
-
0
-
-
-
-
UXRCE_DDS_SYNCC (INT32)
-
Enable uXRCE-DDS system clock synchronization
Comment: When enabled along with UXRCE_DDS_SYNCT, uxrce_dds_client will set the system clock using the agents UTC timestamp.
Reboot required: True
-
-
-
Disabled (0)
-
-
-
-
UXRCE_DDS_SYNCT (INT32)
-
Enable uXRCE-DDS timestamp synchronization
Comment: When enabled, uxrce_dds_client will synchronize the timestamps of the incoming and outgoing messages measuring the offset between the Agent OS time and the PX4 time.
Reboot required: True
-
-
-
Enabled (1)
-
-
-
+Select what should be output on PCA9685 Output Channel 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
-## VOXL ESC
+**Values:**
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
VOXL_ESC_BAUD (INT32)
-
UART ESC baud rate
Comment: Default rate is 250Kbps, which is used in off-the-shelf MoadalAI ESC products.
-
-
250000
-
bit/s
-
-
-
VOXL_ESC_CONFIG (INT32)
-
UART ESC configuration
Comment: Selects what type of UART ESC, if any, is being used.
Values:
-
0: - Disabled
-
1: - VOXL ESC
-
Reboot required: true
-
-
[0, 1]
-
0
-
-
-
-
VOXL_ESC_MODE (INT32)
-
UART ESC Mode
Comment: Selects what type of mode is enabled, if any
Values:
-
0: - None
-
1: - Turtle Mode enabled via AUX1
-
2: - Turtle Mode enabled via AUX2
-
3: - UART Passthrough Mode
-
Reboot required: true
-
-
[0, 2]
-
0
-
-
-
-
VOXL_ESC_PUB_BST (INT32)
-
UART ESC Enable publishing of battery status
Comment: Only applicable to ESCs that report total battery voltage and current
Values:
-
0: - Disabled
-
1: - Enabled
-
Reboot required: true
-
-
[0, 1]
-
1
-
-
-
-
VOXL_ESC_RPM_MAX (INT32)
-
UART ESC RPM Max
Comment: Maximum RPM for ESC
-
-
15000
-
rpm
-
-
-
VOXL_ESC_RPM_MIN (INT32)
-
UART ESC RPM Min
Comment: Minimum RPM for ESC
-
-
5500
-
rpm
-
-
-
VOXL_ESC_SDIR1 (INT32)
-
UART ESC ID 1 Spin Direction Flag Values:
-
0: - Default
-
1: - Reverse
-
-
-
0
-
-
-
-
VOXL_ESC_SDIR2 (INT32)
-
UART ESC ID 2 Spin Direction Flag Values:
-
0: - Default
-
1: - Reverse
-
-
-
0
-
-
-
-
VOXL_ESC_SDIR3 (INT32)
-
UART ESC ID 3 Spin Direction Flag Values:
-
0: - Default
-
1: - Reverse
-
-
-
0
-
-
-
-
VOXL_ESC_SDIR4 (INT32)
-
UART ESC ID 4 Spin Direction Flag Values:
-
0: - Default
-
1: - Reverse
-
-
-
0
-
-
-
-
VOXL_ESC_T_COSP (FLOAT)
-
UART ESC Turtle Mode Cosphi
-
[0.000, 1.000] (0.001)
-
0.990
-
-
-
-
VOXL_ESC_T_DEAD (INT32)
-
UART ESC Turtle Mode Crash Flip Motor Deadband
-
[0, 100] (1)
-
20
-
-
-
-
VOXL_ESC_T_EXPO (INT32)
-
UART ESC Turtle Mode Crash Flip Motor expo
-
[0, 100] (1)
-
35
-
-
-
-
VOXL_ESC_T_MINF (FLOAT)
-
UART ESC Turtle Mode Crash Flip Motor STICK_MINF
-
[0.0, 100.0] (1.0)
-
0.15
-
-
-
-
VOXL_ESC_T_OVER (INT32)
-
UART ESC Over-Temperature Threshold (Degrees C)
Comment: Only applicable to ESCs that report temperature
Values:
-
0: - Disabled
-
Reboot required: true
-
-
[0, 200]
-
0
-
-
-
-
VOXL_ESC_T_PERC (INT32)
-
UART ESC Turtle Mode Crash Flip Motor Percent
-
[1, 100] (1)
-
90
-
-
-
-
VOXL_ESC_T_WARN (INT32)
-
UART ESC Temperature Warning Threshold (Degrees C)
Comment: Only applicable to ESCs that report temperature
Values:
-
0: - Disabled
-
Reboot required: true
-
-
[0, 200]
-
0
-
-
-
-
VOXL_ESC_VLOG (INT32)
-
UART ESC verbose logging Values:
-
0: - Disabled
-
1: - Enabled
-
Reboot required: true
-
-
[0, 1]
-
0
-
-
-
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
-## VOXL2 IO
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
VOXL2_IO_BAUD (INT32)
-
UART M0065 baud rate
Comment: Default rate is 921600, which is used for communicating with M0065.
-
-
921600
-
bit/s
-
-
-
VOXL2_IO_MAX (INT32)
-
M0065 PWM Max
Comment: Maximum duration (microseconds) for M0065 PWM
-
[0, 2000]
-
2000
-
us
-
-
-
VOXL2_IO_MIN (INT32)
-
M0065 PWM Min
Comment: Minimum duration (microseconds) for M0065 PWM
Comment: Airspeed at which we can start blending both fw and mc controls. Set to 0 to disable.
-
[0.00, 30.00] (1)
-
8.0
-
m/s
-
-
-
VT_ARSP_TRANS (FLOAT)
-
Transition airspeed
Comment: Airspeed at which we can switch to fw mode
-
[0.00, 30.00] (1)
-
10.0
-
m/s
-
-
-
VT_BT_TILT_DUR (FLOAT)
-
Duration motor tilt up in backtransition
Comment: Time in seconds it takes to tilt form VT_TILT_FW to VT_TILT_MC.
-
[0.1, 10] (0.1)
-
1.
-
s
-
-
-
VT_B_DEC_I (FLOAT)
-
Backtransition deceleration setpoint to pitch I gain
-
[0, 0.3] (0.05)
-
0.1
-
rad s/m
-
-
-
VT_B_DEC_MSS (FLOAT)
-
Approximate deceleration during back transition
Comment: Used to calculate back transition distance in an auto mode. For standard vtol and tiltrotors a controller is used to track this value during the transition.
-
[0.5, 10] (0.1)
-
2.0
-
m/s^2
-
-
-
VT_B_TRANS_DUR (FLOAT)
-
Maximum duration of a back transition
Comment: Transition is also declared over if the groundspeed drops below MPC_XY_CRUISE.
-
[0.1, 20.00] (1)
-
10.0
-
s
-
-
-
VT_B_TRANS_RAMP (FLOAT)
-
Back transition MC motor ramp up time
Comment: This sets the duration during which the MC motors ramp up to the commanded thrust during the back transition stage.
-
[0.0, 20.0] (0.1)
-
3.0
-
s
-
-
-
VT_ELEV_MC_LOCK (INT32)
-
Lock control surfaces in hover
Comment: If set to 1 the control surfaces are locked at the disarmed value in multicopter mode.
-
-
Enabled (1)
-
-
-
-
VT_FWD_THRUST_EN (INT32)
-
Use fixed-wing actuation in hover to accelerate forward
Comment: This feature can be used to avoid the plane having to pitch nose down in order to move forward. Prevents large, negative lift from pitching nose down into wind. Fixed-wing forward actuators refers to puller/pusher (standard VTOL), or forward-tilt (tiltrotor VTOL). Only active if demanded down pitch is below VT_PITCH_MIN. Use VT_FWD_THRUST_SC to tune it. Descend mode is treated as Landing too. Only active (if enabled) in Altitude, Position and Auto modes, not in Stabilized.
Values:
-
0: Disabled
-
1: Enabled (except LANDING)
-
2: Enabled if distance to ground above MPC_LAND_ALT1
-
3: Enabled if distance to ground above MPC_LAND_ALT2
-
4: Enabled constantly
-
5: Enabled if distance to ground above MPC_LAND_ALT1 (except LANDING)
-
6: Enabled if distance to ground above MPC_LAND_ALT2 (except LANDING)
-
-
-
0
-
-
-
-
VT_FWD_THRUST_SC (FLOAT)
-
Fixed-wing actuation thrust scale for hover forward flight
Comment: Scale applied to the demanded down-pitch to get the fixed-wing forward actuation in hover mode. Enabled via VT_FWD_THRUST_EN.
-
[0.0, 2.0] (0.01)
-
0.7
-
-
-
-
VT_FW_DIFTHR_EN (INT32)
-
Differential thrust in forwards flight
Comment: Enable differential thrust seperately for roll, pitch, yaw in forward (fixed-wing) mode. The effectiveness of differential thrust around the corresponding axis can be tuned by setting VT_FW_DIFTHR_S_R / VT_FW_DIFTHR_S_P / VT_FW_DIFTHR_S_Y.
Bitmask:
0: Yaw
-
1: Roll
-
2: Pitch
-
-
-
[0, 7]
-
0
-
-
-
-
VT_FW_DIFTHR_S_P (FLOAT)
-
Pitch differential thrust factor in forward flight
Comment: Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
-
[0.0, 2.0] (0.1)
-
1.
-
-
-
-
VT_FW_DIFTHR_S_R (FLOAT)
-
Roll differential thrust factor in forward flight
Comment: Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
-
[0.0, 2.0] (0.1)
-
1.
-
-
-
-
VT_FW_DIFTHR_S_Y (FLOAT)
-
Yaw differential thrust factor in forward flight
Comment: Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
-
[0.0, 2.0] (0.1)
-
0.1
-
-
-
-
VT_FW_MIN_ALT (FLOAT)
-
Quad-chute altitude
Comment: Minimum altitude for fixed-wing flight. When the vehicle is in fixed-wing mode and the altitude drops below this altitude (relative altitude above local origin), it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT.
-
[0.0, 200.0] (1)
-
0.0
-
m
-
-
-
VT_FW_QC_HMAX (INT32)
-
Quad-chute maximum height
Comment: Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.
-
[0, ?] (1)
-
0
-
m
-
-
-
VT_FW_QC_P (INT32)
-
Quad-chute max pitch threshold
Comment: Absolute pitch threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
-
[0, 180]
-
0
-
deg
-
-
-
VT_FW_QC_R (INT32)
-
Quad-chute max roll threshold
Comment: Absolute roll threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
-
[0, 180]
-
0
-
deg
-
-
-
VT_F_TRANS_DUR (FLOAT)
-
Duration of a front transition
Comment: Time in seconds used for a transition
-
[0.1, 20.00] (1)
-
5.0
-
s
-
-
-
VT_F_TRANS_THR (FLOAT)
-
Target throttle value for the transition to fixed-wing flight
-
[0.0, 1.0] (0.01)
-
1.0
-
-
-
-
VT_F_TR_OL_TM (FLOAT)
-
Airspeed-less front transition time (open loop)
Comment: The duration of the front transition when there is no airspeed feedback available.
-
[1.0, 30.0] (0.5)
-
6.0
-
s
-
-
-
VT_LND_PITCH_MIN (FLOAT)
-
Minimum pitch angle during hover landing
Comment: Overrides VT_PITCH_MIN when the vehicle is in LAND mode (hovering). During landing it can be beneficial to reduce the pitch angle to reduce the generated lift in head wind.
-
[-10.0, 45.0] (0.1)
-
-5.0
-
deg
-
-
-
VT_PITCH_MIN (FLOAT)
-
Minimum pitch angle during hover
Comment: Any pitch setpoint below this value is translated to a forward force by the fixed-wing forward actuation if VT_FW_TRHUST_EN is set to 1.
-
[-10.0, 45.0] (0.1)
-
-5.0
-
deg
-
-
-
VT_PSHER_SLEW (FLOAT)
-
Pusher throttle ramp up slew rate
Comment: Defines the slew rate of the puller/pusher throttle during transitions. Zero will deactivate the slew rate limiting and thus produce an instant throttle rise to the transition throttle VT_F_TRANS_THR.
-
[0, ?] (0.01)
-
0.33
-
1/s
-
-
-
VT_QC_ALT_LOSS (FLOAT)
-
Quad-chute uncommanded descent threshold
Comment: Altitude error threshold for quad-chute triggering during fixed-wing flight. The check is only active if altitude is controlled and the vehicle is below the current altitude reference. The altitude error is relative to the highest altitude the vehicle has achieved since it has flown below the current altitude reference. Set to 0 do disable.
-
[0.0, 200.0] (1)
-
0.0
-
m
-
-
-
VT_QC_T_ALT_LOSS (FLOAT)
-
Quad-chute transition altitude loss threshold
Comment: Altitude loss threshold for quad-chute triggering during VTOL transition to fixed-wing flight in altitude-controlled flight modes. Active until 5s after completing transition to fixed-wing. If the current altitude is more than this value below the altitude at the beginning of the transition, it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
-
[0, 50] (1)
-
20.0
-
m
-
-
-
VT_SPOILER_MC_LD (FLOAT)
-
Spoiler setting while landing (hover)
-
[-1, 1] (0.1)
-
0.
-
norm
-
-
-
VT_TILT_FW (FLOAT)
-
Normalized tilt in FW
-
[0.0, 1.0] (0.01)
-
1.0
-
-
-
-
VT_TILT_MC (FLOAT)
-
Normalized tilt in Hover
-
[0.0, 1.0] (0.01)
-
0.0
-
-
-
-
VT_TILT_TRANS (FLOAT)
-
Normalized tilt in transition to FW
-
[0.0, 1.0] (0.01)
-
0.4
-
-
-
-
VT_TRANS_MIN_TM (FLOAT)
-
Front transition minimum time
Comment: Minimum time in seconds for front transition.
-
[0.0, 20.0] (0.1)
-
2.0
-
s
-
-
-
VT_TRANS_P2_DUR (FLOAT)
-
Duration of front transition phase 2
Comment: Time in seconds it takes to tilt form VT_TILT_TRANS to VT_TILT_FW.
-
[0.1, 5.0] (0.01)
-
0.5
-
s
-
-
-
VT_TRANS_TIMEOUT (FLOAT)
-
Front transition timeout
Comment: Time in seconds after which transition will be cancelled. Disabled if set to 0.
-
[0.1, 30.00] (1)
-
15.0
-
s
-
-
-
VT_TYPE (INT32)
-
VTOL Type (Tailsitter=0, Tiltrotor=1, Standard=2) Values:
-
0: Tailsitter
-
1: Tiltrotor
-
2: Standard
-
Reboot required: true
-
-
[0, 2]
-
0
-
-
-
-
WV_GAIN (FLOAT)
-
Weather-vane roll angle to yawrate
Comment: The desired gain to convert roll sp into yaw rate sp.
-
[0.0, 3.0] (0.01)
-
1.0
-
Hz
-
-
+PCA9685 Output Channel 13 Output Function.
-## VTOL Takeoff
+Select what should be output on PCA9685 Output Channel 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
VTO_LOITER_ALT (FLOAT)
-
VTOL Takeoff relative loiter altitude
Comment: Altitude relative to home at which vehicle will loiter after front transition.
-
[20, 300] (1)
-
80
-
m
-
-
+**Values:**
-## Zenoh
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
ZENOH_ENABLE (INT32)
-
Zenoh Enable
Comment: Zenoh
Reboot required: True
-
-
-
0
-
-
-
-## Miscellaneous
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC14 (`INT32`) {#PCA9685_FUNC14}
+
+PCA9685 Output Channel 14 Output Function.
+
+Select what should be output on PCA9685 Output Channel 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC15 (`INT32`) {#PCA9685_FUNC15}
+
+PCA9685 Output Channel 15 Output Function.
+
+Select what should be output on PCA9685 Output Channel 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC16 (`INT32`) {#PCA9685_FUNC16}
+
+PCA9685 Output Channel 16 Output Function.
+
+Select what should be output on PCA9685 Output Channel 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC2 (`INT32`) {#PCA9685_FUNC2}
+
+PCA9685 Output Channel 2 Output Function.
+
+Select what should be output on PCA9685 Output Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC3 (`INT32`) {#PCA9685_FUNC3}
+
+PCA9685 Output Channel 3 Output Function.
+
+Select what should be output on PCA9685 Output Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC4 (`INT32`) {#PCA9685_FUNC4}
+
+PCA9685 Output Channel 4 Output Function.
+
+Select what should be output on PCA9685 Output Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC5 (`INT32`) {#PCA9685_FUNC5}
+
+PCA9685 Output Channel 5 Output Function.
+
+Select what should be output on PCA9685 Output Channel 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC6 (`INT32`) {#PCA9685_FUNC6}
+
+PCA9685 Output Channel 6 Output Function.
+
+Select what should be output on PCA9685 Output Channel 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC7 (`INT32`) {#PCA9685_FUNC7}
+
+PCA9685 Output Channel 7 Output Function.
+
+Select what should be output on PCA9685 Output Channel 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC8 (`INT32`) {#PCA9685_FUNC8}
+
+PCA9685 Output Channel 8 Output Function.
+
+Select what should be output on PCA9685 Output Channel 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_FUNC9 (`INT32`) {#PCA9685_FUNC9}
+
+PCA9685 Output Channel 9 Output Function.
+
+Select what should be output on PCA9685 Output Channel 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PCA9685_MAX1 (`INT32`) {#PCA9685_MAX1}
+
+PCA9685 Output Channel 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX10 (`INT32`) {#PCA9685_MAX10}
+
+PCA9685 Output Channel 10 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX11 (`INT32`) {#PCA9685_MAX11}
+
+PCA9685 Output Channel 11 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX12 (`INT32`) {#PCA9685_MAX12}
+
+PCA9685 Output Channel 12 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX13 (`INT32`) {#PCA9685_MAX13}
+
+PCA9685 Output Channel 13 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX14 (`INT32`) {#PCA9685_MAX14}
+
+PCA9685 Output Channel 14 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX15 (`INT32`) {#PCA9685_MAX15}
+
+PCA9685 Output Channel 15 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX16 (`INT32`) {#PCA9685_MAX16}
+
+PCA9685 Output Channel 16 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX2 (`INT32`) {#PCA9685_MAX2}
+
+PCA9685 Output Channel 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX3 (`INT32`) {#PCA9685_MAX3}
+
+PCA9685 Output Channel 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX4 (`INT32`) {#PCA9685_MAX4}
+
+PCA9685 Output Channel 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX5 (`INT32`) {#PCA9685_MAX5}
+
+PCA9685 Output Channel 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX6 (`INT32`) {#PCA9685_MAX6}
+
+PCA9685 Output Channel 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX7 (`INT32`) {#PCA9685_MAX7}
+
+PCA9685 Output Channel 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX8 (`INT32`) {#PCA9685_MAX8}
+
+PCA9685 Output Channel 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MAX9 (`INT32`) {#PCA9685_MAX9}
+
+PCA9685 Output Channel 9 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 1900 |
+
+### PCA9685_MIN1 (`INT32`) {#PCA9685_MIN1}
+
+PCA9685 Output Channel 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN10 (`INT32`) {#PCA9685_MIN10}
+
+PCA9685 Output Channel 10 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN11 (`INT32`) {#PCA9685_MIN11}
+
+PCA9685 Output Channel 11 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN12 (`INT32`) {#PCA9685_MIN12}
+
+PCA9685 Output Channel 12 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN13 (`INT32`) {#PCA9685_MIN13}
+
+PCA9685 Output Channel 13 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN14 (`INT32`) {#PCA9685_MIN14}
+
+PCA9685 Output Channel 14 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN15 (`INT32`) {#PCA9685_MIN15}
+
+PCA9685 Output Channel 15 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN16 (`INT32`) {#PCA9685_MIN16}
+
+PCA9685 Output Channel 16 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN2 (`INT32`) {#PCA9685_MIN2}
+
+PCA9685 Output Channel 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN3 (`INT32`) {#PCA9685_MIN3}
+
+PCA9685 Output Channel 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN4 (`INT32`) {#PCA9685_MIN4}
+
+PCA9685 Output Channel 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN5 (`INT32`) {#PCA9685_MIN5}
+
+PCA9685 Output Channel 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN6 (`INT32`) {#PCA9685_MIN6}
+
+PCA9685 Output Channel 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN7 (`INT32`) {#PCA9685_MIN7}
+
+PCA9685 Output Channel 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN8 (`INT32`) {#PCA9685_MIN8}
+
+PCA9685 Output Channel 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_MIN9 (`INT32`) {#PCA9685_MIN9}
+
+PCA9685 Output Channel 9 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1100 |
+
+### PCA9685_PWM_FREQ (`FLOAT`) {#PCA9685_PWM_FREQ}
+
+PWM cycle frequency.
+
+Controls the PWM frequency at timing perspective. This is independent from PWM update frequency, as PCA9685 is capable to output without being continuously commanded by FC. Higher frequency leads to more accurate pulse width, but some ESCs and servos may not support it. This parameter should be set to the same value as PWM update rate in most case. This parameter MUST NOT exceed upper limit of 400.0, if any outputs as generic 1000~2000us pulse width is desired. Frequency higher than 400 only makes sense in duty-cycle mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 23.8 | 1525.87 | | 50.0 |
+
+### PCA9685_REV (`INT32`) {#PCA9685_REV}
+
+Reverse Output Range for PCA9685 Output.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: PCA9685 Output Channel 1
+- `1`: PCA9685 Output Channel 2
+- `2`: PCA9685 Output Channel 3
+- `3`: PCA9685 Output Channel 4
+- `4`: PCA9685 Output Channel 5
+- `5`: PCA9685 Output Channel 6
+- `6`: PCA9685 Output Channel 7
+- `7`: PCA9685 Output Channel 8
+- `8`: PCA9685 Output Channel 9
+- `9`: PCA9685 Output Channel 10
+- `10`: PCA9685 Output Channel 11
+- `11`: PCA9685 Output Channel 12
+- `12`: PCA9685 Output Channel 13
+- `13`: PCA9685 Output Channel 14
+- `14`: PCA9685 Output Channel 15
+- `15`: PCA9685 Output Channel 16
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | | 0 |
+
+### PCA9685_SCHD_HZ (`FLOAT`) {#PCA9685_SCHD_HZ}
+
+PWM update rate.
+
+Controls the update rate of PWM output. Flight Controller will inform those numbers of update events in a second, to PCA9685. Higher update rate will consume more I2C bandwidth, which may even lead to worse output latency, or completely block I2C bus.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 50.0 | 400.0 | | 50.0 |
+
+### PWM_AUX_DIS1 (`INT32`) {#PWM_AUX_DIS1}
+
+PWM Aux 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS10 (`INT32`) {#PWM_AUX_DIS10}
+
+PWM Capture 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS11 (`INT32`) {#PWM_AUX_DIS11}
+
+PWM Capture 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS2 (`INT32`) {#PWM_AUX_DIS2}
+
+PWM Aux 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS3 (`INT32`) {#PWM_AUX_DIS3}
+
+PWM Aux 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS4 (`INT32`) {#PWM_AUX_DIS4}
+
+PWM Aux 4 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS5 (`INT32`) {#PWM_AUX_DIS5}
+
+PWM Aux 5 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS6 (`INT32`) {#PWM_AUX_DIS6}
+
+PWM Aux 6 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS7 (`INT32`) {#PWM_AUX_DIS7}
+
+PWM Aux 7 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS8 (`INT32`) {#PWM_AUX_DIS8}
+
+PWM Aux 8 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_DIS9 (`INT32`) {#PWM_AUX_DIS9}
+
+PWM Capture 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_AUX_FAIL1 (`INT32`) {#PWM_AUX_FAIL1}
+
+PWM Aux 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL10 (`INT32`) {#PWM_AUX_FAIL10}
+
+PWM Capture 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL11 (`INT32`) {#PWM_AUX_FAIL11}
+
+PWM Capture 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL2 (`INT32`) {#PWM_AUX_FAIL2}
+
+PWM Aux 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL3 (`INT32`) {#PWM_AUX_FAIL3}
+
+PWM Aux 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL4 (`INT32`) {#PWM_AUX_FAIL4}
+
+PWM Aux 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL5 (`INT32`) {#PWM_AUX_FAIL5}
+
+PWM Aux 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL6 (`INT32`) {#PWM_AUX_FAIL6}
+
+PWM Aux 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL7 (`INT32`) {#PWM_AUX_FAIL7}
+
+PWM Aux 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL8 (`INT32`) {#PWM_AUX_FAIL8}
+
+PWM Aux 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FAIL9 (`INT32`) {#PWM_AUX_FAIL9}
+
+PWM Capture 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_AUX_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_AUX_FUNC1 (`INT32`) {#PWM_AUX_FUNC1}
+
+PWM Aux 1 Output Function.
+
+Select what should be output on PWM Aux 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC10 (`INT32`) {#PWM_AUX_FUNC10}
+
+PWM Capture 2 Output Function.
+
+Select what should be output on PWM Capture 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC11 (`INT32`) {#PWM_AUX_FUNC11}
+
+PWM Capture 3 Output Function.
+
+Select what should be output on PWM Capture 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC2 (`INT32`) {#PWM_AUX_FUNC2}
+
+PWM Aux 2 Output Function.
+
+Select what should be output on PWM Aux 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC3 (`INT32`) {#PWM_AUX_FUNC3}
+
+PWM Aux 3 Output Function.
+
+Select what should be output on PWM Aux 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC4 (`INT32`) {#PWM_AUX_FUNC4}
+
+PWM Aux 4 Output Function.
+
+Select what should be output on PWM Aux 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC5 (`INT32`) {#PWM_AUX_FUNC5}
+
+PWM Aux 5 Output Function.
+
+Select what should be output on PWM Aux 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC6 (`INT32`) {#PWM_AUX_FUNC6}
+
+PWM Aux 6 Output Function.
+
+Select what should be output on PWM Aux 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC7 (`INT32`) {#PWM_AUX_FUNC7}
+
+PWM Aux 7 Output Function.
+
+Select what should be output on PWM Aux 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC8 (`INT32`) {#PWM_AUX_FUNC8}
+
+PWM Aux 8 Output Function.
+
+Select what should be output on PWM Aux 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_FUNC9 (`INT32`) {#PWM_AUX_FUNC9}
+
+PWM Capture 1 Output Function.
+
+Select what should be output on PWM Capture 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+- `2000`: Camera Trigger
+- `2032`: Camera Capture
+- `2064`: PPS Input
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_AUX_MAX1 (`INT32`) {#PWM_AUX_MAX1}
+
+PWM Aux 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX10 (`INT32`) {#PWM_AUX_MAX10}
+
+PWM Capture 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX11 (`INT32`) {#PWM_AUX_MAX11}
+
+PWM Capture 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX2 (`INT32`) {#PWM_AUX_MAX2}
+
+PWM Aux 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX3 (`INT32`) {#PWM_AUX_MAX3}
+
+PWM Aux 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX4 (`INT32`) {#PWM_AUX_MAX4}
+
+PWM Aux 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX5 (`INT32`) {#PWM_AUX_MAX5}
+
+PWM Aux 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX6 (`INT32`) {#PWM_AUX_MAX6}
+
+PWM Aux 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX7 (`INT32`) {#PWM_AUX_MAX7}
+
+PWM Aux 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX8 (`INT32`) {#PWM_AUX_MAX8}
+
+PWM Aux 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MAX9 (`INT32`) {#PWM_AUX_MAX9}
+
+PWM Capture 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_AUX_MIN1 (`INT32`) {#PWM_AUX_MIN1}
+
+PWM Aux 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN10 (`INT32`) {#PWM_AUX_MIN10}
+
+PWM Capture 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN11 (`INT32`) {#PWM_AUX_MIN11}
+
+PWM Capture 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN2 (`INT32`) {#PWM_AUX_MIN2}
+
+PWM Aux 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN3 (`INT32`) {#PWM_AUX_MIN3}
+
+PWM Aux 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN4 (`INT32`) {#PWM_AUX_MIN4}
+
+PWM Aux 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN5 (`INT32`) {#PWM_AUX_MIN5}
+
+PWM Aux 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN6 (`INT32`) {#PWM_AUX_MIN6}
+
+PWM Aux 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN7 (`INT32`) {#PWM_AUX_MIN7}
+
+PWM Aux 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN8 (`INT32`) {#PWM_AUX_MIN8}
+
+PWM Aux 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_MIN9 (`INT32`) {#PWM_AUX_MIN9}
+
+PWM Capture 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_AUX_REV (`INT32`) {#PWM_AUX_REV}
+
+Reverse Output Range for PWM AUX.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: PWM Aux 1
+- `1`: PWM Aux 2
+- `2`: PWM Aux 3
+- `3`: PWM Aux 4
+- `4`: PWM Aux 5
+- `5`: PWM Aux 6
+- `6`: PWM Aux 7
+- `7`: PWM Aux 8
+- `8`: PWM Capture 1
+- `9`: PWM Capture 2
+- `10`: PWM Capture 3
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2047 | | 0 |
+
+### PWM_AUX_TIM0 (`INT32`) {#PWM_AUX_TIM0}
+
+Output Protocol Configuration for PWM Aux 1-4.
+
+Select which Output Protocol to use for outputs PWM Aux 1-4. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-5`: DShot150
+- `-4`: DShot300
+- `-3`: DShot600
+- `-2`: DShot1200
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_AUX_TIM1 (`INT32`) {#PWM_AUX_TIM1}
+
+Output Protocol Configuration for PWM Aux 5-6.
+
+Select which Output Protocol to use for outputs PWM Aux 5-6. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_AUX_TIM2 (`INT32`) {#PWM_AUX_TIM2}
+
+Output Protocol Configuration for PWM Aux 7-8.
+
+Select which Output Protocol to use for outputs PWM Aux 7-8. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_AUX_TIM3 (`INT32`) {#PWM_AUX_TIM3}
+
+Output Protocol Configuration for PWM Capture 1-3.
+
+Select which Output Protocol to use for outputs PWM Capture 1-3. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_MAIN_DIS1 (`INT32`) {#PWM_MAIN_DIS1}
+
+MAIN 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS2 (`INT32`) {#PWM_MAIN_DIS2}
+
+MAIN 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS3 (`INT32`) {#PWM_MAIN_DIS3}
+
+MAIN 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS4 (`INT32`) {#PWM_MAIN_DIS4}
+
+MAIN 4 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS5 (`INT32`) {#PWM_MAIN_DIS5}
+
+MAIN 5 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS6 (`INT32`) {#PWM_MAIN_DIS6}
+
+MAIN 6 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS7 (`INT32`) {#PWM_MAIN_DIS7}
+
+MAIN 7 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_DIS8 (`INT32`) {#PWM_MAIN_DIS8}
+
+MAIN 8 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 2200 | | 1000 |
+
+### PWM_MAIN_FAIL1 (`INT32`) {#PWM_MAIN_FAIL1}
+
+MAIN 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL2 (`INT32`) {#PWM_MAIN_FAIL2}
+
+MAIN 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL3 (`INT32`) {#PWM_MAIN_FAIL3}
+
+MAIN 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL4 (`INT32`) {#PWM_MAIN_FAIL4}
+
+MAIN 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL5 (`INT32`) {#PWM_MAIN_FAIL5}
+
+MAIN 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL6 (`INT32`) {#PWM_MAIN_FAIL6}
+
+MAIN 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL7 (`INT32`) {#PWM_MAIN_FAIL7}
+
+MAIN 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FAIL8 (`INT32`) {#PWM_MAIN_FAIL8}
+
+MAIN 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see PWM_MAIN_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 2200 | | -1 |
+
+### PWM_MAIN_FUNC1 (`INT32`) {#PWM_MAIN_FUNC1}
+
+MAIN 1 Output Function.
+
+Select what should be output on MAIN 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC2 (`INT32`) {#PWM_MAIN_FUNC2}
+
+MAIN 2 Output Function.
+
+Select what should be output on MAIN 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC3 (`INT32`) {#PWM_MAIN_FUNC3}
+
+MAIN 3 Output Function.
+
+Select what should be output on MAIN 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC4 (`INT32`) {#PWM_MAIN_FUNC4}
+
+MAIN 4 Output Function.
+
+Select what should be output on MAIN 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC5 (`INT32`) {#PWM_MAIN_FUNC5}
+
+MAIN 5 Output Function.
+
+Select what should be output on MAIN 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC6 (`INT32`) {#PWM_MAIN_FUNC6}
+
+MAIN 6 Output Function.
+
+Select what should be output on MAIN 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC7 (`INT32`) {#PWM_MAIN_FUNC7}
+
+MAIN 7 Output Function.
+
+Select what should be output on MAIN 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_FUNC8 (`INT32`) {#PWM_MAIN_FUNC8}
+
+MAIN 8 Output Function.
+
+Select what should be output on MAIN 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### PWM_MAIN_MAX1 (`INT32`) {#PWM_MAIN_MAX1}
+
+MAIN 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX2 (`INT32`) {#PWM_MAIN_MAX2}
+
+MAIN 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX3 (`INT32`) {#PWM_MAIN_MAX3}
+
+MAIN 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX4 (`INT32`) {#PWM_MAIN_MAX4}
+
+MAIN 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX5 (`INT32`) {#PWM_MAIN_MAX5}
+
+MAIN 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX6 (`INT32`) {#PWM_MAIN_MAX6}
+
+MAIN 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX7 (`INT32`) {#PWM_MAIN_MAX7}
+
+MAIN 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MAX8 (`INT32`) {#PWM_MAIN_MAX8}
+
+MAIN 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1600 | 2200 | | 2000 |
+
+### PWM_MAIN_MIN1 (`INT32`) {#PWM_MAIN_MIN1}
+
+MAIN 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN2 (`INT32`) {#PWM_MAIN_MIN2}
+
+MAIN 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN3 (`INT32`) {#PWM_MAIN_MIN3}
+
+MAIN 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN4 (`INT32`) {#PWM_MAIN_MIN4}
+
+MAIN 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN5 (`INT32`) {#PWM_MAIN_MIN5}
+
+MAIN 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN6 (`INT32`) {#PWM_MAIN_MIN6}
+
+MAIN 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN7 (`INT32`) {#PWM_MAIN_MIN7}
+
+MAIN 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_MIN8 (`INT32`) {#PWM_MAIN_MIN8}
+
+MAIN 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800 | 1400 | | 1000 |
+
+### PWM_MAIN_REV (`INT32`) {#PWM_MAIN_REV}
+
+Reverse Output Range for PWM MAIN.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: MAIN 1
+- `1`: MAIN 2
+- `2`: MAIN 3
+- `3`: MAIN 4
+- `4`: MAIN 5
+- `5`: MAIN 6
+- `6`: MAIN 7
+- `7`: MAIN 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### PWM_MAIN_TIM0 (`INT32`) {#PWM_MAIN_TIM0}
+
+Output Protocol Configuration for MAIN 1-2.
+
+Select which Output Protocol to use for outputs MAIN 1-2. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_MAIN_TIM1 (`INT32`) {#PWM_MAIN_TIM1}
+
+Output Protocol Configuration for MAIN 3-4.
+
+Select which Output Protocol to use for outputs MAIN 3-4. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### PWM_MAIN_TIM2 (`INT32`) {#PWM_MAIN_TIM2}
+
+Output Protocol Configuration for MAIN 5-8.
+
+Select which Output Protocol to use for outputs MAIN 5-8. Custom PWM rates can be used by directly setting any value >0.
+
+**Values:**
+
+- `-1`: OneShot
+- `50`: PWM 50 Hz
+- `100`: PWM 100 Hz
+- `200`: PWM 200 Hz
+- `400`: PWM 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 400 |
+
+### RBCLW_DIS1 (`INT32`) {#RBCLW_DIS1}
+
+Roboclaw Driver Channel 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 128 | 128 | | 128 |
+
+### RBCLW_DIS2 (`INT32`) {#RBCLW_DIS2}
+
+Roboclaw Driver Channel 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 128 | 128 | | 128 |
+
+### RBCLW_FAIL1 (`INT32`) {#RBCLW_FAIL1}
+
+Roboclaw Driver Channel 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see RBCLW_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 257 | | -1 |
+
+### RBCLW_FAIL2 (`INT32`) {#RBCLW_FAIL2}
+
+Roboclaw Driver Channel 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see RBCLW_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 257 | | -1 |
+
+### RBCLW_FUNC1 (`INT32`) {#RBCLW_FUNC1}
+
+Roboclaw Driver Channel 1 Output Function.
+
+Select what should be output on Roboclaw Driver Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### RBCLW_FUNC2 (`INT32`) {#RBCLW_FUNC2}
+
+Roboclaw Driver Channel 2 Output Function.
+
+Select what should be output on Roboclaw Driver Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### RBCLW_MAX1 (`INT32`) {#RBCLW_MAX1}
+
+Roboclaw Driver Channel 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 128 | 256 | | 256 |
+
+### RBCLW_MAX2 (`INT32`) {#RBCLW_MAX2}
+
+Roboclaw Driver Channel 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 128 | 256 | | 256 |
+
+### RBCLW_MIN1 (`INT32`) {#RBCLW_MIN1}
+
+Roboclaw Driver Channel 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 128 | | 1 |
+
+### RBCLW_MIN2 (`INT32`) {#RBCLW_MIN2}
+
+Roboclaw Driver Channel 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 128 | | 1 |
+
+### RBCLW_REV (`INT32`) {#RBCLW_REV}
+
+Reverse Output Range for Roboclaw Driver.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: Roboclaw Driver Channel 1
+- `1`: Roboclaw Driver Channel 2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### SIM_GZ_EC_DIS1 (`INT32`) {#SIM_GZ_EC_DIS1}
+
+SIM_GZ ESC 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS2 (`INT32`) {#SIM_GZ_EC_DIS2}
+
+SIM_GZ ESC 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS3 (`INT32`) {#SIM_GZ_EC_DIS3}
+
+SIM_GZ ESC 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS4 (`INT32`) {#SIM_GZ_EC_DIS4}
+
+SIM_GZ ESC 4 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS5 (`INT32`) {#SIM_GZ_EC_DIS5}
+
+SIM_GZ ESC 5 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS6 (`INT32`) {#SIM_GZ_EC_DIS6}
+
+SIM_GZ ESC 6 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS7 (`INT32`) {#SIM_GZ_EC_DIS7}
+
+SIM_GZ ESC 7 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_DIS8 (`INT32`) {#SIM_GZ_EC_DIS8}
+
+SIM_GZ ESC 8 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_FAIL1 (`INT32`) {#SIM_GZ_EC_FAIL1}
+
+SIM_GZ ESC 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL2 (`INT32`) {#SIM_GZ_EC_FAIL2}
+
+SIM_GZ ESC 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL3 (`INT32`) {#SIM_GZ_EC_FAIL3}
+
+SIM_GZ ESC 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL4 (`INT32`) {#SIM_GZ_EC_FAIL4}
+
+SIM_GZ ESC 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL5 (`INT32`) {#SIM_GZ_EC_FAIL5}
+
+SIM_GZ ESC 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL6 (`INT32`) {#SIM_GZ_EC_FAIL6}
+
+SIM_GZ ESC 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL7 (`INT32`) {#SIM_GZ_EC_FAIL7}
+
+SIM_GZ ESC 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FAIL8 (`INT32`) {#SIM_GZ_EC_FAIL8}
+
+SIM_GZ ESC 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_EC_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_EC_FUNC1 (`INT32`) {#SIM_GZ_EC_FUNC1}
+
+SIM_GZ ESC 1 Output Function.
+
+Select what should be output on SIM_GZ ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC2 (`INT32`) {#SIM_GZ_EC_FUNC2}
+
+SIM_GZ ESC 2 Output Function.
+
+Select what should be output on SIM_GZ ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC3 (`INT32`) {#SIM_GZ_EC_FUNC3}
+
+SIM_GZ ESC 3 Output Function.
+
+Select what should be output on SIM_GZ ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC4 (`INT32`) {#SIM_GZ_EC_FUNC4}
+
+SIM_GZ ESC 4 Output Function.
+
+Select what should be output on SIM_GZ ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC5 (`INT32`) {#SIM_GZ_EC_FUNC5}
+
+SIM_GZ ESC 5 Output Function.
+
+Select what should be output on SIM_GZ ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC6 (`INT32`) {#SIM_GZ_EC_FUNC6}
+
+SIM_GZ ESC 6 Output Function.
+
+Select what should be output on SIM_GZ ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC7 (`INT32`) {#SIM_GZ_EC_FUNC7}
+
+SIM_GZ ESC 7 Output Function.
+
+Select what should be output on SIM_GZ ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_FUNC8 (`INT32`) {#SIM_GZ_EC_FUNC8}
+
+SIM_GZ ESC 8 Output Function.
+
+Select what should be output on SIM_GZ ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_EC_MAX1 (`INT32`) {#SIM_GZ_EC_MAX1}
+
+SIM_GZ ESC 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX2 (`INT32`) {#SIM_GZ_EC_MAX2}
+
+SIM_GZ ESC 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX3 (`INT32`) {#SIM_GZ_EC_MAX3}
+
+SIM_GZ ESC 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX4 (`INT32`) {#SIM_GZ_EC_MAX4}
+
+SIM_GZ ESC 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX5 (`INT32`) {#SIM_GZ_EC_MAX5}
+
+SIM_GZ ESC 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX6 (`INT32`) {#SIM_GZ_EC_MAX6}
+
+SIM_GZ ESC 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX7 (`INT32`) {#SIM_GZ_EC_MAX7}
+
+SIM_GZ ESC 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MAX8 (`INT32`) {#SIM_GZ_EC_MAX8}
+
+SIM_GZ ESC 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_EC_MIN1 (`INT32`) {#SIM_GZ_EC_MIN1}
+
+SIM_GZ ESC 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN2 (`INT32`) {#SIM_GZ_EC_MIN2}
+
+SIM_GZ ESC 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN3 (`INT32`) {#SIM_GZ_EC_MIN3}
+
+SIM_GZ ESC 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN4 (`INT32`) {#SIM_GZ_EC_MIN4}
+
+SIM_GZ ESC 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN5 (`INT32`) {#SIM_GZ_EC_MIN5}
+
+SIM_GZ ESC 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN6 (`INT32`) {#SIM_GZ_EC_MIN6}
+
+SIM_GZ ESC 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN7 (`INT32`) {#SIM_GZ_EC_MIN7}
+
+SIM_GZ ESC 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_MIN8 (`INT32`) {#SIM_GZ_EC_MIN8}
+
+SIM_GZ ESC 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_EC_REV (`INT32`) {#SIM_GZ_EC_REV}
+
+Reverse Output Range for SIM_GZ.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: SIM_GZ ESC 1
+- `1`: SIM_GZ ESC 2
+- `2`: SIM_GZ ESC 3
+- `3`: SIM_GZ ESC 4
+- `4`: SIM_GZ ESC 5
+- `5`: SIM_GZ ESC 6
+- `6`: SIM_GZ ESC 7
+- `7`: SIM_GZ ESC 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### SIM_GZ_SV_DIS1 (`INT32`) {#SIM_GZ_SV_DIS1}
+
+SIM_GZ Servo 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS2 (`INT32`) {#SIM_GZ_SV_DIS2}
+
+SIM_GZ Servo 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS3 (`INT32`) {#SIM_GZ_SV_DIS3}
+
+SIM_GZ Servo 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS4 (`INT32`) {#SIM_GZ_SV_DIS4}
+
+SIM_GZ Servo 4 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS5 (`INT32`) {#SIM_GZ_SV_DIS5}
+
+SIM_GZ Servo 5 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS6 (`INT32`) {#SIM_GZ_SV_DIS6}
+
+SIM_GZ Servo 6 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS7 (`INT32`) {#SIM_GZ_SV_DIS7}
+
+SIM_GZ Servo 7 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_DIS8 (`INT32`) {#SIM_GZ_SV_DIS8}
+
+SIM_GZ Servo 8 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### SIM_GZ_SV_FAIL1 (`INT32`) {#SIM_GZ_SV_FAIL1}
+
+SIM_GZ Servo 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL2 (`INT32`) {#SIM_GZ_SV_FAIL2}
+
+SIM_GZ Servo 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL3 (`INT32`) {#SIM_GZ_SV_FAIL3}
+
+SIM_GZ Servo 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL4 (`INT32`) {#SIM_GZ_SV_FAIL4}
+
+SIM_GZ Servo 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL5 (`INT32`) {#SIM_GZ_SV_FAIL5}
+
+SIM_GZ Servo 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL6 (`INT32`) {#SIM_GZ_SV_FAIL6}
+
+SIM_GZ Servo 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL7 (`INT32`) {#SIM_GZ_SV_FAIL7}
+
+SIM_GZ Servo 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FAIL8 (`INT32`) {#SIM_GZ_SV_FAIL8}
+
+SIM_GZ Servo 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_SV_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### SIM_GZ_SV_FUNC1 (`INT32`) {#SIM_GZ_SV_FUNC1}
+
+SIM_GZ Servo 1 Output Function.
+
+Select what should be output on SIM_GZ Servo 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC2 (`INT32`) {#SIM_GZ_SV_FUNC2}
+
+SIM_GZ Servo 2 Output Function.
+
+Select what should be output on SIM_GZ Servo 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC3 (`INT32`) {#SIM_GZ_SV_FUNC3}
+
+SIM_GZ Servo 3 Output Function.
+
+Select what should be output on SIM_GZ Servo 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC4 (`INT32`) {#SIM_GZ_SV_FUNC4}
+
+SIM_GZ Servo 4 Output Function.
+
+Select what should be output on SIM_GZ Servo 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC5 (`INT32`) {#SIM_GZ_SV_FUNC5}
+
+SIM_GZ Servo 5 Output Function.
+
+Select what should be output on SIM_GZ Servo 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC6 (`INT32`) {#SIM_GZ_SV_FUNC6}
+
+SIM_GZ Servo 6 Output Function.
+
+Select what should be output on SIM_GZ Servo 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC7 (`INT32`) {#SIM_GZ_SV_FUNC7}
+
+SIM_GZ Servo 7 Output Function.
+
+Select what should be output on SIM_GZ Servo 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_FUNC8 (`INT32`) {#SIM_GZ_SV_FUNC8}
+
+SIM_GZ Servo 8 Output Function.
+
+Select what should be output on SIM_GZ Servo 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_SV_MAX1 (`INT32`) {#SIM_GZ_SV_MAX1}
+
+SIM_GZ Servo 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX2 (`INT32`) {#SIM_GZ_SV_MAX2}
+
+SIM_GZ Servo 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX3 (`INT32`) {#SIM_GZ_SV_MAX3}
+
+SIM_GZ Servo 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX4 (`INT32`) {#SIM_GZ_SV_MAX4}
+
+SIM_GZ Servo 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX5 (`INT32`) {#SIM_GZ_SV_MAX5}
+
+SIM_GZ Servo 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX6 (`INT32`) {#SIM_GZ_SV_MAX6}
+
+SIM_GZ Servo 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX7 (`INT32`) {#SIM_GZ_SV_MAX7}
+
+SIM_GZ Servo 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MAX8 (`INT32`) {#SIM_GZ_SV_MAX8}
+
+SIM_GZ Servo 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### SIM_GZ_SV_MIN1 (`INT32`) {#SIM_GZ_SV_MIN1}
+
+SIM_GZ Servo 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN2 (`INT32`) {#SIM_GZ_SV_MIN2}
+
+SIM_GZ Servo 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN3 (`INT32`) {#SIM_GZ_SV_MIN3}
+
+SIM_GZ Servo 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN4 (`INT32`) {#SIM_GZ_SV_MIN4}
+
+SIM_GZ Servo 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN5 (`INT32`) {#SIM_GZ_SV_MIN5}
+
+SIM_GZ Servo 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN6 (`INT32`) {#SIM_GZ_SV_MIN6}
+
+SIM_GZ Servo 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN7 (`INT32`) {#SIM_GZ_SV_MIN7}
+
+SIM_GZ Servo 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_MIN8 (`INT32`) {#SIM_GZ_SV_MIN8}
+
+SIM_GZ Servo 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### SIM_GZ_SV_REV (`INT32`) {#SIM_GZ_SV_REV}
+
+Reverse Output Range for SIM_GZ.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: SIM_GZ Servo 1
+- `1`: SIM_GZ Servo 2
+- `2`: SIM_GZ Servo 3
+- `3`: SIM_GZ Servo 4
+- `4`: SIM_GZ Servo 5
+- `5`: SIM_GZ Servo 6
+- `6`: SIM_GZ Servo 7
+- `7`: SIM_GZ Servo 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### SIM_GZ_WH_DIS1 (`INT32`) {#SIM_GZ_WH_DIS1}
+
+SIM_GZ Wheels 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 100 |
+
+### SIM_GZ_WH_DIS2 (`INT32`) {#SIM_GZ_WH_DIS2}
+
+SIM_GZ Wheels 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 100 |
+
+### SIM_GZ_WH_FAIL1 (`INT32`) {#SIM_GZ_WH_FAIL1}
+
+SIM_GZ Wheels 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_WH_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 200 | | -1 |
+
+### SIM_GZ_WH_FAIL2 (`INT32`) {#SIM_GZ_WH_FAIL2}
+
+SIM_GZ Wheels 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see SIM_GZ_WH_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 200 | | -1 |
+
+### SIM_GZ_WH_FUNC1 (`INT32`) {#SIM_GZ_WH_FUNC1}
+
+SIM_GZ Wheels 1 Output Function.
+
+Select what should be output on SIM_GZ Wheels 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_WH_FUNC2 (`INT32`) {#SIM_GZ_WH_FUNC2}
+
+SIM_GZ Wheels 2 Output Function.
+
+Select what should be output on SIM_GZ Wheels 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SIM_GZ_WH_MAX1 (`INT32`) {#SIM_GZ_WH_MAX1}
+
+SIM_GZ Wheels 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 200 |
+
+### SIM_GZ_WH_MAX2 (`INT32`) {#SIM_GZ_WH_MAX2}
+
+SIM_GZ Wheels 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 200 |
+
+### SIM_GZ_WH_MIN1 (`INT32`) {#SIM_GZ_WH_MIN1}
+
+SIM_GZ Wheels 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 0 |
+
+### SIM_GZ_WH_MIN2 (`INT32`) {#SIM_GZ_WH_MIN2}
+
+SIM_GZ Wheels 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 200 | | 0 |
+
+### SIM_GZ_WH_REV (`INT32`) {#SIM_GZ_WH_REV}
+
+Reverse Output Range for SIM_GZ.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: SIM_GZ Wheels 1
+- `1`: SIM_GZ Wheels 2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### TAP_ESC_FUNC1 (`INT32`) {#TAP_ESC_FUNC1}
+
+TAP ESC Output ESC 1 Output Function.
+
+Select what should be output on TAP ESC Output ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC2 (`INT32`) {#TAP_ESC_FUNC2}
+
+TAP ESC Output ESC 2 Output Function.
+
+Select what should be output on TAP ESC Output ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC3 (`INT32`) {#TAP_ESC_FUNC3}
+
+TAP ESC Output ESC 3 Output Function.
+
+Select what should be output on TAP ESC Output ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC4 (`INT32`) {#TAP_ESC_FUNC4}
+
+TAP ESC Output ESC 4 Output Function.
+
+Select what should be output on TAP ESC Output ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC5 (`INT32`) {#TAP_ESC_FUNC5}
+
+TAP ESC Output ESC 5 Output Function.
+
+Select what should be output on TAP ESC Output ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC6 (`INT32`) {#TAP_ESC_FUNC6}
+
+TAP ESC Output ESC 6 Output Function.
+
+Select what should be output on TAP ESC Output ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC7 (`INT32`) {#TAP_ESC_FUNC7}
+
+TAP ESC Output ESC 7 Output Function.
+
+Select what should be output on TAP ESC Output ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_FUNC8 (`INT32`) {#TAP_ESC_FUNC8}
+
+TAP ESC Output ESC 8 Output Function.
+
+Select what should be output on TAP ESC Output ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TAP_ESC_REV (`INT32`) {#TAP_ESC_REV}
+
+Reverse Output Range for TAP ESC Output.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: TAP ESC Output ESC 1
+- `1`: TAP ESC Output ESC 2
+- `2`: TAP ESC Output ESC 3
+- `3`: TAP ESC Output ESC 4
+- `4`: TAP ESC Output ESC 5
+- `5`: TAP ESC Output ESC 6
+- `6`: TAP ESC Output ESC 7
+- `7`: TAP ESC Output ESC 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### UAVCAN_EC_FAIL1 (`INT32`) {#UAVCAN_EC_FAIL1}
+
+UAVCAN ESC 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL2 (`INT32`) {#UAVCAN_EC_FAIL2}
+
+UAVCAN ESC 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL3 (`INT32`) {#UAVCAN_EC_FAIL3}
+
+UAVCAN ESC 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL4 (`INT32`) {#UAVCAN_EC_FAIL4}
+
+UAVCAN ESC 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL5 (`INT32`) {#UAVCAN_EC_FAIL5}
+
+UAVCAN ESC 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL6 (`INT32`) {#UAVCAN_EC_FAIL6}
+
+UAVCAN ESC 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL7 (`INT32`) {#UAVCAN_EC_FAIL7}
+
+UAVCAN ESC 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FAIL8 (`INT32`) {#UAVCAN_EC_FAIL8}
+
+UAVCAN ESC 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_EC_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UAVCAN_EC_FUNC1 (`INT32`) {#UAVCAN_EC_FUNC1}
+
+UAVCAN ESC 1 Output Function.
+
+Select what should be output on UAVCAN ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC2 (`INT32`) {#UAVCAN_EC_FUNC2}
+
+UAVCAN ESC 2 Output Function.
+
+Select what should be output on UAVCAN ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC3 (`INT32`) {#UAVCAN_EC_FUNC3}
+
+UAVCAN ESC 3 Output Function.
+
+Select what should be output on UAVCAN ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC4 (`INT32`) {#UAVCAN_EC_FUNC4}
+
+UAVCAN ESC 4 Output Function.
+
+Select what should be output on UAVCAN ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC5 (`INT32`) {#UAVCAN_EC_FUNC5}
+
+UAVCAN ESC 5 Output Function.
+
+Select what should be output on UAVCAN ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC6 (`INT32`) {#UAVCAN_EC_FUNC6}
+
+UAVCAN ESC 6 Output Function.
+
+Select what should be output on UAVCAN ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC7 (`INT32`) {#UAVCAN_EC_FUNC7}
+
+UAVCAN ESC 7 Output Function.
+
+Select what should be output on UAVCAN ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_FUNC8 (`INT32`) {#UAVCAN_EC_FUNC8}
+
+UAVCAN ESC 8 Output Function.
+
+Select what should be output on UAVCAN ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_EC_MAX1 (`INT32`) {#UAVCAN_EC_MAX1}
+
+UAVCAN ESC 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX2 (`INT32`) {#UAVCAN_EC_MAX2}
+
+UAVCAN ESC 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX3 (`INT32`) {#UAVCAN_EC_MAX3}
+
+UAVCAN ESC 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX4 (`INT32`) {#UAVCAN_EC_MAX4}
+
+UAVCAN ESC 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX5 (`INT32`) {#UAVCAN_EC_MAX5}
+
+UAVCAN ESC 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX6 (`INT32`) {#UAVCAN_EC_MAX6}
+
+UAVCAN ESC 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX7 (`INT32`) {#UAVCAN_EC_MAX7}
+
+UAVCAN ESC 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MAX8 (`INT32`) {#UAVCAN_EC_MAX8}
+
+UAVCAN ESC 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UAVCAN_EC_MIN1 (`INT32`) {#UAVCAN_EC_MIN1}
+
+UAVCAN ESC 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN2 (`INT32`) {#UAVCAN_EC_MIN2}
+
+UAVCAN ESC 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN3 (`INT32`) {#UAVCAN_EC_MIN3}
+
+UAVCAN ESC 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN4 (`INT32`) {#UAVCAN_EC_MIN4}
+
+UAVCAN ESC 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN5 (`INT32`) {#UAVCAN_EC_MIN5}
+
+UAVCAN ESC 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN6 (`INT32`) {#UAVCAN_EC_MIN6}
+
+UAVCAN ESC 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN7 (`INT32`) {#UAVCAN_EC_MIN7}
+
+UAVCAN ESC 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_MIN8 (`INT32`) {#UAVCAN_EC_MIN8}
+
+UAVCAN ESC 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UAVCAN_EC_REV (`INT32`) {#UAVCAN_EC_REV}
+
+Reverse Output Range for UAVCAN.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: UAVCAN ESC 1
+- `1`: UAVCAN ESC 2
+- `2`: UAVCAN ESC 3
+- `3`: UAVCAN ESC 4
+- `4`: UAVCAN ESC 5
+- `5`: UAVCAN ESC 6
+- `6`: UAVCAN ESC 7
+- `7`: UAVCAN ESC 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### UAVCAN_SV_DIS1 (`INT32`) {#UAVCAN_SV_DIS1}
+
+UAVCAN Servo 1 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS2 (`INT32`) {#UAVCAN_SV_DIS2}
+
+UAVCAN Servo 2 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS3 (`INT32`) {#UAVCAN_SV_DIS3}
+
+UAVCAN Servo 3 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS4 (`INT32`) {#UAVCAN_SV_DIS4}
+
+UAVCAN Servo 4 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS5 (`INT32`) {#UAVCAN_SV_DIS5}
+
+UAVCAN Servo 5 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS6 (`INT32`) {#UAVCAN_SV_DIS6}
+
+UAVCAN Servo 6 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS7 (`INT32`) {#UAVCAN_SV_DIS7}
+
+UAVCAN Servo 7 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_DIS8 (`INT32`) {#UAVCAN_SV_DIS8}
+
+UAVCAN Servo 8 Disarmed Value.
+
+This is the output value that is set when not armed. Note that non-motor outputs might already be active in prearm state if COM_PREARM_MODE is set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 500 |
+
+### UAVCAN_SV_FAIL1 (`INT32`) {#UAVCAN_SV_FAIL1}
+
+UAVCAN Servo 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL2 (`INT32`) {#UAVCAN_SV_FAIL2}
+
+UAVCAN Servo 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL3 (`INT32`) {#UAVCAN_SV_FAIL3}
+
+UAVCAN Servo 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL4 (`INT32`) {#UAVCAN_SV_FAIL4}
+
+UAVCAN Servo 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL5 (`INT32`) {#UAVCAN_SV_FAIL5}
+
+UAVCAN Servo 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL6 (`INT32`) {#UAVCAN_SV_FAIL6}
+
+UAVCAN Servo 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL7 (`INT32`) {#UAVCAN_SV_FAIL7}
+
+UAVCAN Servo 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FAIL8 (`INT32`) {#UAVCAN_SV_FAIL8}
+
+UAVCAN Servo 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UAVCAN_SV_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1 |
+
+### UAVCAN_SV_FUNC1 (`INT32`) {#UAVCAN_SV_FUNC1}
+
+UAVCAN Servo 1 Output Function.
+
+Select what should be output on UAVCAN Servo 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC2 (`INT32`) {#UAVCAN_SV_FUNC2}
+
+UAVCAN Servo 2 Output Function.
+
+Select what should be output on UAVCAN Servo 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC3 (`INT32`) {#UAVCAN_SV_FUNC3}
+
+UAVCAN Servo 3 Output Function.
+
+Select what should be output on UAVCAN Servo 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC4 (`INT32`) {#UAVCAN_SV_FUNC4}
+
+UAVCAN Servo 4 Output Function.
+
+Select what should be output on UAVCAN Servo 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC5 (`INT32`) {#UAVCAN_SV_FUNC5}
+
+UAVCAN Servo 5 Output Function.
+
+Select what should be output on UAVCAN Servo 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC6 (`INT32`) {#UAVCAN_SV_FUNC6}
+
+UAVCAN Servo 6 Output Function.
+
+Select what should be output on UAVCAN Servo 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC7 (`INT32`) {#UAVCAN_SV_FUNC7}
+
+UAVCAN Servo 7 Output Function.
+
+Select what should be output on UAVCAN Servo 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_FUNC8 (`INT32`) {#UAVCAN_SV_FUNC8}
+
+UAVCAN Servo 8 Output Function.
+
+Select what should be output on UAVCAN Servo 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UAVCAN_SV_MAX1 (`INT32`) {#UAVCAN_SV_MAX1}
+
+UAVCAN Servo 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX2 (`INT32`) {#UAVCAN_SV_MAX2}
+
+UAVCAN Servo 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX3 (`INT32`) {#UAVCAN_SV_MAX3}
+
+UAVCAN Servo 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX4 (`INT32`) {#UAVCAN_SV_MAX4}
+
+UAVCAN Servo 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX5 (`INT32`) {#UAVCAN_SV_MAX5}
+
+UAVCAN Servo 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX6 (`INT32`) {#UAVCAN_SV_MAX6}
+
+UAVCAN Servo 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX7 (`INT32`) {#UAVCAN_SV_MAX7}
+
+UAVCAN Servo 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MAX8 (`INT32`) {#UAVCAN_SV_MAX8}
+
+UAVCAN Servo 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### UAVCAN_SV_MIN1 (`INT32`) {#UAVCAN_SV_MIN1}
+
+UAVCAN Servo 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN2 (`INT32`) {#UAVCAN_SV_MIN2}
+
+UAVCAN Servo 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN3 (`INT32`) {#UAVCAN_SV_MIN3}
+
+UAVCAN Servo 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN4 (`INT32`) {#UAVCAN_SV_MIN4}
+
+UAVCAN Servo 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN5 (`INT32`) {#UAVCAN_SV_MIN5}
+
+UAVCAN Servo 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN6 (`INT32`) {#UAVCAN_SV_MIN6}
+
+UAVCAN Servo 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN7 (`INT32`) {#UAVCAN_SV_MIN7}
+
+UAVCAN Servo 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_MIN8 (`INT32`) {#UAVCAN_SV_MIN8}
+
+UAVCAN Servo 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 0 |
+
+### UAVCAN_SV_REV (`INT32`) {#UAVCAN_SV_REV}
+
+Reverse Output Range for UAVCAN.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: UAVCAN Servo 1
+- `1`: UAVCAN Servo 2
+- `2`: UAVCAN Servo 3
+- `3`: UAVCAN Servo 4
+- `4`: UAVCAN Servo 5
+- `5`: UAVCAN Servo 6
+- `6`: UAVCAN Servo 7
+- `7`: UAVCAN Servo 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### UCAN1_ESC_FAIL1 (`INT32`) {#UCAN1_ESC_FAIL1}
+
+UAVCANv1 ESC 1 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL10 (`INT32`) {#UCAN1_ESC_FAIL10}
+
+UAVCANv1 ESC 10 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC10).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL11 (`INT32`) {#UCAN1_ESC_FAIL11}
+
+UAVCANv1 ESC 11 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC11).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL12 (`INT32`) {#UCAN1_ESC_FAIL12}
+
+UAVCANv1 ESC 12 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC12).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL13 (`INT32`) {#UCAN1_ESC_FAIL13}
+
+UAVCANv1 ESC 13 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC13).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL14 (`INT32`) {#UCAN1_ESC_FAIL14}
+
+UAVCANv1 ESC 14 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC14).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL15 (`INT32`) {#UCAN1_ESC_FAIL15}
+
+UAVCANv1 ESC 15 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC15).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL16 (`INT32`) {#UCAN1_ESC_FAIL16}
+
+UAVCANv1 ESC 16 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC16).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL2 (`INT32`) {#UCAN1_ESC_FAIL2}
+
+UAVCANv1 ESC 2 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC2).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL3 (`INT32`) {#UCAN1_ESC_FAIL3}
+
+UAVCANv1 ESC 3 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC3).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL4 (`INT32`) {#UCAN1_ESC_FAIL4}
+
+UAVCANv1 ESC 4 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC4).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL5 (`INT32`) {#UCAN1_ESC_FAIL5}
+
+UAVCANv1 ESC 5 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC5).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL6 (`INT32`) {#UCAN1_ESC_FAIL6}
+
+UAVCANv1 ESC 6 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC6).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL7 (`INT32`) {#UCAN1_ESC_FAIL7}
+
+UAVCANv1 ESC 7 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC7).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL8 (`INT32`) {#UCAN1_ESC_FAIL8}
+
+UAVCANv1 ESC 8 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC8).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FAIL9 (`INT32`) {#UCAN1_ESC_FAIL9}
+
+UAVCANv1 ESC 9 Failsafe Value.
+
+This is the output value that is set when in failsafe mode. When set to -1 (default), the value depends on the function (see UCAN1_ESC_FUNC9).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 8191 | | -1 |
+
+### UCAN1_ESC_FUNC1 (`INT32`) {#UCAN1_ESC_FUNC1}
+
+UAVCANv1 ESC 1 Output Function.
+
+Select what should be output on UAVCANv1 ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC10 (`INT32`) {#UCAN1_ESC_FUNC10}
+
+UAVCANv1 ESC 10 Output Function.
+
+Select what should be output on UAVCANv1 ESC 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC11 (`INT32`) {#UCAN1_ESC_FUNC11}
+
+UAVCANv1 ESC 11 Output Function.
+
+Select what should be output on UAVCANv1 ESC 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC12 (`INT32`) {#UCAN1_ESC_FUNC12}
+
+UAVCANv1 ESC 12 Output Function.
+
+Select what should be output on UAVCANv1 ESC 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC13 (`INT32`) {#UCAN1_ESC_FUNC13}
+
+UAVCANv1 ESC 13 Output Function.
+
+Select what should be output on UAVCANv1 ESC 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC14 (`INT32`) {#UCAN1_ESC_FUNC14}
+
+UAVCANv1 ESC 14 Output Function.
+
+Select what should be output on UAVCANv1 ESC 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC15 (`INT32`) {#UCAN1_ESC_FUNC15}
+
+UAVCANv1 ESC 15 Output Function.
+
+Select what should be output on UAVCANv1 ESC 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC16 (`INT32`) {#UCAN1_ESC_FUNC16}
+
+UAVCANv1 ESC 16 Output Function.
+
+Select what should be output on UAVCANv1 ESC 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC2 (`INT32`) {#UCAN1_ESC_FUNC2}
+
+UAVCANv1 ESC 2 Output Function.
+
+Select what should be output on UAVCANv1 ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC3 (`INT32`) {#UCAN1_ESC_FUNC3}
+
+UAVCANv1 ESC 3 Output Function.
+
+Select what should be output on UAVCANv1 ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC4 (`INT32`) {#UCAN1_ESC_FUNC4}
+
+UAVCANv1 ESC 4 Output Function.
+
+Select what should be output on UAVCANv1 ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC5 (`INT32`) {#UCAN1_ESC_FUNC5}
+
+UAVCANv1 ESC 5 Output Function.
+
+Select what should be output on UAVCANv1 ESC 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC6 (`INT32`) {#UCAN1_ESC_FUNC6}
+
+UAVCANv1 ESC 6 Output Function.
+
+Select what should be output on UAVCANv1 ESC 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC7 (`INT32`) {#UCAN1_ESC_FUNC7}
+
+UAVCANv1 ESC 7 Output Function.
+
+Select what should be output on UAVCANv1 ESC 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC8 (`INT32`) {#UCAN1_ESC_FUNC8}
+
+UAVCANv1 ESC 8 Output Function.
+
+Select what should be output on UAVCANv1 ESC 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_FUNC9 (`INT32`) {#UCAN1_ESC_FUNC9}
+
+UAVCANv1 ESC 9 Output Function.
+
+Select what should be output on UAVCANv1 ESC 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UCAN1_ESC_MAX1 (`INT32`) {#UCAN1_ESC_MAX1}
+
+UAVCANv1 ESC 1 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX10 (`INT32`) {#UCAN1_ESC_MAX10}
+
+UAVCANv1 ESC 10 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX11 (`INT32`) {#UCAN1_ESC_MAX11}
+
+UAVCANv1 ESC 11 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX12 (`INT32`) {#UCAN1_ESC_MAX12}
+
+UAVCANv1 ESC 12 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX13 (`INT32`) {#UCAN1_ESC_MAX13}
+
+UAVCANv1 ESC 13 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX14 (`INT32`) {#UCAN1_ESC_MAX14}
+
+UAVCANv1 ESC 14 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX15 (`INT32`) {#UCAN1_ESC_MAX15}
+
+UAVCANv1 ESC 15 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX16 (`INT32`) {#UCAN1_ESC_MAX16}
+
+UAVCANv1 ESC 16 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX2 (`INT32`) {#UCAN1_ESC_MAX2}
+
+UAVCANv1 ESC 2 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX3 (`INT32`) {#UCAN1_ESC_MAX3}
+
+UAVCANv1 ESC 3 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX4 (`INT32`) {#UCAN1_ESC_MAX4}
+
+UAVCANv1 ESC 4 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX5 (`INT32`) {#UCAN1_ESC_MAX5}
+
+UAVCANv1 ESC 5 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX6 (`INT32`) {#UCAN1_ESC_MAX6}
+
+UAVCANv1 ESC 6 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX7 (`INT32`) {#UCAN1_ESC_MAX7}
+
+UAVCANv1 ESC 7 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX8 (`INT32`) {#UCAN1_ESC_MAX8}
+
+UAVCANv1 ESC 8 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MAX9 (`INT32`) {#UCAN1_ESC_MAX9}
+
+UAVCANv1 ESC 9 Maximum Value.
+
+Maxmimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 8191 |
+
+### UCAN1_ESC_MIN1 (`INT32`) {#UCAN1_ESC_MIN1}
+
+UAVCANv1 ESC 1 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN10 (`INT32`) {#UCAN1_ESC_MIN10}
+
+UAVCANv1 ESC 10 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN11 (`INT32`) {#UCAN1_ESC_MIN11}
+
+UAVCANv1 ESC 11 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN12 (`INT32`) {#UCAN1_ESC_MIN12}
+
+UAVCANv1 ESC 12 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN13 (`INT32`) {#UCAN1_ESC_MIN13}
+
+UAVCANv1 ESC 13 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN14 (`INT32`) {#UCAN1_ESC_MIN14}
+
+UAVCANv1 ESC 14 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN15 (`INT32`) {#UCAN1_ESC_MIN15}
+
+UAVCANv1 ESC 15 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN16 (`INT32`) {#UCAN1_ESC_MIN16}
+
+UAVCANv1 ESC 16 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN2 (`INT32`) {#UCAN1_ESC_MIN2}
+
+UAVCANv1 ESC 2 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN3 (`INT32`) {#UCAN1_ESC_MIN3}
+
+UAVCANv1 ESC 3 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN4 (`INT32`) {#UCAN1_ESC_MIN4}
+
+UAVCANv1 ESC 4 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN5 (`INT32`) {#UCAN1_ESC_MIN5}
+
+UAVCANv1 ESC 5 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN6 (`INT32`) {#UCAN1_ESC_MIN6}
+
+UAVCANv1 ESC 6 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN7 (`INT32`) {#UCAN1_ESC_MIN7}
+
+UAVCANv1 ESC 7 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN8 (`INT32`) {#UCAN1_ESC_MIN8}
+
+UAVCANv1 ESC 8 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_MIN9 (`INT32`) {#UCAN1_ESC_MIN9}
+
+UAVCANv1 ESC 9 Minimum Value.
+
+Minimum output value (when not disarmed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 8191 | | 1 |
+
+### UCAN1_ESC_REV (`INT32`) {#UCAN1_ESC_REV}
+
+Reverse Output Range for UAVCANv1.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: UAVCANv1 ESC 1
+- `1`: UAVCANv1 ESC 2
+- `2`: UAVCANv1 ESC 3
+- `3`: UAVCANv1 ESC 4
+- `4`: UAVCANv1 ESC 5
+- `5`: UAVCANv1 ESC 6
+- `6`: UAVCANv1 ESC 7
+- `7`: UAVCANv1 ESC 8
+- `8`: UAVCANv1 ESC 9
+- `9`: UAVCANv1 ESC 10
+- `10`: UAVCANv1 ESC 11
+- `11`: UAVCANv1 ESC 12
+- `12`: UAVCANv1 ESC 13
+- `13`: UAVCANv1 ESC 14
+- `14`: UAVCANv1 ESC 15
+- `15`: UAVCANv1 ESC 16
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | | 0 |
+
+### VOXL2_IO_FUNC1 (`INT32`) {#VOXL2_IO_FUNC1}
+
+VOXL2 IO Output PWM Channel 1 Output Function.
+
+Select what should be output on VOXL2 IO Output PWM Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL2_IO_FUNC2 (`INT32`) {#VOXL2_IO_FUNC2}
+
+VOXL2 IO Output PWM Channel 2 Output Function.
+
+Select what should be output on VOXL2 IO Output PWM Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL2_IO_FUNC3 (`INT32`) {#VOXL2_IO_FUNC3}
+
+VOXL2 IO Output PWM Channel 3 Output Function.
+
+Select what should be output on VOXL2 IO Output PWM Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL2_IO_FUNC4 (`INT32`) {#VOXL2_IO_FUNC4}
+
+VOXL2 IO Output PWM Channel 4 Output Function.
+
+Select what should be output on VOXL2 IO Output PWM Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL2_IO_REV (`INT32`) {#VOXL2_IO_REV}
+
+Reverse Output Range for VOXL2 IO Output.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: VOXL2 IO Output PWM Channel 1
+- `1`: VOXL2 IO Output PWM Channel 2
+- `2`: VOXL2 IO Output PWM Channel 3
+- `3`: VOXL2 IO Output PWM Channel 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 15 | | 0 |
+
+### VOXL_ESC_FUNC1 (`INT32`) {#VOXL_ESC_FUNC1}
+
+VOXL ESC Output ESC 1 Output Function.
+
+Select what should be output on VOXL ESC Output ESC 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_FUNC2 (`INT32`) {#VOXL_ESC_FUNC2}
+
+VOXL ESC Output ESC 2 Output Function.
+
+Select what should be output on VOXL ESC Output ESC 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_FUNC3 (`INT32`) {#VOXL_ESC_FUNC3}
+
+VOXL ESC Output ESC 3 Output Function.
+
+Select what should be output on VOXL ESC Output ESC 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_FUNC4 (`INT32`) {#VOXL_ESC_FUNC4}
+
+VOXL ESC Output ESC 4 Output Function.
+
+Select what should be output on VOXL ESC Output ESC 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Constant Min
+- `2`: Constant Max
+- `101`: Motor 1
+- `102`: Motor 2
+- `103`: Motor 3
+- `104`: Motor 4
+- `105`: Motor 5
+- `106`: Motor 6
+- `107`: Motor 7
+- `108`: Motor 8
+- `109`: Motor 9
+- `110`: Motor 10
+- `111`: Motor 11
+- `112`: Motor 12
+- `201`: Servo 1
+- `202`: Servo 2
+- `203`: Servo 3
+- `204`: Servo 4
+- `205`: Servo 5
+- `206`: Servo 6
+- `207`: Servo 7
+- `208`: Servo 8
+- `301`: Peripheral via Actuator Set 1
+- `302`: Peripheral via Actuator Set 2
+- `303`: Peripheral via Actuator Set 3
+- `304`: Peripheral via Actuator Set 4
+- `305`: Peripheral via Actuator Set 5
+- `306`: Peripheral via Actuator Set 6
+- `400`: Landing Gear
+- `401`: Parachute
+- `402`: RC Roll
+- `403`: RC Pitch
+- `404`: RC Throttle
+- `405`: RC Yaw
+- `406`: RC Flaps
+- `407`: RC AUX 1
+- `408`: RC AUX 2
+- `409`: RC AUX 3
+- `410`: RC AUX 4
+- `411`: RC AUX 5
+- `412`: RC AUX 6
+- `420`: Gimbal Roll
+- `421`: Gimbal Pitch
+- `422`: Gimbal Yaw
+- `430`: Gripper
+- `440`: Landing Gear Wheel
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_REV (`INT32`) {#VOXL_ESC_REV}
+
+Reverse Output Range for VOXL ESC Output.
+
+Allows to reverse the output range for each channel. Note: this is only useful for servos.
+
+**Bitmask:**
+
+- `0`: VOXL ESC Output ESC 1
+- `1`: VOXL ESC Output ESC 2
+- `2`: VOXL ESC Output ESC 3
+- `3`: VOXL ESC Output ESC 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 15 | | 0 |
+
+## Airspeed Validator
+
+### ASPD_BETA_GATE (`INT32`) {#ASPD_BETA_GATE}
+
+Gate size for sideslip angle fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 5 | | 1 | SD
+
+### ASPD_BETA_NOISE (`FLOAT`) {#ASPD_BETA_NOISE}
+
+Wind estimator sideslip measurement noise.
+
+Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.15 | rad
+
+### ASPD_DO_CHECKS (`INT32`) {#ASPD_DO_CHECKS}
+
+Enable checks on airspeed sensors.
+
+Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY > 0.
+
+**Bitmask:**
+
+- `0`: Only data missing check (triggers if more than 1s no data)
+- `1`: Data stuck (triggers if data is exactly constant for 2s in FW mode)
+- `2`: Innovation check (see ASPD_FS_INNOV)
+- `3`: Load factor check (triggers if measurement is below stall speed)
+- `4`: First principle check (airspeed change vs. throttle and pitch)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 31 | | 7 |
+
+### ASPD_FALLBACK_GW (`INT32`) {#ASPD_FALLBACK_GW}
+
+Enable fallback to sensor-less airspeed estimation.
+
+If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.
+
+**Values:**
+
+- `0`: Disable fallback to sensor-less estimation
+- `1`: Enable fallback to sensor-less estimation
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### ASPD_FP_T_WINDOW (`FLOAT`) {#ASPD_FP_T_WINDOW}
+
+First principle airspeed check time window.
+
+Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 2.0 | s
+
+### ASPD_FS_INNOV (`FLOAT`) {#ASPD_FS_INNOV}
+
+Airspeed failure innovation threshold.
+
+This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 10.0 | | 5. | m/s
+
+### ASPD_FS_INTEG (`FLOAT`) {#ASPD_FS_INTEG}
+
+Airspeed failure innovation integral threshold.
+
+This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 50.0 | | 10. | m
+
+### ASPD_FS_T_START (`FLOAT`) {#ASPD_FS_T_START}
+
+Airspeed failsafe start delay.
+
+Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | | -1. | s
+
+### ASPD_FS_T_STOP (`FLOAT`) {#ASPD_FS_T_STOP}
+
+Airspeed failsafe stop delay.
+
+Delay before stopping use of airspeed sensor if checks indicate sensor is bad.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 1. | s
+
+### ASPD_PRIMARY (`INT32`) {#ASPD_PRIMARY}
+
+Index or primary airspeed measurement source.
+
+**Values:**
+
+- `0`: Groundspeed minus windspeed
+- `1`: First airspeed sensor
+- `2`: Second airspeed sensor
+- `3`: Third airspeed sensor
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### ASPD_SCALE_1 (`FLOAT`) {#ASPD_SCALE_1}
+
+Scale of airspeed sensor 1.
+
+This is the scale IAS --> CAS of the first airspeed sensor instance
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.5 | 2.0 | | 1.0 |
+
+### ASPD_SCALE_2 (`FLOAT`) {#ASPD_SCALE_2}
+
+Scale of airspeed sensor 2.
+
+This is the scale IAS --> CAS of the second airspeed sensor instance
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.5 | 2.0 | | 1.0 |
+
+### ASPD_SCALE_3 (`FLOAT`) {#ASPD_SCALE_3}
+
+Scale of airspeed sensor 3.
+
+This is the scale IAS --> CAS of the third airspeed sensor instance
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.5 | 2.0 | | 1.0 |
+
+### ASPD_SCALE_APPLY (`INT32`) {#ASPD_SCALE_APPLY}
+
+Controls when to apply the new estimated airspeed scale(s).
+
+**Values:**
+
+- `0`: Do not automatically apply the estimated scale
+- `1`: Apply the estimated scale after disarm
+- `2`: Apply the estimated scale in air
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### ASPD_SCALE_NSD (`FLOAT`) {#ASPD_SCALE_NSD}
+
+Wind estimator true airspeed scale process noise spectral density.
+
+Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.1 | | 1.e-4 | 1/s/sqrt(Hz)
+
+### ASPD_TAS_GATE (`INT32`) {#ASPD_TAS_GATE}
+
+Gate size for true airspeed fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 5 | | 4 | SD
+
+### ASPD_TAS_NOISE (`FLOAT`) {#ASPD_TAS_NOISE}
+
+Wind estimator true airspeed measurement noise.
+
+True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4 | | 1.4 | m/s
+
+### ASPD_WERR_THR (`FLOAT`) {#ASPD_WERR_THR}
+
+Horizontal wind uncertainty threshold for synthetic airspeed.
+
+The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty is below this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 5 | | 0.55 | m/s
+
+### ASPD_WIND_NSD (`FLOAT`) {#ASPD_WIND_NSD}
+
+Wind estimator wind process noise spectral density.
+
+Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1.e-1 | m/s^2/sqrt(Hz)
+
+## Attitude Q estimator
+
+### ATT_ACC_COMP (`INT32`) {#ATT_ACC_COMP}
+
+Acceleration compensation based on GPS velocity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### ATT_BIAS_MAX (`FLOAT`) {#ATT_BIAS_MAX}
+
+Gyro bias limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 0.05 | rad/s
+
+### ATT_EN (`INT32`) {#ATT_EN}
+
+standalone attitude estimator enable (unsupported).
+
+Enable standalone quaternion based attitude estimator.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### ATT_EXT_HDG_M (`INT32`) {#ATT_EXT_HDG_M}
+
+External heading usage mode (from Motion capture/Vision).
+
+Set to 1 to use heading estimate from vision. Set to 2 to use heading from motion capture.
+
+**Values:**
+
+- `0`: None
+- `1`: Vision
+- `2`: Motion Capture
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 0 |
+
+### ATT_MAG_DECL (`FLOAT`) {#ATT_MAG_DECL}
+
+Magnetic declination, in degrees.
+
+This parameter is not used in normal operation, as the declination is looked up based on the GPS coordinates of the vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | deg
+
+### ATT_MAG_DECL_A (`INT32`) {#ATT_MAG_DECL_A}
+
+Automatic GPS based declination compensation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### ATT_W_ACC (`FLOAT`) {#ATT_W_ACC}
+
+Complimentary filter accelerometer weight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.2 |
+
+### ATT_W_EXT_HDG (`FLOAT`) {#ATT_W_EXT_HDG}
+
+Complimentary filter external heading weight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.1 |
+
+### ATT_W_GYRO_BIAS (`FLOAT`) {#ATT_W_GYRO_BIAS}
+
+Complimentary filter gyroscope bias weight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.1 |
+
+### ATT_W_MAG (`FLOAT`) {#ATT_W_MAG}
+
+Complimentary filter magnetometer weight.
+
+Set to 0 to avoid using the magnetometer.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.1 |
+
+## Autotune
+
+### FW_AT_APPLY (`INT32`) {#FW_AT_APPLY}
+
+Controls when to apply the new gains.
+
+After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.
+
+**Values:**
+
+- `0`: Do not apply the new gains (logging only)
+- `1`: Apply the new gains after disarm
+- `2`: Apply the new gains in air
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### FW_AT_AXES (`INT32`) {#FW_AT_AXES}
+
+Tuning axes selection.
+
+Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw
+
+**Bitmask:**
+
+- `0`: roll
+- `1`: pitch
+- `2`: yaw
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 7 | | 3 |
+
+### FW_AT_MAN_AUX (`INT32`) {#FW_AT_MAN_AUX}
+
+Enable/disable auto tuning using an RC AUX input.
+
+Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.
+
+**Values:**
+
+- `0`: Disable
+- `1`: Aux1
+- `2`: Aux2
+- `3`: Aux3
+- `4`: Aux4
+- `5`: Aux5
+- `6`: Aux6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 6 | | 0 |
+
+### FW_AT_START (`INT32`) {#FW_AT_START}
+
+Start the autotuning sequence.
+
+WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_AT_SYSID_AMP (`FLOAT`) {#FW_AT_SYSID_AMP}
+
+Amplitude of the injected signal.
+
+This parameter scales the signal sent to the rate controller during system identification.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 6.0 | | 1.0 |
+
+### FW_AT_SYSID_F0 (`FLOAT`) {#FW_AT_SYSID_F0}
+
+Start frequency of the injected signal.
+
+Can be set lower or higher than the end frequency
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 30.0 | | 1. | Hz
+
+### FW_AT_SYSID_F1 (`FLOAT`) {#FW_AT_SYSID_F1}
+
+End frequency of the injected signal.
+
+Can be set lower or higher than the start frequency
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 30.0 | | 20. | Hz
+
+### FW_AT_SYSID_TIME (`FLOAT`) {#FW_AT_SYSID_TIME}
+
+Maneuver time for each axis.
+
+Duration of the input signal sent on each axis during system identification
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 120 | | 10. | s
+
+### FW_AT_SYSID_TYPE (`INT32`) {#FW_AT_SYSID_TYPE}
+
+Input signal type.
+
+Type of signal used during system identification to excite the system.
+
+**Values:**
+
+- `0`: Step
+- `1`: Linear sine sweep
+- `2`: Logarithmic sine sweep
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MC_AT_APPLY (`INT32`) {#MC_AT_APPLY}
+
+Controls when to apply the new gains.
+
+After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.
+
+**Values:**
+
+- `0`: Do not apply the new gains (logging only)
+- `1`: Apply the new gains after disarm
+- `2`: WARNING Apply the new gains in air
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### MC_AT_EN (`INT32`) {#MC_AT_EN}
+
+Multicopter autotune module enable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### MC_AT_RISE_TIME (`FLOAT`) {#MC_AT_RISE_TIME}
+
+Desired angular rate closed-loop rise time.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 0.5 | | 0.14 | s
+
+### MC_AT_START (`INT32`) {#MC_AT_START}
+
+Start the autotuning sequence.
+
+WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### MC_AT_SYSID_AMP (`FLOAT`) {#MC_AT_SYSID_AMP}
+
+Amplitude of the injected signal.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 6.0 | | 0.7 |
+
+## Battery Calibration
+
+### BAT1_A_PER_V (`FLOAT`) {#BAT1_A_PER_V}
+
+Battery 1 current per volt (A/V).
+
+The voltage seen by the ADC multiplied by this factor will determine the battery current. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1.0 |
+
+### BAT1_CAPACITY (`FLOAT`) {#BAT1_CAPACITY}
+
+Battery 1 capacity.
+
+Defines the capacity of battery 1 in mAh.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 100000 | 50 | -1.0 | mAh
+
+### BAT1_I_CHANNEL (`INT32`) {#BAT1_I_CHANNEL}
+
+Battery 1 Current ADC Channel.
+
+This parameter specifies the ADC channel used to monitor current of main power battery. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT1_N_CELLS (`INT32`) {#BAT1_N_CELLS}
+
+Number of cells for battery 1.
+
+Defines the number of cells the attached battery consists of.
+
+**Values:**
+
+- `0`: Unknown
+- `1`: 1S Battery
+- `2`: 2S Battery
+- `3`: 3S Battery
+- `4`: 4S Battery
+- `5`: 5S Battery
+- `6`: 6S Battery
+- `7`: 7S Battery
+- `8`: 8S Battery
+- `9`: 9S Battery
+- `10`: 10S Battery
+- `11`: 11S Battery
+- `12`: 12S Battery
+- `13`: 13S Battery
+- `14`: 14S Battery
+- `15`: 15S Battery
+- `16`: 16S Battery
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### BAT1_R_INTERNAL (`FLOAT`) {#BAT1_R_INTERNAL}
+
+Explicitly defines the per cell internal resistance for battery 1.
+
+If non-negative, then this will be used instead of the online estimated internal resistance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 0.2 | 0.0005 | -1.0 | Ohm
+
+### BAT1_SOURCE (`INT32`) {#BAT1_SOURCE}
+
+Battery 1 monitoring source.
+
+This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
+
+**Values:**
+
+- `-1`: Disabled
+- `0`: Power Module
+- `1`: External
+- `2`: ESCs
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### BAT1_V_CHANNEL (`INT32`) {#BAT1_V_CHANNEL}
+
+Battery 1 Voltage ADC Channel.
+
+This parameter specifies the ADC channel used to monitor voltage of main power battery. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT1_V_CHARGED (`FLOAT`) {#BAT1_V_CHARGED}
+
+Full cell voltage.
+
+Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 4.05 | V
+
+### BAT1_V_DIV (`FLOAT`) {#BAT1_V_DIV}
+
+Battery 1 voltage divider (V divider).
+
+This is the divider from battery 1 voltage to ADC voltage. If using e.g. Mauch power modules the value from the datasheet can be applied straight here. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1.0 |
+
+### BAT1_V_EMPTY (`FLOAT`) {#BAT1_V_EMPTY}
+
+Empty cell voltage.
+
+Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 3.6 | V
+
+### BAT2_A_PER_V (`FLOAT`) {#BAT2_A_PER_V}
+
+Battery 2 current per volt (A/V).
+
+The voltage seen by the ADC multiplied by this factor will determine the battery current. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1.0 |
+
+### BAT2_CAPACITY (`FLOAT`) {#BAT2_CAPACITY}
+
+Battery 2 capacity.
+
+Defines the capacity of battery 2 in mAh.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 100000 | 50 | -1.0 | mAh
+
+### BAT2_I_CHANNEL (`INT32`) {#BAT2_I_CHANNEL}
+
+Battery 2 Current ADC Channel.
+
+This parameter specifies the ADC channel used to monitor current of main power battery. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT2_N_CELLS (`INT32`) {#BAT2_N_CELLS}
+
+Number of cells for battery 2.
+
+Defines the number of cells the attached battery consists of.
+
+**Values:**
+
+- `0`: Unknown
+- `1`: 1S Battery
+- `2`: 2S Battery
+- `3`: 3S Battery
+- `4`: 4S Battery
+- `5`: 5S Battery
+- `6`: 6S Battery
+- `7`: 7S Battery
+- `8`: 8S Battery
+- `9`: 9S Battery
+- `10`: 10S Battery
+- `11`: 11S Battery
+- `12`: 12S Battery
+- `13`: 13S Battery
+- `14`: 14S Battery
+- `15`: 15S Battery
+- `16`: 16S Battery
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### BAT2_R_INTERNAL (`FLOAT`) {#BAT2_R_INTERNAL}
+
+Explicitly defines the per cell internal resistance for battery 2.
+
+If non-negative, then this will be used instead of the online estimated internal resistance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 0.2 | 0.0005 | -1.0 | Ohm
+
+### BAT2_SOURCE (`INT32`) {#BAT2_SOURCE}
+
+Battery 2 monitoring source.
+
+This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
+
+**Values:**
+
+- `-1`: Disabled
+- `0`: Power Module
+- `1`: External
+- `2`: ESCs
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT2_V_CHANNEL (`INT32`) {#BAT2_V_CHANNEL}
+
+Battery 2 Voltage ADC Channel.
+
+This parameter specifies the ADC channel used to monitor voltage of main power battery. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT2_V_CHARGED (`FLOAT`) {#BAT2_V_CHARGED}
+
+Full cell voltage.
+
+Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 4.05 | V
+
+### BAT2_V_DIV (`FLOAT`) {#BAT2_V_DIV}
+
+Battery 2 voltage divider (V divider).
+
+This is the divider from battery 2 voltage to ADC voltage. If using e.g. Mauch power modules the value from the datasheet can be applied straight here. A value of -1 means to use the board default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1.0 |
+
+### BAT2_V_EMPTY (`FLOAT`) {#BAT2_V_EMPTY}
+
+Empty cell voltage.
+
+Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 3.6 | V
+
+### BAT3_CAPACITY (`FLOAT`) {#BAT3_CAPACITY}
+
+Battery 3 capacity.
+
+Defines the capacity of battery 3 in mAh.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 100000 | 50 | -1.0 | mAh
+
+### BAT3_N_CELLS (`INT32`) {#BAT3_N_CELLS}
+
+Number of cells for battery 3.
+
+Defines the number of cells the attached battery consists of.
+
+**Values:**
+
+- `0`: Unknown
+- `1`: 1S Battery
+- `2`: 2S Battery
+- `3`: 3S Battery
+- `4`: 4S Battery
+- `5`: 5S Battery
+- `6`: 6S Battery
+- `7`: 7S Battery
+- `8`: 8S Battery
+- `9`: 9S Battery
+- `10`: 10S Battery
+- `11`: 11S Battery
+- `12`: 12S Battery
+- `13`: 13S Battery
+- `14`: 14S Battery
+- `15`: 15S Battery
+- `16`: 16S Battery
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### BAT3_R_INTERNAL (`FLOAT`) {#BAT3_R_INTERNAL}
+
+Explicitly defines the per cell internal resistance for battery 3.
+
+If non-negative, then this will be used instead of the online estimated internal resistance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1.0 | 0.2 | 0.0005 | -1.0 | Ohm
+
+### BAT3_SOURCE (`INT32`) {#BAT3_SOURCE}
+
+Battery 3 monitoring source.
+
+This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.
+
+**Values:**
+
+- `-1`: Disabled
+- `0`: Power Module
+- `1`: External
+- `2`: ESCs
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | -1 |
+
+### BAT3_V_CHARGED (`FLOAT`) {#BAT3_V_CHARGED}
+
+Full cell voltage.
+
+Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 4.05 | V
+
+### BAT3_V_EMPTY (`FLOAT`) {#BAT3_V_EMPTY}
+
+Empty cell voltage.
+
+Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | 0.01 | 3.6 | V
+
+### BAT_ADC_CHANNEL (`INT32`) {#BAT_ADC_CHANNEL}
+
+This parameter is deprecated. Please use BAT1_I_CHANNEL.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### BAT_AVRG_CURRENT (`FLOAT`) {#BAT_AVRG_CURRENT}
+
+Expected battery current in flight.
+
+This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 500 | 0.1 | 15 | A
+
+### BAT_CRIT_THR (`FLOAT`) {#BAT_CRIT_THR}
+
+Critical threshold.
+
+Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 0.5 | 0.01 | 0.07 | norm
+
+### BAT_EMERGEN_THR (`FLOAT`) {#BAT_EMERGEN_THR}
+
+Emergency threshold.
+
+Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.03 | 0.5 | 0.01 | 0.05 | norm
+
+### BAT_LOW_THR (`FLOAT`) {#BAT_LOW_THR}
+
+Low threshold.
+
+Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.12 | 0.5 | 0.01 | 0.15 | norm
+
+### BAT_V_OFFS_CURR (`FLOAT`) {#BAT_V_OFFS_CURR}
+
+Offset in volt as seen by the ADC input of the current sensor.
+
+This offset will be subtracted before calculating the battery current based on the voltage.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+## CDCACM
+
+### SYS_USB_AUTO (`INT32`) {#SYS_USB_AUTO}
+
+Enable USB autostart.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Auto-detect
+- `2`: MAVLink
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### USB_MAV_MODE (`INT32`) {#USB_MAV_MODE}
+
+Specify USB MAVLink mode.
+
+**Values:**
+
+- `0`: normal
+- `1`: custom
+- `2`: onboard
+- `3`: osd
+- `4`: magic
+- `5`: config
+- `6`: iridium
+- `7`: minimal
+- `8`: extvision
+- `9`: extvisionmin
+- `10`: gimbal
+- `11`: onboard_low_bandwidth
+- `12`: uavionix
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+## Camera Capture
+
+### CAM_CAP_DELAY (`FLOAT`) {#CAM_CAP_DELAY}
+
+Camera strobe delay.
+
+This parameter sets the delay between image integration start and strobe firing
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 | ms
+
+## Camera Control
+
+### CAM_CAP_EDGE (`INT32`) {#CAM_CAP_EDGE}
+
+Camera capture edge.
+
+**Values:**
+
+- `0`: Falling edge
+- `1`: Rising edge
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### CAM_CAP_FBACK (`INT32`) {#CAM_CAP_FBACK}
+
+Camera capture feedback.
+
+Enables camera capture feedback
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### CAM_CAP_MODE (`INT32`) {#CAM_CAP_MODE}
+
+Camera capture timestamping mode.
+
+Change time measurement
+
+**Values:**
+
+- `0`: Get absolute timestamp
+- `1`: Get timestamp of mid exposure (active high)
+- `2`: Get timestamp of mid exposure (active low)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+## Camera trigger
+
+### TRIG_ACT_TIME (`FLOAT`) {#TRIG_ACT_TIME}
+
+Camera trigger activation time.
+
+This parameter sets the time the trigger needs to pulled high or low.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.1 | 3000 | | 40.0 | ms
+
+### TRIG_DISTANCE (`FLOAT`) {#TRIG_DISTANCE}
+
+Camera trigger distance.
+
+Sets the distance at which to trigger the camera.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | | 1 | 25.0 | m
+
+### TRIG_INTERFACE (`INT32`) {#TRIG_INTERFACE}
+
+Camera trigger Interface.
+
+Selects the trigger interface
+
+**Values:**
+
+- `1`: GPIO
+- `2`: Seagull MAP2 (over PWM)
+- `3`: MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)
+- `4`: Generic PWM (IR trigger, servo)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 4 |
+
+### TRIG_INTERVAL (`FLOAT`) {#TRIG_INTERVAL}
+
+Camera trigger interval.
+
+This parameter sets the time between two consecutive trigger events
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 4.0 | 10000.0 | | 40.0 | ms
+
+### TRIG_MIN_INTERVA (`FLOAT`) {#TRIG_MIN_INTERVA}
+
+Minimum camera trigger interval.
+
+This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1.0 | 10000.0 | | 1.0 | ms
+
+### TRIG_MODE (`INT32`) {#TRIG_MODE}
+
+Camera trigger mode.
+
+**Values:**
+
+- `0`: Disable
+- `1`: Time based, on command
+- `2`: Time based, always on
+- `3`: Distance based, always on
+- `4`: Distance based, on command (Survey mode)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 4 | | 0 |
+
+### TRIG_POLARITY (`INT32`) {#TRIG_POLARITY}
+
+Camera trigger polarity.
+
+This parameter sets the polarity of the trigger (0 = active low, 1 = active high )
+
+**Values:**
+
+- `0`: Active low
+- `1`: Active high
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### TRIG_PWM_NEUTRAL (`INT32`) {#TRIG_PWM_NEUTRAL}
+
+PWM neutral output on trigger pin.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1000 | 2000 | | 1500 | us
+
+### TRIG_PWM_SHOOT (`INT32`) {#TRIG_PWM_SHOOT}
+
+PWM output to trigger shot.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1000 | 2000 | | 1900 | us
+
+## Circuit Breaker
+
+### CBRK_BUZZER (`INT32`) {#CBRK_BUZZER}
+
+Circuit breaker for disabling buzzer.
+
+Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 782097 | | 0 |
+
+### CBRK_FLIGHTTERM (`INT32`) {#CBRK_FLIGHTTERM}
+
+Circuit breaker for flight termination.
+
+Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 121212 | | 121212 |
+
+### CBRK_IO_SAFETY (`INT32`) {#CBRK_IO_SAFETY}
+
+Circuit breaker for IO safety.
+
+Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 22027 | | 22027 |
+
+### CBRK_SUPPLY_CHK (`INT32`) {#CBRK_SUPPLY_CHK}
+
+Circuit breaker for power supply check.
+
+Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 894281 | | 0 |
+
+### CBRK_USB_CHK (`INT32`) {#CBRK_USB_CHK}
+
+Circuit breaker for USB link check.
+
+Setting this parameter to 197848 will disable the USB connected 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 | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 197848 | | 197848 |
+
+### CBRK_VTOLARMING (`INT32`) {#CBRK_VTOLARMING}
+
+Circuit breaker for arming in fixed-wing mode check.
+
+Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 159753 | | 0 |
+
+## Commander
+
+### COM_ACT_FAIL_ACT (`INT32`) {#COM_ACT_FAIL_ACT}
+
+Set the actuator failure failsafe mode.
+
+Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.
+
+**Values:**
+
+- `0`: Warning only
+- `1`: Hold mode
+- `2`: Land mode
+- `3`: Return mode
+- `4`: Terminate
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### COM_ARMABLE (`INT32`) {#COM_ARMABLE}
+
+Flag to allow arming.
+
+Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.
+
+**Values:**
+
+- `0`: Disallow arming
+- `1`: Allow arming
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### COM_ARM_AUTH_ID (`INT32`) {#COM_ARM_AUTH_ID}
+
+Arm authorizer system id.
+
+Used if arm authorization is requested by COM_ARM_AUTH_REQ.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 10 |
+
+### COM_ARM_AUTH_MET (`INT32`) {#COM_ARM_AUTH_MET}
+
+Arm authorization method.
+
+Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.
+
+**Values:**
+
+- `0`: one arm
+- `1`: two step arm
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_ARM_AUTH_REQ (`INT32`) {#COM_ARM_AUTH_REQ}
+
+Require arm authorization to arm.
+
+By default off. The default allows to arm the vehicle without a arm authorization.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_ARM_AUTH_TO (`FLOAT`) {#COM_ARM_AUTH_TO}
+
+Arm authorization timeout.
+
+Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.1 | 1 | s
+
+### COM_ARM_BAT_MIN (`FLOAT`) {#COM_ARM_BAT_MIN}
+
+Minimum battery level for arming.
+
+Additional battery level check that only allows arming if the state of charge of the emptiest connected battery is above this value. A value of 0 disables the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.9 | 0.01 | 0. | norm
+
+### COM_ARM_CHK_ESCS (`INT32`) {#COM_ARM_CHK_ESCS}
+
+Enable checks on ESCs that report telemetry.
+
+If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_ARM_HFLT_CHK (`INT32`) {#COM_ARM_HFLT_CHK}
+
+Enable FMU SD card hardfault detection check.
+
+This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### COM_ARM_IMU_ACC (`FLOAT`) {#COM_ARM_IMU_ACC}
+
+Maximum accelerometer inconsistency between IMU units that will allow arming.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | 0.05 | 0.7 | m/s^2
+
+### COM_ARM_IMU_GYR (`FLOAT`) {#COM_ARM_IMU_GYR}
+
+Maximum rate gyro inconsistency between IMU units that will allow arming.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.02 | 0.3 | 0.01 | 0.25 | rad/s
+
+### COM_ARM_MAG_ANG (`INT32`) {#COM_ARM_MAG_ANG}
+
+Maximum magnetic field inconsistency between units that will allow arming.
+
+Set -1 to disable the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 3 | 180 | | 60 | deg
+
+### COM_ARM_MAG_STR (`INT32`) {#COM_ARM_MAG_STR}
+
+Enable mag strength preflight check.
+
+Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Deny arming
+- `2`: Warning only
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### COM_ARM_MIS_REQ (`INT32`) {#COM_ARM_MIS_REQ}
+
+Require valid mission to arm.
+
+The default allows to arm the vehicle without a valid mission.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_ARM_ODID (`INT32`) {#COM_ARM_ODID}
+
+Enable Drone ID system detection and health check.
+
+This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Warning only
+- `2`: Enforce Open Drone ID system presence
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_ARM_SDCARD (`INT32`) {#COM_ARM_SDCARD}
+
+Enable FMU SD card detection check.
+
+This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Warning only
+- `2`: Enforce SD card presence
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### COM_ARM_SWISBTN (`INT32`) {#COM_ARM_SWISBTN}
+
+Arm switch is a momentary button.
+
+0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_ARM_WO_GPS (`INT32`) {#COM_ARM_WO_GPS}
+
+Allow arming without GPS.
+
+**Values:**
+
+- `0`: Require GPS lock to arm
+- `1`: Allow arming without GPS
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### COM_CPU_MAX (`FLOAT`) {#COM_CPU_MAX}
+
+Maximum allowed CPU load to still arm.
+
+The check fails if the CPU load is above this threshold for 2s. A negative value disables the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 1 | 95.0 | %
+
+### COM_DISARM_LAND (`FLOAT`) {#COM_DISARM_LAND}
+
+Time-out for auto disarm after landing.
+
+A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.1 | 2.0 | s
+
+### COM_DISARM_MAN (`INT32`) {#COM_DISARM_MAN}
+
+Allow disarming via switch/stick/button on multicopters in manual thrust modes.
+
+0: Disallow disarming when not landed 1: Allow disarming in multicopter flight in modes where the thrust is directly controlled by thr throttle stick e.g. Stabilized, Acro
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### COM_DISARM_PRFLT (`FLOAT`) {#COM_DISARM_PRFLT}
+
+Time-out for auto disarm if not taking off.
+
+A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.1 | 10.0 | s
+
+### COM_DL_LOSS_T (`INT32`) {#COM_DL_LOSS_T}
+
+GCS connection loss time threshold.
+
+After this amount of seconds without datalink, the GCS connection lost mode triggers
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 300 | 1 | 10 | s
+
+### COM_FAIL_ACT_T (`FLOAT`) {#COM_FAIL_ACT_T}
+
+Delay between failsafe condition triggered and failsafe reaction.
+
+Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control via the stick override feature (see COM_RC_OVERRIDE). Afterwards the configured failsafe action is triggered and the user may use stick override. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 25.0 | | 5. | s
+
+### COM_FLIGHT_UUID (`INT32`) {#COM_FLIGHT_UUID}
+
+Next flight UUID.
+
+This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 0 |
+
+### COM_FLTMODE1 (`INT32`) {#COM_FLTMODE1}
+
+Mode slot 1.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTMODE2 (`INT32`) {#COM_FLTMODE2}
+
+Mode slot 2.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTMODE3 (`INT32`) {#COM_FLTMODE3}
+
+Mode slot 3.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTMODE4 (`INT32`) {#COM_FLTMODE4}
+
+Mode slot 4.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTMODE5 (`INT32`) {#COM_FLTMODE5}
+
+Mode slot 5.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTMODE6 (`INT32`) {#COM_FLTMODE6}
+
+Mode slot 6.
+
+If the main switch channel is in this range the selected flight mode will be applied.
+
+**Values:**
+
+- `-1`: Unassigned
+- `0`: Manual
+- `1`: Altitude
+- `2`: Position
+- `3`: Mission
+- `4`: Hold
+- `5`: Return
+- `6`: Acro
+- `7`: Offboard
+- `8`: Stabilized
+- `9`: Position Slow
+- `10`: Takeoff
+- `11`: Land
+- `12`: Follow Me
+- `13`: Precision Land
+- `100`: External Mode 1
+- `101`: External Mode 2
+- `102`: External Mode 3
+- `103`: External Mode 4
+- `104`: External Mode 5
+- `105`: External Mode 6
+- `106`: External Mode 7
+- `107`: External Mode 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### COM_FLTT_LOW_ACT (`INT32`) {#COM_FLTT_LOW_ACT}
+
+Remaining flight time low failsafe.
+
+Action the system takes when the remaining flight time is below the estimated time it takes to reach the RTL destination.
+
+**Values:**
+
+- `0`: None
+- `1`: Warning
+- `3`: Return
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 1 | 3 |
+
+### COM_FLT_PROFILE (`INT32`) {#COM_FLT_PROFILE}
+
+User Flight Profile.
+
+Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).
+
+**Values:**
+
+- `0`: Default
+- `100`: Pro User
+- `200`: Flight Tester
+- `300`: Developer
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_FLT_TIME_MAX (`INT32`) {#COM_FLT_TIME_MAX}
+
+Maximum allowed flight time.
+
+The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | | -1 | s
+
+### COM_FORCE_SAFETY (`INT32`) {#COM_FORCE_SAFETY}
+
+Enable force safety.
+
+Force safety when the vehicle disarms
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_HLDL_LOSS_T (`INT32`) {#COM_HLDL_LOSS_T}
+
+High Latency Datalink loss time threshold.
+
+After this amount of seconds without datalink the data link lost mode triggers
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 60 | 3600 | | 120 | s
+
+### COM_HLDL_REG_T (`INT32`) {#COM_HLDL_REG_T}
+
+High Latency Datalink regain time threshold.
+
+After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 60 | | 0 | s
+
+### COM_HOME_EN (`INT32`) {#COM_HOME_EN}
+
+Home position enabled.
+
+Set home position automatically if possible.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### COM_HOME_IN_AIR (`INT32`) {#COM_HOME_IN_AIR}
+
+Allows setting the home position after takeoff.
+
+If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_IMB_PROP_ACT (`INT32`) {#COM_IMB_PROP_ACT}
+
+Imbalanced propeller failsafe mode.
+
+Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.
+
+**Values:**
+
+- `-1`: Disabled
+- `0`: Warning
+- `1`: Return
+- `2`: Land
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 1 | 0 |
+
+### COM_KILL_DISARM (`FLOAT`) {#COM_KILL_DISARM}
+
+Timeout value for disarming when kill switch is engaged.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 30.0 | 0.1 | 5.0 | s
+
+### COM_LKDOWN_TKO (`FLOAT`) {#COM_LKDOWN_TKO}
+
+Timeout for detecting a failure after takeoff.
+
+A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 5.0 | | 3.0 | s
+
+### COM_LOW_BAT_ACT (`INT32`) {#COM_LOW_BAT_ACT}
+
+Battery failsafe mode.
+
+Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.
+
+**Values:**
+
+- `0`: Warning
+- `2`: Land mode
+- `3`: Return at critical level, land at emergency level
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE0_HASH (`INT32`) {#COM_MODE0_HASH}
+
+External mode identifier 0.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE1_HASH (`INT32`) {#COM_MODE1_HASH}
+
+External mode identifier 1.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE2_HASH (`INT32`) {#COM_MODE2_HASH}
+
+External mode identifier 2.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE3_HASH (`INT32`) {#COM_MODE3_HASH}
+
+External mode identifier 3.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE4_HASH (`INT32`) {#COM_MODE4_HASH}
+
+External mode identifier 4.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE5_HASH (`INT32`) {#COM_MODE5_HASH}
+
+External mode identifier 5.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE6_HASH (`INT32`) {#COM_MODE6_HASH}
+
+External mode identifier 6.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MODE7_HASH (`INT32`) {#COM_MODE7_HASH}
+
+External mode identifier 7.
+
+This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_MOT_TEST_EN (`INT32`) {#COM_MOT_TEST_EN}
+
+Enable Actuator Testing.
+
+If set, enables the actuator test interface via MAVLink (ACTUATOR_TEST), that allows spinning the motors and moving the servos for testing purposes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### COM_OBC_LOSS_T (`FLOAT`) {#COM_OBC_LOSS_T}
+
+Time-out to wait when onboard computer connection is lost before warning about loss connection.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 60 | 0.01 | 5.0 | s
+
+### COM_OBL_RC_ACT (`INT32`) {#COM_OBL_RC_ACT}
+
+Set offboard loss failsafe mode.
+
+The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.
+
+**Values:**
+
+- `0`: Position mode
+- `1`: Altitude mode
+- `2`: Manual
+- `3`: Return mode
+- `4`: Land mode
+- `5`: Hold mode
+- `6`: Terminate
+- `7`: Disarm
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_OBS_AVOID (`INT32`) {#COM_OBS_AVOID}
+
+Flag to enable obstacle avoidance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_OF_LOSS_T (`FLOAT`) {#COM_OF_LOSS_T}
+
+Time-out to wait when offboard connection is lost before triggering offboard lost action.
+
+See COM_OBL_RC_ACT to configure action.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 60 | 0.01 | 1.0 | s
+
+### COM_PARACHUTE (`INT32`) {#COM_PARACHUTE}
+
+Expect and require a healthy MAVLink parachute system.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_POSCTL_NAVL (`INT32`) {#COM_POSCTL_NAVL}
+
+Position control navigation loss response.
+
+This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.
+
+**Values:**
+
+- `0`: Altitude/Manual
+- `1`: Land/Descend
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_POS_FS_DELAY (`INT32`) {#COM_POS_FS_DELAY}
+
+Loss of position failsafe activation delay.
+
+This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 100 | | 1 | s
+
+### COM_POS_FS_EPH (`FLOAT`) {#COM_POS_FS_EPH}
+
+Horizontal position error threshold.
+
+This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation). Set to -1 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 400 | | 5. | m
+
+### COM_POS_LOW_EPH (`FLOAT`) {#COM_POS_LOW_EPH}
+
+EPH threshold for RTL.
+
+Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | | -1.0 | m
+
+### COM_POWER_COUNT (`INT32`) {#COM_POWER_COUNT}
+
+Required number of redundant power modules.
+
+This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4 | | 1 |
+
+### COM_PREARM_MODE (`INT32`) {#COM_PREARM_MODE}
+
+Condition to enter prearmed mode.
+
+Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Safety button
+- `2`: Always
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_QC_ACT (`INT32`) {#COM_QC_ACT}
+
+Set command after a quadchute.
+
+**Values:**
+
+- `-1`: Warning only
+- `0`: Return mode
+- `1`: Land mode
+- `2`: Hold mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_RAM_MAX (`FLOAT`) {#COM_RAM_MAX}
+
+Maximum allowed RAM usage to pass checks.
+
+The check fails if the RAM usage is above this threshold. A negative value disables the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 1 | 95.0 | %
+
+### COM_RCL_EXCEPT (`INT32`) {#COM_RCL_EXCEPT}
+
+RC loss exceptions.
+
+Specify modes in which RC loss is ignored and the failsafe action not triggered.
+
+**Bitmask:**
+
+- `0`: Mission
+- `1`: Hold
+- `2`: Offboard
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 31 | | 0 |
+
+### COM_RC_ARM_HYST (`INT32`) {#COM_RC_ARM_HYST}
+
+RC input arm/disarm command duration.
+
+The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 100 | 1500 | | 1000 | ms
+
+### COM_RC_IN_MODE (`INT32`) {#COM_RC_IN_MODE}
+
+RC control input mode.
+
+A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.
+
+**Values:**
+
+- `0`: RC Transmitter only
+- `1`: Joystick only
+- `2`: RC and Joystick with fallback
+- `3`: RC or Joystick keep first
+- `4`: Stick input disabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4 | | 3 |
+
+### COM_RC_LOSS_T (`FLOAT`) {#COM_RC_LOSS_T}
+
+Manual control loss timeout.
+
+The time in seconds without a new setpoint from RC or Joystick, after which the connection is considered lost. This must be kept short as the vehicle will use the last supplied setpoint until the timeout triggers.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 35 | 0.1 | 0.5 | s
+
+### COM_RC_OVERRIDE (`INT32`) {#COM_RC_OVERRIDE}
+
+Enable RC stick override of auto and/or offboard modes.
+
+When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode.
+
+**Bitmask:**
+
+- `0`: Enable override during auto modes (except for in critical battery reaction)
+- `1`: Enable override during offboard mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 1 |
+
+### COM_RC_STICK_OV (`FLOAT`) {#COM_RC_STICK_OV}
+
+RC stick override threshold.
+
+If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 80 | 0.05 | 30.0 | %
+
+### COM_SPOOLUP_TIME (`FLOAT`) {#COM_SPOOLUP_TIME}
+
+Enforced delay between arming and further navigation.
+
+The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 30 | 0.1 | 1.0 | s
+
+### COM_TAKEOFF_ACT (`INT32`) {#COM_TAKEOFF_ACT}
+
+Action after TAKEOFF has been accepted.
+
+The mode transition after TAKEOFF has completed successfully.
+
+**Values:**
+
+- `0`: Hold
+- `1`: Mission (if valid)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### COM_THROW_EN (`INT32`) {#COM_THROW_EN}
+
+Enable throw-start.
+
+Allows to start the vehicle by throwing it into the air.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### COM_THROW_SPEED (`FLOAT`) {#COM_THROW_SPEED}
+
+Minimum speed for the throw start.
+
+When the throw launch is enabled, the drone will only arm after this speed is exceeded before detecting the freefall. This is a safety feature to ensure the drone does not turn on after accidental drop or a rapid movement before the throw. Set to 0 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.1 | 5 | m/s
+
+### COM_VEL_FS_EVH (`FLOAT`) {#COM_VEL_FS_EVH}
+
+Horizontal velocity error threshold.
+
+This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 1. | m/s
+
+### COM_WIND_MAX (`FLOAT`) {#COM_WIND_MAX}
+
+High wind speed failsafe threshold.
+
+Wind speed threshold above which an automatic failsafe action is triggered. Failsafe action can be specified with COM_WIND_MAX_ACT.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | 0.1 | -1. | m/s
+
+### COM_WIND_MAX_ACT (`INT32`) {#COM_WIND_MAX_ACT}
+
+High wind failsafe mode.
+
+Action the system takes when a wind speed above the specified threshold is detected. See COM_WIND_MAX to set the failsafe threshold. If enabled, it is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible.
+
+**Values:**
+
+- `0`: None
+- `1`: Warning
+- `2`: Hold
+- `3`: Return
+- `4`: Terminate
+- `5`: Land
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 1 | 0 |
+
+### COM_WIND_WARN (`FLOAT`) {#COM_WIND_WARN}
+
+Wind speed warning threshold.
+
+A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | 0.1 | -1. | m/s
+
+### NAV_DLL_ACT (`INT32`) {#NAV_DLL_ACT}
+
+Set GCS connection loss failsafe mode.
+
+The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Hold mode
+- `2`: Return mode
+- `3`: Land mode
+- `5`: Terminate
+- `6`: Disarm
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 6 | | 0 |
+
+### NAV_RCL_ACT (`INT32`) {#NAV_RCL_ACT}
+
+Set RC loss failsafe mode.
+
+The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.
+
+**Values:**
+
+- `1`: Hold mode
+- `2`: Return mode
+- `3`: Land mode
+- `5`: Terminate
+- `6`: Disarm
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 6 | | 2 |
+
+## Cyphal
+
+### CYPHAL_BAUD (`INT32`) {#CYPHAL_BAUD}
+
+UAVCAN/CAN v1 bus bitrate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 20000 | 1000000 | | 1000000 | bit/s
+
+### CYPHAL_ENABLE (`INT32`) {#CYPHAL_ENABLE}
+
+Cyphal.
+
+0 - Cyphal disabled. 1 - Enables Cyphal
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### CYPHAL_ID (`INT32`) {#CYPHAL_ID}
+
+Cyphal Node ID.
+
+Read the specs at http://uavcan.org to learn more about Node ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1 | 125 | | 1 |
+
+### UCAN1_ACTR_PUB (`INT32`) {#UCAN1_ACTR_PUB}
+
+actuator_outputs uORB over Cyphal publication port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_BMS_BP_SUB (`INT32`) {#UCAN1_BMS_BP_SUB}
+
+UDRAL battery parameters subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_BMS_BS_SUB (`INT32`) {#UCAN1_BMS_BS_SUB}
+
+UDRAL battery status subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_BMS_ES_SUB (`INT32`) {#UCAN1_BMS_ES_SUB}
+
+UDRAL battery energy source subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_ESC0_SUB (`INT32`) {#UCAN1_ESC0_SUB}
+
+ESC 0 subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_ESC_PUB (`INT32`) {#UCAN1_ESC_PUB}
+
+Cyphal ESC publication port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB0_SUB (`INT32`) {#UCAN1_FB0_SUB}
+
+Cyphal ESC 0 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB1_SUB (`INT32`) {#UCAN1_FB1_SUB}
+
+Cyphal ESC 1 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB2_SUB (`INT32`) {#UCAN1_FB2_SUB}
+
+Cyphal ESC 2 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB3_SUB (`INT32`) {#UCAN1_FB3_SUB}
+
+Cyphal ESC 3 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB4_SUB (`INT32`) {#UCAN1_FB4_SUB}
+
+Cyphal ESC 4 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB5_SUB (`INT32`) {#UCAN1_FB5_SUB}
+
+Cyphal ESC 5 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB6_SUB (`INT32`) {#UCAN1_FB6_SUB}
+
+Cyphal ESC 6 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_FB7_SUB (`INT32`) {#UCAN1_FB7_SUB}
+
+Cyphal ESC 7 zubax feedback port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_GPS0_SUB (`INT32`) {#UCAN1_GPS0_SUB}
+
+GPS 0 subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_GPS1_SUB (`INT32`) {#UCAN1_GPS1_SUB}
+
+GPS 1 subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_GPS_PUB (`INT32`) {#UCAN1_GPS_PUB}
+
+Cyphal GPS publication port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_LG_BMS_SUB (`INT32`) {#UCAN1_LG_BMS_SUB}
+
+Cyphal legacy battery port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_READ_PUB (`INT32`) {#UCAN1_READ_PUB}
+
+Cyphal ESC readiness port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_SERVO_PUB (`INT32`) {#UCAN1_SERVO_PUB}
+
+Cyphal Servo publication port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_UORB_GPS (`INT32`) {#UCAN1_UORB_GPS}
+
+sensor_gps uORB over Cyphal subscription port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+### UCAN1_UORB_GPS_P (`INT32`) {#UCAN1_UORB_GPS_P}
+
+sensor_gps uORB over Cyphal publication port ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 6143 | | -1 |
+
+## DShot
+
+### DSHOT_3D_DEAD_H (`INT32`) {#DSHOT_3D_DEAD_H}
+
+DSHOT 3D deadband high.
+
+When the actuator_output is between DSHOT_3D_DEAD_L and DSHOT_3D_DEAD_H, motor will not spin. This value is with respect to the mixer_module range (0-1999), not the DSHOT values.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1000 | 1999 | | 1000 |
+
+### DSHOT_3D_DEAD_L (`INT32`) {#DSHOT_3D_DEAD_L}
+
+DSHOT 3D deadband low.
+
+When the actuator_output is between DSHOT_3D_DEAD_L and DSHOT_3D_DEAD_H, motor will not spin. This value is with respect to the mixer_module range (0-1999), not the DSHOT values.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | | 1000 |
+
+### DSHOT_3D_ENABLE (`INT32`) {#DSHOT_3D_ENABLE}
+
+Allows for 3d mode when using DShot and suitable mixer.
+
+WARNING: ESC must be configured for 3D mode, and DSHOT_MIN set to 0. This splits the throttle ranges in two. Direction 1) 48 is the slowest, 1047 is the fastest. Direction 2) 1049 is the slowest, 2047 is the fastest. When mixer outputs 1000 or value inside DSHOT 3D deadband, DShot 0 is sent.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### DSHOT_BIDIR_EN (`INT32`) {#DSHOT_BIDIR_EN}
+
+Enable bidirectional DShot.
+
+This parameter enables bidirectional DShot which provides RPM feedback. Note that this requires ESCs that support bidirectional DSHot, e.g. BlHeli32. This is not the same as DShot telemetry which requires an additional serial connection.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### DSHOT_MIN (`FLOAT`) {#DSHOT_MIN}
+
+Minimum DShot Motor Output.
+
+Minimum Output Value for DShot in percent. The value depends on the ESC. Make sure to set this high enough so that the motors are always spinning while armed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.055 | %
+
+### DSHOT_TEL_CFG (`INT32`) {#DSHOT_TEL_CFG}
+
+Serial Configuration for DShot Driver.
+
+Configure on which serial port to run DShot Driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MOT_POLE_COUNT (`INT32`) {#MOT_POLE_COUNT}
+
+Number of magnetic poles of the motors.
+
+Specify the number of magnetic poles of the motors. It is required to compute the RPM value from the eRPM returned with the ESC telemetry. Either get the number from the motor spec sheet or count the magnets on the bell of the motor (not the stator magnets). Typical motors for 5 inch props have 14 poles.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 14 |
+
+## EKF2
+
+### EKF2_ABIAS_INIT (`FLOAT`) {#EKF2_ABIAS_INIT}
+
+1-sigma IMU accelerometer switch-on bias.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 0.5 | | 0.2 | m/s^2
+
+### EKF2_ABL_ACCLIM (`FLOAT`) {#EKF2_ABL_ACCLIM}
+
+Maximum IMU accel magnitude that allows IMU bias learning.
+
+If the magnitude of the IMU accelerometer vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the accel bias estimates.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 20.0 | 200.0 | | 25.0 | m/s^2
+
+### EKF2_ABL_GYRLIM (`FLOAT`) {#EKF2_ABL_GYRLIM}
+
+Maximum IMU gyro angular rate magnitude that allows IMU bias learning.
+
+If the magnitude of the IMU angular rate vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the accel bias estimates.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2.0 | 20.0 | | 3.0 | rad/s
+
+### EKF2_ABL_LIM (`FLOAT`) {#EKF2_ABL_LIM}
+
+Accelerometer bias learning limit.
+
+The ekf accel bias states will be limited to within a range equivalent to +- of this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.8 | | 0.4 | m/s^2
+
+### EKF2_ABL_TAU (`FLOAT`) {#EKF2_ABL_TAU}
+
+Accel bias learning inhibit time constant.
+
+The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | | 0.5 | s
+
+### EKF2_ACC_B_NOISE (`FLOAT`) {#EKF2_ACC_B_NOISE}
+
+Process noise for IMU accelerometer bias prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.01 | | 0.003 | m/s^3
+
+### EKF2_ACC_NOISE (`FLOAT`) {#EKF2_ACC_NOISE}
+
+Accelerometer noise for covariance prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1.0 | | 0.35 | m/s^2
+
+### EKF2_AGP_CTRL (`INT32`) {#EKF2_AGP_CTRL}
+
+Aux global position (AGP) sensor aiding.
+
+Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion
+
+**Bitmask:**
+
+- `0`: Horizontal position
+- `1`: Vertical position
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### EKF2_AGP_DELAY (`FLOAT`) {#EKF2_AGP_DELAY}
+
+Aux global position estimator delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 0 | ms
+
+### EKF2_AGP_GATE (`FLOAT`) {#EKF2_AGP_GATE}
+
+Gate size for aux global position fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 3.0 | SD
+
+### EKF2_AGP_NOISE (`FLOAT`) {#EKF2_AGP_NOISE}
+
+Measurement noise for aux global position measurements.
+
+Used to lower bound or replace the uncertainty included in the message
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 0.9 | m
+
+### EKF2_ANGERR_INIT (`FLOAT`) {#EKF2_ANGERR_INIT}
+
+1-sigma tilt angle uncertainty after gravity vector alignment.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 0.5 | | 0.1 | rad
+
+### EKF2_ARSP_THR (`FLOAT`) {#EKF2_ARSP_THR}
+
+Airspeed fusion threshold.
+
+Airspeed data is fused for wind estimation if above this threshold. Set to 0 to disable airspeed fusion. For reliable wind estimation both sideslip (see EKF2_FUSE_BETA) and airspeed fusion should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 0.0 | m/s
+
+### EKF2_ASPD_MAX (`FLOAT`) {#EKF2_ASPD_MAX}
+
+Maximum airspeed used for baro static pressure compensation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5.0 | 50.0 | | 20.0 | m/s
+
+### EKF2_ASP_DELAY (`FLOAT`) {#EKF2_ASP_DELAY}
+
+Airspeed measurement delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 100 | ms
+
+### EKF2_AVEL_DELAY (`FLOAT`) {#EKF2_AVEL_DELAY}
+
+Auxiliary Velocity Estimate delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 5 | ms
+
+### EKF2_BARO_CTRL (`INT32`) {#EKF2_BARO_CTRL}
+
+Barometric sensor height aiding.
+
+If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### EKF2_BARO_DELAY (`FLOAT`) {#EKF2_BARO_DELAY}
+
+Barometer measurement delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 0 | ms
+
+### EKF2_BARO_GATE (`FLOAT`) {#EKF2_BARO_GATE}
+
+Gate size for barometric and GPS height fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_BARO_NOISE (`FLOAT`) {#EKF2_BARO_NOISE}
+
+Measurement noise for barometric altitude.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 15.0 | | 3.5 | m
+
+### EKF2_BCOEF_X (`FLOAT`) {#EKF2_BCOEF_X}
+
+X-axis ballistic coefficient used for multi-rotor wind estimation.
+
+This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 200.0 | | 100.0 | kg/m^2
+
+### EKF2_BCOEF_Y (`FLOAT`) {#EKF2_BCOEF_Y}
+
+Y-axis ballistic coefficient used for multi-rotor wind estimation.
+
+This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 200.0 | | 100.0 | kg/m^2
+
+### EKF2_BETA_GATE (`FLOAT`) {#EKF2_BETA_GATE}
+
+Gate size for synthetic sideslip fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_BETA_NOISE (`FLOAT`) {#EKF2_BETA_NOISE}
+
+Noise for synthetic sideslip fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | | 0.3 | m/s
+
+### EKF2_DECL_TYPE (`INT32`) {#EKF2_DECL_TYPE}
+
+Integer bitmask controlling handling of magnetic declination.
+
+Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms.
+
+**Bitmask:**
+
+- `0`: use geo_lookup declination
+- `1`: save EKF2_MAG_DECL on disarm
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 3 |
+
+### EKF2_DELAY_MAX (`FLOAT`) {#EKF2_DELAY_MAX}
+
+Maximum delay of all the aiding sensors.
+
+Defines the delay between the current time and the delayed-time horizon. This value should be at least as large as the largest EKF2_XXX_DELAY parameter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 200 | ms
+
+### EKF2_DRAG_CTRL (`INT32`) {#EKF2_DRAG_CTRL}
+
+Multirotor wind estimation selection.
+
+Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### EKF2_DRAG_NOISE (`FLOAT`) {#EKF2_DRAG_NOISE}
+
+Specific drag force observation noise variance.
+
+Used by the multi-rotor specific drag force model. Increasing this makes the multi-rotor wind estimates adjust more slowly.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 10.0 | | 2.5 | (m/s^2)^2
+
+### EKF2_EAS_NOISE (`FLOAT`) {#EKF2_EAS_NOISE}
+
+Measurement noise for airspeed fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 5.0 | | 1.4 | m/s
+
+### EKF2_EN (`INT32`) {#EKF2_EN}
+
+EKF2 enable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### EKF2_EVA_NOISE (`FLOAT`) {#EKF2_EVA_NOISE}
+
+Measurement noise for vision angle measurements.
+
+Used to lower bound or replace the uncertainty included in the message
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | | | 0.1 | rad
+
+### EKF2_EVP_GATE (`FLOAT`) {#EKF2_EVP_GATE}
+
+Gate size for vision position fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_EVP_NOISE (`FLOAT`) {#EKF2_EVP_NOISE}
+
+Measurement noise for vision position measurements.
+
+Used to lower bound or replace the uncertainty included in the message
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 0.1 | m
+
+### EKF2_EVV_GATE (`FLOAT`) {#EKF2_EVV_GATE}
+
+Gate size for vision velocity estimate fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 3.0 | SD
+
+### EKF2_EVV_NOISE (`FLOAT`) {#EKF2_EVV_NOISE}
+
+Measurement noise for vision velocity measurements.
+
+Used to lower bound or replace the uncertainty included in the message
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 0.1 | m/s
+
+### EKF2_EV_CTRL (`INT32`) {#EKF2_EV_CTRL}
+
+External vision (EV) sensor aiding.
+
+Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw
+
+**Bitmask:**
+
+- `0`: Horizontal position
+- `1`: Vertical position
+- `2`: 3D velocity
+- `3`: Yaw
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 15 | | 0 |
+
+### EKF2_EV_DELAY (`FLOAT`) {#EKF2_EV_DELAY}
+
+Vision Position Estimator delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 0 | ms
+
+### EKF2_EV_NOISE_MD (`INT32`) {#EKF2_EV_NOISE_MD}
+
+External vision (EV) noise mode.
+
+If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,
+
+**Values:**
+
+- `0`: EV reported variance (parameter lower bound)
+- `1`: EV noise parameters
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### EKF2_EV_POS_X (`FLOAT`) {#EKF2_EV_POS_X}
+
+X position of VI sensor focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_EV_POS_Y (`FLOAT`) {#EKF2_EV_POS_Y}
+
+Y position of VI sensor focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_EV_POS_Z (`FLOAT`) {#EKF2_EV_POS_Z}
+
+Z position of VI sensor focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_EV_QMIN (`INT32`) {#EKF2_EV_QMIN}
+
+External vision (EV) minimum quality (optional).
+
+External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | | 0 |
+
+### EKF2_FUSE_BETA (`INT32`) {#EKF2_FUSE_BETA}
+
+Enable synthetic sideslip fusion.
+
+For reliable wind estimation both sideslip and airspeed fusion (see EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported for tailsitters.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### EKF2_GBIAS_INIT (`FLOAT`) {#EKF2_GBIAS_INIT}
+
+1-sigma IMU gyro switch-on bias.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 0.2 | | 0.1 | rad/s
+
+### EKF2_GND_EFF_DZ (`FLOAT`) {#EKF2_GND_EFF_DZ}
+
+Baro deadzone range for height fusion.
+
+Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ > 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | | 4.0 | m
+
+### EKF2_GND_MAX_HGT (`FLOAT`) {#EKF2_GND_MAX_HGT}
+
+Height above ground level for ground effect zone.
+
+Sets the maximum distance to the ground level where negative baro innovations are expected.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 5.0 | | 0.5 | m
+
+### EKF2_GPS_CHECK (`INT32`) {#EKF2_GPS_CHECK}
+
+Integer bitmask controlling GPS checks.
+
+Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
+
+**Bitmask:**
+
+- `0`: Sat count (EKF2_REQ_NSATS)
+- `1`: PDOP (EKF2_REQ_PDOP)
+- `2`: EPH (EKF2_REQ_EPH)
+- `3`: EPV (EKF2_REQ_EPV)
+- `4`: Speed accuracy (EKF2_REQ_SACC)
+- `5`: Horizontal position drift (EKF2_REQ_HDRIFT)
+- `6`: Vertical position drift (EKF2_REQ_VDRIFT)
+- `7`: Horizontal speed offset (EKF2_REQ_HDRIFT)
+- `8`: Vertical speed offset (EKF2_REQ_VDRIFT)
+- `9`: Spoofing
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1023 | | 1023 |
+
+### EKF2_GPS_CTRL (`INT32`) {#EKF2_GPS_CTRL}
+
+GNSS sensor aiding.
+
+Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion
+
+**Bitmask:**
+
+- `0`: Lon/lat
+- `1`: Altitude
+- `2`: 3D velocity
+- `3`: Dual antenna heading
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 15 | | 7 |
+
+### EKF2_GPS_DELAY (`FLOAT`) {#EKF2_GPS_DELAY}
+
+GPS measurement delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 110 | ms
+
+### EKF2_GPS_POS_X (`FLOAT`) {#EKF2_GPS_POS_X}
+
+X position of GPS antenna in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_GPS_POS_Y (`FLOAT`) {#EKF2_GPS_POS_Y}
+
+Y position of GPS antenna in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_GPS_POS_Z (`FLOAT`) {#EKF2_GPS_POS_Z}
+
+Z position of GPS antenna in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_GPS_P_GATE (`FLOAT`) {#EKF2_GPS_P_GATE}
+
+Gate size for GNSS position fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_GPS_P_NOISE (`FLOAT`) {#EKF2_GPS_P_NOISE}
+
+Measurement noise for GNSS position.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 10.0 | | 0.5 | m
+
+### EKF2_GPS_V_GATE (`FLOAT`) {#EKF2_GPS_V_GATE}
+
+Gate size for GNSS velocity fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_GPS_V_NOISE (`FLOAT`) {#EKF2_GPS_V_NOISE}
+
+Measurement noise for GNSS velocity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 5.0 | | 0.3 | m/s
+
+### EKF2_GRAV_NOISE (`FLOAT`) {#EKF2_GRAV_NOISE}
+
+Accelerometer measurement noise for gravity based observations.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10.0 | | 1.0 | g0
+
+### EKF2_GSF_TAS (`FLOAT`) {#EKF2_GSF_TAS}
+
+Default value of true airspeed used in EKF-GSF AHRS calculation.
+
+If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 15.0 | m/s
+
+### EKF2_GYR_B_LIM (`FLOAT`) {#EKF2_GYR_B_LIM}
+
+Gyro bias learning limit.
+
+The ekf gyro bias states will be limited to within a range equivalent to +- of this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.4 | | 0.15 | rad/s
+
+### EKF2_GYR_B_NOISE (`FLOAT`) {#EKF2_GYR_B_NOISE}
+
+Process noise for IMU rate gyro bias prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.01 | | 0.001 | rad/s^2
+
+### EKF2_GYR_NOISE (`FLOAT`) {#EKF2_GYR_NOISE}
+
+Rate gyro noise for covariance prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0001 | 0.1 | | 0.015 | rad/s
+
+### EKF2_HDG_GATE (`FLOAT`) {#EKF2_HDG_GATE}
+
+Gate size for heading fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 2.6 | SD
+
+### EKF2_HEAD_NOISE (`FLOAT`) {#EKF2_HEAD_NOISE}
+
+Measurement noise for magnetic heading fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1.0 | | 0.3 | rad
+
+### EKF2_HGT_REF (`INT32`) {#EKF2_HGT_REF}
+
+Determines the reference source of height data used by the EKF.
+
+When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.
+
+**Values:**
+
+- `0`: Barometric pressure
+- `1`: GPS
+- `2`: Range sensor
+- `3`: Vision
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### EKF2_IMU_CTRL (`INT32`) {#EKF2_IMU_CTRL}
+
+IMU control.
+
+**Bitmask:**
+
+- `0`: Gyro Bias
+- `1`: Accel Bias
+- `2`: Gravity vector fusion
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 7 | | 7 |
+
+### EKF2_IMU_POS_X (`FLOAT`) {#EKF2_IMU_POS_X}
+
+X position of IMU in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_IMU_POS_Y (`FLOAT`) {#EKF2_IMU_POS_Y}
+
+Y position of IMU in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_IMU_POS_Z (`FLOAT`) {#EKF2_IMU_POS_Z}
+
+Z position of IMU in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_LOG_VERBOSE (`INT32`) {#EKF2_LOG_VERBOSE}
+
+Verbose logging.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### EKF2_MAG_ACCLIM (`FLOAT`) {#EKF2_MAG_ACCLIM}
+
+Horizontal acceleration threshold used for heading observability check.
+
+The heading is assumed to be observable when the body acceleration is greater than this parameter when a global position/velocity aiding source is active.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 5.0 | | 0.5 | m/s^2
+
+### EKF2_MAG_B_NOISE (`FLOAT`) {#EKF2_MAG_B_NOISE}
+
+Process noise for body magnetic field prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.1 | | 0.0001 | gauss/s
+
+### EKF2_MAG_CHECK (`INT32`) {#EKF2_MAG_CHECK}
+
+Magnetic field strength test selection.
+
+Bitmask to set which check is used to decide whether the magnetometer data is valid. If GNSS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance. Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Magnetic field strength. Set tolerance using EKF2_MAG_CHK_STR 1 : Magnetic field inclination. Set tolerance using EKF2_MAG_CHK_INC 2 : Wait for GNSS to find the theoretical strength and inclination using the WMM
+
+**Bitmask:**
+
+- `0`: Strength (EKF2_MAG_CHK_STR)
+- `1`: Inclination (EKF2_MAG_CHK_INC)
+- `2`: Wait for WMM
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 7 | | 1 |
+
+### EKF2_MAG_CHK_INC (`FLOAT`) {#EKF2_MAG_CHK_INC}
+
+Magnetic field inclination check tolerance.
+
+Maximum allowed deviation from the expected magnetic field inclination to pass the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 90.0 | | 20.0 | deg
+
+### EKF2_MAG_CHK_STR (`FLOAT`) {#EKF2_MAG_CHK_STR}
+
+Magnetic field strength check tolerance.
+
+Maximum allowed deviation from the expected magnetic field strength to pass the check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | | 0.2 | gauss
+
+### EKF2_MAG_DECL (`FLOAT`) {#EKF2_MAG_DECL}
+
+Magnetic declination.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 | deg
+
+### EKF2_MAG_DELAY (`FLOAT`) {#EKF2_MAG_DELAY}
+
+Magnetometer measurement delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 0 | ms
+
+### EKF2_MAG_E_NOISE (`FLOAT`) {#EKF2_MAG_E_NOISE}
+
+Process noise for earth magnetic field prediction.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.1 | | 0.001 | gauss/s
+
+### EKF2_MAG_GATE (`FLOAT`) {#EKF2_MAG_GATE}
+
+Gate size for magnetometer XYZ component fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 3.0 | SD
+
+### EKF2_MAG_NOISE (`FLOAT`) {#EKF2_MAG_NOISE}
+
+Measurement noise for magnetometer 3-axis fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 1.0 | | 0.05 | gauss
+
+### EKF2_MAG_TYPE (`INT32`) {#EKF2_MAG_TYPE}
+
+Type of magnetometer fusion.
+
+Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GNSS velocity measurements to align the yaw angle. If set to 'Init' the magnetometer is only used to initalize the heading.
+
+**Values:**
+
+- `0`: Automatic
+- `1`: Magnetic heading
+- `5`: None
+- `6`: Init
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### EKF2_MCOEF (`FLOAT`) {#EKF2_MCOEF}
+
+Propeller momentum drag coefficient for multi-rotor wind estimation.
+
+This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1.0 | | 0.15 | 1/s
+
+### EKF2_MIN_RNG (`FLOAT`) {#EKF2_MIN_RNG}
+
+Expected range finder reading when on ground.
+
+If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 0.1 | m
+
+### EKF2_MULTI_IMU (`INT32`) {#EKF2_MULTI_IMU}
+
+Multi-EKF IMUs.
+
+Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 4 | | 0 |
+
+### EKF2_MULTI_MAG (`INT32`) {#EKF2_MULTI_MAG}
+
+Multi-EKF Magnetometers.
+
+Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 4 | | 0 |
+
+### EKF2_NOAID_NOISE (`FLOAT`) {#EKF2_NOAID_NOISE}
+
+Measurement noise for non-aiding position hold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 50.0 | | 10.0 | m
+
+### EKF2_NOAID_TOUT (`INT32`) {#EKF2_NOAID_TOUT}
+
+Maximum inertial dead-reckoning time.
+
+Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 500000 | 10000000 | | 5000000 | us
+
+### EKF2_OF_CTRL (`INT32`) {#EKF2_OF_CTRL}
+
+Optical flow aiding.
+
+Enable optical flow fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### EKF2_OF_DELAY (`FLOAT`) {#EKF2_OF_DELAY}
+
+Optical flow measurement delay relative to IMU measurements.
+
+Assumes measurement is timestamped at trailing edge of integration period
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 20 | ms
+
+### EKF2_OF_GATE (`FLOAT`) {#EKF2_OF_GATE}
+
+Gate size for optical flow fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 3.0 | SD
+
+### EKF2_OF_GYR_SRC (`INT32`) {#EKF2_OF_GYR_SRC}
+
+Optical flow angular rate compensation source.
+
+Auto: use gyro from optical flow message if available, internal gyro otherwise. Internal: always use internal gyro
+
+**Values:**
+
+- `0`: Auto
+- `1`: Internal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### EKF2_OF_N_MAX (`FLOAT`) {#EKF2_OF_N_MAX}
+
+Optical flow maximum noise.
+
+Measurement noise for the optical flow sensor when it's reported quality metric is at the minimum
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | | | 0.5 | rad/s
+
+### EKF2_OF_N_MIN (`FLOAT`) {#EKF2_OF_N_MIN}
+
+Optical flow minimum noise.
+
+Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | | | 0.15 | rad/s
+
+### EKF2_OF_POS_X (`FLOAT`) {#EKF2_OF_POS_X}
+
+X position of optical flow focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_OF_POS_Y (`FLOAT`) {#EKF2_OF_POS_Y}
+
+Y position of optical flow focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_OF_POS_Z (`FLOAT`) {#EKF2_OF_POS_Z}
+
+Z position of optical flow focal point in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_OF_QMIN (`INT32`) {#EKF2_OF_QMIN}
+
+In air optical flow minimum quality.
+
+Optical Flow data will only be used in air if the sensor reports a quality metric >= EKF2_OF_QMIN
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 1 |
+
+### EKF2_OF_QMIN_GND (`INT32`) {#EKF2_OF_QMIN_GND}
+
+On ground optical flow minimum quality.
+
+Optical Flow data will only be used on the ground if the sensor reports a quality metric >= EKF2_OF_QMIN_GND
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 0 |
+
+### EKF2_PCOEF_XN (`FLOAT`) {#EKF2_PCOEF_XN}
+
+Static pressure position error coefficient for the negative X axis.
+
+This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | | 0.0 |
+
+### EKF2_PCOEF_XP (`FLOAT`) {#EKF2_PCOEF_XP}
+
+Static pressure position error coefficient for the positive X axis.
+
+This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | | 0.0 |
+
+### EKF2_PCOEF_YN (`FLOAT`) {#EKF2_PCOEF_YN}
+
+Pressure position error coefficient for the negative Y axis.
+
+This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | | 0.0 |
+
+### EKF2_PCOEF_YP (`FLOAT`) {#EKF2_PCOEF_YP}
+
+Pressure position error coefficient for the positive Y axis.
+
+This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | | 0.0 |
+
+### EKF2_PCOEF_Z (`FLOAT`) {#EKF2_PCOEF_Z}
+
+Static pressure position error coefficient for the Z axis.
+
+This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | | 0.0 |
+
+### EKF2_PREDICT_US (`INT32`) {#EKF2_PREDICT_US}
+
+EKF prediction period.
+
+EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1000 | 20000 | | 10000 | us
+
+### EKF2_REQ_EPH (`FLOAT`) {#EKF2_REQ_EPH}
+
+Required EPH to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 100 | | 3.0 | m
+
+### EKF2_REQ_EPV (`FLOAT`) {#EKF2_REQ_EPV}
+
+Required EPV to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 100 | | 5.0 | m
+
+### EKF2_REQ_GPS_H (`FLOAT`) {#EKF2_REQ_GPS_H}
+
+Required GPS health time on startup.
+
+Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.1 | | | 10.0 | s
+
+### EKF2_REQ_HDRIFT (`FLOAT`) {#EKF2_REQ_HDRIFT}
+
+Maximum horizontal drift speed to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | | 0.1 | m/s
+
+### EKF2_REQ_NSATS (`INT32`) {#EKF2_REQ_NSATS}
+
+Required satellite count to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 4 | 12 | | 6 |
+
+### EKF2_REQ_PDOP (`FLOAT`) {#EKF2_REQ_PDOP}
+
+Maximum PDOP to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.5 | 5.0 | | 2.5 |
+
+### EKF2_REQ_SACC (`FLOAT`) {#EKF2_REQ_SACC}
+
+Required speed accuracy to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 5.0 | | 0.5 | m/s
+
+### EKF2_REQ_VDRIFT (`FLOAT`) {#EKF2_REQ_VDRIFT}
+
+Maximum vertical drift speed to use GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.5 | | 0.2 | m/s
+
+### EKF2_RNG_A_HMAX (`FLOAT`) {#EKF2_RNG_A_HMAX}
+
+Maximum height above ground allowed for conditional range aid mode.
+
+If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10.0 | | 5.0 | m
+
+### EKF2_RNG_A_IGATE (`FLOAT`) {#EKF2_RNG_A_IGATE}
+
+Gate size used for innovation consistency checks for range aid fusion.
+
+A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 5.0 | | 1.0 | SD
+
+### EKF2_RNG_A_VMAX (`FLOAT`) {#EKF2_RNG_A_VMAX}
+
+Maximum horizontal velocity allowed for conditional range aid mode.
+
+If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 2 | | 1.0 | m/s
+
+### EKF2_RNG_CTRL (`INT32`) {#EKF2_RNG_CTRL}
+
+Range sensor height aiding.
+
+WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in "conditional" mode. Conditional mode: This enables the range finder to be used during low speed (< EKF2_RNG_A_VMAX) and low altitude (< EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.
+
+**Values:**
+
+- `0`: Disable range fusion
+- `1`: Enabled (conditional mode)
+- `2`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### EKF2_RNG_DELAY (`FLOAT`) {#EKF2_RNG_DELAY}
+
+Range finder measurement delay relative to IMU measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 300 | | 5 | ms
+
+### EKF2_RNG_GATE (`FLOAT`) {#EKF2_RNG_GATE}
+
+Gate size for range finder fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_RNG_K_GATE (`FLOAT`) {#EKF2_RNG_K_GATE}
+
+Gate size used for range finder kinematic consistency check.
+
+To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 5.0 | | 1.0 | SD
+
+### EKF2_RNG_NOISE (`FLOAT`) {#EKF2_RNG_NOISE}
+
+Measurement noise for range finder fusion.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 0.1 | m
+
+### EKF2_RNG_PITCH (`FLOAT`) {#EKF2_RNG_PITCH}
+
+Range sensor pitch offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.75 | 0.75 | | 0.0 | rad
+
+### EKF2_RNG_POS_X (`FLOAT`) {#EKF2_RNG_POS_X}
+
+X position of range finder origin in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_RNG_POS_Y (`FLOAT`) {#EKF2_RNG_POS_Y}
+
+Y position of range finder origin in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_RNG_POS_Z (`FLOAT`) {#EKF2_RNG_POS_Z}
+
+Z position of range finder origin in body frame.
+
+Forward axis with origin relative to vehicle centre of gravity
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m
+
+### EKF2_RNG_QLTY_T (`FLOAT`) {#EKF2_RNG_QLTY_T}
+
+Minumum range validity period.
+
+Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 5 | | 1.0 | s
+
+### EKF2_RNG_SFE (`FLOAT`) {#EKF2_RNG_SFE}
+
+Range finder range dependent noise scaler.
+
+Specifies the increase in range finder noise with range.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.2 | | 0.05 | m/m
+
+### EKF2_SEL_ERR_RED (`FLOAT`) {#EKF2_SEL_ERR_RED}
+
+Selector error reduce threshold.
+
+EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.2 |
+
+### EKF2_SEL_IMU_ACC (`FLOAT`) {#EKF2_SEL_IMU_ACC}
+
+Selector acceleration threshold.
+
+EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 | m/s^2
+
+### EKF2_SEL_IMU_ANG (`FLOAT`) {#EKF2_SEL_IMU_ANG}
+
+Selector angular threshold.
+
+EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 15.0 | deg
+
+### EKF2_SEL_IMU_RAT (`FLOAT`) {#EKF2_SEL_IMU_RAT}
+
+Selector angular rate threshold.
+
+EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 7.0 | deg/s
+
+### EKF2_SEL_IMU_VEL (`FLOAT`) {#EKF2_SEL_IMU_VEL}
+
+Selector angular threshold.
+
+EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2.0 | m/s
+
+### EKF2_SYNT_MAG_Z (`INT32`) {#EKF2_SYNT_MAG_Z}
+
+Enable synthetic magnetometer Z component measurement.
+
+Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### EKF2_TAS_GATE (`FLOAT`) {#EKF2_TAS_GATE}
+
+Gate size for TAS fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 5.0 | SD
+
+### EKF2_TAU_POS (`FLOAT`) {#EKF2_TAU_POS}
+
+Output predictor position time constant.
+
+Controls how tightly the output track the EKF states
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | | 0.25 | s
+
+### EKF2_TAU_VEL (`FLOAT`) {#EKF2_TAU_VEL}
+
+Time constant of the velocity output prediction and smoothing filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | 1.0 | | 0.25 | s
+
+### EKF2_TERR_GRAD (`FLOAT`) {#EKF2_TERR_GRAD}
+
+Magnitude of terrain gradient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 0.5 | m/m
+
+### EKF2_TERR_NOISE (`FLOAT`) {#EKF2_TERR_NOISE}
+
+Terrain altitude process noise.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | | | 5.0 | m/s
+
+### EKF2_WIND_NSD (`FLOAT`) {#EKF2_WIND_NSD}
+
+Process noise spectral density for wind velocity prediction.
+
+When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | | 0.05 | m/s^2/sqrt(Hz)
+
+## ESC
+
+### ESC_BL_VER (`INT32`) {#ESC_BL_VER}
+
+Required esc bootloader version.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | | 0 |
+
+### ESC_FW_VER (`INT32`) {#ESC_FW_VER}
+
+Required esc firmware version.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | | 0 |
+
+### ESC_HW_VER (`INT32`) {#ESC_HW_VER}
+
+Required esc hardware version.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | | 0 |
+
+## Events
+
+### EV_TSK_RC_LOSS (`INT32`) {#EV_TSK_RC_LOSS}
+
+RC Loss Alarm.
+
+Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### EV_TSK_STAT_DIS (`INT32`) {#EV_TSK_STAT_DIS}
+
+Status Display.
+
+Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+## FW Attitude Control
+
+### FW_MAN_P_MAX (`FLOAT`) {#FW_MAN_P_MAX}
+
+Maximum manual pitch angle.
+
+Applies to both directions in all manual modes with attitude stabilization but without altitude control
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 90.0 | 0.5 | 30.0 | deg
+
+### FW_MAN_R_MAX (`FLOAT`) {#FW_MAN_R_MAX}
+
+Maximum manual roll angle.
+
+Applies to both directions in all manual modes with attitude stabilization
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 90.0 | 0.5 | 45.0 | deg
+
+### FW_MAN_YR_MAX (`FLOAT`) {#FW_MAN_YR_MAX}
+
+Maximum manually added yaw rate.
+
+This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. It is added to the yaw rate setpoint generated by the controller for turn coordination.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.5 | 30. | deg/s
+
+### FW_PSP_OFF (`FLOAT`) {#FW_PSP_OFF}
+
+Pitch setpoint offset (pitch at level flight).
+
+An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | 0.5 | 0.0 | deg
+
+### FW_P_RMAX_NEG (`FLOAT`) {#FW_P_RMAX_NEG}
+
+Maximum negative / down pitch rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 180 | 0.5 | 60.0 | deg/s
+
+### FW_P_RMAX_POS (`FLOAT`) {#FW_P_RMAX_POS}
+
+Maximum positive / up pitch rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 180 | 0.5 | 60.0 | deg/s
+
+### FW_P_TC (`FLOAT`) {#FW_P_TC}
+
+Attitude pitch time constant.
+
+This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.2 | 1.0 | 0.05 | 0.4 | s
+
+### FW_R_RMAX (`FLOAT`) {#FW_R_RMAX}
+
+Maximum roll rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 180 | 0.5 | 70.0 | deg/s
+
+### FW_R_TC (`FLOAT`) {#FW_R_TC}
+
+Attitude Roll Time Constant.
+
+This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.2 | 1.0 | 0.05 | 0.4 | s
+
+### FW_SPOILERS_LND (`FLOAT`) {#FW_SPOILERS_LND}
+
+Spoiler landing setting.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0. | norm
+
+### FW_WR_FF (`FLOAT`) {#FW_WR_FF}
+
+Wheel steering rate feed forward.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.05 | 0.2 | %/rad/s
+
+### FW_WR_I (`FLOAT`) {#FW_WR_I}
+
+Wheel steering rate integrator gain.
+
+This gain defines how much control response will result out of a steady state error. It trims any constant error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.1 | %/rad
+
+### FW_WR_IMAX (`FLOAT`) {#FW_WR_IMAX}
+
+Wheel steering rate integrator limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.05 | 0.4 |
+
+### FW_WR_P (`FLOAT`) {#FW_WR_P}
+
+Wheel steering rate proportional gain.
+
+This defines how much the wheel steering input will be commanded depending on the current body angular rate error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.5 | %/rad/s
+
+### FW_W_EN (`INT32`) {#FW_W_EN}
+
+Enable wheel steering controller.
+
+Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_W_RMAX (`FLOAT`) {#FW_W_RMAX}
+
+Maximum wheel steering rate.
+
+This limits the maximum wheel steering rate the controller will output (in degrees per second).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 90.0 | 0.5 | 30.0 | deg/s
+
+### FW_Y_RMAX (`FLOAT`) {#FW_Y_RMAX}
+
+Maximum yaw rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 180 | 0.5 | 50.0 | deg/s
+
+## FW Auto Landing
+
+### FW_LND_ABORT (`INT32`) {#FW_LND_ABORT}
+
+Bit mask to set the automatic landing abort conditions.
+
+Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)
+
+**Bitmask:**
+
+- `0`: Abort if terrain is not found (only applies to mission landings)
+- `1`: Abort if terrain times out (after a first successful measurement)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 3 |
+
+### FW_LND_AIRSPD (`FLOAT`) {#FW_LND_AIRSPD}
+
+Landing airspeed.
+
+The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | 0.1 | -1. | m/s
+
+### FW_LND_ANG (`FLOAT`) {#FW_LND_ANG}
+
+Maximum landing slope angle.
+
+Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 15.0 | 0.5 | 5.0 | deg
+
+### FW_LND_EARLYCFG (`INT32`) {#FW_LND_EARLYCFG}
+
+Early landing configuration deployment.
+
+Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_LND_FLALT (`FLOAT`) {#FW_LND_FLALT}
+
+Landing flare altitude (relative to landing altitude).
+
+NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.5 | 0.5 | m
+
+### FW_LND_FL_PMAX (`FLOAT`) {#FW_LND_FL_PMAX}
+
+Flare, maximum pitch.
+
+Maximum pitch during landing flare.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 45.0 | 0.5 | 15.0 | deg
+
+### FW_LND_FL_PMIN (`FLOAT`) {#FW_LND_FL_PMIN}
+
+Flare, minimum pitch.
+
+Minimum pitch during landing flare.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -5 | 15.0 | 0.5 | 2.5 | deg
+
+### FW_LND_FL_SINK (`FLOAT`) {#FW_LND_FL_SINK}
+
+Landing flare sink rate.
+
+TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2 | 0.1 | 0.25 | m/s
+
+### FW_LND_FL_TIME (`FLOAT`) {#FW_LND_FL_TIME}
+
+Landing flare time.
+
+Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 5.0 | 0.1 | 1.0 | s
+
+### FW_LND_NUDGE (`INT32`) {#FW_LND_NUDGE}
+
+Landing touchdown nudging option.
+
+Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
+
+**Values:**
+
+- `0`: Disable nudging
+- `1`: Nudge approach angle
+- `2`: Nudge approach path
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 2 |
+
+### FW_LND_TD_OFF (`FLOAT`) {#FW_LND_TD_OFF}
+
+Maximum lateral position offset for the touchdown point.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 1 | 3.0 | m
+
+### FW_LND_TD_TIME (`FLOAT`) {#FW_LND_TD_TIME}
+
+Landing touchdown time (since flare start).
+
+This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 5.0 | 0.1 | -1.0 | s
+
+### FW_LND_THRTC_SC (`FLOAT`) {#FW_LND_THRTC_SC}
+
+Altitude time constant factor for landing.
+
+During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.2 | 1.0 | 0.1 | 1.0 |
+
+### FW_LND_USETER (`INT32`) {#FW_LND_USETER}
+
+Use terrain estimation during landing.
+
+This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
+
+**Values:**
+
+- `0`: Disable the terrain estimate
+- `1`: Use the terrain estimate to trigger the flare (only)
+- `2`: Calculate landing glide slope relative to the terrain estimate
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 1 |
+
+## FW Geometry
+
+### FW_WING_HEIGHT (`FLOAT`) {#FW_WING_HEIGHT}
+
+Height (AGL) of the wings when the aircraft is on the ground.
+
+This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (> 0m)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 1 | 0.5 | m
+
+### FW_WING_SPAN (`FLOAT`) {#FW_WING_SPAN}
+
+The aircraft's wing span (length from tip to tip).
+
+This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | 3.0 | m
+
+## FW Launch detection
+
+### FW_LAUN_AC_T (`FLOAT`) {#FW_LAUN_AC_T}
+
+Trigger time.
+
+Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 5.0 | 0.05 | 0.05 | s
+
+### FW_LAUN_AC_THLD (`FLOAT`) {#FW_LAUN_AC_THLD}
+
+Trigger acceleration threshold.
+
+Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.5 | 30.0 | m/s^2
+
+### FW_LAUN_DETCN_ON (`INT32`) {#FW_LAUN_DETCN_ON}
+
+Fixed-wing launch detection.
+
+Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Not compatible with runway takeoff.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_LAUN_MOT_DEL (`FLOAT`) {#FW_LAUN_MOT_DEL}
+
+Motor delay.
+
+Start the motor(s) this amount of seconds after launch is detected.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.5 | 0.0 | s
+
+## FW NPFG Control
+
+### NPFG_DAMPING (`FLOAT`) {#NPFG_DAMPING}
+
+NPFG damping ratio.
+
+Damping ratio of the NPFG control law.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.10 | 1.00 | 0.01 | 0.7 |
+
+### NPFG_EN_MIN_GSP (`INT32`) {#NPFG_EN_MIN_GSP}
+
+Enable minimum forward ground speed maintaining excess wind handling logic.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### NPFG_GSP_MAX_TK (`FLOAT`) {#NPFG_GSP_MAX_TK}
+
+Maximum, minimum forward ground speed for track keeping in excess wind.
+
+The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.5 | 5.0 | m/s
+
+### NPFG_LB_PERIOD (`INT32`) {#NPFG_LB_PERIOD}
+
+Enable automatic lower bound on the NPFG period.
+
+Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### NPFG_PERIOD (`FLOAT`) {#NPFG_PERIOD}
+
+NPFG period.
+
+Period of the NPFG control law.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 100.0 | 0.1 | 10.0 | s
+
+### NPFG_PERIOD_SF (`FLOAT`) {#NPFG_PERIOD_SF}
+
+Period safety factor.
+
+Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10.0 | 0.1 | 1.5 |
+
+### NPFG_ROLL_TC (`FLOAT`) {#NPFG_ROLL_TC}
+
+Roll time constant.
+
+Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 2.00 | 0.05 | 0.5 | s
+
+### NPFG_SW_DST_MLT (`FLOAT`) {#NPFG_SW_DST_MLT}
+
+NPFG switch distance multiplier.
+
+Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.0 | 0.01 | 0.32 |
+
+### NPFG_TRACK_KEEP (`INT32`) {#NPFG_TRACK_KEEP}
+
+Enable track keeping excess wind handling logic.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### NPFG_UB_PERIOD (`INT32`) {#NPFG_UB_PERIOD}
+
+Enable automatic upper bound on the NPFG period.
+
+Adapts period to maintain track keeping in variable winds and path curvature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### NPFG_WIND_REG (`INT32`) {#NPFG_WIND_REG}
+
+Enable wind excess regulation.
+
+Disabling this parameter further disables all other airspeed incrementation options.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+## FW Path Control
+
+### FW_PN_R_SLEW_MAX (`FLOAT`) {#FW_PN_R_SLEW_MAX}
+
+Path navigation roll slew rate limit.
+
+The maximum change in roll angle setpoint per second. This limit is applied in all Auto modes, plus manual Position and Altitude modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 1 | 90.0 | deg/s
+
+### FW_POS_STK_CONF (`INT32`) {#FW_POS_STK_CONF}
+
+Custom stick configuration.
+
+Applies in manual Position and Altitude flight modes.
+
+**Bitmask:**
+
+- `0`: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+- `1`: Enable airspeed setpoint via sticks in altitude and position flight mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 2 |
+
+### FW_R_LIM (`FLOAT`) {#FW_R_LIM}
+
+Maximum roll angle setpoint.
+
+Applies in any altitude controlled flight mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 35.0 | 65.0 | 0.5 | 50.0 | deg
+
+### FW_TKO_PITCH_MIN (`FLOAT`) {#FW_TKO_PITCH_MIN}
+
+Minimum pitch during takeoff.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -5.0 | 30.0 | 0.5 | 10.0 | deg
+
+## FW Performance
+
+### FW_AIRSPD_MAX (`FLOAT`) {#FW_AIRSPD_MAX}
+
+Maximum Airspeed (CAS).
+
+The maximal airspeed (calibrated airspeed) the user is able to command.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | | 0.5 | 20.0 | m/s
+
+### FW_AIRSPD_MIN (`FLOAT`) {#FW_AIRSPD_MIN}
+
+Minimum Airspeed (CAS).
+
+The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | | 0.5 | 10.0 | m/s
+
+### FW_AIRSPD_STALL (`FLOAT`) {#FW_AIRSPD_STALL}
+
+Stall Airspeed (CAS).
+
+The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | | 0.5 | 7.0 | m/s
+
+### FW_AIRSPD_TRIM (`FLOAT`) {#FW_AIRSPD_TRIM}
+
+Trim (Cruise) Airspeed.
+
+The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve. This value corresponds to the trim airspeed with the default load factor (level flight, default weight).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | | 0.5 | 15.0 | m/s
+
+### FW_SERVICE_CEIL (`FLOAT`) {#FW_SERVICE_CEIL}
+
+Service ceiling.
+
+Altitude in standard atmosphere at which the vehicle in normal configuration (WEIGHT_BASE) is still able to achieve a maximum climb rate of 0.5m/s at maximum throttle (FW_THR_MAX). Used to compensate for air density in FW_T_CLMB_MAX. Set negative to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | 1.0 | -1.0 | m
+
+### FW_THR_ASPD_MAX (`FLOAT`) {#FW_THR_ASPD_MAX}
+
+Throttle at max airspeed.
+
+Required throttle (at sea level, standard atmosphere) for level flight at maximum airspeed FW_AIRSPD_MAX Set to 0 to disable mapping of airspeed to trim throttle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0. |
+
+### FW_THR_ASPD_MIN (`FLOAT`) {#FW_THR_ASPD_MIN}
+
+Throttle at min airspeed.
+
+Required throttle (at sea level, standard atmosphere) for level flight at minimum airspeed FW_AIRSPD_MIN Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0. |
+
+### FW_THR_TRIM (`FLOAT`) {#FW_THR_TRIM}
+
+Trim throttle.
+
+Required throttle (at sea level, standard atmosphere) for level flight at FW_AIRSPD_TRIM
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.6 | norm
+
+### FW_T_CLMB_MAX (`FLOAT`) {#FW_T_CLMB_MAX}
+
+Maximum climb rate.
+
+This is the maximum calibrated climb rate that the aircraft can achieve with the throttle set to FW_THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 15.0 | 0.5 | 5.0 | m/s
+
+### FW_T_SINK_MIN (`FLOAT`) {#FW_T_SINK_MIN}
+
+Minimum descent rate.
+
+This is the minimum calibrated sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 5.0 | 0.5 | 2.0 | m/s
+
+### WEIGHT_BASE (`FLOAT`) {#WEIGHT_BASE}
+
+Vehicle base weight.
+
+This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.5 | -1.0 | kg
+
+### WEIGHT_GROSS (`FLOAT`) {#WEIGHT_GROSS}
+
+Vehicle gross weight.
+
+This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.1 | -1.0 | kg
+
+## FW Rate Control
+
+### FW_ACRO_X_MAX (`FLOAT`) {#FW_ACRO_X_MAX}
+
+Acro body roll max rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 720 | | 90 | deg
+
+### FW_ACRO_YAW_EN (`INT32`) {#FW_ACRO_YAW_EN}
+
+Enable yaw rate controller in Acro.
+
+If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_ACRO_Y_MAX (`FLOAT`) {#FW_ACRO_Y_MAX}
+
+Acro body pitch max rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 720 | | 90 | deg
+
+### FW_ACRO_Z_MAX (`FLOAT`) {#FW_ACRO_Z_MAX}
+
+Acro body yaw max rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 720 | | 45 | deg
+
+### FW_ARSP_SCALE_EN (`INT32`) {#FW_ARSP_SCALE_EN}
+
+Enable airspeed scaling.
+
+This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### FW_BAT_SCALE_EN (`INT32`) {#FW_BAT_SCALE_EN}
+
+Enable throttle scale by battery level.
+
+This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### FW_DTRIM_P_VMAX (`FLOAT`) {#FW_DTRIM_P_VMAX}
+
+Pitch trim increment at maximum airspeed.
+
+This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_DTRIM_P_VMIN (`FLOAT`) {#FW_DTRIM_P_VMIN}
+
+Pitch trim increment at minimum airspeed.
+
+This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_DTRIM_R_VMAX (`FLOAT`) {#FW_DTRIM_R_VMAX}
+
+Roll trim increment at maximum airspeed.
+
+This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_DTRIM_R_VMIN (`FLOAT`) {#FW_DTRIM_R_VMIN}
+
+Roll trim increment at minimum airspeed.
+
+This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_DTRIM_Y_VMAX (`FLOAT`) {#FW_DTRIM_Y_VMAX}
+
+Yaw trim increment at maximum airspeed.
+
+This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_DTRIM_Y_VMIN (`FLOAT`) {#FW_DTRIM_Y_VMIN}
+
+Yaw trim increment at minimum airspeed.
+
+This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### FW_FLAPS_LND_SCL (`FLOAT`) {#FW_FLAPS_LND_SCL}
+
+Flaps setting during landing.
+
+Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 | norm
+
+### FW_FLAPS_TO_SCL (`FLOAT`) {#FW_FLAPS_TO_SCL}
+
+Flaps setting during take-off.
+
+Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.0 | norm
+
+### FW_MAN_P_SC (`FLOAT`) {#FW_MAN_P_SC}
+
+Manual pitch scale.
+
+Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 1.0 | norm
+
+### FW_MAN_R_SC (`FLOAT`) {#FW_MAN_R_SC}
+
+Manual roll scale.
+
+Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 | norm
+
+### FW_MAN_Y_SC (`FLOAT`) {#FW_MAN_Y_SC}
+
+Manual yaw scale.
+
+Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 1.0 | norm
+
+### FW_PR_D (`FLOAT`) {#FW_PR_D}
+
+Pitch rate derivative gain.
+
+Pitch rate differential gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0. | %/rad/s
+
+### FW_PR_FF (`FLOAT`) {#FW_PR_FF}
+
+Pitch rate feed forward.
+
+Direct feed forward from rate setpoint to control surface output
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.05 | 0.5 | %/rad/s
+
+### FW_PR_I (`FLOAT`) {#FW_PR_I}
+
+Pitch rate integrator gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.1 | %/rad
+
+### FW_PR_IMAX (`FLOAT`) {#FW_PR_IMAX}
+
+Pitch rate integrator limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.05 | 0.4 |
+
+### FW_PR_P (`FLOAT`) {#FW_PR_P}
+
+Pitch rate proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.08 | %/rad/s
+
+### FW_RLL_TO_YAW_FF (`FLOAT`) {#FW_RLL_TO_YAW_FF}
+
+Roll control to yaw control feedforward gain.
+
+This gain can be used to counteract the "adverse yaw" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.0 |
+
+### FW_RR_D (`FLOAT`) {#FW_RR_D}
+
+Roll rate derivative gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.0 | %/rad/s
+
+### FW_RR_FF (`FLOAT`) {#FW_RR_FF}
+
+Roll rate feed forward.
+
+Direct feed forward from rate setpoint to control surface output.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.05 | 0.5 | %/rad/s
+
+### FW_RR_I (`FLOAT`) {#FW_RR_I}
+
+Roll rate integrator gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.01 | 0.1 | %/rad
+
+### FW_RR_IMAX (`FLOAT`) {#FW_RR_IMAX}
+
+Roll integrator limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.05 | 0.2 |
+
+### FW_RR_P (`FLOAT`) {#FW_RR_P}
+
+Roll rate proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.05 | %/rad/s
+
+### FW_SPOILERS_MAN (`INT32`) {#FW_SPOILERS_MAN}
+
+Spoiler input in manual flight.
+
+Chose source for manual setting of spoilers in manual flight modes.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Flaps channel
+- `2`: Aux1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### FW_USE_AIRSPD (`INT32`) {#FW_USE_AIRSPD}
+
+Use airspeed for control.
+
+If set to 1, the airspeed measurement data, if valid, is used in the following controllers: - Rate controller: output scaling - Attitude controller: coordinated turn controller - Position controller: airspeed setpoint tracking, takeoff logic - VTOL: transition logic
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### FW_YR_D (`FLOAT`) {#FW_YR_D}
+
+Yaw rate derivative gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.0 | %/rad/s
+
+### FW_YR_FF (`FLOAT`) {#FW_YR_FF}
+
+Yaw rate feed forward.
+
+Direct feed forward from rate setpoint to control surface output
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.05 | 0.3 | %/rad/s
+
+### FW_YR_I (`FLOAT`) {#FW_YR_I}
+
+Yaw rate integrator gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.5 | 0.1 | %/rad
+
+### FW_YR_IMAX (`FLOAT`) {#FW_YR_IMAX}
+
+Yaw rate integrator limit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.05 | 0.2 |
+
+### FW_YR_P (`FLOAT`) {#FW_YR_P}
+
+Yaw rate proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.005 | 0.05 | %/rad/s
+
+## FW TECS
+
+### FW_GND_SPD_MIN (`FLOAT`) {#FW_GND_SPD_MIN}
+
+Minimum groundspeed.
+
+The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 40 | 0.5 | 5.0 | m/s
+
+### FW_P_LIM_MAX (`FLOAT`) {#FW_P_LIM_MAX}
+
+Maximum pitch angle setpoint.
+
+Applies in any altitude controlled flight mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 60.0 | 0.5 | 30.0 | deg
+
+### FW_P_LIM_MIN (`FLOAT`) {#FW_P_LIM_MIN}
+
+Minimum pitch angle setpoint.
+
+Applies in any altitude controlled flight mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -60.0 | 0.0 | 0.5 | -30.0 | deg
+
+### FW_THR_IDLE (`FLOAT`) {#FW_THR_IDLE}
+
+Idle throttle.
+
+This is the minimum throttle while on the ground ("landed") in auto modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.4 | 0.01 | 0.0 | norm
+
+### FW_THR_MAX (`FLOAT`) {#FW_THR_MAX}
+
+Throttle limit max.
+
+Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 | norm
+
+### FW_THR_MIN (`FLOAT`) {#FW_THR_MIN}
+
+Throttle limit min.
+
+Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.0 | norm
+
+### FW_THR_SLEW_MAX (`FLOAT`) {#FW_THR_SLEW_MAX}
+
+Throttle max slew rate.
+
+Maximum slew rate for the commanded throttle
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.0 |
+
+### FW_TKO_AIRSPD (`FLOAT`) {#FW_TKO_AIRSPD}
+
+Takeoff Airspeed.
+
+The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | 0.1 | -1.0 | m/s
+
+### FW_T_ALT_TC (`FLOAT`) {#FW_T_ALT_TC}
+
+Altitude error time constant.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2.0 | | 0.5 | 5.0 |
+
+### FW_T_CLMB_R_SP (`FLOAT`) {#FW_T_CLMB_R_SP}
+
+Default target climbrate.
+
+In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 15 | 0.01 | 3.0 | m/s
+
+### FW_T_F_ALT_ERR (`FLOAT`) {#FW_T_F_ALT_ERR}
+
+Fast descend: minimum altitude error.
+
+Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | | -1.0 |
+
+### FW_T_HRATE_FF (`FLOAT`) {#FW_T_HRATE_FF}
+
+Height rate feed forward.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.05 | 0.3 |
+
+### FW_T_I_GAIN_PIT (`FLOAT`) {#FW_T_I_GAIN_PIT}
+
+Integrator gain pitch.
+
+Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.05 | 0.1 |
+
+### FW_T_PTCH_DAMP (`FLOAT`) {#FW_T_PTCH_DAMP}
+
+Pitch damping gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.1 | 0.1 |
+
+### FW_T_RLL2THR (`FLOAT`) {#FW_T_RLL2THR}
+
+Roll -> Throttle feedforward.
+
+Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 20.0 | 0.5 | 15.0 |
+
+### FW_T_SEB_R_FF (`FLOAT`) {#FW_T_SEB_R_FF}
+
+Specific total energy balance rate feedforward gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 3 | 0.01 | 1.0 |
+
+### FW_T_SINK_MAX (`FLOAT`) {#FW_T_SINK_MAX}
+
+Maximum descent rate.
+
+This sets the maximum descent rate that the controller will use.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 15.0 | 0.5 | 5.0 | m/s
+
+### FW_T_SINK_R_SP (`FLOAT`) {#FW_T_SINK_R_SP}
+
+Default target sinkrate.
+
+In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 15 | 0.01 | 2.0 | m/s
+
+### FW_T_SPDWEIGHT (`FLOAT`) {#FW_T_SPDWEIGHT}
+
+Speed <--> Altitude priority.
+
+Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 1.0 | 1.0 |
+
+### FW_T_SPD_DEV_STD (`FLOAT`) {#FW_T_SPD_DEV_STD}
+
+Airspeed rate measurement standard deviation.
+
+For the airspeed filter in TECS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 10.0 | 0.1 | 0.2 | m/s^2
+
+### FW_T_SPD_PRC_STD (`FLOAT`) {#FW_T_SPD_PRC_STD}
+
+Process noise standard deviation for the airspeed rate.
+
+This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 10.0 | 0.1 | 0.2 | m/s^2
+
+### FW_T_SPD_STD (`FLOAT`) {#FW_T_SPD_STD}
+
+Airspeed measurement standard deviation.
+
+For the airspeed filter in TECS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 10.0 | 0.1 | 0.07 | m/s
+
+### FW_T_STE_R_TC (`FLOAT`) {#FW_T_STE_R_TC}
+
+Specific total energy rate first order filter time constant.
+
+This filter is applied to the specific total energy rate used for throttle damping.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2 | 0.01 | 0.4 |
+
+### FW_T_TAS_TC (`FLOAT`) {#FW_T_TAS_TC}
+
+True airspeed error time constant.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2.0 | | 0.5 | 5.0 |
+
+### FW_T_THR_DAMPING (`FLOAT`) {#FW_T_THR_DAMPING}
+
+Throttle damping factor.
+
+This is the damping gain for the throttle demand loop.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.05 |
+
+### FW_T_THR_INTEG (`FLOAT`) {#FW_T_THR_INTEG}
+
+Integrator gain throttle.
+
+Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.005 | 0.02 |
+
+### FW_T_VERT_ACC (`FLOAT`) {#FW_T_VERT_ACC}
+
+Maximum vertical acceleration.
+
+This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10.0 | 0.5 | 7.0 | m/s^2
+
+### FW_WIND_ARSP_SC (`FLOAT`) {#FW_WIND_ARSP_SC}
+
+Wind-based airspeed scaling factor.
+
+Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.01 | 0. |
+
+## Failure Detector
+
+### FD_ACT_EN (`INT32`) {#FD_ACT_EN}
+
+Enable Actuator Failure check.
+
+If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### FD_ACT_MOT_C2T (`FLOAT`) {#FD_ACT_MOT_C2T}
+
+Motor Failure Current/Throttle Threshold.
+
+Motor failure triggers only below this current value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 50.0 | 1 | 2.0 | A/%
+
+### FD_ACT_MOT_THR (`FLOAT`) {#FD_ACT_MOT_THR}
+
+Motor Failure Throttle Threshold.
+
+Motor failure triggers only above this throttle value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.2 | norm
+
+### FD_ACT_MOT_TOUT (`INT32`) {#FD_ACT_MOT_TOUT}
+
+Motor Failure Time Threshold.
+
+Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 10000 | 100 | 100 | ms
+
+### FD_ESCS_EN (`INT32`) {#FD_ESCS_EN}
+
+Enable checks on ESCs that report their arming state.
+
+If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### FD_EXT_ATS_EN (`INT32`) {#FD_EXT_ATS_EN}
+
+Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS).
+
+Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### FD_EXT_ATS_TRIG (`INT32`) {#FD_EXT_ATS_TRIG}
+
+The PWM threshold from external automatic trigger system for engaging failsafe.
+
+External ATS is required by ASTM F3322-18.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1900 | us
+
+### FD_FAIL_P (`INT32`) {#FD_FAIL_P}
+
+FailureDetector Max Pitch.
+
+Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 180 | | 60 | deg
+
+### FD_FAIL_P_TTRI (`FLOAT`) {#FD_FAIL_P_TTRI}
+
+Pitch failure trigger time.
+
+Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.02 | 5 | | 0.3 | s
+
+### FD_FAIL_R (`INT32`) {#FD_FAIL_R}
+
+FailureDetector Max Roll.
+
+Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 180 | | 60 | deg
+
+### FD_FAIL_R_TTRI (`FLOAT`) {#FD_FAIL_R_TTRI}
+
+Roll failure trigger time.
+
+Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.02 | 5 | | 0.3 | s
+
+### FD_IMB_PROP_THR (`INT32`) {#FD_IMB_PROP_THR}
+
+Imbalanced propeller check threshold.
+
+Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1000 | 1 | 30 |
+
+## Flight Task Orbit
+
+### MC_ORBIT_RAD_MAX (`FLOAT`) {#MC_ORBIT_RAD_MAX}
+
+Maximum radius of orbit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10000.0 | 0.5 | 1000.0 | m
+
+### MC_ORBIT_YAW_MOD (`INT32`) {#MC_ORBIT_YAW_MOD}
+
+Yaw behaviour during orbit flight.
+
+**Values:**
+
+- `0`: Front to Circle Center
+- `1`: Hold Initial Heading
+- `2`: Uncontrolled
+- `3`: Hold Front Tangent to Circle
+- `4`: RC Controlled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+## Follow target
+
+### FLW_TGT_ALT_M (`INT32`) {#FLW_TGT_ALT_M}
+
+Altitude control mode.
+
+Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.
+
+**Values:**
+
+- `0`: 2D Tracking: Maintain constant altitude relative to home and track XY position only
+- `1`: 2D + Terrain: Maintain constant altitude relative to terrain below and track XY position
+- `2`: 3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### FLW_TGT_DST (`FLOAT`) {#FLW_TGT_DST}
+
+Distance to follow target from.
+
+The distance in meters to follow the target at
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 8.0 | m
+
+### FLW_TGT_FA (`FLOAT`) {#FLW_TGT_FA}
+
+Follow Angle setting in degrees.
+
+Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -> 120) in the range to gracefully handle the out of range.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180.0 | 180.0 | | 180.0 |
+
+### FLW_TGT_HT (`FLOAT`) {#FLW_TGT_HT}
+
+Follow target height.
+
+Following height above the target
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 8.0 | | | 8.0 | m
+
+### FLW_TGT_MAX_VEL (`FLOAT`) {#FLW_TGT_MAX_VEL}
+
+Maximum tangential velocity setting for generating the follow orbit trajectory.
+
+This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 20.0 | | 5.0 |
+
+### FLW_TGT_RS (`FLOAT`) {#FLW_TGT_RS}
+
+Responsiveness to target movement in Target Estimator.
+
+lower values increase the responsiveness to changing position, but also ignore less noise
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | | 0.1 |
+
+## GPS
+
+### GPS_1_CONFIG (`INT32`) {#GPS_1_CONFIG}
+
+Serial Configuration for Main GPS.
+
+Configure on which serial port to run Main GPS.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 201 |
+
+### GPS_1_GNSS (`INT32`) {#GPS_1_GNSS}
+
+GNSS Systems for Primary GPS (integer bitmask).
+
+This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC
+
+**Bitmask:**
+
+- `0`: GPS (with QZSS)
+- `1`: SBAS
+- `2`: Galileo
+- `3`: BeiDou
+- `4`: GLONASS
+- `5`: NAVIC
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 63 | | 0 |
+
+### GPS_1_PROTOCOL (`INT32`) {#GPS_1_PROTOCOL}
+
+Protocol for Main GPS.
+
+Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
+
+**Values:**
+
+- `0`: Auto detect
+- `1`: u-blox
+- `2`: MTK
+- `3`: Ashtech / Trimble
+- `4`: Emlid Reach
+- `5`: Femtomes
+- `6`: NMEA (generic)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 1 |
+
+### GPS_2_CONFIG (`INT32`) {#GPS_2_CONFIG}
+
+Serial Configuration for Secondary GPS.
+
+Configure on which serial port to run Secondary GPS.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### GPS_2_GNSS (`INT32`) {#GPS_2_GNSS}
+
+GNSS Systems for Secondary GPS (integer bitmask).
+
+This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC
+
+**Bitmask:**
+
+- `0`: GPS (with QZSS)
+- `1`: SBAS
+- `2`: Galileo
+- `3`: BeiDou
+- `4`: GLONASS
+- `5`: NAVIC
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 63 | | 0 |
+
+### GPS_2_PROTOCOL (`INT32`) {#GPS_2_PROTOCOL}
+
+Protocol for Secondary GPS.
+
+Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
+
+**Values:**
+
+- `0`: Auto detect
+- `1`: u-blox
+- `2`: MTK
+- `3`: Ashtech / Trimble
+- `4`: Emlid Reach
+- `5`: Femtomes
+- `6`: NMEA (generic)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 6 | | 1 |
+
+### GPS_DUMP_COMM (`INT32`) {#GPS_DUMP_COMM}
+
+Log GPS communication data.
+
+If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.
+
+**Values:**
+
+- `0`: Disable
+- `1`: Full communication
+- `2`: RTCM output (PPK)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 0 |
+
+### GPS_SAT_INFO (`INT32`) {#GPS_SAT_INFO}
+
+Enable sat info (if available).
+
+Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### GPS_UBX_BAUD2 (`INT32`) {#GPS_UBX_BAUD2}
+
+u-blox F9P UART2 Baudrate.
+
+Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | | | 230400 | B/s
+
+### GPS_UBX_CFG_INTF (`INT32`) {#GPS_UBX_CFG_INTF}
+
+u-blox protocol configuration for interfaces.
+
+**Bitmask:**
+
+- `0`: Enable I2C input protocol UBX
+- `1`: Enable I2C input protocol NMEA
+- `2`: Enable I2C input protocol RTCM3X
+- `3`: Enable I2C output protocol UBX
+- `4`: Enable I2C output protocol NMEA
+- `5`: Enable I2C output protocol RTCM3X
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 32 | | 0 |
+
+### GPS_UBX_DYNMODEL (`INT32`) {#GPS_UBX_DYNMODEL}
+
+u-blox GPS dynamic platform model.
+
+u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.
+
+**Values:**
+
+- `2`: stationary
+- `4`: automotive
+- `6`: airborne with <1g acceleration
+- `7`: airborne with <2g acceleration
+- `8`: airborne with <4g acceleration
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 9 | | 7 |
+
+### GPS_UBX_MODE (`INT32`) {#GPS_UBX_MODE}
+
+u-blox GPS Mode.
+
+Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.
+
+**Values:**
+
+- `0`: Default
+- `1`: Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)
+- `2`: Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)
+- `3`: Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
+- `4`: Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)
+- `5`: Rover with Static Base on UART2 (similar to Default, except coming in on UART2)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### GPS_YAW_OFFSET (`FLOAT`) {#GPS_YAW_OFFSET}
+
+Heading/Yaw offset for dual antenna GPS.
+
+Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary, or Septentrio Mosaic Aux) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 360 | | 0. | deg
+
+### PPS_CAP_ENABLE (`INT32`) {#PPS_CAP_ENABLE}
+
+PPS Capture Enable.
+
+Enables the PPS capture module. This switches mode of FMU channel 7 to be the PPS input channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+## Geofence
+
+### GF_ACTION (`INT32`) {#GF_ACTION}
+
+Geofence violation action.
+
+Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
+
+**Values:**
+
+- `0`: None
+- `1`: Warning
+- `2`: Hold mode
+- `3`: Return mode
+- `4`: Terminate
+- `5`: Land mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 5 | | 2 |
+
+### GF_MAX_HOR_DIST (`FLOAT`) {#GF_MAX_HOR_DIST}
+
+Max horizontal distance from Home.
+
+Maximum horizontal distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10000 | 1 | 0.0 | m
+
+### GF_MAX_VER_DIST (`FLOAT`) {#GF_MAX_VER_DIST}
+
+Max vertical distance from Home.
+
+Maximum vertical distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10000 | 1 | 0.0 | m
+
+### GF_PREDICT (`INT32`) {#GF_PREDICT}
+
+[EXPERIMENTAL] Use Pre-emptive geofence triggering.
+
+WARNING: This experimental feature may cause flyaways. Use at your own risk. Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### GF_SOURCE (`INT32`) {#GF_SOURCE}
+
+Geofence source.
+
+Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
+
+**Values:**
+
+- `0`: GPOS
+- `1`: GPS
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+## Geometry
+
+### CA_AIRFRAME (`INT32`) {#CA_AIRFRAME}
+
+Airframe selection.
+
+Defines which mixer implementation to use. Some are generic, while others are specifically fit to a certain vehicle with a fixed set of actuators. 'Custom' should only be used if noting else can be used.
+
+**Values:**
+
+- `0`: Multirotor
+- `1`: Fixed-wing
+- `2`: Standard VTOL
+- `3`: Tiltrotor VTOL
+- `4`: Tailsitter VTOL
+- `5`: Rover (Ackermann)
+- `6`: Rover (Differential)
+- `7`: Motors (6DOF)
+- `8`: Multirotor with Tilt
+- `9`: Custom
+- `10`: Helicopter (tail ESC)
+- `11`: Helicopter (tail Servo)
+- `12`: Helicopter (Coaxial)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_FAILURE_MODE (`INT32`) {#CA_FAILURE_MODE}
+
+Motor failure handling mode.
+
+This is used to specify how to handle motor failures reported by failure detector.
+
+**Values:**
+
+- `0`: Ignore
+- `1`: Remove first failed motor from effectiveness
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_HELI_PITCH_C0 (`FLOAT`) {#CA_HELI_PITCH_C0}
+
+Collective pitch curve at position 0.
+
+Defines the collective pitch at the interval position 0 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | -0.05 |
+
+### CA_HELI_PITCH_C1 (`FLOAT`) {#CA_HELI_PITCH_C1}
+
+Collective pitch curve at position 1.
+
+Defines the collective pitch at the interval position 1 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | 0.0725 |
+
+### CA_HELI_PITCH_C2 (`FLOAT`) {#CA_HELI_PITCH_C2}
+
+Collective pitch curve at position 2.
+
+Defines the collective pitch at the interval position 2 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | 0.2 |
+
+### CA_HELI_PITCH_C3 (`FLOAT`) {#CA_HELI_PITCH_C3}
+
+Collective pitch curve at position 3.
+
+Defines the collective pitch at the interval position 3 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | 0.325 |
+
+### CA_HELI_PITCH_C4 (`FLOAT`) {#CA_HELI_PITCH_C4}
+
+Collective pitch curve at position 4.
+
+Defines the collective pitch at the interval position 4 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | 0.45 |
+
+### CA_HELI_THR_C0 (`FLOAT`) {#CA_HELI_THR_C0}
+
+Throttle curve at position 0.
+
+Defines the output throttle at the interval position 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.1 | 1 |
+
+### CA_HELI_THR_C1 (`FLOAT`) {#CA_HELI_THR_C1}
+
+Throttle curve at position 1.
+
+Defines the output throttle at the interval position 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.1 | 1 |
+
+### CA_HELI_THR_C2 (`FLOAT`) {#CA_HELI_THR_C2}
+
+Throttle curve at position 2.
+
+Defines the output throttle at the interval position 2.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.1 | 1 |
+
+### CA_HELI_THR_C3 (`FLOAT`) {#CA_HELI_THR_C3}
+
+Throttle curve at position 3.
+
+Defines the output throttle at the interval position 3.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.1 | 1 |
+
+### CA_HELI_THR_C4 (`FLOAT`) {#CA_HELI_THR_C4}
+
+Throttle curve at position 4.
+
+Defines the output throttle at the interval position 4.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.1 | 1 |
+
+### CA_HELI_YAW_CCW (`INT32`) {#CA_HELI_YAW_CCW}
+
+Main rotor turns counter-clockwise.
+
+Default configuration is for a clockwise turning main rotor and positive thrust of the tail rotor is expected to rotate the vehicle clockwise. Set this parameter to true if the tail rotor provides thrust in counter-clockwise direction which is mostly the case when the main rotor turns counter-clockwise.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### CA_HELI_YAW_CP_O (`FLOAT`) {#CA_HELI_YAW_CP_O}
+
+Offset for yaw compensation based on collective pitch.
+
+This allows to specify which collective pitch command results in the least amount of rotor drag. This is used to increase the accuracy of the yaw drag torque compensation based on collective pitch by aligning the lowest rotor drag with zero compensation. For symmetric profile blades this is the command that results in exactly 0° collective blade angle. For lift profile blades this is typically a command resulting in slightly negative collective blade angle. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -2 | 2 | 0.1 | 0.0 |
+
+### CA_HELI_YAW_CP_S (`FLOAT`) {#CA_HELI_YAW_CP_S}
+
+Scale for yaw compensation based on collective pitch.
+
+This allows to add a proportional factor of the collective pitch command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -2 | 2 | 0.1 | 0.0 |
+
+### CA_HELI_YAW_TH_S (`FLOAT`) {#CA_HELI_YAW_TH_S}
+
+Scale for yaw compensation based on throttle.
+
+This allows to add a proportional factor of the throttle command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_TH_S * throttle
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -2 | 2 | 0.1 | 0.0 |
+
+### CA_METHOD (`INT32`) {#CA_METHOD}
+
+Control allocation method.
+
+Selects the algorithm and desaturation method. If set to Automtic, the selection is based on the airframe (CA_AIRFRAME).
+
+**Values:**
+
+- `0`: Pseudo-inverse with output clipping
+- `1`: Pseudo-inverse with sequential desaturation technique
+- `2`: Automatic
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### CA_R0_SLEW (`FLOAT`) {#CA_R0_SLEW}
+
+Motor 0 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R10_SLEW (`FLOAT`) {#CA_R10_SLEW}
+
+Motor 10 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R11_SLEW (`FLOAT`) {#CA_R11_SLEW}
+
+Motor 11 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R1_SLEW (`FLOAT`) {#CA_R1_SLEW}
+
+Motor 1 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R2_SLEW (`FLOAT`) {#CA_R2_SLEW}
+
+Motor 2 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R3_SLEW (`FLOAT`) {#CA_R3_SLEW}
+
+Motor 3 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R4_SLEW (`FLOAT`) {#CA_R4_SLEW}
+
+Motor 4 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R5_SLEW (`FLOAT`) {#CA_R5_SLEW}
+
+Motor 5 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R6_SLEW (`FLOAT`) {#CA_R6_SLEW}
+
+Motor 6 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R7_SLEW (`FLOAT`) {#CA_R7_SLEW}
+
+Motor 7 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R8_SLEW (`FLOAT`) {#CA_R8_SLEW}
+
+Motor 8 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_R9_SLEW (`FLOAT`) {#CA_R9_SLEW}
+
+Motor 9 slew rate limit.
+
+Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.01 | 0.0 |
+
+### CA_ROTOR0_AX (`FLOAT`) {#CA_ROTOR0_AX}
+
+Axis of rotor 0 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR0_AY (`FLOAT`) {#CA_ROTOR0_AY}
+
+Axis of rotor 0 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR0_AZ (`FLOAT`) {#CA_ROTOR0_AZ}
+
+Axis of rotor 0 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR0_CT (`FLOAT`) {#CA_ROTOR0_CT}
+
+Thrust coefficient of rotor 0.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR0_KM (`FLOAT`) {#CA_ROTOR0_KM}
+
+Moment coefficient of rotor 0.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR0_PX (`FLOAT`) {#CA_ROTOR0_PX}
+
+Position of rotor 0 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR0_PY (`FLOAT`) {#CA_ROTOR0_PY}
+
+Position of rotor 0 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR0_PZ (`FLOAT`) {#CA_ROTOR0_PZ}
+
+Position of rotor 0 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR0_TILT (`INT32`) {#CA_ROTOR0_TILT}
+
+Rotor 0 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR10_AX (`FLOAT`) {#CA_ROTOR10_AX}
+
+Axis of rotor 10 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR10_AY (`FLOAT`) {#CA_ROTOR10_AY}
+
+Axis of rotor 10 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR10_AZ (`FLOAT`) {#CA_ROTOR10_AZ}
+
+Axis of rotor 10 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR10_CT (`FLOAT`) {#CA_ROTOR10_CT}
+
+Thrust coefficient of rotor 10.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR10_KM (`FLOAT`) {#CA_ROTOR10_KM}
+
+Moment coefficient of rotor 10.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR10_PX (`FLOAT`) {#CA_ROTOR10_PX}
+
+Position of rotor 10 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR10_PY (`FLOAT`) {#CA_ROTOR10_PY}
+
+Position of rotor 10 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR10_PZ (`FLOAT`) {#CA_ROTOR10_PZ}
+
+Position of rotor 10 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR10_TILT (`INT32`) {#CA_ROTOR10_TILT}
+
+Rotor 10 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR11_AX (`FLOAT`) {#CA_ROTOR11_AX}
+
+Axis of rotor 11 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR11_AY (`FLOAT`) {#CA_ROTOR11_AY}
+
+Axis of rotor 11 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR11_AZ (`FLOAT`) {#CA_ROTOR11_AZ}
+
+Axis of rotor 11 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR11_CT (`FLOAT`) {#CA_ROTOR11_CT}
+
+Thrust coefficient of rotor 11.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR11_KM (`FLOAT`) {#CA_ROTOR11_KM}
+
+Moment coefficient of rotor 11.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR11_PX (`FLOAT`) {#CA_ROTOR11_PX}
+
+Position of rotor 11 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR11_PY (`FLOAT`) {#CA_ROTOR11_PY}
+
+Position of rotor 11 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR11_PZ (`FLOAT`) {#CA_ROTOR11_PZ}
+
+Position of rotor 11 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR11_TILT (`INT32`) {#CA_ROTOR11_TILT}
+
+Rotor 11 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR1_AX (`FLOAT`) {#CA_ROTOR1_AX}
+
+Axis of rotor 1 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR1_AY (`FLOAT`) {#CA_ROTOR1_AY}
+
+Axis of rotor 1 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR1_AZ (`FLOAT`) {#CA_ROTOR1_AZ}
+
+Axis of rotor 1 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR1_CT (`FLOAT`) {#CA_ROTOR1_CT}
+
+Thrust coefficient of rotor 1.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR1_KM (`FLOAT`) {#CA_ROTOR1_KM}
+
+Moment coefficient of rotor 1.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR1_PX (`FLOAT`) {#CA_ROTOR1_PX}
+
+Position of rotor 1 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR1_PY (`FLOAT`) {#CA_ROTOR1_PY}
+
+Position of rotor 1 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR1_PZ (`FLOAT`) {#CA_ROTOR1_PZ}
+
+Position of rotor 1 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR1_TILT (`INT32`) {#CA_ROTOR1_TILT}
+
+Rotor 1 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR2_AX (`FLOAT`) {#CA_ROTOR2_AX}
+
+Axis of rotor 2 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR2_AY (`FLOAT`) {#CA_ROTOR2_AY}
+
+Axis of rotor 2 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR2_AZ (`FLOAT`) {#CA_ROTOR2_AZ}
+
+Axis of rotor 2 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR2_CT (`FLOAT`) {#CA_ROTOR2_CT}
+
+Thrust coefficient of rotor 2.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR2_KM (`FLOAT`) {#CA_ROTOR2_KM}
+
+Moment coefficient of rotor 2.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR2_PX (`FLOAT`) {#CA_ROTOR2_PX}
+
+Position of rotor 2 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR2_PY (`FLOAT`) {#CA_ROTOR2_PY}
+
+Position of rotor 2 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR2_PZ (`FLOAT`) {#CA_ROTOR2_PZ}
+
+Position of rotor 2 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR2_TILT (`INT32`) {#CA_ROTOR2_TILT}
+
+Rotor 2 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR3_AX (`FLOAT`) {#CA_ROTOR3_AX}
+
+Axis of rotor 3 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR3_AY (`FLOAT`) {#CA_ROTOR3_AY}
+
+Axis of rotor 3 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR3_AZ (`FLOAT`) {#CA_ROTOR3_AZ}
+
+Axis of rotor 3 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR3_CT (`FLOAT`) {#CA_ROTOR3_CT}
+
+Thrust coefficient of rotor 3.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR3_KM (`FLOAT`) {#CA_ROTOR3_KM}
+
+Moment coefficient of rotor 3.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR3_PX (`FLOAT`) {#CA_ROTOR3_PX}
+
+Position of rotor 3 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR3_PY (`FLOAT`) {#CA_ROTOR3_PY}
+
+Position of rotor 3 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR3_PZ (`FLOAT`) {#CA_ROTOR3_PZ}
+
+Position of rotor 3 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR3_TILT (`INT32`) {#CA_ROTOR3_TILT}
+
+Rotor 3 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR4_AX (`FLOAT`) {#CA_ROTOR4_AX}
+
+Axis of rotor 4 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR4_AY (`FLOAT`) {#CA_ROTOR4_AY}
+
+Axis of rotor 4 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR4_AZ (`FLOAT`) {#CA_ROTOR4_AZ}
+
+Axis of rotor 4 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR4_CT (`FLOAT`) {#CA_ROTOR4_CT}
+
+Thrust coefficient of rotor 4.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR4_KM (`FLOAT`) {#CA_ROTOR4_KM}
+
+Moment coefficient of rotor 4.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR4_PX (`FLOAT`) {#CA_ROTOR4_PX}
+
+Position of rotor 4 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR4_PY (`FLOAT`) {#CA_ROTOR4_PY}
+
+Position of rotor 4 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR4_PZ (`FLOAT`) {#CA_ROTOR4_PZ}
+
+Position of rotor 4 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR4_TILT (`INT32`) {#CA_ROTOR4_TILT}
+
+Rotor 4 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR5_AX (`FLOAT`) {#CA_ROTOR5_AX}
+
+Axis of rotor 5 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR5_AY (`FLOAT`) {#CA_ROTOR5_AY}
+
+Axis of rotor 5 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR5_AZ (`FLOAT`) {#CA_ROTOR5_AZ}
+
+Axis of rotor 5 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR5_CT (`FLOAT`) {#CA_ROTOR5_CT}
+
+Thrust coefficient of rotor 5.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR5_KM (`FLOAT`) {#CA_ROTOR5_KM}
+
+Moment coefficient of rotor 5.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR5_PX (`FLOAT`) {#CA_ROTOR5_PX}
+
+Position of rotor 5 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR5_PY (`FLOAT`) {#CA_ROTOR5_PY}
+
+Position of rotor 5 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR5_PZ (`FLOAT`) {#CA_ROTOR5_PZ}
+
+Position of rotor 5 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR5_TILT (`INT32`) {#CA_ROTOR5_TILT}
+
+Rotor 5 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR6_AX (`FLOAT`) {#CA_ROTOR6_AX}
+
+Axis of rotor 6 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR6_AY (`FLOAT`) {#CA_ROTOR6_AY}
+
+Axis of rotor 6 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR6_AZ (`FLOAT`) {#CA_ROTOR6_AZ}
+
+Axis of rotor 6 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR6_CT (`FLOAT`) {#CA_ROTOR6_CT}
+
+Thrust coefficient of rotor 6.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR6_KM (`FLOAT`) {#CA_ROTOR6_KM}
+
+Moment coefficient of rotor 6.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR6_PX (`FLOAT`) {#CA_ROTOR6_PX}
+
+Position of rotor 6 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR6_PY (`FLOAT`) {#CA_ROTOR6_PY}
+
+Position of rotor 6 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR6_PZ (`FLOAT`) {#CA_ROTOR6_PZ}
+
+Position of rotor 6 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR6_TILT (`INT32`) {#CA_ROTOR6_TILT}
+
+Rotor 6 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR7_AX (`FLOAT`) {#CA_ROTOR7_AX}
+
+Axis of rotor 7 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR7_AY (`FLOAT`) {#CA_ROTOR7_AY}
+
+Axis of rotor 7 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR7_AZ (`FLOAT`) {#CA_ROTOR7_AZ}
+
+Axis of rotor 7 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR7_CT (`FLOAT`) {#CA_ROTOR7_CT}
+
+Thrust coefficient of rotor 7.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR7_KM (`FLOAT`) {#CA_ROTOR7_KM}
+
+Moment coefficient of rotor 7.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR7_PX (`FLOAT`) {#CA_ROTOR7_PX}
+
+Position of rotor 7 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR7_PY (`FLOAT`) {#CA_ROTOR7_PY}
+
+Position of rotor 7 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR7_PZ (`FLOAT`) {#CA_ROTOR7_PZ}
+
+Position of rotor 7 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR7_TILT (`INT32`) {#CA_ROTOR7_TILT}
+
+Rotor 7 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR8_AX (`FLOAT`) {#CA_ROTOR8_AX}
+
+Axis of rotor 8 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR8_AY (`FLOAT`) {#CA_ROTOR8_AY}
+
+Axis of rotor 8 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR8_AZ (`FLOAT`) {#CA_ROTOR8_AZ}
+
+Axis of rotor 8 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR8_CT (`FLOAT`) {#CA_ROTOR8_CT}
+
+Thrust coefficient of rotor 8.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR8_KM (`FLOAT`) {#CA_ROTOR8_KM}
+
+Moment coefficient of rotor 8.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR8_PX (`FLOAT`) {#CA_ROTOR8_PX}
+
+Position of rotor 8 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR8_PY (`FLOAT`) {#CA_ROTOR8_PY}
+
+Position of rotor 8 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR8_PZ (`FLOAT`) {#CA_ROTOR8_PZ}
+
+Position of rotor 8 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR8_TILT (`INT32`) {#CA_ROTOR8_TILT}
+
+Rotor 8 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR9_AX (`FLOAT`) {#CA_ROTOR9_AX}
+
+Axis of rotor 9 thrust vector, X body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR9_AY (`FLOAT`) {#CA_ROTOR9_AY}
+
+Axis of rotor 9 thrust vector, Y body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 |
+
+### CA_ROTOR9_AZ (`FLOAT`) {#CA_ROTOR9_AZ}
+
+Axis of rotor 9 thrust vector, Z body axis component.
+
+Only the direction is considered (the vector is normalized).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | -1.0 |
+
+### CA_ROTOR9_CT (`FLOAT`) {#CA_ROTOR9_CT}
+
+Thrust coefficient of rotor 9.
+
+The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 6.5 |
+
+### CA_ROTOR9_KM (`FLOAT`) {#CA_ROTOR9_KM}
+
+Moment coefficient of rotor 9.
+
+The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.01 | 0.05 |
+
+### CA_ROTOR9_PX (`FLOAT`) {#CA_ROTOR9_PX}
+
+Position of rotor 9 along X body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR9_PY (`FLOAT`) {#CA_ROTOR9_PY}
+
+Position of rotor 9 along Y body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR9_PZ (`FLOAT`) {#CA_ROTOR9_PZ}
+
+Position of rotor 9 along Z body axis relative to center of gravity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -100 | 100 | 0.1 | 0.0 | m
+
+### CA_ROTOR9_TILT (`INT32`) {#CA_ROTOR9_TILT}
+
+Rotor 9 tilt assignment.
+
+If not set to None, this motor is tilted by the configured tilt servo.
+
+**Values:**
+
+- `0`: None
+- `1`: Tilt 1
+- `2`: Tilt 2
+- `3`: Tilt 3
+- `4`: Tilt 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_ROTOR_COUNT (`INT32`) {#CA_ROTOR_COUNT}
+
+Total number of rotors.
+
+**Values:**
+
+- `0`: 0
+- `1`: 1
+- `2`: 2
+- `3`: 3
+- `4`: 4
+- `5`: 5
+- `6`: 6
+- `7`: 7
+- `8`: 8
+- `9`: 9
+- `10`: 10
+- `11`: 11
+- `12`: 12
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_R_REV (`INT32`) {#CA_R_REV}
+
+Bidirectional/Reversible motors.
+
+Configure motors to be bidirectional/reversible. Note that the output driver needs to support this as well.
+
+**Bitmask:**
+
+- `0`: Motor 1
+- `1`: Motor 2
+- `2`: Motor 3
+- `3`: Motor 4
+- `4`: Motor 5
+- `5`: Motor 6
+- `6`: Motor 7
+- `7`: Motor 8
+- `8`: Motor 9
+- `9`: Motor 10
+- `10`: Motor 11
+- `11`: Motor 12
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4095 | | 0 |
+
+### CA_SP0_ANG0 (`FLOAT`) {#CA_SP0_ANG0}
+
+Angle for swash plate servo 0.
+
+The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 360 | 10 | 0 | deg
+
+### CA_SP0_ANG1 (`FLOAT`) {#CA_SP0_ANG1}
+
+Angle for swash plate servo 1.
+
+The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 360 | 10 | 140 | deg
+
+### CA_SP0_ANG2 (`FLOAT`) {#CA_SP0_ANG2}
+
+Angle for swash plate servo 2.
+
+The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 360 | 10 | 220 | deg
+
+### CA_SP0_ANG3 (`FLOAT`) {#CA_SP0_ANG3}
+
+Angle for swash plate servo 3.
+
+The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 360 | 10 | 0 | deg
+
+### CA_SP0_ARM_L0 (`FLOAT`) {#CA_SP0_ARM_L0}
+
+Arm length for swash plate servo 0.
+
+This is relative to the other arm lengths.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.1 | 1.0 |
+
+### CA_SP0_ARM_L1 (`FLOAT`) {#CA_SP0_ARM_L1}
+
+Arm length for swash plate servo 1.
+
+This is relative to the other arm lengths.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.1 | 1.0 |
+
+### CA_SP0_ARM_L2 (`FLOAT`) {#CA_SP0_ARM_L2}
+
+Arm length for swash plate servo 2.
+
+This is relative to the other arm lengths.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.1 | 1.0 |
+
+### CA_SP0_ARM_L3 (`FLOAT`) {#CA_SP0_ARM_L3}
+
+Arm length for swash plate servo 3.
+
+This is relative to the other arm lengths.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.1 | 1.0 |
+
+### CA_SP0_COUNT (`INT32`) {#CA_SP0_COUNT}
+
+Number of swash plates servos.
+
+**Values:**
+
+- `2`: 2
+- `3`: 3
+- `4`: 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 3 |
+
+### CA_SV0_SLEW (`FLOAT`) {#CA_SV0_SLEW}
+
+Servo 0 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV1_SLEW (`FLOAT`) {#CA_SV1_SLEW}
+
+Servo 1 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV2_SLEW (`FLOAT`) {#CA_SV2_SLEW}
+
+Servo 2 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV3_SLEW (`FLOAT`) {#CA_SV3_SLEW}
+
+Servo 3 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV4_SLEW (`FLOAT`) {#CA_SV4_SLEW}
+
+Servo 4 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV5_SLEW (`FLOAT`) {#CA_SV5_SLEW}
+
+Servo 5 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV6_SLEW (`FLOAT`) {#CA_SV6_SLEW}
+
+Servo 6 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV7_SLEW (`FLOAT`) {#CA_SV7_SLEW}
+
+Servo 7 slew rate limit.
+
+Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 10 | 0.05 | 0.0 |
+
+### CA_SV_CS0_FLAP (`FLOAT`) {#CA_SV_CS0_FLAP}
+
+Control Surface 0 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS0_SPOIL (`FLOAT`) {#CA_SV_CS0_SPOIL}
+
+Control Surface 0 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS0_TRIM (`FLOAT`) {#CA_SV_CS0_TRIM}
+
+Control Surface 0 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS0_TRQ_P (`FLOAT`) {#CA_SV_CS0_TRQ_P}
+
+Control Surface 0 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS0_TRQ_R (`FLOAT`) {#CA_SV_CS0_TRQ_R}
+
+Control Surface 0 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS0_TRQ_Y (`FLOAT`) {#CA_SV_CS0_TRQ_Y}
+
+Control Surface 0 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS0_TYPE (`INT32`) {#CA_SV_CS0_TYPE}
+
+Control Surface 0 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS1_FLAP (`FLOAT`) {#CA_SV_CS1_FLAP}
+
+Control Surface 1 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS1_SPOIL (`FLOAT`) {#CA_SV_CS1_SPOIL}
+
+Control Surface 1 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS1_TRIM (`FLOAT`) {#CA_SV_CS1_TRIM}
+
+Control Surface 1 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS1_TRQ_P (`FLOAT`) {#CA_SV_CS1_TRQ_P}
+
+Control Surface 1 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS1_TRQ_R (`FLOAT`) {#CA_SV_CS1_TRQ_R}
+
+Control Surface 1 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS1_TRQ_Y (`FLOAT`) {#CA_SV_CS1_TRQ_Y}
+
+Control Surface 1 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS1_TYPE (`INT32`) {#CA_SV_CS1_TYPE}
+
+Control Surface 1 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS2_FLAP (`FLOAT`) {#CA_SV_CS2_FLAP}
+
+Control Surface 2 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS2_SPOIL (`FLOAT`) {#CA_SV_CS2_SPOIL}
+
+Control Surface 2 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS2_TRIM (`FLOAT`) {#CA_SV_CS2_TRIM}
+
+Control Surface 2 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS2_TRQ_P (`FLOAT`) {#CA_SV_CS2_TRQ_P}
+
+Control Surface 2 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS2_TRQ_R (`FLOAT`) {#CA_SV_CS2_TRQ_R}
+
+Control Surface 2 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS2_TRQ_Y (`FLOAT`) {#CA_SV_CS2_TRQ_Y}
+
+Control Surface 2 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS2_TYPE (`INT32`) {#CA_SV_CS2_TYPE}
+
+Control Surface 2 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS3_FLAP (`FLOAT`) {#CA_SV_CS3_FLAP}
+
+Control Surface 3 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS3_SPOIL (`FLOAT`) {#CA_SV_CS3_SPOIL}
+
+Control Surface 3 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS3_TRIM (`FLOAT`) {#CA_SV_CS3_TRIM}
+
+Control Surface 3 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS3_TRQ_P (`FLOAT`) {#CA_SV_CS3_TRQ_P}
+
+Control Surface 3 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS3_TRQ_R (`FLOAT`) {#CA_SV_CS3_TRQ_R}
+
+Control Surface 3 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS3_TRQ_Y (`FLOAT`) {#CA_SV_CS3_TRQ_Y}
+
+Control Surface 3 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS3_TYPE (`INT32`) {#CA_SV_CS3_TYPE}
+
+Control Surface 3 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS4_FLAP (`FLOAT`) {#CA_SV_CS4_FLAP}
+
+Control Surface 4 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS4_SPOIL (`FLOAT`) {#CA_SV_CS4_SPOIL}
+
+Control Surface 4 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS4_TRIM (`FLOAT`) {#CA_SV_CS4_TRIM}
+
+Control Surface 4 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS4_TRQ_P (`FLOAT`) {#CA_SV_CS4_TRQ_P}
+
+Control Surface 4 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS4_TRQ_R (`FLOAT`) {#CA_SV_CS4_TRQ_R}
+
+Control Surface 4 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS4_TRQ_Y (`FLOAT`) {#CA_SV_CS4_TRQ_Y}
+
+Control Surface 4 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS4_TYPE (`INT32`) {#CA_SV_CS4_TYPE}
+
+Control Surface 4 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS5_FLAP (`FLOAT`) {#CA_SV_CS5_FLAP}
+
+Control Surface 5 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS5_SPOIL (`FLOAT`) {#CA_SV_CS5_SPOIL}
+
+Control Surface 5 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS5_TRIM (`FLOAT`) {#CA_SV_CS5_TRIM}
+
+Control Surface 5 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS5_TRQ_P (`FLOAT`) {#CA_SV_CS5_TRQ_P}
+
+Control Surface 5 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS5_TRQ_R (`FLOAT`) {#CA_SV_CS5_TRQ_R}
+
+Control Surface 5 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS5_TRQ_Y (`FLOAT`) {#CA_SV_CS5_TRQ_Y}
+
+Control Surface 5 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS5_TYPE (`INT32`) {#CA_SV_CS5_TYPE}
+
+Control Surface 5 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS6_FLAP (`FLOAT`) {#CA_SV_CS6_FLAP}
+
+Control Surface 6 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS6_SPOIL (`FLOAT`) {#CA_SV_CS6_SPOIL}
+
+Control Surface 6 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS6_TRIM (`FLOAT`) {#CA_SV_CS6_TRIM}
+
+Control Surface 6 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS6_TRQ_P (`FLOAT`) {#CA_SV_CS6_TRQ_P}
+
+Control Surface 6 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS6_TRQ_R (`FLOAT`) {#CA_SV_CS6_TRQ_R}
+
+Control Surface 6 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS6_TRQ_Y (`FLOAT`) {#CA_SV_CS6_TRQ_Y}
+
+Control Surface 6 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS6_TYPE (`INT32`) {#CA_SV_CS6_TYPE}
+
+Control Surface 6 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS7_FLAP (`FLOAT`) {#CA_SV_CS7_FLAP}
+
+Control Surface 7 configuration as flap.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS7_SPOIL (`FLOAT`) {#CA_SV_CS7_SPOIL}
+
+Control Surface 7 configuration as spoiler.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0 |
+
+### CA_SV_CS7_TRIM (`FLOAT`) {#CA_SV_CS7_TRIM}
+
+Control Surface 7 trim.
+
+Can be used to add an offset to the servo control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 0.0 |
+
+### CA_SV_CS7_TRQ_P (`FLOAT`) {#CA_SV_CS7_TRQ_P}
+
+Control Surface 7 pitch torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS7_TRQ_R (`FLOAT`) {#CA_SV_CS7_TRQ_R}
+
+Control Surface 7 roll torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS7_TRQ_Y (`FLOAT`) {#CA_SV_CS7_TRQ_Y}
+
+Control Surface 7 yaw torque scaling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CA_SV_CS7_TYPE (`INT32`) {#CA_SV_CS7_TYPE}
+
+Control Surface 7 type.
+
+**Values:**
+
+- `0`: (Not set)
+- `1`: Left Aileron
+- `2`: Right Aileron
+- `3`: Elevator
+- `4`: Rudder
+- `5`: Left Elevon
+- `6`: Right Elevon
+- `7`: Left V-Tail
+- `8`: Right V-Tail
+- `9`: Left Flap
+- `10`: Right Flap
+- `11`: Airbrake
+- `12`: Custom
+- `13`: Left A-tail
+- `14`: Right A-tail
+- `15`: Single Channel Aileron
+- `16`: Steering Wheel
+- `17`: Left Spoiler
+- `18`: Right Spoiler
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_CS_COUNT (`INT32`) {#CA_SV_CS_COUNT}
+
+Total number of Control Surfaces.
+
+**Values:**
+
+- `0`: 0
+- `1`: 1
+- `2`: 2
+- `3`: 3
+- `4`: 4
+- `5`: 5
+- `6`: 6
+- `7`: 7
+- `8`: 8
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CA_SV_TL0_CT (`INT32`) {#CA_SV_TL0_CT}
+
+Tilt 0 is used for control.
+
+Define if this servo is used for additional control.
+
+**Values:**
+
+- `0`: None
+- `1`: Yaw
+- `2`: Pitch
+- `3`: Yaw and Pitch
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### CA_SV_TL0_MAXA (`FLOAT`) {#CA_SV_TL0_MAXA}
+
+Tilt Servo 0 Tilt Angle at Maximum.
+
+Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 90.0 | deg
+
+### CA_SV_TL0_MINA (`FLOAT`) {#CA_SV_TL0_MINA}
+
+Tilt Servo 0 Tilt Angle at Minimum.
+
+Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 0.0 | deg
+
+### CA_SV_TL0_TD (`INT32`) {#CA_SV_TL0_TD}
+
+Tilt Servo 0 Tilt Direction.
+
+Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
+
+**Values:**
+
+- `0`: Towards Front
+- `90`: Towards Right
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 359 | | 0 |
+
+### CA_SV_TL1_CT (`INT32`) {#CA_SV_TL1_CT}
+
+Tilt 1 is used for control.
+
+Define if this servo is used for additional control.
+
+**Values:**
+
+- `0`: None
+- `1`: Yaw
+- `2`: Pitch
+- `3`: Yaw and Pitch
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### CA_SV_TL1_MAXA (`FLOAT`) {#CA_SV_TL1_MAXA}
+
+Tilt Servo 1 Tilt Angle at Maximum.
+
+Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 90.0 | deg
+
+### CA_SV_TL1_MINA (`FLOAT`) {#CA_SV_TL1_MINA}
+
+Tilt Servo 1 Tilt Angle at Minimum.
+
+Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 0.0 | deg
+
+### CA_SV_TL1_TD (`INT32`) {#CA_SV_TL1_TD}
+
+Tilt Servo 1 Tilt Direction.
+
+Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
+
+**Values:**
+
+- `0`: Towards Front
+- `90`: Towards Right
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 359 | | 0 |
+
+### CA_SV_TL2_CT (`INT32`) {#CA_SV_TL2_CT}
+
+Tilt 2 is used for control.
+
+Define if this servo is used for additional control.
+
+**Values:**
+
+- `0`: None
+- `1`: Yaw
+- `2`: Pitch
+- `3`: Yaw and Pitch
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### CA_SV_TL2_MAXA (`FLOAT`) {#CA_SV_TL2_MAXA}
+
+Tilt Servo 2 Tilt Angle at Maximum.
+
+Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 90.0 | deg
+
+### CA_SV_TL2_MINA (`FLOAT`) {#CA_SV_TL2_MINA}
+
+Tilt Servo 2 Tilt Angle at Minimum.
+
+Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 0.0 | deg
+
+### CA_SV_TL2_TD (`INT32`) {#CA_SV_TL2_TD}
+
+Tilt Servo 2 Tilt Direction.
+
+Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
+
+**Values:**
+
+- `0`: Towards Front
+- `90`: Towards Right
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 359 | | 0 |
+
+### CA_SV_TL3_CT (`INT32`) {#CA_SV_TL3_CT}
+
+Tilt 3 is used for control.
+
+Define if this servo is used for additional control.
+
+**Values:**
+
+- `0`: None
+- `1`: Yaw
+- `2`: Pitch
+- `3`: Yaw and Pitch
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### CA_SV_TL3_MAXA (`FLOAT`) {#CA_SV_TL3_MAXA}
+
+Tilt Servo 3 Tilt Angle at Maximum.
+
+Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 90.0 | deg
+
+### CA_SV_TL3_MINA (`FLOAT`) {#CA_SV_TL3_MINA}
+
+Tilt Servo 3 Tilt Angle at Minimum.
+
+Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 0.0 | deg
+
+### CA_SV_TL3_TD (`INT32`) {#CA_SV_TL3_TD}
+
+Tilt Servo 3 Tilt Direction.
+
+Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.
+
+**Values:**
+
+- `0`: Towards Front
+- `90`: Towards Right
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 359 | | 0 |
+
+### CA_SV_TL_COUNT (`INT32`) {#CA_SV_TL_COUNT}
+
+Total number of Tilt Servos.
+
+**Values:**
+
+- `0`: 0
+- `1`: 1
+- `2`: 2
+- `3`: 3
+- `4`: 4
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+## Hover Thrust Estimator
+
+### HTE_ACC_GATE (`FLOAT`) {#HTE_ACC_GATE}
+
+Gate size for acceleration fusion.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10.0 | | 3.0 | SD
+
+### HTE_HT_ERR_INIT (`FLOAT`) {#HTE_HT_ERR_INIT}
+
+1-sigma initial hover thrust uncertainty.
+
+Sets the number of standard deviations used by the innovation consistency test.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | | 0.1 | normalized_thrust
+
+### HTE_HT_NOISE (`FLOAT`) {#HTE_HT_NOISE}
+
+Hover thrust process noise.
+
+Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0001 | 1.0 | | 0.0036 | normalized_thrust/s
+
+### HTE_THR_RANGE (`FLOAT`) {#HTE_THR_RANGE}
+
+Max deviation from MPC_THR_HOVER.
+
+Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 0.4 | | 0.2 | normalized_thrust
+
+### HTE_VXY_THR (`FLOAT`) {#HTE_VXY_THR}
+
+Horizontal velocity threshold for sensitivity reduction.
+
+Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 20.0 | | 10.0 | m/s
+
+### HTE_VZ_THR (`FLOAT`) {#HTE_VZ_THR}
+
+Vertical velocity threshold for sensitivity reduction.
+
+Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 10.0 | | 2.0 | m/s
+
+## Iridium SBD
+
+### ISBD_CONFIG (`INT32`) {#ISBD_CONFIG}
+
+Serial Configuration for Iridium (with MAVLink).
+
+Configure on which serial port to run Iridium (with MAVLink).
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### ISBD_READ_INT (`INT32`) {#ISBD_READ_INT}
+
+Satellite radio read interval. Only required to be nonzero if data is not sent using a ring call.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 5000 | | 0 | s
+
+### ISBD_SBD_TIMEOUT (`INT32`) {#ISBD_SBD_TIMEOUT}
+
+Iridium SBD session timeout.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 300 | | 60 | s
+
+### ISBD_STACK_TIME (`INT32`) {#ISBD_STACK_TIME}
+
+Time the Iridium driver will wait for additional mavlink messages to combine them into one SBD message.
+
+Value 0 turns the functionality off
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 500 | | 0 | ms
+
+## Land Detector
+
+### LNDFW_AIRSPD_MAX (`FLOAT`) {#LNDFW_AIRSPD_MAX}
+
+Fixed-wing land detector: Max airspeed.
+
+Maximum airspeed allowed in the landed state
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 20 | | 6.00 | m/s
+
+### LNDFW_TRIG_TIME (`FLOAT`) {#LNDFW_TRIG_TIME}
+
+Fixed-wing land detection trigger time.
+
+Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.1 | | | 2. | s
+
+### LNDFW_VEL_XY_MAX (`FLOAT`) {#LNDFW_VEL_XY_MAX}
+
+Fixed-wing land detector: Max horizontal velocity threshold.
+
+Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 10 | | 5.0 | m/s
+
+### LNDFW_VEL_Z_MAX (`FLOAT`) {#LNDFW_VEL_Z_MAX}
+
+Fixed-wing land detector: Max vertiacal velocity threshold.
+
+Maximum vertical velocity allowed in the landed state.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 20 | | 1.0 | m/s
+
+### LNDFW_XYACC_MAX (`FLOAT`) {#LNDFW_XYACC_MAX}
+
+Fixed-wing land detector: Max horizontal acceleration.
+
+Maximum horizontal (x,y body axes) acceleration allowed in the landed state
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | | 8.0 | m/s^2
+
+### LNDMC_ALT_GND (`FLOAT`) {#LNDMC_ALT_GND}
+
+Ground effect altitude for multicopters.
+
+The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | | 2. | m
+
+### LNDMC_ROT_MAX (`FLOAT`) {#LNDMC_ROT_MAX}
+
+Multicopter max rotation.
+
+Maximum allowed angular velocity around each axis allowed in the landed state.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 20.0 | deg/s
+
+### LNDMC_TRIG_TIME (`FLOAT`) {#LNDMC_TRIG_TIME}
+
+Multicopter land detection trigger time.
+
+Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10.0 | | 1.0 | s
+
+### LNDMC_XY_VEL_MAX (`FLOAT`) {#LNDMC_XY_VEL_MAX}
+
+Multicopter max horizontal velocity.
+
+Maximum horizontal velocity allowed in the landed state
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.5 | m/s
+
+### LNDMC_Z_VEL_MAX (`FLOAT`) {#LNDMC_Z_VEL_MAX}
+
+Multicopter vertical velocity threshold.
+
+Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 0.25 | m/s
+
+### LND_FLIGHT_T_HI (`INT32`) {#LND_FLIGHT_T_HI}
+
+Total flight time in microseconds.
+
+Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 0 |
+
+### LND_FLIGHT_T_LO (`INT32`) {#LND_FLIGHT_T_LO}
+
+Total flight time in microseconds.
+
+Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 0 |
+
+## Landing Target Estimator
+
+### LTEST_ACC_UNC (`FLOAT`) {#LTEST_ACC_UNC}
+
+Acceleration uncertainty.
+
+Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 10.0 | (m/s^2)^2
+
+### LTEST_MEAS_UNC (`FLOAT`) {#LTEST_MEAS_UNC}
+
+Landing target measurement uncertainty.
+
+Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.005 | tan(rad)^2
+
+### LTEST_MODE (`INT32`) {#LTEST_MODE}
+
+Landing target mode.
+
+Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving: The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.
+
+**Values:**
+
+- `0`: Moving
+- `1`: Stationary
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### LTEST_POS_UNC_IN (`FLOAT`) {#LTEST_POS_UNC_IN}
+
+Initial landing target position uncertainty.
+
+Initial variance of the relative landing target position in x and y direction
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | | | 0.1 | m^2
+
+### LTEST_SCALE_X (`FLOAT`) {#LTEST_SCALE_X}
+
+Scale factor for sensor measurements in sensor x axis.
+
+Landing target x measurements are scaled by this factor before being used
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 1.0 |
+
+### LTEST_SCALE_Y (`FLOAT`) {#LTEST_SCALE_Y}
+
+Scale factor for sensor measurements in sensor y axis.
+
+Landing target y measurements are scaled by this factor before being used
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | | | 1.0 |
+
+### LTEST_SENS_POS_X (`FLOAT`) {#LTEST_SENS_POS_X}
+
+X Position of IRLOCK in body frame (forward).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0.0 | m
+
+### LTEST_SENS_POS_Y (`FLOAT`) {#LTEST_SENS_POS_Y}
+
+Y Position of IRLOCK in body frame (right).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0.0 | m
+
+### LTEST_SENS_POS_Z (`FLOAT`) {#LTEST_SENS_POS_Z}
+
+Z Position of IRLOCK in body frame (downward).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0.0 | m
+
+### LTEST_SENS_ROT (`INT32`) {#LTEST_SENS_ROT}
+
+Rotation of IRLOCK sensor relative to airframe.
+
+Default orientation of Yaw 90°
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1 | 40 | | 2 |
+
+### LTEST_VEL_UNC_IN (`FLOAT`) {#LTEST_VEL_UNC_IN}
+
+Initial landing target velocity uncertainty.
+
+Initial variance of the relative landing target velocity in x and y directions
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | | | 0.1 | (m/s)^2
+
+## Local Position Estimator
+
+### LPE_ACC_XY (`FLOAT`) {#LPE_ACC_XY}
+
+Accelerometer xy noise density.
+
+Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00001 | 2 | | 0.012 | m/s^2/sqrt(Hz)
+
+### LPE_ACC_Z (`FLOAT`) {#LPE_ACC_Z}
+
+Accelerometer z noise density.
+
+Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00001 | 2 | | 0.02 | m/s^2/sqrt(Hz)
+
+### LPE_BAR_Z (`FLOAT`) {#LPE_BAR_Z}
+
+Barometric presssure altitude z standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 100 | | 3.0 | m
+
+### LPE_EN (`INT32`) {#LPE_EN}
+
+Local position estimator enable (unsupported).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### LPE_EPH_MAX (`FLOAT`) {#LPE_EPH_MAX}
+
+Max EPH allowed for GPS initialization.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 5.0 | | 3.0 | m
+
+### LPE_EPV_MAX (`FLOAT`) {#LPE_EPV_MAX}
+
+Max EPV allowed for GPS initialization.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 5.0 | | 5.0 | m
+
+### LPE_FAKE_ORIGIN (`INT32`) {#LPE_FAKE_ORIGIN}
+
+Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow).
+
+By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### LPE_FGYRO_HP (`FLOAT`) {#LPE_FGYRO_HP}
+
+Flow gyro high pass filter cut off frequency.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 0.001 | Hz
+
+### LPE_FLW_OFF_Z (`FLOAT`) {#LPE_FLW_OFF_Z}
+
+Optical flow z offset from center.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | | 0.0 | m
+
+### LPE_FLW_QMIN (`INT32`) {#LPE_FLW_QMIN}
+
+Optical flow minimum quality threshold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 150 |
+
+### LPE_FLW_R (`FLOAT`) {#LPE_FLW_R}
+
+Optical flow rotation (roll/pitch) noise gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10.0 | | 7.0 | m/s/rad
+
+### LPE_FLW_RR (`FLOAT`) {#LPE_FLW_RR}
+
+Optical flow angular velocity noise gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | | 7.0 | m/rad
+
+### LPE_FLW_SCALE (`FLOAT`) {#LPE_FLW_SCALE}
+
+Optical flow scale.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10.0 | | 1.3 | m
+
+### LPE_FUSION (`INT32`) {#LPE_FUSION}
+
+Integer bitmask controlling data fusion.
+
+Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)
+
+**Bitmask:**
+
+- `0`: fuse GPS, requires GPS for alt. init
+- `1`: fuse optical flow
+- `2`: fuse vision position
+- `3`: fuse landing target
+- `4`: fuse land detector
+- `5`: pub agl as lpos down
+- `6`: flow gyro compensation
+- `7`: fuse baro
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 145 |
+
+### LPE_GPS_DELAY (`FLOAT`) {#LPE_GPS_DELAY}
+
+GPS delay compensaton.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.4 | | 0.29 | s
+
+### LPE_GPS_VXY (`FLOAT`) {#LPE_GPS_VXY}
+
+GPS xy velocity standard deviation.
+
+EPV used if greater than this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 2 | | 0.25 | m/s
+
+### LPE_GPS_VZ (`FLOAT`) {#LPE_GPS_VZ}
+
+GPS z velocity standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 2 | | 0.25 | m/s
+
+### LPE_GPS_XY (`FLOAT`) {#LPE_GPS_XY}
+
+Minimum GPS xy standard deviation, uses reported EPH if greater.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 5 | | 1.0 | m
+
+### LPE_GPS_Z (`FLOAT`) {#LPE_GPS_Z}
+
+Minimum GPS z standard deviation, uses reported EPV if greater.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 200 | | 3.0 | m
+
+### LPE_LAND_VXY (`FLOAT`) {#LPE_LAND_VXY}
+
+Land detector xy velocity standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 10.0 | | 0.05 | m/s
+
+### LPE_LAND_Z (`FLOAT`) {#LPE_LAND_Z}
+
+Land detector z standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 10.0 | | 0.03 | m
+
+### LPE_LAT (`FLOAT`) {#LPE_LAT}
+
+Local origin latitude for nav w/o GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90 | 90 | | 47.397742 | deg
+
+### LPE_LDR_OFF_Z (`FLOAT`) {#LPE_LDR_OFF_Z}
+
+Lidar z offset from center of vehicle +down.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | | 0.00 | m
+
+### LPE_LDR_Z (`FLOAT`) {#LPE_LDR_Z}
+
+Lidar z standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1 | | 0.03 | m
+
+### LPE_LON (`FLOAT`) {#LPE_LON}
+
+Local origin longitude for nav w/o GPS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 8.545594 | deg
+
+### LPE_LT_COV (`FLOAT`) {#LPE_LT_COV}
+
+Minimum landing target standard covariance, uses reported covariance if greater.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | | 0.0001 | m^2
+
+### LPE_PN_B (`FLOAT`) {#LPE_PN_B}
+
+Accel bias propagation noise density.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1e-3 | m/s^3/sqrt(Hz)
+
+### LPE_PN_P (`FLOAT`) {#LPE_PN_P}
+
+Position propagation noise density.
+
+Increase to trust measurements more. Decrease to trust model more.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.1 | m/s/sqrt(Hz)
+
+### LPE_PN_T (`FLOAT`) {#LPE_PN_T}
+
+Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.001 | m/s/sqrt(Hz)
+
+### LPE_PN_V (`FLOAT`) {#LPE_PN_V}
+
+Velocity propagation noise density.
+
+Increase to trust measurements more. Decrease to trust model more.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.1 | m/s^2/sqrt(Hz)
+
+### LPE_SNR_OFF_Z (`FLOAT`) {#LPE_SNR_OFF_Z}
+
+Sonar z offset from center of vehicle +down.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | | 0.00 | m
+
+### LPE_SNR_Z (`FLOAT`) {#LPE_SNR_Z}
+
+Sonar z standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1 | | 0.05 | m
+
+### LPE_T_MAX_GRADE (`FLOAT`) {#LPE_T_MAX_GRADE}
+
+Terrain maximum percent grade, hilly/outdoor (100 = 45 deg), flat/Indoor (0 = 0 deg).
+
+Used to calculate increased terrain random walk nosie due to movement.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | | 1.0 | %
+
+### LPE_VIC_P (`FLOAT`) {#LPE_VIC_P}
+
+Vicon position standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0001 | 1 | | 0.001 | m
+
+### LPE_VIS_DELAY (`FLOAT`) {#LPE_VIS_DELAY}
+
+Vision delay compensation.
+
+Set to zero to enable automatic compensation from measurement timestamps
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.1 | | 0.1 | s
+
+### LPE_VIS_XY (`FLOAT`) {#LPE_VIS_XY}
+
+Vision xy standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1 | | 0.1 | m
+
+### LPE_VIS_Z (`FLOAT`) {#LPE_VIS_Z}
+
+Vision z standard deviation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 100 | | 0.5 | m
+
+### LPE_VXY_PUB (`FLOAT`) {#LPE_VXY_PUB}
+
+Required velocity xy standard deviation to publish position.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1.0 | | 0.3 | m/s
+
+### LPE_X_LP (`FLOAT`) {#LPE_X_LP}
+
+Cut frequency for state publication.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 1000 | | 5.0 | Hz
+
+### LPE_Z_PUB (`FLOAT`) {#LPE_Z_PUB}
+
+Required z standard deviation to publish altitude/ terrain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.3 | 5.0 | | 1.0 | m
+
+## MAVLink
+
+### MAV_0_BROADCAST (`INT32`) {#MAV_0_BROADCAST}
+
+Broadcast heartbeats on local network for MAVLink instance 0.
+
+This allows a ground control station to automatically find the drone on the local network.
+
+**Values:**
+
+- `0`: Never broadcast
+- `1`: Always broadcast
+- `2`: Only multicast
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### MAV_0_CONFIG (`INT32`) {#MAV_0_CONFIG}
+
+Serial Configuration for MAVLink (instance 0).
+
+Configure on which serial port to run MAVLink.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+- `1000`: Ethernet
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 101 |
+
+### MAV_0_FLOW_CTRL (`INT32`) {#MAV_0_FLOW_CTRL}
+
+Enable serial flow control for instance 0.
+
+This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
+
+**Values:**
+
+- `0`: Force off
+- `1`: Force on
+- `2`: Auto-detected
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### MAV_0_FORWARD (`INT32`) {#MAV_0_FORWARD}
+
+Enable MAVLink Message forwarding for instance 0.
+
+If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### MAV_0_HL_FREQ (`FLOAT`) {#MAV_0_HL_FREQ}
+
+Configures the frequency of HIGH_LATENCY2 stream for instance 0.
+
+Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 0, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 50.0 | 0.001 | 0.015 | Hz
+
+### MAV_0_MODE (`INT32`) {#MAV_0_MODE}
+
+MAVLink Mode for instance 0.
+
+The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
+
+**Values:**
+
+- `0`: Normal
+- `1`: Custom
+- `2`: Onboard
+- `3`: OSD
+- `4`: Magic
+- `5`: Config
+- `7`: Minimal
+- `8`: External Vision
+- `10`: Gimbal
+- `11`: Onboard Low Bandwidth
+- `12`: uAvionix
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_0_RADIO_CTL (`INT32`) {#MAV_0_RADIO_CTL}
+
+Enable software throttling of mavlink on instance 0.
+
+If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### MAV_0_RATE (`INT32`) {#MAV_0_RATE}
+
+Maximum MAVLink sending rate for instance 0.
+
+Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | | | 1200 | B/s
+
+### MAV_0_REMOTE_PRT (`INT32`) {#MAV_0_REMOTE_PRT}
+
+MAVLink Remote Port for instance 0.
+
+If ethernet enabled and selected as configuration for MAVLink instance 0, selected remote port will be set and used in MAVLink instance 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 14550 |
+
+### MAV_0_UDP_PRT (`INT32`) {#MAV_0_UDP_PRT}
+
+MAVLink Network Port for instance 0.
+
+If ethernet enabled and selected as configuration for MAVLink instance 0, selected udp port will be set and used in MAVLink instance 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 14556 |
+
+### MAV_1_BROADCAST (`INT32`) {#MAV_1_BROADCAST}
+
+Broadcast heartbeats on local network for MAVLink instance 1.
+
+This allows a ground control station to automatically find the drone on the local network.
+
+**Values:**
+
+- `0`: Never broadcast
+- `1`: Always broadcast
+- `2`: Only multicast
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MAV_1_CONFIG (`INT32`) {#MAV_1_CONFIG}
+
+Serial Configuration for MAVLink (instance 1).
+
+Configure on which serial port to run MAVLink.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+- `1000`: Ethernet
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_1_FLOW_CTRL (`INT32`) {#MAV_1_FLOW_CTRL}
+
+Enable serial flow control for instance 1.
+
+This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
+
+**Values:**
+
+- `0`: Force off
+- `1`: Force on
+- `2`: Auto-detected
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### MAV_1_FORWARD (`INT32`) {#MAV_1_FORWARD}
+
+Enable MAVLink Message forwarding for instance 1.
+
+If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### MAV_1_HL_FREQ (`FLOAT`) {#MAV_1_HL_FREQ}
+
+Configures the frequency of HIGH_LATENCY2 stream for instance 1.
+
+Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 1, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 50.0 | 0.001 | 0.015 | Hz
+
+### MAV_1_MODE (`INT32`) {#MAV_1_MODE}
+
+MAVLink Mode for instance 1.
+
+The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
+
+**Values:**
+
+- `0`: Normal
+- `1`: Custom
+- `2`: Onboard
+- `3`: OSD
+- `4`: Magic
+- `5`: Config
+- `7`: Minimal
+- `8`: External Vision
+- `10`: Gimbal
+- `11`: Onboard Low Bandwidth
+- `12`: uAvionix
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### MAV_1_RADIO_CTL (`INT32`) {#MAV_1_RADIO_CTL}
+
+Enable software throttling of mavlink on instance 1.
+
+If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### MAV_1_RATE (`INT32`) {#MAV_1_RATE}
+
+Maximum MAVLink sending rate for instance 1.
+
+Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | | | 0 | B/s
+
+### MAV_1_REMOTE_PRT (`INT32`) {#MAV_1_REMOTE_PRT}
+
+MAVLink Remote Port for instance 1.
+
+If ethernet enabled and selected as configuration for MAVLink instance 1, selected remote port will be set and used in MAVLink instance 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_1_UDP_PRT (`INT32`) {#MAV_1_UDP_PRT}
+
+MAVLink Network Port for instance 1.
+
+If ethernet enabled and selected as configuration for MAVLink instance 1, selected udp port will be set and used in MAVLink instance 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_2_BROADCAST (`INT32`) {#MAV_2_BROADCAST}
+
+Broadcast heartbeats on local network for MAVLink instance 2.
+
+This allows a ground control station to automatically find the drone on the local network.
+
+**Values:**
+
+- `0`: Never broadcast
+- `1`: Always broadcast
+- `2`: Only multicast
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MAV_2_CONFIG (`INT32`) {#MAV_2_CONFIG}
+
+Serial Configuration for MAVLink (instance 2).
+
+Configure on which serial port to run MAVLink.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+- `1000`: Ethernet
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_2_FLOW_CTRL (`INT32`) {#MAV_2_FLOW_CTRL}
+
+Enable serial flow control for instance 2.
+
+This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.
+
+**Values:**
+
+- `0`: Force off
+- `1`: Force on
+- `2`: Auto-detected
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### MAV_2_FORWARD (`INT32`) {#MAV_2_FORWARD}
+
+Enable MAVLink Message forwarding for instance 2.
+
+If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### MAV_2_HL_FREQ (`FLOAT`) {#MAV_2_HL_FREQ}
+
+Configures the frequency of HIGH_LATENCY2 stream for instance 2.
+
+Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 2, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 50.0 | 0.001 | 0.015 | Hz
+
+### MAV_2_MODE (`INT32`) {#MAV_2_MODE}
+
+MAVLink Mode for instance 2.
+
+The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.
+
+**Values:**
+
+- `0`: Normal
+- `1`: Custom
+- `2`: Onboard
+- `3`: OSD
+- `4`: Magic
+- `5`: Config
+- `7`: Minimal
+- `8`: External Vision
+- `10`: Gimbal
+- `11`: Onboard Low Bandwidth
+- `12`: uAvionix
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_2_RADIO_CTL (`INT32`) {#MAV_2_RADIO_CTL}
+
+Enable software throttling of mavlink on instance 2.
+
+If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### MAV_2_RATE (`INT32`) {#MAV_2_RATE}
+
+Maximum MAVLink sending rate for instance 2.
+
+Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | | | 0 | B/s
+
+### MAV_2_REMOTE_PRT (`INT32`) {#MAV_2_REMOTE_PRT}
+
+MAVLink Remote Port for instance 2.
+
+If ethernet enabled and selected as configuration for MAVLink instance 2, selected remote port will be set and used in MAVLink instance 2.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_2_UDP_PRT (`INT32`) {#MAV_2_UDP_PRT}
+
+MAVLink Network Port for instance 2.
+
+If ethernet enabled and selected as configuration for MAVLink instance 2, selected udp port will be set and used in MAVLink instance 2.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MAV_COMP_ID (`INT32`) {#MAV_COMP_ID}
+
+MAVLink component ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 250 | | 1 |
+
+### MAV_FWDEXTSP (`INT32`) {#MAV_FWDEXTSP}
+
+Forward external setpoint messages.
+
+If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MAV_HASH_CHK_EN (`INT32`) {#MAV_HASH_CHK_EN}
+
+Parameter hash check.
+
+Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MAV_HB_FORW_EN (`INT32`) {#MAV_HB_FORW_EN}
+
+Heartbeat message forwarding.
+
+The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MAV_PROTO_VER (`INT32`) {#MAV_PROTO_VER}
+
+MAVLink protocol version.
+
+**Values:**
+
+- `0`: Default to 1, switch to 2 if GCS sends version 2
+- `1`: Always use version 1
+- `2`: Always use version 2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MAV_RADIO_TOUT (`INT32`) {#MAV_RADIO_TOUT}
+
+Timeout in seconds for the RADIO_STATUS reports coming in.
+
+If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 250 | | 5 | s
+
+### MAV_SIK_RADIO_ID (`INT32`) {#MAV_SIK_RADIO_ID}
+
+MAVLink SiK Radio ID.
+
+When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 240 | | 0 |
+
+### MAV_SYS_ID (`INT32`) {#MAV_SYS_ID}
+
+MAVLink system ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 250 | | 1 |
+
+### MAV_TYPE (`INT32`) {#MAV_TYPE}
+
+MAVLink airframe type.
+
+**Values:**
+
+- `0`: Generic micro air vehicle
+- `1`: Fixed wing aircraft
+- `2`: Quadrotor
+- `3`: Coaxial helicopter
+- `4`: Normal helicopter with tail rotor
+- `7`: Airship, controlled
+- `8`: Free balloon, uncontrolled
+- `10`: Ground rover
+- `11`: Surface vessel, boat, ship
+- `12`: Submarine
+- `13`: Hexarotor
+- `14`: Octorotor
+- `15`: Tricopter
+- `19`: VTOL Two-rotor Tailsitter
+- `20`: VTOL Quad-rotor Tailsitter
+- `21`: VTOL Tiltrotor
+- `22`: VTOL Standard (separate fixed rotors for hover and cruise flight)
+- `23`: VTOL Tailsitter
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 22 | | 0 |
+
+### MAV_USEHILGPS (`INT32`) {#MAV_USEHILGPS}
+
+Use/Accept HIL GPS message even if not in HIL mode.
+
+If set to 1 incoming HIL GPS messages are parsed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+## Magnetometer
+
+### BMM350_AVG (`INT32`) {#BMM350_AVG}
+
+BMM350 data averaging.
+
+Defines which averaging mode to use during data polling.
+
+**Values:**
+
+- `0`: No averaging
+- `1`: 2 sample averaging
+- `2`: 4 sample averaging
+- `3`: 8 sample averaging
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### BMM350_DRIVE (`INT32`) {#BMM350_DRIVE}
+
+BMM350 pad drive strength setting.
+
+This setting helps avoid signal problems like overshoot or undershoot.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 7 | | 7 |
+
+### BMM350_ODR (`INT32`) {#BMM350_ODR}
+
+BMM350 ODR rate.
+
+Defines which ODR rate to use during data polling.
+
+**Values:**
+
+- `0`: 400 Hz
+- `1`: 200 Hz
+- `2`: 100 Hz
+- `3`: 50 Hz
+- `4`: 25 Hz
+- `5`: 12.5 Hz
+- `6`: 6.25 Hz
+- `7`: 3.125 Hz
+- `8`: 1.5625 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 3 |
+
+## Magnetometer Bias Estimator
+
+### MBE_ENABLE (`INT32`) {#MBE_ENABLE}
+
+Enable online mag bias calibration.
+
+This enables continuous calibration of the magnetometers before takeoff using gyro data.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### MBE_LEARN_GAIN (`FLOAT`) {#MBE_LEARN_GAIN}
+
+Mag bias estimator learning gain.
+
+Increase to make the estimator more responsive Decrease to make the estimator more robust to noise
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 100 | 0.1 | 18. |
+
+## Manual Control
+
+### MAN_ARM_GESTURE (`INT32`) {#MAN_ARM_GESTURE}
+
+Enable arm/disarm stick gesture.
+
+This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MAN_KILL_GEST_T (`FLOAT`) {#MAN_KILL_GEST_T}
+
+Trigger time for kill stick gesture.
+
+The timeout for holding the left stick to the lower left and the right stick to the lower right at the same time until the gesture kills the actuators one-way. A negative value disables the feature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 15 | | -1. | s
+
+## Mission
+
+### FW_GPSF_LT (`INT32`) {#FW_GPSF_LT}
+
+GPS failure loiter time.
+
+The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3600 | | 30 | s
+
+### FW_GPSF_R (`FLOAT`) {#FW_GPSF_R}
+
+GPS failure fixed roll angle.
+
+Roll angle in GPS failure loiter mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 30.0 | 0.5 | 15.0 | deg
+
+### MIS_DIST_1WP (`FLOAT`) {#MIS_DIST_1WP}
+
+Maximal horizontal distance from current position to first waypoint.
+
+Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 10000 | 100 | 10000 | m
+
+### MIS_LND_ABRT_ALT (`INT32`) {#MIS_LND_ABRT_ALT}
+
+Landing abort min altitude.
+
+Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 30 | m
+
+### MIS_MNT_YAW_CTL (`INT32`) {#MIS_MNT_YAW_CTL}
+
+Enable yaw control of the mount. (Only affects multicopters and ROI mission items).
+
+If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.
+
+**Values:**
+
+- `0`: Disable
+- `1`: Enable
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### MIS_PD_TO (`FLOAT`) {#MIS_PD_TO}
+
+Timeout for a successful payload deployment acknowledgement.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 1 | 5.0 | s
+
+### MIS_TAKEOFF_ALT (`FLOAT`) {#MIS_TAKEOFF_ALT}
+
+Default take-off altitude.
+
+This is the relative altitude the system will take off to if not otherwise specified.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.5 | 2.5 | m
+
+### MIS_TKO_LAND_REQ (`INT32`) {#MIS_TKO_LAND_REQ}
+
+Mission takeoff/landing required.
+
+Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.
+
+**Values:**
+
+- `0`: No requirements
+- `1`: Require a takeoff
+- `2`: Require a landing
+- `3`: Require a takeoff and a landing
+- `4`: Require both a takeoff and a landing, or neither
+- `5`: Same as previous when landed, in-air require landing only if no valid VTOL approach is present
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MIS_YAW_ERR (`FLOAT`) {#MIS_YAW_ERR}
+
+Max yaw error in degrees needed for waypoint heading acceptance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 90 | 1 | 12.0 | deg
+
+### MIS_YAW_TMT (`FLOAT`) {#MIS_YAW_TMT}
+
+Time in seconds we wait on reaching target heading at a waypoint if it is forced.
+
+If set > 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 20 | 1 | -1.0 | s
+
+### MPC_YAW_MODE (`INT32`) {#MPC_YAW_MODE}
+
+Heading behavior in autonomous modes.
+
+**Values:**
+
+- `0`: towards waypoint
+- `1`: towards home
+- `2`: away from home
+- `3`: along trajectory
+- `4`: towards waypoint (yaw first)
+- `5`: yaw fixed
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4 | | 0 |
+
+### NAV_ACC_RAD (`FLOAT`) {#NAV_ACC_RAD}
+
+Acceptance Radius.
+
+Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 200.0 | 0.5 | 10.0 | m
+
+### NAV_FORCE_VT (`INT32`) {#NAV_FORCE_VT}
+
+Force VTOL mode takeoff and land.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### NAV_FW_ALTL_RAD (`FLOAT`) {#NAV_FW_ALTL_RAD}
+
+FW Altitude Acceptance Radius before a landing.
+
+Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 200.0 | | 5.0 | m
+
+### NAV_FW_ALT_RAD (`FLOAT`) {#NAV_FW_ALT_RAD}
+
+FW Altitude Acceptance Radius.
+
+Acceptance radius for fixedwing altitude.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 200.0 | 0.5 | 10.0 | m
+
+### NAV_LOITER_RAD (`FLOAT`) {#NAV_LOITER_RAD}
+
+Loiter radius (FW only).
+
+Default value of loiter radius in FW mode (e.g. for Loiter mode).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 25 | 1000 | 0.5 | 80.0 | m
+
+### NAV_MC_ALT_RAD (`FLOAT`) {#NAV_MC_ALT_RAD}
+
+MC Altitude Acceptance Radius.
+
+Acceptance radius for multicopter altitude.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 200.0 | 0.5 | 0.8 | m
+
+### NAV_MIN_GND_DIST (`FLOAT`) {#NAV_MIN_GND_DIST}
+
+Minimum height above ground during Mission and RTL.
+
+Minimum height above ground the vehicle is allowed to descend to during Mission and RTL, excluding landing commands. Requires a distance sensor to be set up. Note: only prevents the vehicle from descending further, but does not force it to climb. Set to a negative value to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | 1 | -1. | m
+
+### NAV_MIN_LTR_ALT (`FLOAT`) {#NAV_MIN_LTR_ALT}
+
+Minimum Loiter altitude.
+
+This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint ("Go to"). Set to a negative value to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | | 0.5 | -1. | m
+
+### NAV_TRAFF_AVOID (`INT32`) {#NAV_TRAFF_AVOID}
+
+Set traffic avoidance mode.
+
+Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Warn only
+- `2`: Return mode
+- `3`: Land mode
+- `4`: Position Hold mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### NAV_TRAFF_A_HOR (`FLOAT`) {#NAV_TRAFF_A_HOR}
+
+Set NAV TRAFFIC AVOID horizontal distance.
+
+Defines a crosstrack horizontal distance
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 500 | | | 500 | m
+
+### NAV_TRAFF_A_VER (`FLOAT`) {#NAV_TRAFF_A_VER}
+
+Set NAV TRAFFIC AVOID vertical distance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | 500 | | 500 | m
+
+### NAV_TRAFF_COLL_T (`INT32`) {#NAV_TRAFF_COLL_T}
+
+Estimated time until collision.
+
+Minimum acceptable time until collsion. Assumes constant speed over 3d distance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 900000000 | | 60 | s
+
+## Mixer Output
+
+### MC_AIRMODE (`INT32`) {#MC_AIRMODE}
+
+Multicopter air-mode.
+
+The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Roll/Pitch
+- `2`: Roll/Pitch/Yaw
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+## ModalAI Custom Configuration
+
+### MODALAI_CONFIG (`INT32`) {#MODALAI_CONFIG}
+
+Custom configuration for ModalAI drones.
+
+This can be set to indicate that drone behavior needs to be changed to match a custom setting
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+## Mount
+
+### MNT_DO_STAB (`INT32`) {#MNT_DO_STAB}
+
+Stabilize the mount.
+
+Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.
+
+**Values:**
+
+- `0`: Disable
+- `1`: Stabilize all axis
+- `2`: Stabilize yaw for absolute/lock mode.
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 0 |
+
+### MNT_LND_P_MAX (`FLOAT`) {#MNT_LND_P_MAX}
+
+Pitch maximum when landed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | 90.0 | deg
+
+### MNT_LND_P_MIN (`FLOAT`) {#MNT_LND_P_MIN}
+
+Pitch minimum when landed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90.0 | 90.0 | | -90.0 | deg
+
+### MNT_MAN_PITCH (`INT32`) {#MNT_MAN_PITCH}
+
+Auxiliary channel to control pitch (in AUX input or manual mode).
+
+**Values:**
+
+- `0`: Disable
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 6 | | 0 |
+
+### MNT_MAN_ROLL (`INT32`) {#MNT_MAN_ROLL}
+
+Auxiliary channel to control roll (in AUX input or manual mode).
+
+**Values:**
+
+- `0`: Disable
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 6 | | 0 |
+
+### MNT_MAN_YAW (`INT32`) {#MNT_MAN_YAW}
+
+Auxiliary channel to control yaw (in AUX input or manual mode).
+
+**Values:**
+
+- `0`: Disable
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 6 | | 0 |
+
+### MNT_MAV_COMPID (`INT32`) {#MNT_MAV_COMPID}
+
+Mavlink Component ID of the mount.
+
+If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 154 |
+
+### MNT_MAV_SYSID (`INT32`) {#MNT_MAV_SYSID}
+
+Mavlink System ID of the mount.
+
+If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+### MNT_MODE_IN (`INT32`) {#MNT_MODE_IN}
+
+Mount input mode.
+
+This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.
+
+**Values:**
+
+- `-1`: DISABLED
+- `0`: Auto (RC and MAVLink gimbal protocol v2)
+- `1`: RC
+- `2`: MAVLINK_ROI (protocol v1, to be deprecated)
+- `3`: MAVLINK_DO_MOUNT (protocol v1, to be deprecated)
+- `4`: MAVlink gimbal protocol v2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1 | 4 | | -1 |
+
+### MNT_MODE_OUT (`INT32`) {#MNT_MODE_OUT}
+
+Mount output mode.
+
+This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.
+
+**Values:**
+
+- `0`: AUX
+- `1`: MAVLink gimbal protocol v1
+- `2`: MAVLink gimbal protocol v2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### MNT_OFF_PITCH (`FLOAT`) {#MNT_OFF_PITCH}
+
+Offset for pitch channel output in degrees.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -360.0 | 360.0 | | 0.0 | deg
+
+### MNT_OFF_ROLL (`FLOAT`) {#MNT_OFF_ROLL}
+
+Offset for roll channel output in degrees.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -360.0 | 360.0 | | 0.0 | deg
+
+### MNT_OFF_YAW (`FLOAT`) {#MNT_OFF_YAW}
+
+Offset for yaw channel output in degrees.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -360.0 | 360.0 | | 0.0 | deg
+
+### MNT_RANGE_PITCH (`FLOAT`) {#MNT_RANGE_PITCH}
+
+Range of pitch channel output in degrees (only in AUX output mode).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 720.0 | | 90.0 | deg
+
+### MNT_RANGE_ROLL (`FLOAT`) {#MNT_RANGE_ROLL}
+
+Range of roll channel output in degrees (only in AUX output mode).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 720.0 | | 90.0 | deg
+
+### MNT_RANGE_YAW (`FLOAT`) {#MNT_RANGE_YAW}
+
+Range of yaw channel output in degrees (only in AUX output mode).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 720.0 | | 360.0 | deg
+
+### MNT_RATE_PITCH (`FLOAT`) {#MNT_RATE_PITCH}
+
+Angular pitch rate for manual input in degrees/second.
+
+Full stick input [-1..1] translats to [-pitch rate..pitch rate].
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 90.0 | | 30.0 | deg/s
+
+### MNT_RATE_YAW (`FLOAT`) {#MNT_RATE_YAW}
+
+Angular yaw rate for manual input in degrees/second.
+
+Full stick input [-1..1] translats to [-yaw rate..yaw rate].
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 90.0 | | 30.0 | deg/s
+
+### MNT_RC_IN_MODE (`INT32`) {#MNT_RC_IN_MODE}
+
+Input mode for RC gimbal input.
+
+**Values:**
+
+- `0`: Angle
+- `1`: Angular rate
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1 |
+
+## Multicopter Acro Mode
+
+### MC_ACRO_EXPO (`FLOAT`) {#MC_ACRO_EXPO}
+
+Acro mode roll, pitch expo factor.
+
+Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0. |
+
+### MC_ACRO_EXPO_Y (`FLOAT`) {#MC_ACRO_EXPO_Y}
+
+Acro mode yaw expo factor.
+
+Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0. |
+
+### MC_ACRO_P_MAX (`FLOAT`) {#MC_ACRO_P_MAX}
+
+Acro mode maximum pitch rate.
+
+Full stick deflection leads to this rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 100. | deg/s
+
+### MC_ACRO_R_MAX (`FLOAT`) {#MC_ACRO_R_MAX}
+
+Acro mode maximum roll rate.
+
+Full stick deflection leads to this rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 100. | deg/s
+
+### MC_ACRO_SUPEXPO (`FLOAT`) {#MC_ACRO_SUPEXPO}
+
+Acro mode roll, pitch super expo factor.
+
+"Superexponential" factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.95 | | 0. |
+
+### MC_ACRO_SUPEXPOY (`FLOAT`) {#MC_ACRO_SUPEXPOY}
+
+Acro mode yaw super expo factor.
+
+"Superexponential" factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.95 | | 0. |
+
+### MC_ACRO_Y_MAX (`FLOAT`) {#MC_ACRO_Y_MAX}
+
+Acro mode maximum yaw rate.
+
+Full stick deflection leads to this rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 100. | deg/s
+
+## Multicopter Attitude Control
+
+### MC_PITCHRATE_MAX (`FLOAT`) {#MC_PITCHRATE_MAX}
+
+Max pitch rate.
+
+Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 220.0 | deg/s
+
+### MC_PITCH_P (`FLOAT`) {#MC_PITCH_P}
+
+Pitch P gain.
+
+Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 12 | 0.1 | 6.5 |
+
+### MC_ROLLRATE_MAX (`FLOAT`) {#MC_ROLLRATE_MAX}
+
+Max roll rate.
+
+Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 220.0 | deg/s
+
+### MC_ROLL_P (`FLOAT`) {#MC_ROLL_P}
+
+Roll P gain.
+
+Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 12 | 0.1 | 6.5 |
+
+### MC_YAWRATE_MAX (`FLOAT`) {#MC_YAWRATE_MAX}
+
+Max yaw rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1800.0 | 5 | 200.0 | deg/s
+
+### MC_YAW_P (`FLOAT`) {#MC_YAW_P}
+
+Yaw P gain.
+
+Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 5 | 0.1 | 2.8 |
+
+### MC_YAW_WEIGHT (`FLOAT`) {#MC_YAW_WEIGHT}
+
+Yaw weight.
+
+A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.1 | 0.4 |
+
+### MPC_YAWRAUTO_ACC (`FLOAT`) {#MPC_YAWRAUTO_ACC}
+
+Maximum yaw acceleration in autonomous modes.
+
+Limits the acceleration of the yaw setpoint to avoid large control output and mixer saturation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 360 | 5 | 60. | deg/s^2
+
+### MPC_YAWRAUTO_MAX (`FLOAT`) {#MPC_YAWRAUTO_MAX}
+
+Maximum yaw rate in autonomous modes.
+
+Limits the rate of change of the yaw setpoint to avoid large control output and mixer saturation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 360 | 5 | 45. | deg/s
+
+## Multicopter Position Control
+
+### CP_DELAY (`FLOAT`) {#CP_DELAY}
+
+Average delay of the range sensor message plus the tracking delay of the position controller in seconds.
+
+Only used in Position mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0.4 | s
+
+### CP_DIST (`FLOAT`) {#CP_DIST}
+
+Minimum distance the vehicle should keep to all obstacles.
+
+Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 15 | | -1.0 | m
+
+### CP_GO_NO_DATA (`INT32`) {#CP_GO_NO_DATA}
+
+Boolean to allow moving into directions where there is no sensor data (outside FOV).
+
+Only used in Position mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### CP_GUIDE_ANG (`FLOAT`) {#CP_GUIDE_ANG}
+
+Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction.
+
+Only used in Position mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 90 | | 30. | deg
+
+### MC_MAN_TILT_TAU (`FLOAT`) {#MC_MAN_TILT_TAU}
+
+Manual tilt input filter time constant.
+
+Setting this parameter to 0 disables the filter
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | | 0.0 | s
+
+### MPC_ACC_DECOUPLE (`INT32`) {#MPC_ACC_DECOUPLE}
+
+Acceleration to tilt coupling.
+
+Set to decouple tilt from vertical acceleration. This provides smoother flight but slightly worse tracking in position and auto modes. Unset if accurate position tracking during dynamic maneuvers is more important than a smooth flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MPC_ACC_DOWN_MAX (`FLOAT`) {#MPC_ACC_DOWN_MAX}
+
+Maximum downwards acceleration in climb rate controlled modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | 1 | 3. | m/s^2
+
+### MPC_ACC_HOR (`FLOAT`) {#MPC_ACC_HOR}
+
+Acceleration for autonomous and for manual modes.
+
+When piloting manually, this parameter is only used in MPC_POS_MODE Acceleration based.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | 1 | 3. | m/s^2
+
+### MPC_ACC_HOR_MAX (`FLOAT`) {#MPC_ACC_HOR_MAX}
+
+Maximum horizontal acceleration.
+
+MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 not used, use MPC_ACC_HOR instead
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | 1 | 5. | m/s^2
+
+### MPC_ACC_UP_MAX (`FLOAT`) {#MPC_ACC_UP_MAX}
+
+Maximum upwards acceleration in climb rate controlled modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | 1 | 4. | m/s^2
+
+### MPC_ALT_MODE (`INT32`) {#MPC_ALT_MODE}
+
+Altitude reference mode.
+
+Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.
+
+**Values:**
+
+- `0`: Altitude following
+- `1`: Terrain following
+- `2`: Terrain hold
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 2 |
+
+### MPC_HOLD_DZ (`FLOAT`) {#MPC_HOLD_DZ}
+
+Deadzone for sticks in manual piloted modes.
+
+Does not apply to manual throttle and direct attitude piloting by stick.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.1 |
+
+### MPC_HOLD_MAX_XY (`FLOAT`) {#MPC_HOLD_MAX_XY}
+
+Maximum horizontal velocity for which position hold is enabled (use 0 to disable check).
+
+Only used with MPC_POS_MODE Direct velocity or MPC_ALT_MODE 2
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0.8 | m/s
+
+### MPC_HOLD_MAX_Z (`FLOAT`) {#MPC_HOLD_MAX_Z}
+
+Maximum vertical velocity for which position hold is enabled (use 0 to disable check).
+
+Only used with MPC_ALT_MODE 1
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0.6 | m/s
+
+### MPC_JERK_AUTO (`FLOAT`) {#MPC_JERK_AUTO}
+
+Jerk limit in autonomous modes.
+
+Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions but also limited agility.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 80 | 1 | 4. | m/s^3
+
+### MPC_JERK_MAX (`FLOAT`) {#MPC_JERK_MAX}
+
+Maximum horizontal and vertical jerk in Position/Altitude mode.
+
+Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother motions but limits agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Only used with smooth MPC_POS_MODE Smoothed velocity and Acceleration based.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 500 | 1 | 8. | m/s^3
+
+### MPC_LAND_ALT1 (`FLOAT`) {#MPC_LAND_ALT1}
+
+Altitude for 1. step of slow landing (descend).
+
+Below this altitude descending velocity gets limited to a value between "MPC_Z_VEL_MAX_DN" (or "MPC_Z_V_AUTO_DN") and "MPC_LAND_SPEED" Value needs to be higher than "MPC_LAND_ALT2"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 122 | | 10. | m
+
+### MPC_LAND_ALT2 (`FLOAT`) {#MPC_LAND_ALT2}
+
+Altitude for 2. step of slow landing (landing).
+
+Below this altitude descending velocity gets limited to "MPC_LAND_SPEED" Value needs to be lower than "MPC_LAND_ALT1"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 122 | | 5. | m
+
+### MPC_LAND_ALT3 (`FLOAT`) {#MPC_LAND_ALT3}
+
+Altitude for 3. step of slow landing.
+
+Below this altitude descending velocity gets limited to "MPC_LAND_CRWL", if LIDAR available. No effect if LIDAR not available
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 122 | | 1. | m
+
+### MPC_LAND_CRWL (`FLOAT`) {#MPC_LAND_CRWL}
+
+Land crawl descend rate.
+
+Used below MPC_LAND_ALT3 if distance sensor data is availabe.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | | 0.3 | m/s
+
+### MPC_LAND_RADIUS (`FLOAT`) {#MPC_LAND_RADIUS}
+
+User assisted landing radius.
+
+When nudging is enabled (see MPC_LAND_RC_HELP), this controls the maximum allowed horizontal displacement from the original landing point.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 1 | 1000. | m
+
+### MPC_LAND_RC_HELP (`INT32`) {#MPC_LAND_RC_HELP}
+
+Enable nudging based on user input during autonomous land routine.
+
+Using stick input the vehicle can be moved horizontally and yawed. The descend speed is amended: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).
+
+**Values:**
+
+- `0`: Nudging disabled
+- `1`: Nudging enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### MPC_LAND_SPEED (`FLOAT`) {#MPC_LAND_SPEED}
+
+Landing descend rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.6 | | | 0.7 | m/s
+
+### MPC_MANTHR_MIN (`FLOAT`) {#MPC_MANTHR_MIN}
+
+Minimum collective thrust in Stabilized mode.
+
+The value is mapped to the lowest throttle stick position in Stabilized mode. Too low collective thrust leads to loss of roll/pitch/yaw torque control authority. Airmode is used to keep torque authority with zero thrust (see MC_AIRMODE).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.08 | norm
+
+### MPC_MAN_TILT_MAX (`FLOAT`) {#MPC_MAN_TILT_MAX}
+
+Maximal tilt angle in Stabilized or Altitude mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 70 | 1 | 35. | deg
+
+### MPC_MAN_Y_MAX (`FLOAT`) {#MPC_MAN_Y_MAX}
+
+Max manual yaw rate for Stabilized, Altitude, Position mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 400 | 10 | 150. | deg/s
+
+### MPC_MAN_Y_TAU (`FLOAT`) {#MPC_MAN_Y_TAU}
+
+Manual yaw rate input filter time constant.
+
+Not used in Stabilized mode Setting this parameter to 0 disables the filter
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 5 | 0.01 | 0.08 | s
+
+### MPC_POS_MODE (`INT32`) {#MPC_POS_MODE}
+
+Position/Altitude mode variant.
+
+The supported sub-modes are: - "Direct velocity": Sticks directly map to velocity setpoints without smoothing. Also applies to vertical direction and Altitude mode. Useful for velocity control tuning. - "Smoothed velocity": Sticks map to velocity but with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). - "Acceleration based": Sticks map to acceleration and there's a virtual brake drag
+
+**Values:**
+
+- `0`: Direct velocity
+- `3`: Smoothed velocity
+- `4`: Acceleration based
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 4 |
+
+### MPC_THR_CURVE (`INT32`) {#MPC_THR_CURVE}
+
+Thrust curve mapping in Stabilized Mode.
+
+This parameter defines how the throttle stick input is mapped to collective thrust in Stabilized mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, then 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.
+
+**Values:**
+
+- `0`: Rescale to hover thrust
+- `1`: No Rescale
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MPC_THR_HOVER (`FLOAT`) {#MPC_THR_HOVER}
+
+Vertical thrust required to hover.
+
+Mapped to center throttle stick in Stabilized mode (see MPC_THR_CURVE). Used for initialization of the hover thrust estimator (see MPC_USE_HTE). The estimated hover thrust is used as base for zero vertical acceleration in altitude control. The hover thrust is important for land detection to work correctly.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 0.8 | 0.01 | 0.5 | norm
+
+### MPC_THR_MAX (`FLOAT`) {#MPC_THR_MAX}
+
+Maximum collective thrust in climb rate controlled modes.
+
+Limit allowed thrust e.g. for indoor test of overpowered vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.05 | 1. | norm
+
+### MPC_THR_MIN (`FLOAT`) {#MPC_THR_MIN}
+
+Minimum collective thrust in climb rate controlled modes.
+
+Too low thrust leads to loss of roll/pitch/yaw torque control authority. With airmode enabled this parameters can be set to 0 while still keeping torque authority (see MC_AIRMODE).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 0.5 | 0.01 | 0.12 | norm
+
+### MPC_THR_XY_MARG (`FLOAT`) {#MPC_THR_XY_MARG}
+
+Horizontal thrust margin.
+
+Margin that is kept for horizontal control when higher priority vertical thrust is saturated. To avoid completely starving horizontal control with high vertical error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.5 | 0.01 | 0.3 | norm
+
+### MPC_TILTMAX_AIR (`FLOAT`) {#MPC_TILTMAX_AIR}
+
+Maximum tilt angle in air.
+
+Absolute maximum for all velocity or acceleration controlled modes. Any higher value is truncated.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 20 | 89 | 1 | 45. | deg
+
+### MPC_TILTMAX_LND (`FLOAT`) {#MPC_TILTMAX_LND}
+
+Maximum tilt during inital takeoff ramp.
+
+Tighter tilt limit during takeoff to avoid tip over.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 89 | 1 | 12. | deg
+
+### MPC_TKO_RAMP_T (`FLOAT`) {#MPC_TKO_RAMP_T}
+
+Smooth takeoff ramp time constant.
+
+Increasing this value will make climb rate controlled takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 5 | | 3. | s
+
+### MPC_TKO_SPEED (`FLOAT`) {#MPC_TKO_SPEED}
+
+Takeoff climb rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 5 | | 1.5 | m/s
+
+### MPC_USE_HTE (`INT32`) {#MPC_USE_HTE}
+
+Hover thrust estimator.
+
+Disable to use the fixed parameter MPC_THR_HOVER Enable to use the hover thrust estimator
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### MPC_VELD_LP (`FLOAT`) {#MPC_VELD_LP}
+
+Velocity derivative low pass cutoff frequency.
+
+A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | 0.5 | 5.0 | Hz
+
+### MPC_VEL_LP (`FLOAT`) {#MPC_VEL_LP}
+
+Velocity low pass cutoff frequency.
+
+A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | 0.5 | 0.0 | Hz
+
+### MPC_VEL_MANUAL (`FLOAT`) {#MPC_VEL_MANUAL}
+
+Maximum horizontal velocity setpoint in Position mode.
+
+Must be smaller than MPC_XY_VEL_MAX. The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 3 | 20 | 1 | 10. | m/s
+
+### MPC_VEL_MAN_BACK (`FLOAT`) {#MPC_VEL_MAN_BACK}
+
+Maximum backward velocity in Position mode.
+
+If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 20 | 1 | -1. | m/s
+
+### MPC_VEL_MAN_SIDE (`FLOAT`) {#MPC_VEL_MAN_SIDE}
+
+Maximum sideways velocity in Position mode.
+
+If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 20 | 1 | -1. | m/s
+
+### MPC_VEL_NF_BW (`FLOAT`) {#MPC_VEL_NF_BW}
+
+Velocity notch filter bandwidth.
+
+A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | 0.5 | 5.0 | Hz
+
+### MPC_VEL_NF_FRQ (`FLOAT`) {#MPC_VEL_NF_FRQ}
+
+Velocity notch filter frequency.
+
+The center frequency for the 2nd order notch filter on the velocity. A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | 0.5 | 0.0 | Hz
+
+### MPC_XY_CRUISE (`FLOAT`) {#MPC_XY_CRUISE}
+
+Default horizontal velocity in autonomous modes.
+
+e.g. in Missions, RTL, Goto if the waypoint does not specify differently
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 3 | 20 | 1 | 5. | m/s
+
+### MPC_XY_ERR_MAX (`FLOAT`) {#MPC_XY_ERR_MAX}
+
+Maximum horizontal error allowed by the trajectory generator.
+
+The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10 | 1 | 2. |
+
+### MPC_XY_MAN_EXPO (`FLOAT`) {#MPC_XY_MAN_EXPO}
+
+Manual position control stick exponential curve sensitivity.
+
+The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.6 |
+
+### MPC_XY_P (`FLOAT`) {#MPC_XY_P}
+
+Proportional gain for horizontal position error.
+
+Defined as corrective velocity in m/s per m position error
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | 0.1 | 0.95 |
+
+### MPC_XY_TRAJ_P (`FLOAT`) {#MPC_XY_TRAJ_P}
+
+Proportional gain for horizontal trajectory position error.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1 | 0.1 | 0.5 |
+
+### MPC_XY_VEL_ALL (`FLOAT`) {#MPC_XY_VEL_ALL}
+
+Overall Horizontal Velocity Limit.
+
+If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -20 | 20 | 1 | -10. |
+
+### MPC_XY_VEL_D_ACC (`FLOAT`) {#MPC_XY_VEL_D_ACC}
+
+Differential gain for horizontal velocity error.
+
+Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 2 | 0.02 | 0.2 |
+
+### MPC_XY_VEL_I_ACC (`FLOAT`) {#MPC_XY_VEL_I_ACC}
+
+Integral gain for horizontal velocity error.
+
+Defined as correction acceleration in m/s^2 per m velocity integral Allows to eliminate steady state errors in disturbances like wind.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 60 | 0.02 | 0.4 |
+
+### MPC_XY_VEL_MAX (`FLOAT`) {#MPC_XY_VEL_MAX}
+
+Maximum horizontal velocity.
+
+Absolute maximum for all velocity controlled modes. Any higher value is truncated.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 20 | 1 | 12. | m/s
+
+### MPC_XY_VEL_P_ACC (`FLOAT`) {#MPC_XY_VEL_P_ACC}
+
+Proportional gain for horizontal velocity error.
+
+Defined as corrective acceleration in m/s^2 per m/s velocity error
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.2 | 5 | 0.1 | 1.8 |
+
+### MPC_YAW_EXPO (`FLOAT`) {#MPC_YAW_EXPO}
+
+Manual control stick yaw rotation exponential curve.
+
+The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.6 |
+
+### MPC_Z_MAN_EXPO (`FLOAT`) {#MPC_Z_MAN_EXPO}
+
+Manual control stick vertical exponential curve.
+
+The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | 0.01 | 0.6 |
+
+### MPC_Z_P (`FLOAT`) {#MPC_Z_P}
+
+Proportional gain for vertical position error.
+
+Defined as corrective velocity in m/s per m position error
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.5 | 0.1 | 1. |
+
+### MPC_Z_VEL_ALL (`FLOAT`) {#MPC_Z_VEL_ALL}
+
+Overall Vertical Velocity Limit.
+
+If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -3 | 8 | 0.5 | -3. |
+
+### MPC_Z_VEL_D_ACC (`FLOAT`) {#MPC_Z_VEL_D_ACC}
+
+Differential gain for vertical velocity error.
+
+Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | 0.02 | 0. |
+
+### MPC_Z_VEL_I_ACC (`FLOAT`) {#MPC_Z_VEL_I_ACC}
+
+Integral gain for vertical velocity error.
+
+Defined as corrective acceleration in m/s^2 per m velocity integral
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.2 | 3 | 0.1 | 2. |
+
+### MPC_Z_VEL_MAX_DN (`FLOAT`) {#MPC_Z_VEL_MAX_DN}
+
+Maximum descent velocity.
+
+Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 4 | 0.1 | 1.5 | m/s
+
+### MPC_Z_VEL_MAX_UP (`FLOAT`) {#MPC_Z_VEL_MAX_UP}
+
+Maximum ascent velocity.
+
+Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 8 | 0.1 | 3. | m/s
+
+### MPC_Z_VEL_P_ACC (`FLOAT`) {#MPC_Z_VEL_P_ACC}
+
+Proportional gain for vertical velocity error.
+
+Defined as corrective acceleration in m/s^2 per m/s velocity error
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 2 | 15 | 0.1 | 4. |
+
+### MPC_Z_V_AUTO_DN (`FLOAT`) {#MPC_Z_V_AUTO_DN}
+
+Descent velocity in autonomous modes.
+
+For manual modes and offboard, see MPC_Z_VEL_MAX_DN
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 4 | 0.5 | 1.5 | m/s
+
+### MPC_Z_V_AUTO_UP (`FLOAT`) {#MPC_Z_V_AUTO_UP}
+
+Ascent velocity in autonomous modes.
+
+For manually controlled modes and offboard see MPC_Z_VEL_MAX_UP
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 8 | 0.5 | 3. | m/s
+
+### SYS_VEHICLE_RESP (`FLOAT`) {#SYS_VEHICLE_RESP}
+
+Responsiveness.
+
+Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.05 | -0.4 |
+
+### WV_EN (`INT32`) {#WV_EN}
+
+Enable weathervane.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### WV_ROLL_MIN (`FLOAT`) {#WV_ROLL_MIN}
+
+Minimum roll angle setpoint for weathervane controller to demand a yaw-rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 5 | | 1.0 | deg
+
+### WV_YRATE_MAX (`FLOAT`) {#WV_YRATE_MAX}
+
+Maximum yawrate the weathervane controller is allowed to demand.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 120 | | 90.0 | deg/s
+
+## Multicopter Position Slow Mode
+
+### MC_SLOW_DEF_HVEL (`FLOAT`) {#MC_SLOW_DEF_HVEL}
+
+Default horizontal velocity limit.
+
+This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | 3. | m/s
+
+### MC_SLOW_DEF_VVEL (`FLOAT`) {#MC_SLOW_DEF_VVEL}
+
+Default vertical velocity limit.
+
+This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | 1. | m/s
+
+### MC_SLOW_DEF_YAWR (`FLOAT`) {#MC_SLOW_DEF_YAWR}
+
+Default yaw rate limit.
+
+This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | | 0.1 | 45. | deg/s
+
+### MC_SLOW_MAP_HVEL (`INT32`) {#MC_SLOW_MAP_HVEL}
+
+Manual input mapped to scale horizontal velocity in position slow mode.
+
+**Values:**
+
+- `0`: No rescaling
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MC_SLOW_MAP_VVEL (`INT32`) {#MC_SLOW_MAP_VVEL}
+
+Manual input mapped to scale vertical velocity in position slow mode.
+
+**Values:**
+
+- `0`: No rescaling
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MC_SLOW_MAP_YAWR (`INT32`) {#MC_SLOW_MAP_YAWR}
+
+Manual input mapped to scale yaw rate in position slow mode.
+
+**Values:**
+
+- `0`: No rescaling
+- `1`: AUX1
+- `2`: AUX2
+- `3`: AUX3
+- `4`: AUX4
+- `5`: AUX5
+- `6`: AUX6
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### MC_SLOW_MIN_HVEL (`FLOAT`) {#MC_SLOW_MIN_HVEL}
+
+Horizontal velocity lower limit.
+
+The lowest input maps and is clamped to this velocity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | .3 | m/s
+
+### MC_SLOW_MIN_VVEL (`FLOAT`) {#MC_SLOW_MIN_VVEL}
+
+Vertical velocity lower limit.
+
+The lowest input maps and is clamped to this velocity.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | .3 | m/s
+
+### MC_SLOW_MIN_YAWR (`FLOAT`) {#MC_SLOW_MIN_YAWR}
+
+Yaw rate lower limit.
+
+The lowest input maps and is clamped to this rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | | 0.1 | 3. | deg/s
+
+## Multicopter Rate Control
+
+### MC_BAT_SCALE_EN (`INT32`) {#MC_BAT_SCALE_EN}
+
+Battery power level scaler.
+
+This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### MC_PITCHRATE_D (`FLOAT`) {#MC_PITCHRATE_D}
+
+Pitch rate D gain.
+
+Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.0005 | 0.003 |
+
+### MC_PITCHRATE_FF (`FLOAT`) {#MC_PITCHRATE_FF}
+
+Pitch rate feedforward.
+
+Improves tracking performance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 0.0 |
+
+### MC_PITCHRATE_I (`FLOAT`) {#MC_PITCHRATE_I}
+
+Pitch rate I gain.
+
+Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.2 |
+
+### MC_PITCHRATE_K (`FLOAT`) {#MC_PITCHRATE_K}
+
+Pitch rate controller gain.
+
+Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 5.0 | 0.0005 | 1.0 |
+
+### MC_PITCHRATE_P (`FLOAT`) {#MC_PITCHRATE_P}
+
+Pitch rate P gain.
+
+Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 0.6 | 0.01 | 0.15 |
+
+### MC_PR_INT_LIM (`FLOAT`) {#MC_PR_INT_LIM}
+
+Pitch rate integrator limit.
+
+Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.30 |
+
+### MC_ROLLRATE_D (`FLOAT`) {#MC_ROLLRATE_D}
+
+Roll rate D gain.
+
+Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.01 | 0.0005 | 0.003 |
+
+### MC_ROLLRATE_FF (`FLOAT`) {#MC_ROLLRATE_FF}
+
+Roll rate feedforward.
+
+Improves tracking performance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 0.0 |
+
+### MC_ROLLRATE_I (`FLOAT`) {#MC_ROLLRATE_I}
+
+Roll rate I gain.
+
+Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.2 |
+
+### MC_ROLLRATE_K (`FLOAT`) {#MC_ROLLRATE_K}
+
+Roll rate controller gain.
+
+Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 5.0 | 0.0005 | 1.0 |
+
+### MC_ROLLRATE_P (`FLOAT`) {#MC_ROLLRATE_P}
+
+Roll rate P gain.
+
+Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 0.5 | 0.01 | 0.15 |
+
+### MC_RR_INT_LIM (`FLOAT`) {#MC_RR_INT_LIM}
+
+Roll rate integrator limit.
+
+Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.30 |
+
+### MC_YAWRATE_D (`FLOAT`) {#MC_YAWRATE_D}
+
+Yaw rate D gain.
+
+Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.0 |
+
+### MC_YAWRATE_FF (`FLOAT`) {#MC_YAWRATE_FF}
+
+Yaw rate feedforward.
+
+Improves tracking performance.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.0 |
+
+### MC_YAWRATE_I (`FLOAT`) {#MC_YAWRATE_I}
+
+Yaw rate I gain.
+
+Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.1 |
+
+### MC_YAWRATE_K (`FLOAT`) {#MC_YAWRATE_K}
+
+Yaw rate controller gain.
+
+Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 5.0 | 0.0005 | 1.0 |
+
+### MC_YAWRATE_P (`FLOAT`) {#MC_YAWRATE_P}
+
+Yaw rate P gain.
+
+Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 0.6 | 0.01 | 0.2 |
+
+### MC_YR_INT_LIM (`FLOAT`) {#MC_YR_INT_LIM}
+
+Yaw rate integrator limit.
+
+Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.30 |
+
+## OSD
+
+### MSP_OSD_CONFIG (`INT32`) {#MSP_OSD_CONFIG}
+
+Serial Configuration for MSP OSD.
+
+Configure on which serial port to run MSP OSD.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### OSD_ATXXXX_CFG (`INT32`) {#OSD_ATXXXX_CFG}
+
+Enable/Disable the ATXXX OSD Chip.
+
+Configure the ATXXXX OSD Chip (mounted on the OmnibusF4SD board) and select the transmission standard.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: NTSC
+- `2`: PAL
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### OSD_CH_HEIGHT (`INT32`) {#OSD_CH_HEIGHT}
+
+OSD Crosshairs Height.
+
+Controls the vertical position of the crosshair display. Resolution is limited by OSD to 15 discrete values. Negative values will display the crosshairs below the horizon
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -8 | 8 | | 0 |
+
+### OSD_DWELL_TIME (`INT32`) {#OSD_DWELL_TIME}
+
+OSD Dwell Time (ms).
+
+Amount of time in milliseconds to dwell at the beginning of the display, when scrolling.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 100 | 10000 | | 500 |
+
+### OSD_LOG_LEVEL (`INT32`) {#OSD_LOG_LEVEL}
+
+OSD Warning Level.
+
+Minimum security of log level to display on the OSD.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 3 |
+
+### OSD_SCROLL_RATE (`INT32`) {#OSD_SCROLL_RATE}
+
+OSD Scroll Rate (ms).
+
+Scroll rate in milliseconds for OSD messages longer than available character width. This is lower-bounded by the nominal loop rate of this module.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 100 | 1000 | | 125 |
+
+### OSD_SYMBOLS (`INT32`) {#OSD_SYMBOLS}
+
+OSD Symbol Selection.
+
+Configure / toggle support display options.
+
+**Bitmask:**
+
+- `0`: CRAFT_NAME
+- `1`: DISARMED
+- `2`: GPS_LAT
+- `3`: GPS_LON
+- `4`: GPS_SATS
+- `5`: GPS_SPEED
+- `6`: HOME_DIST
+- `7`: HOME_DIR
+- `8`: MAIN_BATT_VOLTAGE
+- `9`: CURRENT_DRAW
+- `10`: MAH_DRAWN
+- `11`: RSSI_VALUE
+- `12`: ALTITUDE
+- `13`: NUMERICAL_VARIO
+- `14`: (unused) FLYMODE
+- `15`: (unused) ESC_TMP
+- `16`: (unused) PITCH_ANGLE
+- `17`: (unused) ROLL_ANGLE
+- `18`: CROSSHAIRS
+- `19`: AVG_CELL_VOLTAGE
+- `20`: (unused) HORIZON_SIDEBARS
+- `21`: POWER
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4194303 | | 16383 |
+
+## PWM Outputs
+
+### MOT_SLEW_MAX (`FLOAT`) {#MOT_SLEW_MAX}
+
+Minimum motor rise time (slew rate limit).
+
+Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | | 0.0 | s/(1000*PWM)
+
+### PWM_SBUS_MODE (`INT32`) {#PWM_SBUS_MODE}
+
+S.BUS out.
+
+Set to 1 to enable S.BUS version 1 output instead of RSSI.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### THR_MDL_FAC (`FLOAT`) {#THR_MDL_FAC}
+
+Thrust to motor control signal model parameter.
+
+Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.1 | 0.0 |
+
+## Payload Deliverer
+
+### PD_GRIPPER_EN (`INT32`) {#PD_GRIPPER_EN}
+
+Enable Gripper actuation in Payload Deliverer.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### PD_GRIPPER_TO (`FLOAT`) {#PD_GRIPPER_TO}
+
+Timeout for successful gripper actuation acknowledgement.
+
+Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 3 | s
+
+### PD_GRIPPER_TYPE (`INT32`) {#PD_GRIPPER_TYPE}
+
+Type of Gripper (Servo, etc.).
+
+**Values:**
+
+- `-1`: Undefined
+- `0`: Servo
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 0 | | 0 |
+
+## Precision Land
+
+### PLD_BTOUT (`FLOAT`) {#PLD_BTOUT}
+
+Landing Target Timeout.
+
+Time after which the landing target is considered lost without any new measurements.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 50 | 0.5 | 5.0 | s
+
+### PLD_FAPPR_ALT (`FLOAT`) {#PLD_FAPPR_ALT}
+
+Final approach altitude.
+
+Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.1 | 0.1 | m
+
+### PLD_HACC_RAD (`FLOAT`) {#PLD_HACC_RAD}
+
+Horizontal acceptance radius.
+
+Start descending if closer above landing target than this.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10 | 0.1 | 0.2 | m
+
+### PLD_MAX_SRCH (`INT32`) {#PLD_MAX_SRCH}
+
+Maximum number of search attempts.
+
+Maximum number of times to search for the landing target if it is lost during the precision landing.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | | 3 |
+
+### PLD_SRCH_ALT (`FLOAT`) {#PLD_SRCH_ALT}
+
+Search altitude.
+
+Altitude above home to which to climb when searching for the landing target.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100 | 0.1 | 10.0 | m
+
+### PLD_SRCH_TOUT (`FLOAT`) {#PLD_SRCH_TOUT}
+
+Search timeout.
+
+Time allowed to search for the landing target before falling back to normal landing.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100 | 0.1 | 10.0 | s
+
+## Pure Pursuit
+
+### PP_LOOKAHD_GAIN (`FLOAT`) {#PP_LOOKAHD_GAIN}
+
+Tuning parameter for the pure pursuit controller.
+
+Lower value -> More aggressive controller (beware overshoot/oscillations)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 100 | 0.01 | 1 |
+
+### PP_LOOKAHD_MAX (`FLOAT`) {#PP_LOOKAHD_MAX}
+
+Maximum lookahead distance for the pure pursuit controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 100 | 0.01 | 10 | m
+
+### PP_LOOKAHD_MIN (`FLOAT`) {#PP_LOOKAHD_MIN}
+
+Minimum lookahead distance for the pure pursuit controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 100 | 0.01 | 1 | m
+
+## RC
+
+### RC_CRSF_TEL_EN (`INT32`) {#RC_CRSF_TEL_EN}
+
+Crossfire RC telemetry enable.
+
+Crossfire telemetry enable
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### RC_GHST_TEL_EN (`INT32`) {#RC_GHST_TEL_EN}
+
+Ghost RC telemetry enable.
+
+Ghost telemetry enable
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+## RC Input
+
+### RC_INPUT_PROTO (`INT32`) {#RC_INPUT_PROTO}
+
+RC input protocol.
+
+Select your RC input protocol or auto to scan.
+
+**Values:**
+
+- `-1`: Auto
+- `0`: None
+- `1`: PPM
+- `2`: SBUS
+- `3`: DSM
+- `4`: ST24
+- `5`: SUMD
+- `6`: CRSF
+- `7`: GHST
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 7 | | -1 |
+
+## Radio Calibration
+
+### RC10_DZ (`FLOAT`) {#RC10_DZ}
+
+RC channel 10 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC10_MAX (`FLOAT`) {#RC10_MAX}
+
+RC channel 10 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC10_MIN (`FLOAT`) {#RC10_MIN}
+
+RC channel 10 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC10_REV (`FLOAT`) {#RC10_REV}
+
+RC channel 10 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC10_TRIM (`FLOAT`) {#RC10_TRIM}
+
+RC channel 10 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC11_DZ (`FLOAT`) {#RC11_DZ}
+
+RC channel 11 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC11_MAX (`FLOAT`) {#RC11_MAX}
+
+RC channel 11 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC11_MIN (`FLOAT`) {#RC11_MIN}
+
+RC channel 11 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC11_REV (`FLOAT`) {#RC11_REV}
+
+RC channel 11 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC11_TRIM (`FLOAT`) {#RC11_TRIM}
+
+RC channel 11 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC12_DZ (`FLOAT`) {#RC12_DZ}
+
+RC channel 12 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC12_MAX (`FLOAT`) {#RC12_MAX}
+
+RC channel 12 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC12_MIN (`FLOAT`) {#RC12_MIN}
+
+RC channel 12 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC12_REV (`FLOAT`) {#RC12_REV}
+
+RC channel 12 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC12_TRIM (`FLOAT`) {#RC12_TRIM}
+
+RC channel 12 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC13_DZ (`FLOAT`) {#RC13_DZ}
+
+RC channel 13 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC13_MAX (`FLOAT`) {#RC13_MAX}
+
+RC channel 13 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC13_MIN (`FLOAT`) {#RC13_MIN}
+
+RC channel 13 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC13_REV (`FLOAT`) {#RC13_REV}
+
+RC channel 13 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC13_TRIM (`FLOAT`) {#RC13_TRIM}
+
+RC channel 13 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC14_DZ (`FLOAT`) {#RC14_DZ}
+
+RC channel 14 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC14_MAX (`FLOAT`) {#RC14_MAX}
+
+RC channel 14 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC14_MIN (`FLOAT`) {#RC14_MIN}
+
+RC channel 14 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC14_REV (`FLOAT`) {#RC14_REV}
+
+RC channel 14 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC14_TRIM (`FLOAT`) {#RC14_TRIM}
+
+RC channel 14 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC15_DZ (`FLOAT`) {#RC15_DZ}
+
+RC channel 15 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC15_MAX (`FLOAT`) {#RC15_MAX}
+
+RC channel 15 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC15_MIN (`FLOAT`) {#RC15_MIN}
+
+RC channel 15 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC15_REV (`FLOAT`) {#RC15_REV}
+
+RC channel 15 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC15_TRIM (`FLOAT`) {#RC15_TRIM}
+
+RC channel 15 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC16_DZ (`FLOAT`) {#RC16_DZ}
+
+RC channel 16 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC16_MAX (`FLOAT`) {#RC16_MAX}
+
+RC channel 16 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC16_MIN (`FLOAT`) {#RC16_MIN}
+
+RC channel 16 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC16_REV (`FLOAT`) {#RC16_REV}
+
+RC channel 16 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC16_TRIM (`FLOAT`) {#RC16_TRIM}
+
+RC channel 16 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC17_DZ (`FLOAT`) {#RC17_DZ}
+
+RC channel 17 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC17_MAX (`FLOAT`) {#RC17_MAX}
+
+RC channel 17 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC17_MIN (`FLOAT`) {#RC17_MIN}
+
+RC channel 17 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC17_REV (`FLOAT`) {#RC17_REV}
+
+RC channel 17 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC17_TRIM (`FLOAT`) {#RC17_TRIM}
+
+RC channel 17 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC18_DZ (`FLOAT`) {#RC18_DZ}
+
+RC channel 18 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC18_MAX (`FLOAT`) {#RC18_MAX}
+
+RC channel 18 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC18_MIN (`FLOAT`) {#RC18_MIN}
+
+RC channel 18 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC18_REV (`FLOAT`) {#RC18_REV}
+
+RC channel 18 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC18_TRIM (`FLOAT`) {#RC18_TRIM}
+
+RC channel 18 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC1_DZ (`FLOAT`) {#RC1_DZ}
+
+RC channel 1 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 | us
+
+### RC1_MAX (`FLOAT`) {#RC1_MAX}
+
+RC channel 1 maximum.
+
+Maximum value for RC channel 1
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000.0 | us
+
+### RC1_MIN (`FLOAT`) {#RC1_MIN}
+
+RC channel 1 minimum.
+
+Minimum value for RC channel 1
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000.0 | us
+
+### RC1_REV (`FLOAT`) {#RC1_REV}
+
+RC channel 1 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC1_TRIM (`FLOAT`) {#RC1_TRIM}
+
+RC channel 1 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500.0 | us
+
+### RC2_DZ (`FLOAT`) {#RC2_DZ}
+
+RC channel 2 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 | us
+
+### RC2_MAX (`FLOAT`) {#RC2_MAX}
+
+RC channel 2 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000.0 | us
+
+### RC2_MIN (`FLOAT`) {#RC2_MIN}
+
+RC channel 2 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000.0 | us
+
+### RC2_REV (`FLOAT`) {#RC2_REV}
+
+RC channel 2 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC2_TRIM (`FLOAT`) {#RC2_TRIM}
+
+RC channel 2 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500.0 | us
+
+### RC3_DZ (`FLOAT`) {#RC3_DZ}
+
+RC channel 3 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 | us
+
+### RC3_MAX (`FLOAT`) {#RC3_MAX}
+
+RC channel 3 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC3_MIN (`FLOAT`) {#RC3_MIN}
+
+RC channel 3 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC3_REV (`FLOAT`) {#RC3_REV}
+
+RC channel 3 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC3_TRIM (`FLOAT`) {#RC3_TRIM}
+
+RC channel 3 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC4_DZ (`FLOAT`) {#RC4_DZ}
+
+RC channel 4 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 | us
+
+### RC4_MAX (`FLOAT`) {#RC4_MAX}
+
+RC channel 4 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC4_MIN (`FLOAT`) {#RC4_MIN}
+
+RC channel 4 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC4_REV (`FLOAT`) {#RC4_REV}
+
+RC channel 4 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC4_TRIM (`FLOAT`) {#RC4_TRIM}
+
+RC channel 4 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC5_DZ (`FLOAT`) {#RC5_DZ}
+
+RC channel 5 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 |
+
+### RC5_MAX (`FLOAT`) {#RC5_MAX}
+
+RC channel 5 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC5_MIN (`FLOAT`) {#RC5_MIN}
+
+RC channel 5 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC5_REV (`FLOAT`) {#RC5_REV}
+
+RC channel 5 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC5_TRIM (`FLOAT`) {#RC5_TRIM}
+
+RC channel 5 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC6_DZ (`FLOAT`) {#RC6_DZ}
+
+RC channel 6 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 |
+
+### RC6_MAX (`FLOAT`) {#RC6_MAX}
+
+RC channel 6 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC6_MIN (`FLOAT`) {#RC6_MIN}
+
+RC channel 6 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC6_REV (`FLOAT`) {#RC6_REV}
+
+RC channel 6 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC6_TRIM (`FLOAT`) {#RC6_TRIM}
+
+RC channel 6 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC7_DZ (`FLOAT`) {#RC7_DZ}
+
+RC channel 7 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 |
+
+### RC7_MAX (`FLOAT`) {#RC7_MAX}
+
+RC channel 7 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC7_MIN (`FLOAT`) {#RC7_MIN}
+
+RC channel 7 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC7_REV (`FLOAT`) {#RC7_REV}
+
+RC channel 7 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC7_TRIM (`FLOAT`) {#RC7_TRIM}
+
+RC channel 7 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC8_DZ (`FLOAT`) {#RC8_DZ}
+
+RC channel 8 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 10.0 |
+
+### RC8_MAX (`FLOAT`) {#RC8_MAX}
+
+RC channel 8 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC8_MIN (`FLOAT`) {#RC8_MIN}
+
+RC channel 8 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC8_REV (`FLOAT`) {#RC8_REV}
+
+RC channel 8 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC8_TRIM (`FLOAT`) {#RC8_TRIM}
+
+RC channel 8 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC9_DZ (`FLOAT`) {#RC9_DZ}
+
+RC channel 9 dead zone.
+
+The +- range of this value around the trim value will be considered as zero.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | | 0.0 |
+
+### RC9_MAX (`FLOAT`) {#RC9_MAX}
+
+RC channel 9 maximum.
+
+Maximum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1500.0 | 2200.0 | | 2000 | us
+
+### RC9_MIN (`FLOAT`) {#RC9_MIN}
+
+RC channel 9 minimum.
+
+Minimum value for this channel.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 1500.0 | | 1000 | us
+
+### RC9_REV (`FLOAT`) {#RC9_REV}
+
+RC channel 9 reverse.
+
+Set to -1 to reverse channel.
+
+**Values:**
+
+- `-1.0`: Reverse
+- `1.0`: Normal
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | 1.0 | | 1.0 |
+
+### RC9_TRIM (`FLOAT`) {#RC9_TRIM}
+
+RC channel 9 trim.
+
+Mid point value
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 800.0 | 2200.0 | | 1500 | us
+
+### RC_CHAN_CNT (`INT32`) {#RC_CHAN_CNT}
+
+RC channel count.
+
+This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_FAILS_THR (`INT32`) {#RC_FAILS_THR}
+
+Failsafe channel PWM threshold.
+
+Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2200 | | 0 | us
+
+### RC_MAP_AUX1 (`INT32`) {#RC_MAP_AUX1}
+
+AUX1 Passthrough RC channel.
+
+Default function: Camera pitch
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_AUX2 (`INT32`) {#RC_MAP_AUX2}
+
+AUX2 Passthrough RC channel.
+
+Default function: Camera roll
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_AUX3 (`INT32`) {#RC_MAP_AUX3}
+
+AUX3 Passthrough RC channel.
+
+Default function: Camera azimuth / yaw
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_AUX4 (`INT32`) {#RC_MAP_AUX4}
+
+AUX4 Passthrough RC channel.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_AUX5 (`INT32`) {#RC_MAP_AUX5}
+
+AUX5 Passthrough RC channel.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_AUX6 (`INT32`) {#RC_MAP_AUX6}
+
+AUX6 Passthrough RC channel.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_ENG_MOT (`INT32`) {#RC_MAP_ENG_MOT}
+
+RC channel to engage the main motor (for helicopters).
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_FAILSAFE (`INT32`) {#RC_MAP_FAILSAFE}
+
+Failsafe channel mapping.
+
+Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_PARAM1 (`INT32`) {#RC_MAP_PARAM1}
+
+PARAM1 tuning channel.
+
+Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_PARAM2 (`INT32`) {#RC_MAP_PARAM2}
+
+PARAM2 tuning channel.
+
+Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_PARAM3 (`INT32`) {#RC_MAP_PARAM3}
+
+PARAM3 tuning channel.
+
+Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_PITCH (`INT32`) {#RC_MAP_PITCH}
+
+Pitch control channel mapping.
+
+The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_ROLL (`INT32`) {#RC_MAP_ROLL}
+
+Roll control channel mapping.
+
+The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_THROTTLE (`INT32`) {#RC_MAP_THROTTLE}
+
+Throttle control channel mapping.
+
+The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_MAP_YAW (`INT32`) {#RC_MAP_YAW}
+
+Yaw control channel mapping.
+
+The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_RSSI_PWM_CHAN (`INT32`) {#RC_RSSI_PWM_CHAN}
+
+PWM input channel that provides RSSI.
+
+0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.
+
+**Values:**
+
+- `0`: Unassigned
+- `1`: Channel 1
+- `2`: Channel 2
+- `3`: Channel 3
+- `4`: Channel 4
+- `5`: Channel 5
+- `6`: Channel 6
+- `7`: Channel 7
+- `8`: Channel 8
+- `9`: Channel 9
+- `10`: Channel 10
+- `11`: Channel 11
+- `12`: Channel 12
+- `13`: Channel 13
+- `14`: Channel 14
+- `15`: Channel 15
+- `16`: Channel 16
+- `17`: Channel 17
+- `18`: Channel 18
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 18 | | 0 |
+
+### RC_RSSI_PWM_MAX (`INT32`) {#RC_RSSI_PWM_MAX}
+
+Max input value for RSSI reading.
+
+Only used if RC_RSSI_PWM_CHAN > 0
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2000 | | 2000 |
+
+### RC_RSSI_PWM_MIN (`INT32`) {#RC_RSSI_PWM_MIN}
+
+Min input value for RSSI reading.
+
+Only used if RC_RSSI_PWM_CHAN > 0
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2000 | | 1000 |
+
+### TRIM_PITCH (`FLOAT`) {#TRIM_PITCH}
+
+Pitch trim.
+
+The trim value is the actuator control value the system needs for straight and level flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### TRIM_ROLL (`FLOAT`) {#TRIM_ROLL}
+
+Roll trim.
+
+The trim value is the actuator control value the system needs for straight and level flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+### TRIM_YAW (`FLOAT`) {#TRIM_YAW}
+
+Yaw trim.
+
+The trim value is the actuator control value the system needs for straight and level flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -0.5 | 0.5 | 0.01 | 0.0 |
+
+## Radio Switches
+
+### RC_ARMSWITCH_TH (`FLOAT`) {#RC_ARMSWITCH_TH}
+
+Threshold for the arm switch.
+
+0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
The rover starts to cut the corner earlier.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 100 | 0.01 | 2 |
+
+### RA_ACC_RAD_MAX (`FLOAT`) {#RA_ACC_RAD_MAX}
+
+Maximum acceptance radius for the waypoints.
+
+The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 0.01 | 3 | m
+
+### RA_MAX_ACCEL (`FLOAT`) {#RA_MAX_ACCEL}
+
+Maximum acceleration for the rover.
+
+This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 0.01 | -1 | m/s^2
+
+### RA_MAX_JERK (`FLOAT`) {#RA_MAX_JERK}
+
+Maximum jerk.
+
+Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 0.01 | -1 | m/s^3
+
+### RA_MAX_SPEED (`FLOAT`) {#RA_MAX_SPEED}
+
+Speed the rover drives at maximum throttle.
+
+This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 0.01 | -1 | m/s
+
+### RA_MAX_STR_ANG (`FLOAT`) {#RA_MAX_STR_ANG}
+
+Maximum steering angle.
+
+The maximum angle that the rover can steer
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 1.5708 | 0.01 | 0.5236 | rad
+
+### RA_MAX_STR_RATE (`FLOAT`) {#RA_MAX_STR_RATE}
+
+Maximum steering rate for the rover.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1000 | 0.01 | -1 | deg/s
+
+### RA_MISS_VEL_DEF (`FLOAT`) {#RA_MISS_VEL_DEF}
+
+Default rover velocity during a mission.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 2 | m/s
+
+### RA_MISS_VEL_GAIN (`FLOAT`) {#RA_MISS_VEL_GAIN}
+
+Tuning parameter for the velocity reduction during cornering.
+
+The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.05 | 100 | 0.01 | 5 |
+
+### RA_MISS_VEL_MIN (`FLOAT`) {#RA_MISS_VEL_MIN}
+
+Minimum rover velocity during a mission.
+
+The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | 0.01 | 1 | m/s
+
+### RA_SPEED_I (`FLOAT`) {#RA_SPEED_I}
+
+Integral gain for ground speed controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 |
+
+### RA_SPEED_P (`FLOAT`) {#RA_SPEED_P}
+
+Proportional gain for ground speed controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 |
+
+### RA_WHEEL_BASE (`FLOAT`) {#RA_WHEEL_BASE}
+
+Wheel base.
+
+Distance from the front to the rear axle
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 100 | 0.001 | 0.5 | m
+
+## Rover Differential
+
+### RD_HEADING_I (`FLOAT`) {#RD_HEADING_I}
+
+Integral gain for heading controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 0.1 |
+
+### RD_HEADING_P (`FLOAT`) {#RD_HEADING_P}
+
+Proportional gain for heading controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 |
+
+### RD_MAN_YAW_SCALE (`FLOAT`) {#RD_MAN_YAW_SCALE}
+
+Manual yaw rate scale.
+
+In manual mode the setpoint for the yaw rate received from the rc remote is scaled by this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1 | 0.01 | 1 |
+
+### RD_MAX_ACCEL (`FLOAT`) {#RD_MAX_ACCEL}
+
+Maximum acceleration.
+
+Maximum acceleration is used to limit the acceleration of the rover
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 0.5 | m/s^2
+
+### RD_MAX_JERK (`FLOAT`) {#RD_MAX_JERK}
+
+Maximum jerk.
+
+Limit for forwards acc/deceleration change.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 0.5 | m/s^3
+
+### RD_MAX_SPEED (`FLOAT`) {#RD_MAX_SPEED}
+
+Maximum speed the rover can drive.
+
+This parameter is used to map desired speeds to normalized motor commands.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 7 | m/s
+
+### RD_MAX_YAW_RATE (`FLOAT`) {#RD_MAX_YAW_RATE}
+
+Maximum allowed yaw rate for the rover.
+
+This parameter is used to cap desired yaw rates and map controller inputs to desired yaw rates in acro mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 1000 | 0.01 | 90 | deg/s
+
+### RD_MISS_SPD_DEF (`FLOAT`) {#RD_MISS_SPD_DEF}
+
+Default rover speed during a mission.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 | m/s
+
+### RD_SPEED_I (`FLOAT`) {#RD_SPEED_I}
+
+Integral gain for ground speed controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 0 |
+
+### RD_SPEED_P (`FLOAT`) {#RD_SPEED_P}
+
+Proportional gain for speed controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 |
+
+### RD_TRANS_DRV_TRN (`FLOAT`) {#RD_TRANS_DRV_TRN}
+
+Heading error threshhold to switch from driving to spot turning.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 3.14159 | 0.01 | 0.174533 | rad
+
+### RD_TRANS_TRN_DRV (`FLOAT`) {#RD_TRANS_TRN_DRV}
+
+Heading error threshhold to switch from spot turning to driving.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 3.14159 | 0.01 | 0.0872665 | rad
+
+### RD_WHEEL_TRACK (`FLOAT`) {#RD_WHEEL_TRACK}
+
+Wheel track.
+
+Distance from the center of the right wheel to the center of the left wheel
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.001 | 100 | 0.001 | 0.5 | m
+
+### RD_YAW_RATE_I (`FLOAT`) {#RD_YAW_RATE_I}
+
+Integral gain for angular velocity controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 0 |
+
+### RD_YAW_RATE_P (`FLOAT`) {#RD_YAW_RATE_P}
+
+Proportional gain for angular velocity controller.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.01 | 1 |
+
+## Rover Position Control
+
+### GND_L1_DAMPING (`FLOAT`) {#GND_L1_DAMPING}
+
+L1 damping.
+
+Damping factor for L1 control.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.6 | 0.9 | 0.05 | 0.75 |
+
+### GND_L1_DIST (`FLOAT`) {#GND_L1_DIST}
+
+L1 distance.
+
+This is the distance at which the next waypoint is activated. This should be set to about 2-4x of GND_WHEEL_BASE and not smaller than one meter (due to GPS accuracy).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 50.0 | 0.1 | 1.0 | m
+
+### GND_L1_PERIOD (`FLOAT`) {#GND_L1_PERIOD}
+
+L1 period.
+
+This is the L1 distance and defines the tracking point ahead of the rover it's following. Use values around 2-5m for a 0.3m wheel base. Tuning instructions: Shorten slowly during tuning until response is sharp without oscillation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 50.0 | 0.5 | 5.0 | m
+
+### GND_MAN_Y_MAX (`FLOAT`) {#GND_MAN_Y_MAX}
+
+Max manual yaw rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 400 | | 150.0 | deg/s
+
+### GND_MAX_ANG (`FLOAT`) {#GND_MAX_ANG}
+
+Maximum turn angle for Ackerman steering.
+
+At a control output of 0, the steering wheels are at 0 radians. At a control output of 1, the steering wheels are at GND_MAX_ANG radians.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 3.14159 | 0.01 | 0.7854 | rad
+
+### GND_SPEED_D (`FLOAT`) {#GND_SPEED_D}
+
+Speed proportional gain.
+
+This is the derivative gain for the speed closed loop controller
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 50.0 | 0.005 | 0.001 | %m/s
+
+### GND_SPEED_I (`FLOAT`) {#GND_SPEED_I}
+
+Speed Integral gain.
+
+This is the integral gain for the speed closed loop controller
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 50.0 | 0.005 | 3.0 | %m/s
+
+### GND_SPEED_IMAX (`FLOAT`) {#GND_SPEED_IMAX}
+
+Speed integral maximum value.
+
+This is the maxim value the integral can reach to prevent wind-up.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.005 | 50.0 | 0.005 | 1.0 | %m/s
+
+### GND_SPEED_MAX (`FLOAT`) {#GND_SPEED_MAX}
+
+Maximum ground speed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 40 | 0.5 | 10.0 | m/s
+
+### GND_SPEED_P (`FLOAT`) {#GND_SPEED_P}
+
+Speed proportional gain.
+
+This is the proportional gain for the speed closed loop controller
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.005 | 50.0 | 0.005 | 2.0 | %m/s
+
+### GND_SPEED_THR_SC (`FLOAT`) {#GND_SPEED_THR_SC}
+
+Speed to throttle scaler.
+
+This is a gain to map the speed control output to the throttle linearly.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.005 | 50.0 | 0.005 | 1.0 | %m/s
+
+### GND_SPEED_TRIM (`FLOAT`) {#GND_SPEED_TRIM}
+
+Trim ground speed.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 40 | 0.5 | 3.0 | m/s
+
+### GND_SP_CTRL_MODE (`INT32`) {#GND_SP_CTRL_MODE}
+
+Control mode for speed.
+
+This allows the user to choose between closed loop gps speed or open loop cruise throttle speed
+
+**Values:**
+
+- `0`: open loop control
+- `1`: close the loop with gps speed
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 1 |
+
+### GND_THR_CRUISE (`FLOAT`) {#GND_THR_CRUISE}
+
+Cruise throttle.
+
+This is the throttle setting required to achieve the desired cruise speed. 10% is ok for a traxxas stampede vxl with ESC set to training mode
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.1 | norm
+
+### GND_THR_MAX (`FLOAT`) {#GND_THR_MAX}
+
+Throttle limit max.
+
+This is the maximum throttle % that can be used by the controller. For a Traxxas stampede vxl with the ESC set to training, 30 % is enough
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.3 | norm
+
+### GND_THR_MIN (`FLOAT`) {#GND_THR_MIN}
+
+Throttle limit min.
+
+This is the minimum throttle % that can be used by the controller. Set to 0 for rover
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.0 | norm
+
+### GND_WHEEL_BASE (`FLOAT`) {#GND_WHEEL_BASE}
+
+Distance from front axle to rear axle.
+
+A value of 0.31 is typical for 1/10 RC cars.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.01 | 0.31 | m
+
+## Runway Takeoff
+
+### RWTO_HDG (`INT32`) {#RWTO_HDG}
+
+Specifies which heading should be held during the runway takeoff ground roll.
+
+0: airframe heading when takeoff is initiated 1: position control along runway direction (bearing defined from vehicle position on takeoff initiation to MAV_CMD_TAKEOFF position defined by operator)
+
+**Values:**
+
+- `0`: Airframe
+- `1`: Runway
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### RWTO_MAX_THR (`FLOAT`) {#RWTO_MAX_THR}
+
+Max throttle during runway takeoff.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 | norm
+
+### RWTO_NPFG_PERIOD (`FLOAT`) {#RWTO_NPFG_PERIOD}
+
+NPFG period while steering on runway.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 100.0 | 0.1 | 5.0 | s
+
+### RWTO_NUDGE (`INT32`) {#RWTO_NUDGE}
+
+Enable use of yaw stick for nudging the wheel during runway ground roll.
+
+This is useful when map, GNSS, or yaw errors on ground are misaligned with what the operator intends for takeoff course. Particularly useful for skinny runways or if the wheel servo is a bit off trim.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### RWTO_PSP (`FLOAT`) {#RWTO_PSP}
+
+Pitch setpoint during taxi / before takeoff rotation airspeed is reached.
+
+A taildragger with steerable wheel might need to pitch up a little to keep its wheel on the ground before airspeed to takeoff is reached.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -10.0 | 20.0 | 0.5 | 0.0 | deg
+
+### RWTO_RAMP_TIME (`FLOAT`) {#RWTO_RAMP_TIME}
+
+Throttle ramp up time for runway takeoff.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 15.0 | 0.1 | 2.0 | s
+
+### RWTO_ROT_AIRSPD (`FLOAT`) {#RWTO_ROT_AIRSPD}
+
+Takeoff rotation airspeed.
+
+The calibrated airspeed threshold during the takeoff ground roll when the plane should start rotating (pitching up). Must be less than the takeoff airspeed, will otherwise be capped at the takeoff airpeed (see FW_TKO_AIRSPD). If set <= 0.0, defaults to 0.9 * takeoff airspeed (see FW_TKO_AIRSPD)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1.0 | | 0.1 | -1.0 | m/s
+
+### RWTO_ROT_TIME (`FLOAT`) {#RWTO_ROT_TIME}
+
+Takeoff rotation time.
+
+This is the time desired to linearly ramp in takeoff pitch constraints during the takeoff rotation
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | | 0.1 | 1.0 | s
+
+### RWTO_TKOFF (`INT32`) {#RWTO_TKOFF}
+
+Runway takeoff with landing gear.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+## SD Logging
+
+### SDLOG_ALGORITHM (`INT32`) {#SDLOG_ALGORITHM}
+
+Logfile Encryption algorithm.
+
+Selects the algorithm used for logfile encryption
+
+**Values:**
+
+- `0`: Disabled
+- `2`: XChaCha20
+- `3`: AES
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### SDLOG_BOOT_BAT (`INT32`) {#SDLOG_BOOT_BAT}
+
+Battery-only Logging.
+
+When enabled, logging will not start from boot if battery power is not detected (e.g. powered via USB on a test bench). This prevents extraneous flight logs from being created during bench testing. Note that this only applies to log-from-boot modes. This has no effect on arm-based modes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### SDLOG_DIRS_MAX (`INT32`) {#SDLOG_DIRS_MAX}
+
+Maximum number of log directories to keep.
+
+If there are more log directories than this value, the system will delete the oldest directories during startup. In addition, the system will delete old logs if there is not enough free space left. The minimum amount is 300 MB. If this is set to 0, old directories will only be removed if the free space falls below the minimum. Note: this does not apply to mission log files.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 0 |
+
+### SDLOG_EXCH_KEY (`INT32`) {#SDLOG_EXCH_KEY}
+
+Logfile Encryption key exchange key.
+
+If the logfile is encrypted using a symmetric key algorithm, the used encryption key is generated at logging start and stored on the sdcard RSA2048 encrypted using this key.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 1 |
+
+### SDLOG_KEY (`INT32`) {#SDLOG_KEY}
+
+Logfile Encryption key index.
+
+Selects the key in keystore, used for encrypting the log. When using a symmetric encryption algorithm, the key is generated at logging start and kept stored in this index. For symmetric algorithms, the key is volatile and valid only for the duration of logging. The key is stored in encrypted format on the sdcard alongside the logfile, using an RSA2048 key defined by the SDLOG_EXCHANGE_KEY
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 255 | | 2 |
+
+### SDLOG_MISSION (`INT32`) {#SDLOG_MISSION}
+
+Mission Log.
+
+If enabled, a small additional "mission" log file will be written to the SD card. The log contains just those messages that are useful for tasks like generating flight statistics and geotagging. The different modes can be used to further reduce the logged data (and thus the log file size). For example, choose geotagging mode to only log data required for geotagging. Note that the normal/full log is still created, and contains all the data in the mission log (and more).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: All mission messages
+- `2`: Geotagging messages
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SDLOG_MODE (`INT32`) {#SDLOG_MODE}
+
+Logging Mode.
+
+Determines when to start and stop logging. By default, logging is started when arming the system, and stopped when disarming.
+
+**Values:**
+
+- `-1`: disabled
+- `0`: when armed until disarm (default)
+- `1`: from boot until disarm
+- `2`: from boot until shutdown
+- `3`: depending on AUX1 RC channel
+- `4`: from 1st armed until shutdown
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SDLOG_PROFILE (`INT32`) {#SDLOG_PROFILE}
+
+Logging topic profile (integer bitmask).
+
+This integer bitmask controls the set and rates of logged topics. The default allows for general log analysis while keeping the log file size reasonably small. Enabling multiple sets leads to higher bandwidth requirements and larger log files. Set bits true to enable: 0 : Default set (used for general log analysis) 1 : Full rate estimator (EKF2) replay topics 2 : Topics for thermal calibration (high rate raw IMU and Baro sensor data) 3 : Topics for system identification (high rate actuator control and IMU data) 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators) 5 : Debugging topics (debug_*.msg topics, for custom code) 6 : Topics for sensor comparison (low rate raw IMU, Baro and magnetometer data) 7 : Topics for computer vision and collision avoidance 8 : Raw FIFO high-rate IMU (Gyro) 9 : Raw FIFO high-rate IMU (Accel) 10: Logging of mavlink tunnel message (useful for payload communication debugging)
+
+**Bitmask:**
+
+- `0`: Default set (general log analysis)
+- `1`: Estimator replay (EKF2)
+- `2`: Thermal calibration
+- `3`: System identification
+- `4`: High rate
+- `5`: Debug
+- `6`: Sensor comparison
+- `7`: Computer Vision and Avoidance
+- `8`: Raw FIFO high-rate IMU (Gyro)
+- `9`: Raw FIFO high-rate IMU (Accel)
+- `10`: Mavlink tunnel message logging
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2047 | | 1 |
+
+### SDLOG_UTC_OFFSET (`INT32`) {#SDLOG_UTC_OFFSET}
+
+UTC offset (unit: min).
+
+the difference in hours and minutes from Coordinated Universal Time (UTC) for a your place and date. for example, In case of South Korea(UTC+09:00), UTC offset is 540 min (9*60) refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1000 | 1000 | | 0 | min
+
+### SDLOG_UUID (`INT32`) {#SDLOG_UUID}
+
+Log UUID.
+
+If set to 1, add an ID to the log, which uniquely identifies the vehicle
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+## SITL
+
+### SIM_BAT_DRAIN (`FLOAT`) {#SIM_BAT_DRAIN}
+
+Simulator Battery drain interval.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 86400 | 1 | 60 | s
+
+### SIM_BAT_ENABLE (`INT32`) {#SIM_BAT_ENABLE}
+
+Simulator Battery enabled.
+
+Enable or disable the internal battery simulation. This is useful when the battery is simulated externally and interfaced with PX4 through MAVLink for example.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SIM_BAT_MIN_PCT (`FLOAT`) {#SIM_BAT_MIN_PCT}
+
+Simulator Battery minimal percentage.
+
+Can be used to alter the battery level during SITL- or HITL-simulation on the fly. Particularly useful for testing different low-battery behaviour.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 0.1 | 50.0 | %
+
+## Sensor Calibration
+
+### CAL_ACC0_ID (`INT32`) {#CAL_ACC0_ID}
+
+Accelerometer 0 calibration device ID.
+
+Device ID of the accelerometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_ACC0_PRIO (`INT32`) {#CAL_ACC0_PRIO}
+
+Accelerometer 0 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_ACC0_ROT (`INT32`) {#CAL_ACC0_ROT}
+
+Accelerometer 0 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_ACC0_XOFF (`FLOAT`) {#CAL_ACC0_XOFF}
+
+Accelerometer 0 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC0_XSCALE (`FLOAT`) {#CAL_ACC0_XSCALE}
+
+Accelerometer 0 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC0_YOFF (`FLOAT`) {#CAL_ACC0_YOFF}
+
+Accelerometer 0 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC0_YSCALE (`FLOAT`) {#CAL_ACC0_YSCALE}
+
+Accelerometer 0 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC0_ZOFF (`FLOAT`) {#CAL_ACC0_ZOFF}
+
+Accelerometer 0 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC0_ZSCALE (`FLOAT`) {#CAL_ACC0_ZSCALE}
+
+Accelerometer 0 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC1_ID (`INT32`) {#CAL_ACC1_ID}
+
+Accelerometer 1 calibration device ID.
+
+Device ID of the accelerometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_ACC1_PRIO (`INT32`) {#CAL_ACC1_PRIO}
+
+Accelerometer 1 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_ACC1_ROT (`INT32`) {#CAL_ACC1_ROT}
+
+Accelerometer 1 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_ACC1_XOFF (`FLOAT`) {#CAL_ACC1_XOFF}
+
+Accelerometer 1 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC1_XSCALE (`FLOAT`) {#CAL_ACC1_XSCALE}
+
+Accelerometer 1 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC1_YOFF (`FLOAT`) {#CAL_ACC1_YOFF}
+
+Accelerometer 1 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC1_YSCALE (`FLOAT`) {#CAL_ACC1_YSCALE}
+
+Accelerometer 1 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC1_ZOFF (`FLOAT`) {#CAL_ACC1_ZOFF}
+
+Accelerometer 1 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC1_ZSCALE (`FLOAT`) {#CAL_ACC1_ZSCALE}
+
+Accelerometer 1 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC2_ID (`INT32`) {#CAL_ACC2_ID}
+
+Accelerometer 2 calibration device ID.
+
+Device ID of the accelerometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_ACC2_PRIO (`INT32`) {#CAL_ACC2_PRIO}
+
+Accelerometer 2 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_ACC2_ROT (`INT32`) {#CAL_ACC2_ROT}
+
+Accelerometer 2 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_ACC2_XOFF (`FLOAT`) {#CAL_ACC2_XOFF}
+
+Accelerometer 2 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC2_XSCALE (`FLOAT`) {#CAL_ACC2_XSCALE}
+
+Accelerometer 2 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC2_YOFF (`FLOAT`) {#CAL_ACC2_YOFF}
+
+Accelerometer 2 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC2_YSCALE (`FLOAT`) {#CAL_ACC2_YSCALE}
+
+Accelerometer 2 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC2_ZOFF (`FLOAT`) {#CAL_ACC2_ZOFF}
+
+Accelerometer 2 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC2_ZSCALE (`FLOAT`) {#CAL_ACC2_ZSCALE}
+
+Accelerometer 2 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC3_ID (`INT32`) {#CAL_ACC3_ID}
+
+Accelerometer 3 calibration device ID.
+
+Device ID of the accelerometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_ACC3_PRIO (`INT32`) {#CAL_ACC3_PRIO}
+
+Accelerometer 3 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_ACC3_ROT (`INT32`) {#CAL_ACC3_ROT}
+
+Accelerometer 3 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_ACC3_XOFF (`FLOAT`) {#CAL_ACC3_XOFF}
+
+Accelerometer 3 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC3_XSCALE (`FLOAT`) {#CAL_ACC3_XSCALE}
+
+Accelerometer 3 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC3_YOFF (`FLOAT`) {#CAL_ACC3_YOFF}
+
+Accelerometer 3 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC3_YSCALE (`FLOAT`) {#CAL_ACC3_YSCALE}
+
+Accelerometer 3 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_ACC3_ZOFF (`FLOAT`) {#CAL_ACC3_ZOFF}
+
+Accelerometer 3 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | m/s^2
+
+### CAL_ACC3_ZSCALE (`FLOAT`) {#CAL_ACC3_ZSCALE}
+
+Accelerometer 3 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_BARO0_ID (`INT32`) {#CAL_BARO0_ID}
+
+Barometer 0 calibration device ID.
+
+Device ID of the barometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_BARO0_OFF (`FLOAT`) {#CAL_BARO0_OFF}
+
+Barometer 0 offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_BARO0_PRIO (`INT32`) {#CAL_BARO0_PRIO}
+
+Barometer 0 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_BARO1_ID (`INT32`) {#CAL_BARO1_ID}
+
+Barometer 1 calibration device ID.
+
+Device ID of the barometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_BARO1_OFF (`FLOAT`) {#CAL_BARO1_OFF}
+
+Barometer 1 offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_BARO1_PRIO (`INT32`) {#CAL_BARO1_PRIO}
+
+Barometer 1 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_BARO2_ID (`INT32`) {#CAL_BARO2_ID}
+
+Barometer 2 calibration device ID.
+
+Device ID of the barometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_BARO2_OFF (`FLOAT`) {#CAL_BARO2_OFF}
+
+Barometer 2 offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_BARO2_PRIO (`INT32`) {#CAL_BARO2_PRIO}
+
+Barometer 2 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_BARO3_ID (`INT32`) {#CAL_BARO3_ID}
+
+Barometer 3 calibration device ID.
+
+Device ID of the barometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_BARO3_OFF (`FLOAT`) {#CAL_BARO3_OFF}
+
+Barometer 3 offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_BARO3_PRIO (`INT32`) {#CAL_BARO3_PRIO}
+
+Barometer 3 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_GYRO0_ID (`INT32`) {#CAL_GYRO0_ID}
+
+Gyroscope 0 calibration device ID.
+
+Device ID of the gyroscope this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_GYRO0_PRIO (`INT32`) {#CAL_GYRO0_PRIO}
+
+Gyroscope 0 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_GYRO0_ROT (`INT32`) {#CAL_GYRO0_ROT}
+
+Gyroscope 0 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_GYRO0_XOFF (`FLOAT`) {#CAL_GYRO0_XOFF}
+
+Gyroscope 0 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO0_YOFF (`FLOAT`) {#CAL_GYRO0_YOFF}
+
+Gyroscope 0 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO0_ZOFF (`FLOAT`) {#CAL_GYRO0_ZOFF}
+
+Gyroscope 0 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO1_ID (`INT32`) {#CAL_GYRO1_ID}
+
+Gyroscope 1 calibration device ID.
+
+Device ID of the gyroscope this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_GYRO1_PRIO (`INT32`) {#CAL_GYRO1_PRIO}
+
+Gyroscope 1 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_GYRO1_ROT (`INT32`) {#CAL_GYRO1_ROT}
+
+Gyroscope 1 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_GYRO1_XOFF (`FLOAT`) {#CAL_GYRO1_XOFF}
+
+Gyroscope 1 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO1_YOFF (`FLOAT`) {#CAL_GYRO1_YOFF}
+
+Gyroscope 1 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO1_ZOFF (`FLOAT`) {#CAL_GYRO1_ZOFF}
+
+Gyroscope 1 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO2_ID (`INT32`) {#CAL_GYRO2_ID}
+
+Gyroscope 2 calibration device ID.
+
+Device ID of the gyroscope this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_GYRO2_PRIO (`INT32`) {#CAL_GYRO2_PRIO}
+
+Gyroscope 2 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_GYRO2_ROT (`INT32`) {#CAL_GYRO2_ROT}
+
+Gyroscope 2 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_GYRO2_XOFF (`FLOAT`) {#CAL_GYRO2_XOFF}
+
+Gyroscope 2 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO2_YOFF (`FLOAT`) {#CAL_GYRO2_YOFF}
+
+Gyroscope 2 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO2_ZOFF (`FLOAT`) {#CAL_GYRO2_ZOFF}
+
+Gyroscope 2 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO3_ID (`INT32`) {#CAL_GYRO3_ID}
+
+Gyroscope 3 calibration device ID.
+
+Device ID of the gyroscope this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_GYRO3_PRIO (`INT32`) {#CAL_GYRO3_PRIO}
+
+Gyroscope 3 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_GYRO3_ROT (`INT32`) {#CAL_GYRO3_ROT}
+
+Gyroscope 3 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 40 | | -1 |
+
+### CAL_GYRO3_XOFF (`FLOAT`) {#CAL_GYRO3_XOFF}
+
+Gyroscope 3 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO3_YOFF (`FLOAT`) {#CAL_GYRO3_YOFF}
+
+Gyroscope 3 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_GYRO3_ZOFF (`FLOAT`) {#CAL_GYRO3_ZOFF}
+
+Gyroscope 3 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | rad/s
+
+### CAL_MAG0_ID (`INT32`) {#CAL_MAG0_ID}
+
+Magnetometer 0 calibration device ID.
+
+Device ID of the magnetometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_MAG0_PITCH (`FLOAT`) {#CAL_MAG0_PITCH}
+
+Magnetometer 0 Custom Euler Pitch Angle.
+
+Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG0_PRIO (`INT32`) {#CAL_MAG0_PRIO}
+
+Magnetometer 0 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_MAG0_ROLL (`FLOAT`) {#CAL_MAG0_ROLL}
+
+Magnetometer 0 Custom Euler Roll Angle.
+
+Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG0_ROT (`INT32`) {#CAL_MAG0_ROT}
+
+Magnetometer 0 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG0_ROLL, CAL_MAG0_PITCH and CAL_MAG0_YAW.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+- `100`: Custom Euler Angle
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | | -1 |
+
+### CAL_MAG0_XCOMP (`FLOAT`) {#CAL_MAG0_XCOMP}
+
+Magnetometer 0 X Axis throttle compensation.
+
+Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_XODIAG (`FLOAT`) {#CAL_MAG0_XODIAG}
+
+Magnetometer 0 X-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_XOFF (`FLOAT`) {#CAL_MAG0_XOFF}
+
+Magnetometer 0 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG0_XSCALE (`FLOAT`) {#CAL_MAG0_XSCALE}
+
+Magnetometer 0 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG0_YAW (`FLOAT`) {#CAL_MAG0_YAW}
+
+Magnetometer 0 Custom Euler Yaw Angle.
+
+Setting this parameter changes CAL_MAG0_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG0_YCOMP (`FLOAT`) {#CAL_MAG0_YCOMP}
+
+Magnetometer 0 Y Axis throttle compensation.
+
+Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_YODIAG (`FLOAT`) {#CAL_MAG0_YODIAG}
+
+Magnetometer 0 Y-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_YOFF (`FLOAT`) {#CAL_MAG0_YOFF}
+
+Magnetometer 0 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG0_YSCALE (`FLOAT`) {#CAL_MAG0_YSCALE}
+
+Magnetometer 0 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG0_ZCOMP (`FLOAT`) {#CAL_MAG0_ZCOMP}
+
+Magnetometer 0 Z Axis throttle compensation.
+
+Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_ZODIAG (`FLOAT`) {#CAL_MAG0_ZODIAG}
+
+Magnetometer 0 Z-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG0_ZOFF (`FLOAT`) {#CAL_MAG0_ZOFF}
+
+Magnetometer 0 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG0_ZSCALE (`FLOAT`) {#CAL_MAG0_ZSCALE}
+
+Magnetometer 0 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG1_ID (`INT32`) {#CAL_MAG1_ID}
+
+Magnetometer 1 calibration device ID.
+
+Device ID of the magnetometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_MAG1_PITCH (`FLOAT`) {#CAL_MAG1_PITCH}
+
+Magnetometer 1 Custom Euler Pitch Angle.
+
+Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG1_PRIO (`INT32`) {#CAL_MAG1_PRIO}
+
+Magnetometer 1 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_MAG1_ROLL (`FLOAT`) {#CAL_MAG1_ROLL}
+
+Magnetometer 1 Custom Euler Roll Angle.
+
+Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG1_ROT (`INT32`) {#CAL_MAG1_ROT}
+
+Magnetometer 1 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG1_ROLL, CAL_MAG1_PITCH and CAL_MAG1_YAW.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+- `100`: Custom Euler Angle
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | | -1 |
+
+### CAL_MAG1_XCOMP (`FLOAT`) {#CAL_MAG1_XCOMP}
+
+Magnetometer 1 X Axis throttle compensation.
+
+Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_XODIAG (`FLOAT`) {#CAL_MAG1_XODIAG}
+
+Magnetometer 1 X-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_XOFF (`FLOAT`) {#CAL_MAG1_XOFF}
+
+Magnetometer 1 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG1_XSCALE (`FLOAT`) {#CAL_MAG1_XSCALE}
+
+Magnetometer 1 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG1_YAW (`FLOAT`) {#CAL_MAG1_YAW}
+
+Magnetometer 1 Custom Euler Yaw Angle.
+
+Setting this parameter changes CAL_MAG1_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG1_YCOMP (`FLOAT`) {#CAL_MAG1_YCOMP}
+
+Magnetometer 1 Y Axis throttle compensation.
+
+Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_YODIAG (`FLOAT`) {#CAL_MAG1_YODIAG}
+
+Magnetometer 1 Y-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_YOFF (`FLOAT`) {#CAL_MAG1_YOFF}
+
+Magnetometer 1 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG1_YSCALE (`FLOAT`) {#CAL_MAG1_YSCALE}
+
+Magnetometer 1 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG1_ZCOMP (`FLOAT`) {#CAL_MAG1_ZCOMP}
+
+Magnetometer 1 Z Axis throttle compensation.
+
+Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_ZODIAG (`FLOAT`) {#CAL_MAG1_ZODIAG}
+
+Magnetometer 1 Z-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG1_ZOFF (`FLOAT`) {#CAL_MAG1_ZOFF}
+
+Magnetometer 1 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG1_ZSCALE (`FLOAT`) {#CAL_MAG1_ZSCALE}
+
+Magnetometer 1 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG2_ID (`INT32`) {#CAL_MAG2_ID}
+
+Magnetometer 2 calibration device ID.
+
+Device ID of the magnetometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_MAG2_PITCH (`FLOAT`) {#CAL_MAG2_PITCH}
+
+Magnetometer 2 Custom Euler Pitch Angle.
+
+Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG2_PRIO (`INT32`) {#CAL_MAG2_PRIO}
+
+Magnetometer 2 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_MAG2_ROLL (`FLOAT`) {#CAL_MAG2_ROLL}
+
+Magnetometer 2 Custom Euler Roll Angle.
+
+Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG2_ROT (`INT32`) {#CAL_MAG2_ROT}
+
+Magnetometer 2 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG2_ROLL, CAL_MAG2_PITCH and CAL_MAG2_YAW.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+- `100`: Custom Euler Angle
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | | -1 |
+
+### CAL_MAG2_XCOMP (`FLOAT`) {#CAL_MAG2_XCOMP}
+
+Magnetometer 2 X Axis throttle compensation.
+
+Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_XODIAG (`FLOAT`) {#CAL_MAG2_XODIAG}
+
+Magnetometer 2 X-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_XOFF (`FLOAT`) {#CAL_MAG2_XOFF}
+
+Magnetometer 2 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG2_XSCALE (`FLOAT`) {#CAL_MAG2_XSCALE}
+
+Magnetometer 2 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG2_YAW (`FLOAT`) {#CAL_MAG2_YAW}
+
+Magnetometer 2 Custom Euler Yaw Angle.
+
+Setting this parameter changes CAL_MAG2_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG2_YCOMP (`FLOAT`) {#CAL_MAG2_YCOMP}
+
+Magnetometer 2 Y Axis throttle compensation.
+
+Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_YODIAG (`FLOAT`) {#CAL_MAG2_YODIAG}
+
+Magnetometer 2 Y-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_YOFF (`FLOAT`) {#CAL_MAG2_YOFF}
+
+Magnetometer 2 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG2_YSCALE (`FLOAT`) {#CAL_MAG2_YSCALE}
+
+Magnetometer 2 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG2_ZCOMP (`FLOAT`) {#CAL_MAG2_ZCOMP}
+
+Magnetometer 2 Z Axis throttle compensation.
+
+Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_ZODIAG (`FLOAT`) {#CAL_MAG2_ZODIAG}
+
+Magnetometer 2 Z-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG2_ZOFF (`FLOAT`) {#CAL_MAG2_ZOFF}
+
+Magnetometer 2 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG2_ZSCALE (`FLOAT`) {#CAL_MAG2_ZSCALE}
+
+Magnetometer 2 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG3_ID (`INT32`) {#CAL_MAG3_ID}
+
+Magnetometer 3 calibration device ID.
+
+Device ID of the magnetometer this calibration applies to.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_MAG3_PITCH (`FLOAT`) {#CAL_MAG3_PITCH}
+
+Magnetometer 3 Custom Euler Pitch Angle.
+
+Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG3_PRIO (`INT32`) {#CAL_MAG3_PRIO}
+
+Magnetometer 3 priority.
+
+**Values:**
+
+- `-1`: Uninitialized
+- `0`: Disabled
+- `1`: Min
+- `25`: Low
+- `50`: Medium (Default)
+- `75`: High
+- `100`: Max
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### CAL_MAG3_ROLL (`FLOAT`) {#CAL_MAG3_ROLL}
+
+Magnetometer 3 Custom Euler Roll Angle.
+
+Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG3_ROT (`INT32`) {#CAL_MAG3_ROT}
+
+Magnetometer 3 rotation relative to airframe.
+
+An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to "Custom Euler Angle" to define the rotation using CAL_MAG3_ROLL, CAL_MAG3_PITCH and CAL_MAG3_YAW.
+
+**Values:**
+
+- `-1`: Internal
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+- `100`: Custom Euler Angle
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 100 | | -1 |
+
+### CAL_MAG3_XCOMP (`FLOAT`) {#CAL_MAG3_XCOMP}
+
+Magnetometer 3 X Axis throttle compensation.
+
+Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_XODIAG (`FLOAT`) {#CAL_MAG3_XODIAG}
+
+Magnetometer 3 X-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_XOFF (`FLOAT`) {#CAL_MAG3_XOFF}
+
+Magnetometer 3 X-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG3_XSCALE (`FLOAT`) {#CAL_MAG3_XSCALE}
+
+Magnetometer 3 X-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG3_YAW (`FLOAT`) {#CAL_MAG3_YAW}
+
+Magnetometer 3 Custom Euler Yaw Angle.
+
+Setting this parameter changes CAL_MAG3_ROT to "Custom Euler Angle"
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 0.0 | deg
+
+### CAL_MAG3_YCOMP (`FLOAT`) {#CAL_MAG3_YCOMP}
+
+Magnetometer 3 Y Axis throttle compensation.
+
+Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_YODIAG (`FLOAT`) {#CAL_MAG3_YODIAG}
+
+Magnetometer 3 Y-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_YOFF (`FLOAT`) {#CAL_MAG3_YOFF}
+
+Magnetometer 3 Y-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG3_YSCALE (`FLOAT`) {#CAL_MAG3_YSCALE}
+
+Magnetometer 3 Y-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG3_ZCOMP (`FLOAT`) {#CAL_MAG3_ZCOMP}
+
+Magnetometer 3 Z Axis throttle compensation.
+
+Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_ZODIAG (`FLOAT`) {#CAL_MAG3_ZODIAG}
+
+Magnetometer 3 Z-axis off diagonal scale factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### CAL_MAG3_ZOFF (`FLOAT`) {#CAL_MAG3_ZOFF}
+
+Magnetometer 3 Z-axis offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### CAL_MAG3_ZSCALE (`FLOAT`) {#CAL_MAG3_ZSCALE}
+
+Magnetometer 3 Z-axis scaling factor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 3.0 | | 1.0 |
+
+### CAL_MAG_COMP_TYP (`INT32`) {#CAL_MAG_COMP_TYP}
+
+Type of magnetometer compensation.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Throttle-based compensation
+- `2`: Current-based compensation (battery_status instance 0)
+- `3`: Current-based compensation (battery_status instance 1)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SENS_DPRES_ANSC (`FLOAT`) {#SENS_DPRES_ANSC}
+
+Differential pressure sensor analog scaling.
+
+Pick the appropriate scaling from the datasheet. this number defines the (linear) conversion from voltage to Pascal (pa). For the MPXV7002DP this is 1000. NOTE: If the sensor always registers zero, try switching the static and dynamic tubes.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SENS_DPRES_OFF (`FLOAT`) {#SENS_DPRES_OFF}
+
+Differential pressure sensor offset.
+
+The offset (zero-reading) in Pascal
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### SENS_FLOW_MAXHGT (`FLOAT`) {#SENS_FLOW_MAXHGT}
+
+Maximum height above ground when reliant on optical flow.
+
+This parameter defines the maximum distance from ground at which the optical flow sensor operates reliably. The height setpoint will be limited to be no greater than this value when the navigation system is completely reliant on optical flow data and the height above ground estimate is valid. The sensor may be usable above this height, but accuracy will progressively degrade.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 100.0 | 0.1 | 100. | m
+
+### SENS_FLOW_MAXR (`FLOAT`) {#SENS_FLOW_MAXR}
+
+Magnitude of maximum angular flow rate reliably measurable by the optical flow sensor.
+
+Optical flow data will not fused by the estimators if the magnitude of the flow rate exceeds this value and control loops will be instructed to limit ground speed such that the flow rate produced by movement over ground is less than 50% of this value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | | | 8. | rad/s
+
+### SENS_FLOW_MINHGT (`FLOAT`) {#SENS_FLOW_MINHGT}
+
+Minimum height above ground when reliant on optical flow.
+
+This parameter defines the minimum distance from ground at which the optical flow sensor operates reliably. The sensor may be usable below this height, but accuracy will progressively reduce to loss of focus.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.1 | 0.08 | m
+
+## Sensors
+
+### ADC_ADS1115_EN (`INT32`) {#ADC_ADS1115_EN}
+
+Enable external ADS1115 ADC.
+
+If enabled, the internal ADC is not used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### BAT1_C_MULT (`FLOAT`) {#BAT1_C_MULT}
+
+Capacity/current multiplier for high-current capable SMBUS battery.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1.0 |
+
+### BAT1_SMBUS_MODEL (`INT32`) {#BAT1_SMBUS_MODEL}
+
+Battery device model.
+
+**Values:**
+
+- `0`: AutoDetect
+- `1`: BQ40Z50 based
+- `2`: BQ40Z80 based
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### BATMON_ADDR_DFLT (`INT32`) {#BATMON_ADDR_DFLT}
+
+I2C address for BatMon battery 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 11 |
+
+### BATMON_DRIVER_EN (`INT32`) {#BATMON_DRIVER_EN}
+
+Parameter to enable BatMon module.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Start on default I2C addr(BATMON_ADDR_DFLT)
+- `2`: Autodetect I2C address (TODO)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### CAL_AIR_CMODEL (`INT32`) {#CAL_AIR_CMODEL}
+
+Airspeed sensor compensation model for the SDP3x.
+
+Model with Pitot CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Model without Pitot (1.5 mm tubes) CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Tube Pressure Drop CAL_AIR_TUBED_MM: Diameter in mm of the pitot and tubes, must have the same diameter. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor and the static + dynamic port length of the pitot.
+
+**Values:**
+
+- `0`: Model with Pitot
+- `1`: Model without Pitot (1.5 mm tubes)
+- `2`: Tube Pressure Drop
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### CAL_AIR_TUBED_MM (`FLOAT`) {#CAL_AIR_TUBED_MM}
+
+Airspeed sensor tube diameter. Only used for the Tube Pressure Drop Compensation.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.5 | 100 | | 1.5 | mm
+
+### CAL_AIR_TUBELEN (`FLOAT`) {#CAL_AIR_TUBELEN}
+
+Airspeed sensor tube length.
+
+See the CAL_AIR_CMODEL explanation on how this parameter should be set.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.01 | 2.00 | | 0.2 | m
+
+### CAL_MAG_SIDES (`INT32`) {#CAL_MAG_SIDES}
+
+For legacy QGC support only.
+
+Use SENS_MAG_SIDES instead
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 63 |
+
+### IMU_ACCEL_CUTOFF (`FLOAT`) {#IMU_ACCEL_CUTOFF}
+
+Low pass filter cutoff frequency for accel.
+
+The cutoff frequency for the 2nd order butterworth filter on the primary accelerometer. This only affects the signal sent to the controllers, not the estimators. 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 30.0 | Hz
+
+### IMU_DGYRO_CUTOFF (`FLOAT`) {#IMU_DGYRO_CUTOFF}
+
+Cutoff frequency for angular acceleration (D-Term filter).
+
+The cutoff frequency for the 2nd order butterworth filter used on the time derivative of the measured angular velocity, also known as the D-term filter in the rate controller. The D-term uses the derivative of the rate and thus is the most susceptible to noise. Therefore, using a D-term filter allows to increase IMU_GYRO_CUTOFF, which leads to reduced control latency and permits to increase the P gains. A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 30.0 | Hz
+
+### IMU_GYRO_CAL_EN (`INT32`) {#IMU_GYRO_CAL_EN}
+
+IMU gyro auto calibration enable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### IMU_GYRO_CUTOFF (`FLOAT`) {#IMU_GYRO_CUTOFF}
+
+Low pass filter cutoff frequency for gyro.
+
+The cutoff frequency for the 2nd order butterworth filter on the primary gyro. This only affects the angular velocity sent to the controllers, not the estimators. It applies also to the angular acceleration (D-Term filter), see IMU_DGYRO_CUTOFF. A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 40.0 | Hz
+
+### IMU_GYRO_DNF_BW (`FLOAT`) {#IMU_GYRO_DNF_BW}
+
+IMU gyro ESC notch filter bandwidth.
+
+Bandwidth per notch filter when using dynamic notch filtering with ESC RPM.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 5 | 30 | | 15. | Hz
+
+### IMU_GYRO_DNF_EN (`INT32`) {#IMU_GYRO_DNF_EN}
+
+IMU gyro dynamic notch filtering.
+
+Enable bank of dynamically updating notch filters. Requires ESC RPM feedback or onboard FFT (IMU_GYRO_FFT_EN).
+
+**Bitmask:**
+
+- `0`: ESC RPM
+- `1`: FFT
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### IMU_GYRO_DNF_HMC (`INT32`) {#IMU_GYRO_DNF_HMC}
+
+IMU gyro dynamic notch filter harmonics.
+
+ESC RPM number of harmonics (multiples of RPM) for ESC RPM dynamic notch filtering.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 7 | | 3 |
+
+### IMU_GYRO_DNF_MIN (`FLOAT`) {#IMU_GYRO_DNF_MIN}
+
+IMU gyro dynamic notch filter minimum frequency.
+
+Minimum notch filter frequency in Hz.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25. | Hz
+
+### IMU_GYRO_FFT_EN (`INT32`) {#IMU_GYRO_FFT_EN}
+
+IMU gyro FFT enable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### IMU_GYRO_FFT_LEN (`INT32`) {#IMU_GYRO_FFT_LEN}
+
+IMU gyro FFT length.
+
+**Values:**
+
+- `256`: 256
+- `512`: 512
+- `1024`: 1024
+- `4096`: 4096
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 512 | Hz
+
+### IMU_GYRO_FFT_MAX (`FLOAT`) {#IMU_GYRO_FFT_MAX}
+
+IMU gyro FFT maximum frequency.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 1000 | | 150. | Hz
+
+### IMU_GYRO_FFT_MIN (`FLOAT`) {#IMU_GYRO_FFT_MIN}
+
+IMU gyro FFT minimum frequency.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 1000 | | 30. | Hz
+
+### IMU_GYRO_FFT_SNR (`FLOAT`) {#IMU_GYRO_FFT_SNR}
+
+IMU gyro FFT SNR.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 30 | | 10. |
+
+### IMU_GYRO_NF0_BW (`FLOAT`) {#IMU_GYRO_NF0_BW}
+
+Notch filter bandwidth for gyro.
+
+The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF0_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 100 | | 20.0 | Hz
+
+### IMU_GYRO_NF0_FRQ (`FLOAT`) {#IMU_GYRO_NF0_FRQ}
+
+Notch filter frequency for gyro.
+
+The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF0_BW" to set the bandwidth of the filter. A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 0.0 | Hz
+
+### IMU_GYRO_NF1_BW (`FLOAT`) {#IMU_GYRO_NF1_BW}
+
+Notch filter 1 bandwidth for gyro.
+
+The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See "IMU_GYRO_NF1_FRQ" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 100 | | 20.0 | Hz
+
+### IMU_GYRO_NF1_FRQ (`FLOAT`) {#IMU_GYRO_NF1_FRQ}
+
+Notch filter 2 frequency for gyro.
+
+The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See "IMU_GYRO_NF1_BW" to set the bandwidth of the filter. A value of 0 disables the filter.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1000 | | 0.0 | Hz
+
+### IMU_GYRO_RATEMAX (`INT32`) {#IMU_GYRO_RATEMAX}
+
+Gyro control data maximum publication rate (inner loop rate).
+
+The maximum rate the gyro control data (vehicle_angular_velocity) will be allowed to publish at. This is the loop rate for the rate controller and outputs. Note: sensor data is always read and filtered at the full raw rate (eg commonly 8 kHz) regardless of this setting.
+
+**Values:**
+
+- `100`: 100 Hz
+- `250`: 250 Hz
+- `400`: 400 Hz
+- `800`: 800 Hz
+- `1000`: 1000 Hz
+- `2000`: 2000 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 100 | 2000 | | 400 | Hz
+
+### IMU_INTEG_RATE (`INT32`) {#IMU_INTEG_RATE}
+
+IMU integration rate.
+
+The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
+
+**Values:**
+
+- `100`: 100 Hz
+- `200`: 200 Hz
+- `250`: 250 Hz
+- `400`: 400 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 100 | 1000 | | 200 | Hz
+
+### INA220_CONFIG (`INT32`) {#INA220_CONFIG}
+
+INA220 Power Monitor Config.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | 1 | 8607 |
+
+### INA220_CUR_BAT (`FLOAT`) {#INA220_CUR_BAT}
+
+INA220 Power Monitor Battery Max Current.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 500.0 | 0.1 | 164.0 |
+
+### INA220_CUR_REG (`FLOAT`) {#INA220_CUR_REG}
+
+INA220 Power Monitor Regulator Max Current.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 500.0 | 0.1 | 164.0 |
+
+### INA220_SHUNT_BAT (`FLOAT`) {#INA220_SHUNT_BAT}
+
+INA220 Power Monitor Battery Shunt.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000000001 | 0.1 | .000000001 | 0.0005 |
+
+### INA220_SHUNT_REG (`FLOAT`) {#INA220_SHUNT_REG}
+
+INA220 Power Monitor Regulator Shunt.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000000001 | 0.1 | .000000001 | 0.0005 |
+
+### INA226_CONFIG (`INT32`) {#INA226_CONFIG}
+
+INA226 Power Monitor Config.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | 1 | 18139 |
+
+### INA226_CURRENT (`FLOAT`) {#INA226_CURRENT}
+
+INA226 Power Monitor Max Current.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 200.0 | 0.1 | 164.0 |
+
+### INA226_SHUNT (`FLOAT`) {#INA226_SHUNT}
+
+INA226 Power Monitor Shunt.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000000001 | 0.1 | .000000001 | 0.0005 |
+
+### INA228_CONFIG (`INT32`) {#INA228_CONFIG}
+
+INA228 Power Monitor Config.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 65535 | 1 | 63779 |
+
+### INA228_CURRENT (`FLOAT`) {#INA228_CURRENT}
+
+INA228 Power Monitor Max Current.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 327.68 | 0.1 | 327.68 |
+
+### INA228_SHUNT (`FLOAT`) {#INA228_SHUNT}
+
+INA228 Power Monitor Shunt.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000000001 | 0.1 | .000000001 | 0.0005 |
+
+### INA238_CURRENT (`FLOAT`) {#INA238_CURRENT}
+
+INA238 Power Monitor Max Current.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 327.68 | 0.1 | 327.68 |
+
+### INA238_SHUNT (`FLOAT`) {#INA238_SHUNT}
+
+INA238 Power Monitor Shunt.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000000001 | 0.1 | .000000001 | 0.0003 |
+
+### PCF8583_MAGNET (`INT32`) {#PCF8583_MAGNET}
+
+PCF8583 rotorfreq (i2c) pulse count.
+
+Nmumber of signals per rotation of actuator
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | | | 2 |
+
+### PCF8583_POOL (`INT32`) {#PCF8583_POOL}
+
+PCF8583 rotorfreq (i2c) pool interval.
+
+Determines how often the sensor is read out.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1000000 | us
+
+### PCF8583_RESET (`INT32`) {#PCF8583_RESET}
+
+PCF8583 rotorfreq (i2c) pulse reset value.
+
+Internal device counter is reset to 0 when overrun this value, counter is able to store up to 6 digits reset of counter takes some time - measurement with reset has worse accuracy. 0 means reset counter after every measurement.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 500000 |
+
+### SENS_AFBR_HYSTER (`INT32`) {#SENS_AFBR_HYSTER}
+
+AFBR Rangefinder Short/Long Range Threshold Hysteresis.
+
+This parameter defines the hysteresis for switching between short and long range mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 10 | | 1 | m
+
+### SENS_AFBR_L_RATE (`INT32`) {#SENS_AFBR_L_RATE}
+
+AFBR Rangefinder Long Range Rate.
+
+This parameter defines measurement rate of the AFBR Rangefinder in long range mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 100 | | 25 |
+
+### SENS_AFBR_MODE (`INT32`) {#SENS_AFBR_MODE}
+
+AFBR Rangefinder Mode.
+
+This parameter defines the mode of the AFBR Rangefinder.
+
+**Values:**
+
+- `0`: Short Range Mode
+- `1`: Long Range Mode
+- `2`: High Speed Short Range Mode
+- `3`: High Speed Long Range Mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 0 |
+
+### SENS_AFBR_S_RATE (`INT32`) {#SENS_AFBR_S_RATE}
+
+AFBR Rangefinder Short Range Rate.
+
+This parameter defines measurement rate of the AFBR Rangefinder in short range mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 100 | | 50 |
+
+### SENS_AFBR_THRESH (`INT32`) {#SENS_AFBR_THRESH}
+
+AFBR Rangefinder Short/Long Range Threshold.
+
+This parameter defines the threshold for switching between short and long range mode. The mode will switch from short to long range when the distance is greater than the threshold plus the hysteresis. The mode will switch from long to short range when the distance is less than the threshold minus the hysteresis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 50 | | 4 | m
+
+### SENS_BARO_QNH (`FLOAT`) {#SENS_BARO_QNH}
+
+QNH for barometer.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 500 | 1500 | | 1013.25 | hPa
+
+### SENS_BARO_RATE (`FLOAT`) {#SENS_BARO_RATE}
+
+Baro max rate.
+
+Barometric air data maximum publication rate. This is an upper bound, actual barometric data rate is still dependent on the sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 200 | | 20.0 | Hz
+
+### SENS_BOARD_ROT (`INT32`) {#SENS_BOARD_ROT}
+
+Board rotation.
+
+This parameter defines the rotation of the FMU board relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+- `8`: Roll 180°
+- `9`: Roll 180°, Yaw 45°
+- `10`: Roll 180°, Yaw 90°
+- `11`: Roll 180°, Yaw 135°
+- `12`: Pitch 180°
+- `13`: Roll 180°, Yaw 225°
+- `14`: Roll 180°, Yaw 270°
+- `15`: Roll 180°, Yaw 315°
+- `16`: Roll 90°
+- `17`: Roll 90°, Yaw 45°
+- `18`: Roll 90°, Yaw 90°
+- `19`: Roll 90°, Yaw 135°
+- `20`: Roll 270°
+- `21`: Roll 270°, Yaw 45°
+- `22`: Roll 270°, Yaw 90°
+- `23`: Roll 270°, Yaw 135°
+- `24`: Pitch 90°
+- `25`: Pitch 270°
+- `26`: Pitch 180°, Yaw 90°
+- `27`: Pitch 180°, Yaw 270°
+- `28`: Roll 90°, Pitch 90°
+- `29`: Roll 180°, Pitch 90°
+- `30`: Roll 270°, Pitch 90°
+- `31`: Roll 90°, Pitch 180°
+- `32`: Roll 270°, Pitch 180°
+- `33`: Roll 90°, Pitch 270°
+- `34`: Roll 180°, Pitch 270°
+- `35`: Roll 270°, Pitch 270°
+- `36`: Roll 90°, Pitch 180°, Yaw 90°
+- `37`: Roll 90°, Yaw 270°
+- `38`: Roll 90°, Pitch 68°, Yaw 293°
+- `39`: Pitch 315°
+- `40`: Roll 90°, Pitch 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -1 | 40 | | 0 |
+
+### SENS_BOARD_X_OFF (`FLOAT`) {#SENS_BOARD_X_OFF}
+
+Board rotation X (Roll) offset.
+
+This parameter defines a rotational offset in degrees around the X (Roll) axis It allows the user to fine tune the board offset in the event of misalignment.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | deg
+
+### SENS_BOARD_Y_OFF (`FLOAT`) {#SENS_BOARD_Y_OFF}
+
+Board rotation Y (Pitch) offset.
+
+This parameter defines a rotational offset in degrees around the Y (Pitch) axis. It allows the user to fine tune the board offset in the event of misalignment.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | deg
+
+### SENS_BOARD_Z_OFF (`FLOAT`) {#SENS_BOARD_Z_OFF}
+
+Board rotation Z (YAW) offset.
+
+This parameter defines a rotational offset in degrees around the Z (Yaw) axis. It allows the user to fine tune the board offset in the event of misalignment.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | deg
+
+### SENS_CM8JL65_CFG (`INT32`) {#SENS_CM8JL65_CFG}
+
+Serial Configuration for Lanbao PSK-CM8JL65-CC5.
+
+Configure on which serial port to run Lanbao PSK-CM8JL65-CC5.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_CM8JL65_R_0 (`INT32`) {#SENS_CM8JL65_R_0}
+
+Distance Sensor Rotation.
+
+Distance Sensor Rotation as MAV_SENSOR_ORIENTATION enum
+
+**Values:**
+
+- `0`: ROTATION_FORWARD_FACING
+- `2`: ROTATION_RIGHT_FACING
+- `6`: ROTATION_LEFT_FACING
+- `12`: ROTATION_BACKWARD_FACING
+- `24`: ROTATION_UPWARD_FACING
+- `25`: ROTATION_DOWNWARD_FACING
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 25 |
+
+### SENS_EN_ADIS164X (`INT32`) {#SENS_EN_ADIS164X}
+
+Analog Devices ADIS16448 IMU (external SPI).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_ADIS165X (`INT32`) {#SENS_EN_ADIS165X}
+
+Analog Devices ADIS16507 IMU (external SPI).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_ARSPDSIM (`INT32`) {#SENS_EN_ARSPDSIM}
+
+Enable simulated airspeed sensor instance.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_ASP5033 (`INT32`) {#SENS_EN_ASP5033}
+
+ASP5033 differential pressure sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_BAROSIM (`INT32`) {#SENS_EN_BAROSIM}
+
+Enable simulated barometer sensor instance.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_BATT (`INT32`) {#SENS_EN_BATT}
+
+SMBUS Smart battery driver BQ40Z50 and BQ40Z80.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_ETSASPD (`INT32`) {#SENS_EN_ETSASPD}
+
+Eagle Tree airspeed sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_GPSSIM (`INT32`) {#SENS_EN_GPSSIM}
+
+Enable simulated GPS sinstance.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_INA220 (`INT32`) {#SENS_EN_INA220}
+
+Enable INA220 Power Monitor.
+
+For systems a INA220 Power Monitor, this should be set to true
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_INA226 (`INT32`) {#SENS_EN_INA226}
+
+Enable INA226 Power Monitor.
+
+For systems a INA226 Power Monitor, this should be set to true
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_INA228 (`INT32`) {#SENS_EN_INA228}
+
+Enable INA228 Power Monitor.
+
+For systems a INA228 Power Monitor, this should be set to true
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_INA238 (`INT32`) {#SENS_EN_INA238}
+
+Enable INA238 Power Monitor.
+
+For systems a INA238 Power Monitor, this should be set to true
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_IRLOCK (`INT32`) {#SENS_EN_IRLOCK}
+
+IR-LOCK Sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_LL40LS (`INT32`) {#SENS_EN_LL40LS}
+
+Lidar-Lite (LL40LS).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: PWM
+- `2`: I2C
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### SENS_EN_MAGSIM (`INT32`) {#SENS_EN_MAGSIM}
+
+Enable simulated magnetometer sensor instance.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_MB12XX (`INT32`) {#SENS_EN_MB12XX}
+
+Maxbotix Sonar (mb12xx).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_MPDT (`INT32`) {#SENS_EN_MPDT}
+
+Enable Mappydot rangefinder (i2c).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Autodetect
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_MS4515 (`INT32`) {#SENS_EN_MS4515}
+
+TE MS4515 differential pressure sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_MS4525DO (`INT32`) {#SENS_EN_MS4525DO}
+
+TE MS4525DO differential pressure sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_MS5525DS (`INT32`) {#SENS_EN_MS5525DS}
+
+TE MS5525DSO differential pressure sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_PAA3905 (`INT32`) {#SENS_EN_PAA3905}
+
+PAA3905 Optical Flow.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_PAW3902 (`INT32`) {#SENS_EN_PAW3902}
+
+PAW3902/PAW3903 Optical Flow.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_PCF8583 (`INT32`) {#SENS_EN_PCF8583}
+
+PCF8583 eneable driver.
+
+Run PCF8583 driver automatically
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Eneabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_PGA460 (`INT32`) {#SENS_EN_PGA460}
+
+PGA460 Ultrasonic driver (PGA460).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_PMW3901 (`INT32`) {#SENS_EN_PMW3901}
+
+PMW3901 Optical Flow.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_PX4FLOW (`INT32`) {#SENS_EN_PX4FLOW}
+
+PX4 Flow Optical Flow.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_SCH16T (`INT32`) {#SENS_EN_SCH16T}
+
+Murata SCH16T IMU (external SPI).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SENS_EN_SDP3X (`INT32`) {#SENS_EN_SDP3X}
+
+Sensirion SDP3X differential pressure sensor (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_SF0X (`INT32`) {#SENS_EN_SF0X}
+
+Lightware Laser Rangefinder hardware model (serial).
+
+**Values:**
+
+- `1`: SF02
+- `2`: SF10/a
+- `3`: SF10/b
+- `4`: SF10/c
+- `5`: SF11/c
+- `6`: SF30/b
+- `7`: SF30/c
+- `8`: LW20/c
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### SENS_EN_SF1XX (`INT32`) {#SENS_EN_SF1XX}
+
+Lightware SF1xx/SF20/LW20 laser rangefinder (i2c).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: SF10/a
+- `2`: SF10/b
+- `3`: SF10/c
+- `4`: SF11/c
+- `5`: SF/LW20/b
+- `6`: SF/LW20/c
+- `7`: SF/LW30/d
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 6 | | 0 |
+
+### SENS_EN_SF45_CFG (`INT32`) {#SENS_EN_SF45_CFG}
+
+Serial Configuration for Lightware SF45 Rangefinder (serial).
+
+Configure on which serial port to run Lightware SF45 Rangefinder (serial).
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 102 |
+
+### SENS_EN_SHT3X (`INT32`) {#SENS_EN_SHT3X}
+
+SHT3x temperature and hygrometer.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_SPL06 (`INT32`) {#SENS_EN_SPL06}
+
+Goertek SPL06 Barometer (external I2C).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_SR05 (`INT32`) {#SENS_EN_SR05}
+
+HY-SRF05 / HC-SR05.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_TF02PRO (`INT32`) {#SENS_EN_TF02PRO}
+
+TF02 Pro Distance Sensor (i2c).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_THERMAL (`INT32`) {#SENS_EN_THERMAL}
+
+Thermal control of sensor temperature.
+
+**Values:**
+
+- `-1`: Thermal control unavailable
+- `0`: Thermal control off
+- `1`: Thermal control enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1 |
+
+### SENS_EN_TRANGER (`INT32`) {#SENS_EN_TRANGER}
+
+TeraRanger Rangefinder (i2c).
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Autodetect
+- `2`: TROne
+- `3`: TREvo60m
+- `4`: TREvo600Hz
+- `5`: TREvo3m
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 0 |
+
+### SENS_EN_VL53L0X (`INT32`) {#SENS_EN_VL53L0X}
+
+VL53L0X Distance Sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EN_VL53L1X (`INT32`) {#SENS_EN_VL53L1X}
+
+VL53L1X Distance Sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SENS_EXT_I2C_PRB (`INT32`) {#SENS_EXT_I2C_PRB}
+
+External I2C probe.
+
+Probe for optional external I2C devices.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SENS_FLOW_RATE (`FLOAT`) {#SENS_FLOW_RATE}
+
+Optical flow max rate.
+
+Optical flow data maximum publication rate. This is an upper bound, actual optical flow data rate is still dependent on the sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 200 | | 70.0 | Hz
+
+### SENS_FLOW_ROT (`INT32`) {#SENS_FLOW_ROT}
+
+Optical flow rotation.
+
+This parameter defines the yaw rotation of the optical flow relative to the vehicle body frame. Zero rotation is defined as X on flow board pointing towards front of vehicle.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SENS_FTX_CFG (`INT32`) {#SENS_FTX_CFG}
+
+Serial Configuration for FT Technologies Digital Wind Sensor (serial).
+
+Configure on which serial port to run FT Technologies Digital Wind Sensor (serial).
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_GPS_MASK (`INT32`) {#SENS_GPS_MASK}
+
+Multi GPS Blending Control Mask.
+
+Set bits in the following positions to set which GPS accuracy metrics will be used to calculate the blending weight. Set to zero to disable and always used first GPS instance. 0 : Set to true to use speed accuracy 1 : Set to true to use horizontal position accuracy 2 : Set to true to use vertical position accuracy
+
+**Bitmask:**
+
+- `0`: use speed accuracy
+- `1`: use hpos accuracy
+- `2`: use vpos accuracy
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 7 | | 7 |
+
+### SENS_GPS_PRIME (`INT32`) {#SENS_GPS_PRIME}
+
+Multi GPS primary instance.
+
+When no blending is active, this defines the preferred GPS receiver instance. The GPS selection logic waits until the primary receiver is available to send data to the EKF even if a secondary instance is already available. The secondary instance is then only used if the primary one times out. To have an equal priority of all the instances, set this parameter to -1 and the best receiver will be used. This parameter has no effect if blending is active.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | | 0 |
+
+### SENS_GPS_TAU (`FLOAT`) {#SENS_GPS_TAU}
+
+Multi GPS Blending Time Constant.
+
+Sets the longest time constant that will be applied to the calculation of GPS position and height offsets used to correct data from multiple GPS data for steady state position differences.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 100.0 | | 10.0 | s
+
+### SENS_IMU_AUTOCAL (`INT32`) {#SENS_IMU_AUTOCAL}
+
+IMU auto calibration.
+
+Automatically initialize IMU (accel/gyro) calibration from bias estimates if available.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SENS_IMU_CLPNOTI (`INT32`) {#SENS_IMU_CLPNOTI}
+
+IMU notify clipping.
+
+Notify the user if the IMU is clipping
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SENS_IMU_MODE (`INT32`) {#SENS_IMU_MODE}
+
+Sensors hub IMU mode.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Publish primary IMU selection
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### SENS_IMU_TEMP (`FLOAT`) {#SENS_IMU_TEMP}
+
+Target IMU temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 85.0 | | 55.0 | celcius
+
+### SENS_IMU_TEMP_FF (`FLOAT`) {#SENS_IMU_TEMP_FF}
+
+IMU heater controller feedforward value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1.0 | | 0.05 | %
+
+### SENS_IMU_TEMP_I (`FLOAT`) {#SENS_IMU_TEMP_I}
+
+IMU heater controller integrator gain value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1.0 | | 0.025 | us/C
+
+### SENS_IMU_TEMP_P (`FLOAT`) {#SENS_IMU_TEMP_P}
+
+IMU heater controller proportional gain value.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2.0 | | 1.0 | us/C
+
+### SENS_INT_BARO_EN (`INT32`) {#SENS_INT_BARO_EN}
+
+Enable internal barometers.
+
+For systems with an external barometer, this should be set to false to make sure that the external is used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### SENS_LEDDAR1_CFG (`INT32`) {#SENS_LEDDAR1_CFG}
+
+Serial Configuration for LeddarOne Rangefinder.
+
+Configure on which serial port to run LeddarOne Rangefinder.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_MAG_AUTOCAL (`INT32`) {#SENS_MAG_AUTOCAL}
+
+Magnetometer auto calibration.
+
+Automatically initialize magnetometer calibration from bias estimate if available.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SENS_MAG_AUTOROT (`INT32`) {#SENS_MAG_AUTOROT}
+
+Automatically set external rotations.
+
+During calibration attempt to automatically determine the rotation of external magnetometers.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### SENS_MAG_MODE (`INT32`) {#SENS_MAG_MODE}
+
+Sensors hub mag mode.
+
+**Values:**
+
+- `0`: Publish all magnetometers
+- `1`: Publish primary magnetometer
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### SENS_MAG_RATE (`FLOAT`) {#SENS_MAG_RATE}
+
+Magnetometer max rate.
+
+Magnetometer data maximum publication rate. This is an upper bound, actual magnetometer data rate is still dependent on the sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 200 | | 15.0 | Hz
+
+### SENS_MAG_SIDES (`INT32`) {#SENS_MAG_SIDES}
+
+Bitfield selecting mag sides for calibration.
+
+If set to two side calibration, only the offsets are estimated, the scale calibration is left unchanged. Thus an initial six side calibration is recommended. Bits: ORIENTATION_TAIL_DOWN = 1 ORIENTATION_NOSE_DOWN = 2 ORIENTATION_LEFT = 4 ORIENTATION_RIGHT = 8 ORIENTATION_UPSIDE_DOWN = 16 ORIENTATION_RIGHTSIDE_UP = 32
+
+**Values:**
+
+- `34`: Two side calibration
+- `38`: Three side calibration
+- `63`: Six side calibration
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 34 | 63 | | 63 |
+
+### SENS_MB12_0_ROT (`INT32`) {#SENS_MB12_0_ROT}
+
+MaxBotix MB12XX Sensor 0 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_10_ROT (`INT32`) {#SENS_MB12_10_ROT}
+
+MaxBotix MB12XX Sensor 10 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_11_ROT (`INT32`) {#SENS_MB12_11_ROT}
+
+MaxBotix MB12XX Sensor 12 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_1_ROT (`INT32`) {#SENS_MB12_1_ROT}
+
+MaxBotix MB12XX Sensor 1 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_2_ROT (`INT32`) {#SENS_MB12_2_ROT}
+
+MaxBotix MB12XX Sensor 2 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_3_ROT (`INT32`) {#SENS_MB12_3_ROT}
+
+MaxBotix MB12XX Sensor 3 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_4_ROT (`INT32`) {#SENS_MB12_4_ROT}
+
+MaxBotix MB12XX Sensor 4 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_5_ROT (`INT32`) {#SENS_MB12_5_ROT}
+
+MaxBotix MB12XX Sensor 5 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_6_ROT (`INT32`) {#SENS_MB12_6_ROT}
+
+MaxBotix MB12XX Sensor 6 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_7_ROT (`INT32`) {#SENS_MB12_7_ROT}
+
+MaxBotix MB12XX Sensor 7 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_8_ROT (`INT32`) {#SENS_MB12_8_ROT}
+
+MaxBotix MB12XX Sensor 8 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MB12_9_ROT (`INT32`) {#SENS_MB12_9_ROT}
+
+MaxBotix MB12XX Sensor 9 Rotation.
+
+This parameter defines the rotation of the sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT0_ROT (`INT32`) {#SENS_MPDT0_ROT}
+
+MappyDot Sensor 0 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT10_ROT (`INT32`) {#SENS_MPDT10_ROT}
+
+MappyDot Sensor 10 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT11_ROT (`INT32`) {#SENS_MPDT11_ROT}
+
+MappyDot Sensor 12 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT1_ROT (`INT32`) {#SENS_MPDT1_ROT}
+
+MappyDot Sensor 1 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT2_ROT (`INT32`) {#SENS_MPDT2_ROT}
+
+MappyDot Sensor 2 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT3_ROT (`INT32`) {#SENS_MPDT3_ROT}
+
+MappyDot Sensor 3 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT4_ROT (`INT32`) {#SENS_MPDT4_ROT}
+
+MappyDot Sensor 4 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT5_ROT (`INT32`) {#SENS_MPDT5_ROT}
+
+MappyDot Sensor 5 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT6_ROT (`INT32`) {#SENS_MPDT6_ROT}
+
+MappyDot Sensor 6 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT7_ROT (`INT32`) {#SENS_MPDT7_ROT}
+
+MappyDot Sensor 7 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT8_ROT (`INT32`) {#SENS_MPDT8_ROT}
+
+MappyDot Sensor 8 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_MPDT9_ROT (`INT32`) {#SENS_MPDT9_ROT}
+
+MappyDot Sensor 9 Rotation.
+
+This parameter defines the rotation of the Mappydot sensor relative to the platform.
+
+**Values:**
+
+- `0`: No rotation
+- `1`: Yaw 45°
+- `2`: Yaw 90°
+- `3`: Yaw 135°
+- `4`: Yaw 180°
+- `5`: Yaw 225°
+- `6`: Yaw 270°
+- `7`: Yaw 315°
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 7 | | 0 |
+
+### SENS_OR_ADIS164X (`INT32`) {#SENS_OR_ADIS164X}
+
+Analog Devices ADIS16448 IMU Orientation(external SPI).
+
+**Values:**
+
+- `0`: ROTATION_NONE
+- `4`: ROTATION_YAW_180
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 101 | | 0 |
+
+### SENS_SF0X_CFG (`INT32`) {#SENS_SF0X_CFG}
+
+Serial Configuration for Lightware Laser Rangefinder (serial).
+
+Configure on which serial port to run Lightware Laser Rangefinder (serial).
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_TEMP_ID (`INT32`) {#SENS_TEMP_ID}
+
+Target IMU device ID to regulate temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SENS_TFLOW_CFG (`INT32`) {#SENS_TFLOW_CFG}
+
+Serial Configuration for ThoneFlow-3901U optical flow sensor.
+
+Configure on which serial port to run ThoneFlow-3901U optical flow sensor.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_TFMINI_CFG (`INT32`) {#SENS_TFMINI_CFG}
+
+Serial Configuration for Benewake TFmini Rangefinder.
+
+Configure on which serial port to run Benewake TFmini Rangefinder.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_ULAND_CFG (`INT32`) {#SENS_ULAND_CFG}
+
+Serial Configuration for uLanding Radar.
+
+Configure on which serial port to run uLanding Radar.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SENS_VN_CFG (`INT32`) {#SENS_VN_CFG}
+
+Serial Configuration for VectorNav (VN-100, VN-200, VN-300).
+
+Configure on which serial port to run VectorNav (VN-100, VN-200, VN-300).
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SF45_ORIENT_CFG (`INT32`) {#SF45_ORIENT_CFG}
+
+Orientation upright or facing downward.
+
+The SF45 mounted facing upward or downward on the frame
+
+**Values:**
+
+- `0`: Rotation upward
+- `1`: Rotation downward
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SF45_UPDATE_CFG (`INT32`) {#SF45_UPDATE_CFG}
+
+Update rate in Hz.
+
+The SF45 sets the update rate in Hz to allow greater resolution
+
+**Values:**
+
+- `1`: 50hz
+- `2`: 100hz
+- `3`: 200hz
+- `4`: 400hz
+- `5`: 500hz
+- `6`: 625hz
+- `7`: 1000hz
+- `8`: 1250hz
+- `9`: 1538hz
+- `10`: 2000hz
+- `11`: 2500hz
+- `12`: 5000hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### SF45_YAW_CFG (`INT32`) {#SF45_YAW_CFG}
+
+Sensor facing forward or backward.
+
+The usb port on the sensor indicates 180deg, opposite usb is forward facing
+
+**Values:**
+
+- `0`: Rotation forward
+- `1`: Rotation backward
+- `2`: Rotation right
+- `3`: Rotation left
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SIM_ARSPD_FAIL (`INT32`) {#SIM_ARSPD_FAIL}
+
+Dynamically simulate failure of airspeed sensor instance.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### VN_MODE (`INT32`) {#VN_MODE}
+
+VectorNav driver mode.
+
+INS or sensors
+
+**Values:**
+
+- `0`: Sensors Only (default)
+- `1`: INS
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXLPM_SHUNT_BAT (`FLOAT`) {#VOXLPM_SHUNT_BAT}
+
+VOXL Power Monitor Shunt, Battery.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.000000001 | 0.1 | .000000001 | 0.00063 |
+
+### VOXLPM_SHUNT_REG (`FLOAT`) {#VOXLPM_SHUNT_REG}
+
+VOXL Power Monitor Shunt, Regulator.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.000000001 | 0.1 | .000000001 | 0.0056 |
+
+## Septentrio
+
+### SEP_AUTO_CONFIG (`INT32`) {#SEP_AUTO_CONFIG}
+
+Toggle automatic receiver configuration.
+
+By default, the receiver is automatically configured. Sometimes it may be used for multiple purposes. If the offered parameters aren't sufficient, this parameter can be disabled to have full control of the receiver configuration. A good way to use this is to enable automatic configuration, let the receiver be configured, and then disable it to make manual adjustments.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### SEP_CONST_USAGE (`INT32`) {#SEP_CONST_USAGE}
+
+Usage of different constellations.
+
+Choice of which constellations the receiver should use for PVT computation. When this is 0, the constellation usage isn't changed.
+
+**Bitmask:**
+
+- `0`: GPS
+- `1`: GLONASS
+- `2`: Galileo
+- `3`: SBAS
+- `4`: BeiDou
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 63 | | 0 |
+
+### SEP_DUMP_COMM (`INT32`) {#SEP_DUMP_COMM}
+
+Log GPS communication data.
+
+Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: From receiver
+- `2`: To receiver
+- `3`: Both
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 3 | | 0 |
+
+### SEP_HARDW_SETUP (`INT32`) {#SEP_HARDW_SETUP}
+
+Setup and expected use of the hardware.
+
+- Default: Use two receivers as completely separate instances. - Moving base: Use two receivers in a rover & moving base setup for heading.
+
+**Values:**
+
+- `0`: Default
+- `1`: Moving base
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### SEP_LOG_FORCE (`INT32`) {#SEP_LOG_FORCE}
+
+Whether to overwrite or add to existing logging.
+
+When the receiver is already set up to log data, this decides whether extra logged data should be added or overwrite existing data.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SEP_LOG_HZ (`INT32`) {#SEP_LOG_HZ}
+
+Logging frequency for the receiver.
+
+Select the frequency at which the connected receiver should log data to its internal storage.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: 0.1 Hz
+- `2`: 0.2 Hz
+- `3`: 0.5 Hz
+- `4`: 1 Hz
+- `5`: 2 Hz
+- `6`: 5 Hz
+- `7`: 10 Hz
+- `8`: 20 Hz
+- `9`: 25 Hz
+- `10`: 50 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 10 | | 0 |
+
+### SEP_LOG_LEVEL (`INT32`) {#SEP_LOG_LEVEL}
+
+Logging level for the receiver.
+
+Select the level of detail that needs to be logged by the receiver.
+
+**Values:**
+
+- `0`: Lite
+- `1`: Basic
+- `2`: Default
+- `3`: Full
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 2 |
+
+### SEP_OUTP_HZ (`INT32`) {#SEP_OUTP_HZ}
+
+Output frequency of main SBF blocks.
+
+The output frequency of the main SBF blocks needed for PVT information.
+
+**Values:**
+
+- `0`: 5 Hz
+- `1`: 10 Hz
+- `2`: 20 Hz
+- `3`: 25 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 1 |
+
+### SEP_PITCH_OFFS (`FLOAT`) {#SEP_PITCH_OFFS}
+
+Pitch offset for dual antenna GPS.
+
+Vertical offsets can be compensated for by adjusting the Pitch offset. Note that this can be interpreted as the "roll" angle in case the antennas are aligned along the perpendicular axis. This occurs in situations where the two antenna ARPs may not be exactly at the same height in the vehicle reference frame. Since pitch is defined as the right-handed rotation about the vehicle Y axis, a situation where the main antenna is mounted lower than the aux antenna (assuming the default antenna setup) will result in a positive pitch.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -90 | 90 | | 0 | deg
+
+### SEP_PORT1_CFG (`INT32`) {#SEP_PORT1_CFG}
+
+Serial Configuration for GPS Port.
+
+Configure on which serial port to run GPS Port.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 201 |
+
+### SEP_PORT2_CFG (`INT32`) {#SEP_PORT2_CFG}
+
+Serial Configuration for Secondary GPS port.
+
+Configure on which serial port to run Secondary GPS port.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SEP_SAT_INFO (`INT32`) {#SEP_SAT_INFO}
+
+Enable sat info.
+
+Enable publication of satellite info (ORB_ID(satellite_info)) if possible.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SEP_STREAM_LOG (`INT32`) {#SEP_STREAM_LOG}
+
+Logging stream used during automatic configuration.
+
+The stream the autopilot sets up on the receiver to output the logging data. Set this to another value if the default stream is already used for another purpose.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 10 | | 2 |
+
+### SEP_STREAM_MAIN (`INT32`) {#SEP_STREAM_MAIN}
+
+Main stream used during automatic configuration.
+
+The stream the autopilot sets up on the receiver to output the main data. Set this to another value if the default stream is already used for another purpose.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 10 | | 1 |
+
+### SEP_YAW_OFFS (`FLOAT`) {#SEP_YAW_OFFS}
+
+Heading/Yaw offset for dual antenna GPS.
+
+Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | -360 | 360 | | 0 | deg
+
+## Serial
+
+### RC_CRSF_PRT_CFG (`INT32`) {#RC_CRSF_PRT_CFG}
+
+Serial Configuration for CRSF RC Input Driver.
+
+Configure on which serial port to run CRSF RC Input Driver. Crossfire RC (CRSF) driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### RC_DSM_PRT_CFG (`INT32`) {#RC_DSM_PRT_CFG}
+
+Serial Configuration for DSM RC Input Driver.
+
+Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### RC_GHST_PRT_CFG (`INT32`) {#RC_GHST_PRT_CFG}
+
+Serial Configuration for GHST RC Input Driver.
+
+Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### RC_PORT_CONFIG (`INT32`) {#RC_PORT_CONFIG}
+
+Serial Configuration for RC Input Driver.
+
+Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 300 |
+
+### RC_SBUS_PRT_CFG (`INT32`) {#RC_SBUS_PRT_CFG}
+
+Serial Configuration for SBUS RC Input Driver.
+
+Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 300 |
+
+### SER_EXT2_BAUD (`INT32`) {#SER_EXT2_BAUD}
+
+Baudrate for the EXT2 Serial Port.
+
+Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 57600 |
+
+### SER_GPS1_BAUD (`INT32`) {#SER_GPS1_BAUD}
+
+Baudrate for the GPS 1 Serial Port.
+
+Configure the Baudrate for the GPS 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SER_GPS2_BAUD (`INT32`) {#SER_GPS2_BAUD}
+
+Baudrate for the GPS 2 Serial Port.
+
+Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SER_GPS3_BAUD (`INT32`) {#SER_GPS3_BAUD}
+
+Baudrate for the GPS 3 Serial Port.
+
+Configure the Baudrate for the GPS 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SER_MXS_BAUD (`INT32`) {#SER_MXS_BAUD}
+
+MXS Serial Communication Baud rate.
+
+Baudrate for the Serial Port connected to the MXS Transponder
+
+**Values:**
+
+- `0`: 38400
+- `1`: 600
+- `2`: 4800
+- `3`: 9600
+- `4`: RESERVED
+- `5`: 57600
+- `6`: 115200
+- `7`: 230400
+- `8`: 19200
+- `9`: 460800
+- `10`: 921600
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 10 | | 5 |
+
+### SER_RC_BAUD (`INT32`) {#SER_RC_BAUD}
+
+Baudrate for the Radio Controller Serial Port.
+
+Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SER_TEL1_BAUD (`INT32`) {#SER_TEL1_BAUD}
+
+Baudrate for the TELEM 1 Serial Port.
+
+Configure the Baudrate for the TELEM 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 57600 |
+
+### SER_TEL2_BAUD (`INT32`) {#SER_TEL2_BAUD}
+
+Baudrate for the TELEM 2 Serial Port.
+
+Configure the Baudrate for the TELEM 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 921600 |
+
+### SER_TEL3_BAUD (`INT32`) {#SER_TEL3_BAUD}
+
+Baudrate for the TELEM 3 Serial Port.
+
+Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 57600 |
+
+### SER_TEL4_BAUD (`INT32`) {#SER_TEL4_BAUD}
+
+Baudrate for the TELEM/SERIAL 4 Serial Port.
+
+Configure the Baudrate for the TELEM/SERIAL 4 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 57600 |
+
+### SER_URT6_BAUD (`INT32`) {#SER_URT6_BAUD}
+
+Baudrate for the UART 6 Serial Port.
+
+Configure the Baudrate for the UART 6 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 57600 |
+
+### SER_WIFI_BAUD (`INT32`) {#SER_WIFI_BAUD}
+
+Baudrate for the Wifi Port Serial Port.
+
+Configure the Baudrate for the Wifi Port Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
+
+**Values:**
+
+- `0`: Auto
+- `50`: 50 8N1
+- `75`: 75 8N1
+- `110`: 110 8N1
+- `134`: 134 8N1
+- `150`: 150 8N1
+- `200`: 200 8N1
+- `300`: 300 8N1
+- `600`: 600 8N1
+- `1200`: 1200 8N1
+- `1800`: 1800 8N1
+- `2400`: 2400 8N1
+- `4800`: 4800 8N1
+- `9600`: 9600 8N1
+- `19200`: 19200 8N1
+- `38400`: 38400 8N1
+- `57600`: 57600 8N1
+- `115200`: 115200 8N1
+- `230400`: 230400 8N1
+- `460800`: 460800 8N1
+- `500000`: 500000 8N1
+- `921600`: 921600 8N1
+- `1000000`: 1000000 8N1
+- `1500000`: 1500000 8N1
+- `2000000`: 2000000 8N1
+- `3000000`: 3000000 8N1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+## Simulation In Hardware
+
+### SIH_DISTSNSR_MAX (`FLOAT`) {#SIH_DISTSNSR_MAX}
+
+distance sensor maximum range.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1000.0 | 0.01 | 100.0 | m
+
+### SIH_DISTSNSR_MIN (`FLOAT`) {#SIH_DISTSNSR_MIN}
+
+distance sensor minimum range.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 10.0 | 0.01 | 0.0 | m
+
+### SIH_DISTSNSR_OVR (`FLOAT`) {#SIH_DISTSNSR_OVR}
+
+if >= 0 the distance sensor measures will be overridden by this value.
+
+Absolute value superior to 10000 will disable distance sensor
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1.0 | m
+
+### SIH_IXX (`FLOAT`) {#SIH_IXX}
+
+Vehicle inertia about X axis.
+
+The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.005 | 0.025 | kg m^2
+
+### SIH_IXY (`FLOAT`) {#SIH_IXY}
+
+Vehicle cross term inertia xy.
+
+The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.005 | 0.0 | kg m^2
+
+### SIH_IXZ (`FLOAT`) {#SIH_IXZ}
+
+Vehicle cross term inertia xz.
+
+The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.005 | 0.0 | kg m^2
+
+### SIH_IYY (`FLOAT`) {#SIH_IYY}
+
+Vehicle inertia about Y axis.
+
+The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.005 | 0.025 | kg m^2
+
+### SIH_IYZ (`FLOAT`) {#SIH_IYZ}
+
+Vehicle cross term inertia yz.
+
+The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.005 | 0.0 | kg m^2
+
+### SIH_IZZ (`FLOAT`) {#SIH_IZZ}
+
+Vehicle inertia about Z axis.
+
+The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.005 | 0.030 | kg m^2
+
+### SIH_KDV (`FLOAT`) {#SIH_KDV}
+
+First order drag coefficient.
+
+Physical coefficient representing the friction with air particules. The greater this value, the slower the quad will move. Drag force function of velocity: D=-KDV*V. The maximum freefall velocity can be computed as V=10*MASS/KDV [m/s]
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.05 | 1.0 | N/(m/s)
+
+### SIH_KDW (`FLOAT`) {#SIH_KDW}
+
+First order angular damper coefficient.
+
+Physical coefficient representing the friction with air particules during rotations. The greater this value, the slower the quad will rotate. Aerodynamic moment function of body rate: Ma=-KDW*W_B. This value can be set to 0 if unknown.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.005 | 0.025 | Nm/(rad/s)
+
+### SIH_LOC_H0 (`FLOAT`) {#SIH_LOC_H0}
+
+Initial AMSL ground altitude.
+
+This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -420.0 | 8848.0 | 0.01 | 489.4 | m
+
+### SIH_LOC_LAT0 (`FLOAT`) {#SIH_LOC_LAT0}
+
+Initial geodetic latitude.
+
+This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -90 | 90 | | 47.397742 | deg
+
+### SIH_LOC_LON0 (`FLOAT`) {#SIH_LOC_LON0}
+
+Initial geodetic longitude.
+
+This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -180 | 180 | | 8.545594 | deg
+
+### SIH_L_PITCH (`FLOAT`) {#SIH_L_PITCH}
+
+Pitch arm length.
+
+This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.05 | 0.2 | m
+
+### SIH_L_ROLL (`FLOAT`) {#SIH_L_ROLL}
+
+Roll arm length.
+
+This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.05 | 0.2 | m
+
+### SIH_MASS (`FLOAT`) {#SIH_MASS}
+
+Vehicle mass.
+
+This value can be measured by weighting the quad on a scale.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.1 | 1.0 | kg
+
+### SIH_Q_MAX (`FLOAT`) {#SIH_Q_MAX}
+
+Max propeller torque.
+
+This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.05 | 0.1 | Nm
+
+### SIH_T_MAX (`FLOAT`) {#SIH_T_MAX}
+
+Max propeller thrust force.
+
+This is the maximum force delivered by one propeller when the motor is running at full speed. This value is usually about 5 times the mass of the quadrotor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | | 0.5 | 5.0 | N
+
+### SIH_T_TAU (`FLOAT`) {#SIH_T_TAU}
+
+thruster time constant tau.
+
+the time taken for the thruster to step from 0 to 100% should be about 4 times tau
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.05 | s
+
+### SIH_VEHICLE_TYPE (`INT32`) {#SIH_VEHICLE_TYPE}
+
+Vehicle type.
+
+**Values:**
+
+- `0`: Multicopter
+- `1`: Fixed-Wing
+- `2`: Tailsitter
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+## Simulator
+
+### SIM_BARO_OFF_P (`FLOAT`) {#SIM_BARO_OFF_P}
+
+simulated barometer pressure offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### SIM_BARO_OFF_T (`FLOAT`) {#SIM_BARO_OFF_T}
+
+simulated barometer temperature offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | celcius
+
+### SIM_GPS_USED (`INT32`) {#SIM_GPS_USED}
+
+simulated GPS number of satellites used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | | 10 |
+
+### SIM_MAG_OFFSET_X (`FLOAT`) {#SIM_MAG_OFFSET_X}
+
+simulated magnetometer X offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### SIM_MAG_OFFSET_Y (`FLOAT`) {#SIM_MAG_OFFSET_Y}
+
+simulated magnetometer Y offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+### SIM_MAG_OFFSET_Z (`FLOAT`) {#SIM_MAG_OFFSET_Z}
+
+simulated magnetometer Z offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 | gauss
+
+## System
+
+### SYS_AUTOCONFIG (`INT32`) {#SYS_AUTOCONFIG}
+
+Automatically configure default values.
+
+Set to 1 to reset parameters on next system startup (setting defaults). Platform-specific values are used if available. RC* parameters are preserved.
+
+**Values:**
+
+- `0`: Keep parameters
+- `1`: Reset parameters to airframe defaults
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SYS_AUTOSTART (`INT32`) {#SYS_AUTOSTART}
+
+Auto-start script index.
+
+CHANGING THIS VALUE REQUIRES A RESTART. Defines the auto-start script used to bootstrap the system.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 9999999 | | 0 |
+
+### SYS_BL_UPDATE (`INT32`) {#SYS_BL_UPDATE}
+
+Bootloader update.
+
+If enabled, update the bootloader on the next boot. WARNING: do not cut the power during an update process, otherwise you will have to recover using some alternative method (e.g. JTAG). Instructions: - Insert an SD card - Enable this parameter - Reboot the board (plug the power or send a reboot command) - Wait until the board comes back up (or at least 2 minutes) - If it does not come back, check the file bootlog.txt on the SD card
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SYS_CAL_ACCEL (`INT32`) {#SYS_CAL_ACCEL}
+
+Enable auto start of accelerometer thermal calibration at the next power up.
+
+0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### SYS_CAL_BARO (`INT32`) {#SYS_CAL_BARO}
+
+Enable auto start of barometer thermal calibration at the next power up.
+
+0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### SYS_CAL_GYRO (`INT32`) {#SYS_CAL_GYRO}
+
+Enable auto start of rate gyro thermal calibration at the next power up.
+
+0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### SYS_CAL_TDEL (`INT32`) {#SYS_CAL_TDEL}
+
+Required temperature rise during thermal calibration.
+
+A temperature increase greater than this value is required during calibration. Calibration will complete for each sensor when the temperature increase above the starting temperature exceeds the value set by SYS_CAL_TDEL. If the temperature rise is insufficient, the calibration will continue indefinitely and the board will need to be repowered to exit.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 10 | | | 24 | celcius
+
+### SYS_CAL_TMAX (`INT32`) {#SYS_CAL_TMAX}
+
+Maximum starting temperature for thermal calibration.
+
+Temperature calibration will not start if the temperature of any sensor is higher than the value set by SYS_CAL_TMAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 10 | celcius
+
+### SYS_CAL_TMIN (`INT32`) {#SYS_CAL_TMIN}
+
+Minimum starting temperature for thermal calibration.
+
+Temperature calibration for each sensor will ignore data if the temperature is lower than the value set by SYS_CAL_TMIN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5 | celcius
+
+### SYS_DM_BACKEND (`INT32`) {#SYS_DM_BACKEND}
+
+Dataman storage backend.
+
+**Values:**
+
+- `-1`: Disabled
+- `0`: default (SD card)
+- `1`: RAM (not persistent)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### SYS_FAC_CAL_MODE (`INT32`) {#SYS_FAC_CAL_MODE}
+
+Enable factory calibration mode.
+
+If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: All sensors
+- `2`: All sensors except mag
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### SYS_FAILURE_EN (`INT32`) {#SYS_FAILURE_EN}
+
+Enable failure injection.
+
+If enabled allows MAVLink INJECT_FAILURE commands. WARNING: the failures can easily cause crashes and are to be used with caution!
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Disabled (0) |
+
+### SYS_HAS_BARO (`INT32`) {#SYS_HAS_BARO}
+
+Control if the vehicle has a barometer.
+
+Disable this if the board has no barometer, such as some of the Omnibus F4 SD variants. If disabled, the preflight checks will not check for the presence of a barometer.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### SYS_HAS_GPS (`INT32`) {#SYS_HAS_GPS}
+
+Control if the vehicle has a GPS.
+
+Disable this if the system has no GPS. If disabled, the sensors hub will not process sensor_gps, and GPS will not be available for the rest of the system.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### SYS_HAS_MAG (`INT32`) {#SYS_HAS_MAG}
+
+Control if the vehicle has a magnetometer.
+
+Set this to 0 if the board has no magnetometer. If set to 0, the preflight checks will not check for the presence of a magnetometer, otherwise N sensors are required.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### SYS_HAS_NUM_ASPD (`INT32`) {#SYS_HAS_NUM_ASPD}
+
+Control if the vehicle has an airspeed sensor.
+
+Set this to 0 if the board has no airspeed sensor. If set to 0, the preflight checks will not check for the presence of an airspeed sensor.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 1 | | 0 |
+
+### SYS_HAS_NUM_DIST (`INT32`) {#SYS_HAS_NUM_DIST}
+
+Number of distance sensors to check being available.
+
+The preflight check will fail if fewer than this number of distance sensors with valid data is present. Disable the check with 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 4 | | 0 |
+
+### SYS_HITL (`INT32`) {#SYS_HITL}
+
+Enable HITL/SIH mode on next boot.
+
+While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
+
+**Values:**
+
+- `-1`: external HITL
+- `0`: HITL and SIH disabled
+- `1`: HITL enabled
+- `2`: SIH enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### SYS_PARAM_VER (`INT32`) {#SYS_PARAM_VER}
+
+Parameter version.
+
+This is used internally only: an airframe configuration might set an expected parameter version value via PARAM_DEFAULTS_VER. This is checked on bootup against SYS_PARAM_VER, and if they do not match, parameters are reset and reloaded from the airframe configuration.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | | 1 |
+
+### SYS_RGB_MAXBRT (`FLOAT`) {#SYS_RGB_MAXBRT}
+
+RGB Led brightness limit.
+
+Set to 0 to disable, 1 for maximum brightness
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1. | %
+
+### SYS_STCK_EN (`INT32`) {#SYS_STCK_EN}
+
+Enable stack checking.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+## Telemetry
+
+### TEL_BST_EN (`INT32`) {#TEL_BST_EN}
+
+Blacksheep telemetry Enable.
+
+If true, the FMU will try to connect to Blacksheep telemetry on start up
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### TEL_FRSKY_CONFIG (`INT32`) {#TEL_FRSKY_CONFIG}
+
+Serial Configuration for FrSky Telemetry.
+
+Configure on which serial port to run FrSky Telemetry.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### TEL_HOTT_CONFIG (`INT32`) {#TEL_HOTT_CONFIG}
+
+Serial Configuration for HoTT Telemetry.
+
+Configure on which serial port to run HoTT Telemetry.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+## Testing
+
+### TEST_1 (`INT32`) {#TEST_1}
+
+TEST_1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2 |
+
+### TEST_2 (`INT32`) {#TEST_2}
+
+TEST_2.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 4 |
+
+### TEST_3 (`FLOAT`) {#TEST_3}
+
+TEST_3.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5.0 |
+
+### TEST_D (`FLOAT`) {#TEST_D}
+
+TEST_D.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.01 |
+
+### TEST_DEV (`FLOAT`) {#TEST_DEV}
+
+TEST_DEV.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2.0 |
+
+### TEST_D_LP (`FLOAT`) {#TEST_D_LP}
+
+TEST_D_LP.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 10.0 |
+
+### TEST_HP (`FLOAT`) {#TEST_HP}
+
+TEST_HP.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 10.0 |
+
+### TEST_I (`FLOAT`) {#TEST_I}
+
+TEST_I.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.1 |
+
+### TEST_I_MAX (`FLOAT`) {#TEST_I_MAX}
+
+TEST_I_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### TEST_LP (`FLOAT`) {#TEST_LP}
+
+TEST_LP.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 10.0 |
+
+### TEST_MAX (`FLOAT`) {#TEST_MAX}
+
+TEST_MAX.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### TEST_MEAN (`FLOAT`) {#TEST_MEAN}
+
+TEST_MEAN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### TEST_MIN (`FLOAT`) {#TEST_MIN}
+
+TEST_MIN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | -1.0 |
+
+### TEST_P (`FLOAT`) {#TEST_P}
+
+TEST_P.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.2 |
+
+### TEST_PARAMS (`INT32`) {#TEST_PARAMS}
+
+TEST_PARAMS.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 12345678 |
+
+### TEST_RC2_X (`INT32`) {#TEST_RC2_X}
+
+TEST_RC2_X.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 16 |
+
+### TEST_RC_X (`INT32`) {#TEST_RC_X}
+
+TEST_RC_X.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 8 |
+
+### TEST_TRIM (`FLOAT`) {#TEST_TRIM}
+
+TEST_TRIM.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.5 |
+
+## Thermal Compensation
+
+### TC_A0_ID (`INT32`) {#TC_A0_ID}
+
+ID of Accelerometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_A0_TMAX (`FLOAT`) {#TC_A0_TMAX}
+
+Accelerometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_A0_TMIN (`FLOAT`) {#TC_A0_TMIN}
+
+Accelerometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_TREF (`FLOAT`) {#TC_A0_TREF}
+
+Accelerometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_A0_X0_0 (`FLOAT`) {#TC_A0_X0_0}
+
+Accelerometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X0_1 (`FLOAT`) {#TC_A0_X0_1}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X0_2 (`FLOAT`) {#TC_A0_X0_2}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X1_0 (`FLOAT`) {#TC_A0_X1_0}
+
+Accelerometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X1_1 (`FLOAT`) {#TC_A0_X1_1}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X1_2 (`FLOAT`) {#TC_A0_X1_2}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X2_0 (`FLOAT`) {#TC_A0_X2_0}
+
+Accelerometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X2_1 (`FLOAT`) {#TC_A0_X2_1}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X2_2 (`FLOAT`) {#TC_A0_X2_2}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X3_0 (`FLOAT`) {#TC_A0_X3_0}
+
+Accelerometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X3_1 (`FLOAT`) {#TC_A0_X3_1}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A0_X3_2 (`FLOAT`) {#TC_A0_X3_2}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_ID (`INT32`) {#TC_A1_ID}
+
+ID of Accelerometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_A1_TMAX (`FLOAT`) {#TC_A1_TMAX}
+
+Accelerometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_A1_TMIN (`FLOAT`) {#TC_A1_TMIN}
+
+Accelerometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_TREF (`FLOAT`) {#TC_A1_TREF}
+
+Accelerometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_A1_X0_0 (`FLOAT`) {#TC_A1_X0_0}
+
+Accelerometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X0_1 (`FLOAT`) {#TC_A1_X0_1}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X0_2 (`FLOAT`) {#TC_A1_X0_2}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X1_0 (`FLOAT`) {#TC_A1_X1_0}
+
+Accelerometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X1_1 (`FLOAT`) {#TC_A1_X1_1}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X1_2 (`FLOAT`) {#TC_A1_X1_2}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X2_0 (`FLOAT`) {#TC_A1_X2_0}
+
+Accelerometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X2_1 (`FLOAT`) {#TC_A1_X2_1}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X2_2 (`FLOAT`) {#TC_A1_X2_2}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X3_0 (`FLOAT`) {#TC_A1_X3_0}
+
+Accelerometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X3_1 (`FLOAT`) {#TC_A1_X3_1}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A1_X3_2 (`FLOAT`) {#TC_A1_X3_2}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_ID (`INT32`) {#TC_A2_ID}
+
+ID of Accelerometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_A2_TMAX (`FLOAT`) {#TC_A2_TMAX}
+
+Accelerometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_A2_TMIN (`FLOAT`) {#TC_A2_TMIN}
+
+Accelerometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_TREF (`FLOAT`) {#TC_A2_TREF}
+
+Accelerometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_A2_X0_0 (`FLOAT`) {#TC_A2_X0_0}
+
+Accelerometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X0_1 (`FLOAT`) {#TC_A2_X0_1}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X0_2 (`FLOAT`) {#TC_A2_X0_2}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X1_0 (`FLOAT`) {#TC_A2_X1_0}
+
+Accelerometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X1_1 (`FLOAT`) {#TC_A2_X1_1}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X1_2 (`FLOAT`) {#TC_A2_X1_2}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X2_0 (`FLOAT`) {#TC_A2_X2_0}
+
+Accelerometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X2_1 (`FLOAT`) {#TC_A2_X2_1}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X2_2 (`FLOAT`) {#TC_A2_X2_2}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X3_0 (`FLOAT`) {#TC_A2_X3_0}
+
+Accelerometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X3_1 (`FLOAT`) {#TC_A2_X3_1}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A2_X3_2 (`FLOAT`) {#TC_A2_X3_2}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_ID (`INT32`) {#TC_A3_ID}
+
+ID of Accelerometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_A3_TMAX (`FLOAT`) {#TC_A3_TMAX}
+
+Accelerometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_A3_TMIN (`FLOAT`) {#TC_A3_TMIN}
+
+Accelerometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_TREF (`FLOAT`) {#TC_A3_TREF}
+
+Accelerometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_A3_X0_0 (`FLOAT`) {#TC_A3_X0_0}
+
+Accelerometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X0_1 (`FLOAT`) {#TC_A3_X0_1}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X0_2 (`FLOAT`) {#TC_A3_X0_2}
+
+Accelerometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X1_0 (`FLOAT`) {#TC_A3_X1_0}
+
+Accelerometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X1_1 (`FLOAT`) {#TC_A3_X1_1}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X1_2 (`FLOAT`) {#TC_A3_X1_2}
+
+Accelerometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X2_0 (`FLOAT`) {#TC_A3_X2_0}
+
+Accelerometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X2_1 (`FLOAT`) {#TC_A3_X2_1}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X2_2 (`FLOAT`) {#TC_A3_X2_2}
+
+Accelerometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X3_0 (`FLOAT`) {#TC_A3_X3_0}
+
+Accelerometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X3_1 (`FLOAT`) {#TC_A3_X3_1}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A3_X3_2 (`FLOAT`) {#TC_A3_X3_2}
+
+Accelerometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_A_ENABLE (`INT32`) {#TC_A_ENABLE}
+
+Thermal compensation for accelerometer sensors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### TC_B0_ID (`INT32`) {#TC_B0_ID}
+
+ID of Barometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_B0_TMAX (`FLOAT`) {#TC_B0_TMAX}
+
+Barometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 75.0 |
+
+### TC_B0_TMIN (`FLOAT`) {#TC_B0_TMIN}
+
+Barometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5.0 |
+
+### TC_B0_TREF (`FLOAT`) {#TC_B0_TREF}
+
+Barometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 40.0 |
+
+### TC_B0_X0 (`FLOAT`) {#TC_B0_X0}
+
+Barometer offset temperature ^0 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B0_X1 (`FLOAT`) {#TC_B0_X1}
+
+Barometer offset temperature ^1 polynomial coefficients.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B0_X2 (`FLOAT`) {#TC_B0_X2}
+
+Barometer offset temperature ^2 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B0_X3 (`FLOAT`) {#TC_B0_X3}
+
+Barometer offset temperature ^3 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B0_X4 (`FLOAT`) {#TC_B0_X4}
+
+Barometer offset temperature ^4 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B0_X5 (`FLOAT`) {#TC_B0_X5}
+
+Barometer offset temperature ^5 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_ID (`INT32`) {#TC_B1_ID}
+
+ID of Barometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_B1_TMAX (`FLOAT`) {#TC_B1_TMAX}
+
+Barometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 75.0 |
+
+### TC_B1_TMIN (`FLOAT`) {#TC_B1_TMIN}
+
+Barometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5.0 |
+
+### TC_B1_TREF (`FLOAT`) {#TC_B1_TREF}
+
+Barometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 40.0 |
+
+### TC_B1_X0 (`FLOAT`) {#TC_B1_X0}
+
+Barometer offset temperature ^0 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_X1 (`FLOAT`) {#TC_B1_X1}
+
+Barometer offset temperature ^1 polynomial coefficients.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_X2 (`FLOAT`) {#TC_B1_X2}
+
+Barometer offset temperature ^2 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_X3 (`FLOAT`) {#TC_B1_X3}
+
+Barometer offset temperature ^3 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_X4 (`FLOAT`) {#TC_B1_X4}
+
+Barometer offset temperature ^4 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B1_X5 (`FLOAT`) {#TC_B1_X5}
+
+Barometer offset temperature ^5 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_ID (`INT32`) {#TC_B2_ID}
+
+ID of Barometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_B2_TMAX (`FLOAT`) {#TC_B2_TMAX}
+
+Barometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 75.0 |
+
+### TC_B2_TMIN (`FLOAT`) {#TC_B2_TMIN}
+
+Barometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5.0 |
+
+### TC_B2_TREF (`FLOAT`) {#TC_B2_TREF}
+
+Barometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 40.0 |
+
+### TC_B2_X0 (`FLOAT`) {#TC_B2_X0}
+
+Barometer offset temperature ^0 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_X1 (`FLOAT`) {#TC_B2_X1}
+
+Barometer offset temperature ^1 polynomial coefficients.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_X2 (`FLOAT`) {#TC_B2_X2}
+
+Barometer offset temperature ^2 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_X3 (`FLOAT`) {#TC_B2_X3}
+
+Barometer offset temperature ^3 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_X4 (`FLOAT`) {#TC_B2_X4}
+
+Barometer offset temperature ^4 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B2_X5 (`FLOAT`) {#TC_B2_X5}
+
+Barometer offset temperature ^5 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_ID (`INT32`) {#TC_B3_ID}
+
+ID of Barometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_B3_TMAX (`FLOAT`) {#TC_B3_TMAX}
+
+Barometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 75.0 |
+
+### TC_B3_TMIN (`FLOAT`) {#TC_B3_TMIN}
+
+Barometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5.0 |
+
+### TC_B3_TREF (`FLOAT`) {#TC_B3_TREF}
+
+Barometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 40.0 |
+
+### TC_B3_X0 (`FLOAT`) {#TC_B3_X0}
+
+Barometer offset temperature ^0 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_X1 (`FLOAT`) {#TC_B3_X1}
+
+Barometer offset temperature ^1 polynomial coefficients.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_X2 (`FLOAT`) {#TC_B3_X2}
+
+Barometer offset temperature ^2 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_X3 (`FLOAT`) {#TC_B3_X3}
+
+Barometer offset temperature ^3 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_X4 (`FLOAT`) {#TC_B3_X4}
+
+Barometer offset temperature ^4 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B3_X5 (`FLOAT`) {#TC_B3_X5}
+
+Barometer offset temperature ^5 polynomial coefficient.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_B_ENABLE (`INT32`) {#TC_B_ENABLE}
+
+Thermal compensation for barometric pressure sensors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### TC_G0_ID (`INT32`) {#TC_G0_ID}
+
+ID of Gyro that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_G0_TMAX (`FLOAT`) {#TC_G0_TMAX}
+
+Gyro calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_G0_TMIN (`FLOAT`) {#TC_G0_TMIN}
+
+Gyro calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_TREF (`FLOAT`) {#TC_G0_TREF}
+
+Gyro calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_G0_X0_0 (`FLOAT`) {#TC_G0_X0_0}
+
+Gyro rate offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X0_1 (`FLOAT`) {#TC_G0_X0_1}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X0_2 (`FLOAT`) {#TC_G0_X0_2}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X1_0 (`FLOAT`) {#TC_G0_X1_0}
+
+Gyro rate offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X1_1 (`FLOAT`) {#TC_G0_X1_1}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X1_2 (`FLOAT`) {#TC_G0_X1_2}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X2_0 (`FLOAT`) {#TC_G0_X2_0}
+
+Gyro rate offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X2_1 (`FLOAT`) {#TC_G0_X2_1}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X2_2 (`FLOAT`) {#TC_G0_X2_2}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X3_0 (`FLOAT`) {#TC_G0_X3_0}
+
+Gyro rate offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X3_1 (`FLOAT`) {#TC_G0_X3_1}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G0_X3_2 (`FLOAT`) {#TC_G0_X3_2}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_ID (`INT32`) {#TC_G1_ID}
+
+ID of Gyro that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_G1_TMAX (`FLOAT`) {#TC_G1_TMAX}
+
+Gyro calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_G1_TMIN (`FLOAT`) {#TC_G1_TMIN}
+
+Gyro calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_TREF (`FLOAT`) {#TC_G1_TREF}
+
+Gyro calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_G1_X0_0 (`FLOAT`) {#TC_G1_X0_0}
+
+Gyro rate offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X0_1 (`FLOAT`) {#TC_G1_X0_1}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X0_2 (`FLOAT`) {#TC_G1_X0_2}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X1_0 (`FLOAT`) {#TC_G1_X1_0}
+
+Gyro rate offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X1_1 (`FLOAT`) {#TC_G1_X1_1}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X1_2 (`FLOAT`) {#TC_G1_X1_2}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X2_0 (`FLOAT`) {#TC_G1_X2_0}
+
+Gyro rate offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X2_1 (`FLOAT`) {#TC_G1_X2_1}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X2_2 (`FLOAT`) {#TC_G1_X2_2}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X3_0 (`FLOAT`) {#TC_G1_X3_0}
+
+Gyro rate offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X3_1 (`FLOAT`) {#TC_G1_X3_1}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G1_X3_2 (`FLOAT`) {#TC_G1_X3_2}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_ID (`INT32`) {#TC_G2_ID}
+
+ID of Gyro that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_G2_TMAX (`FLOAT`) {#TC_G2_TMAX}
+
+Gyro calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_G2_TMIN (`FLOAT`) {#TC_G2_TMIN}
+
+Gyro calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_TREF (`FLOAT`) {#TC_G2_TREF}
+
+Gyro calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_G2_X0_0 (`FLOAT`) {#TC_G2_X0_0}
+
+Gyro rate offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X0_1 (`FLOAT`) {#TC_G2_X0_1}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X0_2 (`FLOAT`) {#TC_G2_X0_2}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X1_0 (`FLOAT`) {#TC_G2_X1_0}
+
+Gyro rate offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X1_1 (`FLOAT`) {#TC_G2_X1_1}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X1_2 (`FLOAT`) {#TC_G2_X1_2}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X2_0 (`FLOAT`) {#TC_G2_X2_0}
+
+Gyro rate offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X2_1 (`FLOAT`) {#TC_G2_X2_1}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X2_2 (`FLOAT`) {#TC_G2_X2_2}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X3_0 (`FLOAT`) {#TC_G2_X3_0}
+
+Gyro rate offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X3_1 (`FLOAT`) {#TC_G2_X3_1}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G2_X3_2 (`FLOAT`) {#TC_G2_X3_2}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_ID (`INT32`) {#TC_G3_ID}
+
+ID of Gyro that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_G3_TMAX (`FLOAT`) {#TC_G3_TMAX}
+
+Gyro calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_G3_TMIN (`FLOAT`) {#TC_G3_TMIN}
+
+Gyro calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_TREF (`FLOAT`) {#TC_G3_TREF}
+
+Gyro calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_G3_X0_0 (`FLOAT`) {#TC_G3_X0_0}
+
+Gyro rate offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X0_1 (`FLOAT`) {#TC_G3_X0_1}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X0_2 (`FLOAT`) {#TC_G3_X0_2}
+
+Gyro rate offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X1_0 (`FLOAT`) {#TC_G3_X1_0}
+
+Gyro rate offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X1_1 (`FLOAT`) {#TC_G3_X1_1}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X1_2 (`FLOAT`) {#TC_G3_X1_2}
+
+Gyro rate offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X2_0 (`FLOAT`) {#TC_G3_X2_0}
+
+Gyro rate offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X2_1 (`FLOAT`) {#TC_G3_X2_1}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X2_2 (`FLOAT`) {#TC_G3_X2_2}
+
+Gyro rate offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X3_0 (`FLOAT`) {#TC_G3_X3_0}
+
+Gyro rate offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X3_1 (`FLOAT`) {#TC_G3_X3_1}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G3_X3_2 (`FLOAT`) {#TC_G3_X3_2}
+
+Gyro rate offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_G_ENABLE (`INT32`) {#TC_G_ENABLE}
+
+Thermal compensation for rate gyro sensors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### TC_M0_ID (`INT32`) {#TC_M0_ID}
+
+ID of Magnetometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_M0_TMAX (`FLOAT`) {#TC_M0_TMAX}
+
+Magnetometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_M0_TMIN (`FLOAT`) {#TC_M0_TMIN}
+
+Magnetometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_TREF (`FLOAT`) {#TC_M0_TREF}
+
+Magnetometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_M0_X0_0 (`FLOAT`) {#TC_M0_X0_0}
+
+Magnetometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X0_1 (`FLOAT`) {#TC_M0_X0_1}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X0_2 (`FLOAT`) {#TC_M0_X0_2}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X1_0 (`FLOAT`) {#TC_M0_X1_0}
+
+Magnetometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X1_1 (`FLOAT`) {#TC_M0_X1_1}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X1_2 (`FLOAT`) {#TC_M0_X1_2}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X2_0 (`FLOAT`) {#TC_M0_X2_0}
+
+Magnetometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X2_1 (`FLOAT`) {#TC_M0_X2_1}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X2_2 (`FLOAT`) {#TC_M0_X2_2}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X3_0 (`FLOAT`) {#TC_M0_X3_0}
+
+Magnetometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X3_1 (`FLOAT`) {#TC_M0_X3_1}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M0_X3_2 (`FLOAT`) {#TC_M0_X3_2}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_ID (`INT32`) {#TC_M1_ID}
+
+ID of Magnetometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_M1_TMAX (`FLOAT`) {#TC_M1_TMAX}
+
+Magnetometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_M1_TMIN (`FLOAT`) {#TC_M1_TMIN}
+
+Magnetometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_TREF (`FLOAT`) {#TC_M1_TREF}
+
+Magnetometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_M1_X0_0 (`FLOAT`) {#TC_M1_X0_0}
+
+Magnetometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X0_1 (`FLOAT`) {#TC_M1_X0_1}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X0_2 (`FLOAT`) {#TC_M1_X0_2}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X1_0 (`FLOAT`) {#TC_M1_X1_0}
+
+Magnetometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X1_1 (`FLOAT`) {#TC_M1_X1_1}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X1_2 (`FLOAT`) {#TC_M1_X1_2}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X2_0 (`FLOAT`) {#TC_M1_X2_0}
+
+Magnetometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X2_1 (`FLOAT`) {#TC_M1_X2_1}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X2_2 (`FLOAT`) {#TC_M1_X2_2}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X3_0 (`FLOAT`) {#TC_M1_X3_0}
+
+Magnetometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X3_1 (`FLOAT`) {#TC_M1_X3_1}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M1_X3_2 (`FLOAT`) {#TC_M1_X3_2}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_ID (`INT32`) {#TC_M2_ID}
+
+ID of Magnetometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_M2_TMAX (`FLOAT`) {#TC_M2_TMAX}
+
+Magnetometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_M2_TMIN (`FLOAT`) {#TC_M2_TMIN}
+
+Magnetometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_TREF (`FLOAT`) {#TC_M2_TREF}
+
+Magnetometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_M2_X0_0 (`FLOAT`) {#TC_M2_X0_0}
+
+Magnetometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X0_1 (`FLOAT`) {#TC_M2_X0_1}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X0_2 (`FLOAT`) {#TC_M2_X0_2}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X1_0 (`FLOAT`) {#TC_M2_X1_0}
+
+Magnetometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X1_1 (`FLOAT`) {#TC_M2_X1_1}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X1_2 (`FLOAT`) {#TC_M2_X1_2}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X2_0 (`FLOAT`) {#TC_M2_X2_0}
+
+Magnetometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X2_1 (`FLOAT`) {#TC_M2_X2_1}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X2_2 (`FLOAT`) {#TC_M2_X2_2}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X3_0 (`FLOAT`) {#TC_M2_X3_0}
+
+Magnetometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X3_1 (`FLOAT`) {#TC_M2_X3_1}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M2_X3_2 (`FLOAT`) {#TC_M2_X3_2}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_ID (`INT32`) {#TC_M3_ID}
+
+ID of Magnetometer that the calibration is for.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### TC_M3_TMAX (`FLOAT`) {#TC_M3_TMAX}
+
+Magnetometer calibration maximum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 100.0 |
+
+### TC_M3_TMIN (`FLOAT`) {#TC_M3_TMIN}
+
+Magnetometer calibration minimum temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_TREF (`FLOAT`) {#TC_M3_TREF}
+
+Magnetometer calibration reference temperature.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 25.0 |
+
+### TC_M3_X0_0 (`FLOAT`) {#TC_M3_X0_0}
+
+Magnetometer offset temperature ^0 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X0_1 (`FLOAT`) {#TC_M3_X0_1}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X0_2 (`FLOAT`) {#TC_M3_X0_2}
+
+Magnetometer offset temperature ^0 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X1_0 (`FLOAT`) {#TC_M3_X1_0}
+
+Magnetometer offset temperature ^1 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X1_1 (`FLOAT`) {#TC_M3_X1_1}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X1_2 (`FLOAT`) {#TC_M3_X1_2}
+
+Magnetometer offset temperature ^1 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X2_0 (`FLOAT`) {#TC_M3_X2_0}
+
+Magnetometer offset temperature ^2 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X2_1 (`FLOAT`) {#TC_M3_X2_1}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X2_2 (`FLOAT`) {#TC_M3_X2_2}
+
+Magnetometer offset temperature ^2 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X3_0 (`FLOAT`) {#TC_M3_X3_0}
+
+Magnetometer offset temperature ^3 polynomial coefficient - X axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X3_1 (`FLOAT`) {#TC_M3_X3_1}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Y axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M3_X3_2 (`FLOAT`) {#TC_M3_X3_2}
+
+Magnetometer offset temperature ^3 polynomial coefficient - Z axis.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### TC_M_ENABLE (`INT32`) {#TC_M_ENABLE}
+
+Thermal compensation for magnetometer sensors.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+## Transponder
+
+### MXS_EXT_CFG (`INT32`) {#MXS_EXT_CFG}
+
+Sagetech External Configuration Mode.
+
+Disables auto-configuration mode enabling MXS config through external software.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### MXS_OP_MODE (`INT32`) {#MXS_OP_MODE}
+
+Sagetech MXS mode configuration.
+
+This parameter defines the operating mode of the MXS
+
+**Values:**
+
+- `0`: Off
+- `1`: On
+- `2`: Standby
+- `3`: Alt
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 0 |
+
+### MXS_SER_CFG (`INT32`) {#MXS_SER_CFG}
+
+Serial Configuration for Sagetech MXS Serial Port.
+
+Configure on which serial port to run Sagetech MXS Serial Port.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### MXS_TARG_PORT (`INT32`) {#MXS_TARG_PORT}
+
+Sagetech MXS Participant Configuration.
+
+The MXS communication port to receive Target data from
+
+**Values:**
+
+- `0`: Auto
+- `1`: COM0
+- `2`: COM1
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 1 |
+
+## UAVCAN
+
+### CANNODE_BITRATE (`INT32`) {#CANNODE_BITRATE}
+
+UAVCAN CAN bus bitrate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 20000 | 1000000 | | 1000000 |
+
+### CANNODE_PUB_MBD (`INT32`) {#CANNODE_PUB_MBD}
+
+Enable MovingBaselineData publication.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### CANNODE_SUB_MBD (`INT32`) {#CANNODE_SUB_MBD}
+
+Enable MovingBaselineData subscription.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | 1 | | Disabled (0) |
+
+### CANNODE_SUB_RTCM (`INT32`) {#CANNODE_SUB_RTCM}
+
+Enable RTCM subscription.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### CANNODE_TERM (`INT32`) {#CANNODE_TERM}
+
+CAN built-in bus termination.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | 1 | | Disabled (0) |
+
+### SIM_GZ_EN (`INT32`) {#SIM_GZ_EN}
+
+Simulator Gazebo bridge enable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_BITRATE (`INT32`) {#UAVCAN_BITRATE}
+
+UAVCAN CAN bus bitrate.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 20000 | 1000000 | | 1000000 | bit/s
+
+### UAVCAN_ECU_FUELT (`INT32`) {#UAVCAN_ECU_FUELT}
+
+UAVCAN fuel tank fuel type.
+
+This parameter defines the type of fuel used in the vehicle's fuel tank. 0: Unknown 1: Liquid (e.g., gasoline, diesel) 2: Gas (e.g., hydrogen, methane, propane)
+
+**Values:**
+
+- `0`: Unknown
+- `1`: Liquid
+- `2`: Gas
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 1 |
+
+### UAVCAN_ECU_MAXF (`FLOAT`) {#UAVCAN_ECU_MAXF}
+
+UAVCAN fuel tank maximum capacity.
+
+This parameter defines the maximum fuel capacity of the vehicle's fuel tank.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0.0 | 100000.0 | 0.1 | 15.0 | liters
+
+### UAVCAN_ENABLE (`INT32`) {#UAVCAN_ENABLE}
+
+UAVCAN mode.
+
+0 - UAVCAN disabled. 1 - Enables support for UAVCAN sensors without dynamic node ID allocation and firmware update. 2 - Enables support for UAVCAN sensors with dynamic node ID allocation and firmware update. 3 - Enables support for UAVCAN sensors and actuators with dynamic node ID allocation and firmware update. Also sets the motor control outputs to UAVCAN.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Sensors Manual Config
+- `2`: Sensors Automatic Config
+- `3`: Sensors and Actuators (ESCs) Automatic Config
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 0 |
+
+### UAVCAN_LGT_ANTCL (`INT32`) {#UAVCAN_LGT_ANTCL}
+
+UAVCAN ANTI_COLLISION light operating mode.
+
+This parameter defines the minimum condition under which the system will command the ANTI_COLLISION lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
+
+**Values:**
+
+- `0`: Always off
+- `1`: When autopilot is armed
+- `2`: When autopilot is prearmed
+- `3`: Always on
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 2 |
+
+### UAVCAN_LGT_LAND (`INT32`) {#UAVCAN_LGT_LAND}
+
+UAVCAN LIGHT_ID_LANDING light operating mode.
+
+This parameter defines the minimum condition under which the system will command the LIGHT_ID_LANDING lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
+
+**Values:**
+
+- `0`: Always off
+- `1`: When autopilot is armed
+- `2`: When autopilot is prearmed
+- `3`: Always on
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 0 |
+
+### UAVCAN_LGT_NAV (`INT32`) {#UAVCAN_LGT_NAV}
+
+UAVCAN RIGHT_OF_WAY light operating mode.
+
+This parameter defines the minimum condition under which the system will command the RIGHT_OF_WAY lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
+
+**Values:**
+
+- `0`: Always off
+- `1`: When autopilot is armed
+- `2`: When autopilot is prearmed
+- `3`: Always on
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 3 |
+
+### UAVCAN_LGT_STROB (`INT32`) {#UAVCAN_LGT_STROB}
+
+UAVCAN STROBE light operating mode.
+
+This parameter defines the minimum condition under which the system will command the STROBE lights on 0 - Always off 1 - When autopilot is armed 2 - When autopilot is prearmed 3 - Always on
+
+**Values:**
+
+- `0`: Always off
+- `1`: When autopilot is armed
+- `2`: When autopilot is prearmed
+- `3`: Always on
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 3 | | 1 |
+
+### UAVCAN_NODE_ID (`INT32`) {#UAVCAN_NODE_ID}
+
+UAVCAN Node ID.
+
+Read the specs at http://uavcan.org to learn more about Node ID.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 1 | 125 | | 1 |
+
+### UAVCAN_PUB_ARM (`INT32`) {#UAVCAN_PUB_ARM}
+
+publish Arming Status stream.
+
+Enable UAVCAN Arming Status stream publication uavcan::equipment::safety::ArmingStatus
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_PUB_MBD (`INT32`) {#UAVCAN_PUB_MBD}
+
+publish moving baseline data RTCM stream.
+
+Enable UAVCAN RTCM stream publication ardupilot::gnss::MovingBaselineData
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_PUB_RTCM (`INT32`) {#UAVCAN_PUB_RTCM}
+
+publish RTCM stream.
+
+Enable UAVCAN RTCM stream publication uavcan::equipment::gnss::RTCMStream
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_RNG_MAX (`FLOAT`) {#UAVCAN_RNG_MAX}
+
+UAVCAN rangefinder maximum range.
+
+This parameter defines the maximum valid range for a rangefinder connected via UAVCAN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 200.0 | m
+
+### UAVCAN_RNG_MIN (`FLOAT`) {#UAVCAN_RNG_MIN}
+
+UAVCAN rangefinder minimum range.
+
+This parameter defines the minimum valid range for a rangefinder connected via UAVCAN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.3 | m
+
+### UAVCAN_SUB_ASPD (`INT32`) {#UAVCAN_SUB_ASPD}
+
+subscription airspeed.
+
+Enable UAVCAN airspeed subscriptions. uavcan::equipment::air_data::IndicatedAirspeed uavcan::equipment::air_data::TrueAirspeed uavcan::equipment::air_data::StaticTemperature
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_BARO (`INT32`) {#UAVCAN_SUB_BARO}
+
+subscription barometer.
+
+Enable UAVCAN barometer subscription. uavcan::equipment::air_data::StaticPressure uavcan::equipment::air_data::StaticTemperature
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_BAT (`INT32`) {#UAVCAN_SUB_BAT}
+
+subscription battery.
+
+Enable UAVCAN battery subscription. uavcan::equipment::power::BatteryInfo ardupilot::equipment::power::BatteryInfoAux 0 - Disable 1 - Use raw data. Recommended for Smart battery 2 - Filter the data with internal battery library
+
+**Values:**
+
+- `0`: Disable
+- `1`: Raw data
+- `2`: Filter data
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### UAVCAN_SUB_BTN (`INT32`) {#UAVCAN_SUB_BTN}
+
+subscription button.
+
+Enable UAVCAN button subscription. ardupilot::indication::Button
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_DPRES (`INT32`) {#UAVCAN_SUB_DPRES}
+
+subscription differential pressure.
+
+Enable UAVCAN differential pressure subscription. uavcan::equipment::air_data::RawAirData
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_FLOW (`INT32`) {#UAVCAN_SUB_FLOW}
+
+subscription flow.
+
+Enable UAVCAN optical flow subscription.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_FUEL (`INT32`) {#UAVCAN_SUB_FUEL}
+
+subscription fuel tank.
+
+Enable UAVCAN fuel tank status subscription.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_GPS (`INT32`) {#UAVCAN_SUB_GPS}
+
+subscription GPS.
+
+Enable UAVCAN GPS subscriptions. uavcan::equipment::gnss::Fix uavcan::equipment::gnss::Fix2 uavcan::equipment::gnss::Auxiliary
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### UAVCAN_SUB_GPS_R (`INT32`) {#UAVCAN_SUB_GPS_R}
+
+subscription GPS Relative.
+
+Enable UAVCAN GPS Relative subscription. ardupilot::gnss::RelPosHeading
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### UAVCAN_SUB_HYGRO (`INT32`) {#UAVCAN_SUB_HYGRO}
+
+subscription hygrometer.
+
+Enable UAVCAN hygrometer subscriptions. dronecan::sensors::hygrometer::Hygrometer
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_ICE (`INT32`) {#UAVCAN_SUB_ICE}
+
+subscription ICE.
+
+Enable UAVCAN internal combustion engine (ICE) subscription. uavcan::equipment::ice::reciprocating::Status
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_IMU (`INT32`) {#UAVCAN_SUB_IMU}
+
+subscription IMU.
+
+Enable UAVCAN IMU subscription. uavcan::equipment::ahrs::RawIMU
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UAVCAN_SUB_MAG (`INT32`) {#UAVCAN_SUB_MAG}
+
+subscription magnetometer.
+
+Enable UAVCAN mag subscription. uavcan::equipment::ahrs::MagneticFieldStrength uavcan::equipment::ahrs::MagneticFieldStrength2
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+### UAVCAN_SUB_RNG (`INT32`) {#UAVCAN_SUB_RNG}
+
+subscription range finder.
+
+Enable UAVCAN range finder subscription. uavcan::equipment::range_sensor::Measurement
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+## UUV Attitude Control
+
+### UUV_DIRCT_PITCH (`FLOAT`) {#UUV_DIRCT_PITCH}
+
+Direct pitch input.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### UUV_DIRCT_ROLL (`FLOAT`) {#UUV_DIRCT_ROLL}
+
+Direct roll input.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### UUV_DIRCT_THRUST (`FLOAT`) {#UUV_DIRCT_THRUST}
+
+Direct thrust input.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### UUV_DIRCT_YAW (`FLOAT`) {#UUV_DIRCT_YAW}
+
+Direct yaw input.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.0 |
+
+### UUV_INPUT_MODE (`INT32`) {#UUV_INPUT_MODE}
+
+Select Input Mode.
+
+**Values:**
+
+- `0`: use Attitude Setpoints
+- `1`: Direct Feedthrough
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### UUV_PITCH_D (`FLOAT`) {#UUV_PITCH_D}
+
+Pitch differential gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2.0 |
+
+### UUV_PITCH_P (`FLOAT`) {#UUV_PITCH_P}
+
+Pitch proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 4.0 |
+
+### UUV_ROLL_D (`FLOAT`) {#UUV_ROLL_D}
+
+Roll differential gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.5 |
+
+### UUV_ROLL_P (`FLOAT`) {#UUV_ROLL_P}
+
+Roll proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 4.0 |
+
+### UUV_YAW_D (`FLOAT`) {#UUV_YAW_D}
+
+Yaw differential gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 2.0 |
+
+### UUV_YAW_P (`FLOAT`) {#UUV_YAW_P}
+
+Yawh proportional gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 4.0 |
+
+## UUV Position Control
+
+### UUV_GAIN_X_D (`FLOAT`) {#UUV_GAIN_X_D}
+
+Gain of D controller X.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.2 |
+
+### UUV_GAIN_X_P (`FLOAT`) {#UUV_GAIN_X_P}
+
+Gain of P controller X.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### UUV_GAIN_Y_D (`FLOAT`) {#UUV_GAIN_Y_D}
+
+Gain of D controller Y.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.2 |
+
+### UUV_GAIN_Y_P (`FLOAT`) {#UUV_GAIN_Y_P}
+
+Gain of P controller Y.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### UUV_GAIN_Z_D (`FLOAT`) {#UUV_GAIN_Z_D}
+
+Gain of D controller Z.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0.2 |
+
+### UUV_GAIN_Z_P (`FLOAT`) {#UUV_GAIN_Z_P}
+
+Gain of P controller Z.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1.0 |
+
+### UUV_STAB_MODE (`INT32`) {#UUV_STAB_MODE}
+
+Stabilization mode(1) or Position Control(0).
+
+**Values:**
+
+- `0`: Position Control
+- `1`: Stabilization Mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 1 |
+
+## UWB
+
+### UWB_INIT_OFF_X (`FLOAT`) {#UWB_INIT_OFF_X}
+
+UWB sensor X offset in body frame.
+
+UWB sensor positioning in relation to Drone in NED. X offset. A Positive offset results in a Position o
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.01 | 0.0 | m
+
+### UWB_INIT_OFF_Y (`FLOAT`) {#UWB_INIT_OFF_Y}
+
+UWB sensor Y offset in body frame.
+
+UWB sensor positioning in relation to Drone in NED. Y offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.01 | 0.0 | m
+
+### UWB_INIT_OFF_Z (`FLOAT`) {#UWB_INIT_OFF_Z}
+
+UWB sensor Z offset in body frame.
+
+UWB sensor positioning in relation to Drone in NED. Z offset.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | 0.01 | 0.0 | m
+
+### UWB_PORT_CFG (`INT32`) {#UWB_PORT_CFG}
+
+Serial Configuration for Ultrawideband position sensor driver.
+
+Configure on which serial port to run Ultrawideband position sensor driver.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### UWB_SENS_ROT (`INT32`) {#UWB_SENS_ROT}
+
+UWB sensor orientation.
+
+The orientation of the sensor relative to the forward direction of the body frame. Look up table in src/lib/conversion/rotation.h Default position is the antannaes downward facing, UWB board parallel with body frame.
+
+**Values:**
+
+- `0`: ROTATION_NONE
+- `1`: ROTATION_YAW_45
+- `2`: ROTATION_YAW_90
+- `3`: ROTATION_YAW_135
+- `4`: ROTATION_YAW_180
+- `5`: ROTATION_YAW_225
+- `6`: ROTATION_YAW_270
+- `7`: ROTATION_YAW_315
+- `8`: ROTATION_ROLL_180
+- `9`: ROTATION_ROLL_180_YAW_45
+- `10`: ROTATION_ROLL_180_YAW_90
+- `11`: ROTATION_ROLL_180_YAW_135
+- `12`: ROTATION_PITCH_180
+- `13`: ROTATION_ROLL_180_YAW_225
+- `14`: ROTATION_ROLL_180_YAW_270
+- `15`: ROTATION_ROLL_180_YAW_315
+- `16`: ROTATION_ROLL_90
+- `17`: ROTATION_ROLL_90_YAW_45
+- `18`: ROTATION_ROLL_90_YAW_90
+- `19`: ROTATION_ROLL_90_YAW_135
+- `20`: ROTATION_ROLL_270
+- `21`: ROTATION_ROLL_270_YAW_45
+- `22`: ROTATION_ROLL_270_YAW_90
+- `23`: ROTATION_ROLL_270_YAW_135
+- `24`: ROTATION_PITCH_90
+- `25`: ROTATION_PITCH_270
+- `26`: ROTATION_PITCH_180_YAW_90
+- `27`: ROTATION_PITCH_180_YAW_270
+- `28`: ROTATION_ROLL_90_PITCH_90
+- `29`: ROTATION_ROLL_180_PITCH_90
+- `30`: ROTATION_ROLL_270_PITCH_90
+- `31`: ROTATION_ROLL_90_PITCH_180
+- `32`: ROTATION_ROLL_270_PITCH_180
+- `33`: ROTATION_ROLL_90_PITCH_270
+- `34`: ROTATION_ROLL_180_PITCH_270
+- `35`: ROTATION_ROLL_270_PITCH_270
+- `36`: ROTATION_ROLL_90_PITCH_180_YAW_90
+- `37`: ROTATION_ROLL_90_YAW_270
+- `38`: ROTATION_ROLL_90_PITCH_68_YAW_293
+- `39`: ROTATION_PITCH_315
+- `40`: ROTATION_ROLL_90_PITCH_315
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+## UXRCE-DDS Client
+
+### UXRCE_DDS_AG_IP (`INT32`) {#UXRCE_DDS_AG_IP}
+
+uXRCE-DDS Agent IP address.
+
+If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected Agent IP address will be set and used. Decimal dot notation is not supported. IP address must be provided in int32 format. For example, 192.168.1.2 is mapped to -1062731518; 127.0.0.1 is mapped to 2130706433.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2130706433 |
+
+### UXRCE_DDS_CFG (`INT32`) {#UXRCE_DDS_CFG}
+
+Serial Configuration for UXRCE-DDS Client.
+
+Configure on which serial port to run UXRCE-DDS Client.
+
+**Values:**
+
+- `0`: Disabled
+- `6`: UART 6
+- `101`: TELEM 1
+- `102`: TELEM 2
+- `103`: TELEM 3
+- `104`: TELEM/SERIAL 4
+- `201`: GPS 1
+- `202`: GPS 2
+- `203`: GPS 3
+- `300`: Radio Controller
+- `301`: Wifi Port
+- `401`: EXT2
+- `1000`: Ethernet
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### UXRCE_DDS_DOM_ID (`INT32`) {#UXRCE_DDS_DOM_ID}
+
+uXRCE-DDS domain ID.
+
+uXRCE-DDS domain ID
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+### UXRCE_DDS_KEY (`INT32`) {#UXRCE_DDS_KEY}
+
+uXRCE-DDS session key.
+
+uXRCE-DDS key, must be different from zero. In a single agent - multi client configuration, each client must have a unique session key.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 1 |
+
+### UXRCE_DDS_PRT (`INT32`) {#UXRCE_DDS_PRT}
+
+uXRCE-DDS UDP port.
+
+If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected UDP port will be set and used.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 65535 | | 8888 |
+
+### UXRCE_DDS_PTCFG (`INT32`) {#UXRCE_DDS_PTCFG}
+
+uXRCE-DDS participant configuration.
+
+Set the participant configuration on the Agent's system. 0: Use the default configuration. 1: Restrict messages to localhost (use in combination with ROS_LOCALHOST_ONLY=1). 2: Use a custom participant with the profile name "px4_participant".
+
+**Values:**
+
+- `0`: Default
+- `1`: Localhost-only
+- `2`: Custom participant
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### UXRCE_DDS_SYNCC (`INT32`) {#UXRCE_DDS_SYNCC}
+
+Enable uXRCE-DDS system clock synchronization.
+
+When enabled along with UXRCE_DDS_SYNCT, uxrce_dds_client will set the system clock using the agents UTC timestamp.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Disabled (0) |
+
+### UXRCE_DDS_SYNCT (`INT32`) {#UXRCE_DDS_SYNCT}
+
+Enable uXRCE-DDS timestamp synchronization.
+
+When enabled, uxrce_dds_client will synchronize the timestamps of the incoming and outgoing messages measuring the offset between the Agent OS time and the PX4 time.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | Enabled (1) |
+
+## VOXL ESC
+
+### VOXL_ESC_BAUD (`INT32`) {#VOXL_ESC_BAUD}
+
+UART ESC baud rate.
+
+Default rate is 250Kbps, which is used in off-the-shelf MoadalAI ESC products.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 250000 | bit/s
+
+### VOXL_ESC_CONFIG (`INT32`) {#VOXL_ESC_CONFIG}
+
+UART ESC configuration.
+
+Selects what type of UART ESC, if any, is being used.
+
+**Values:**
+
+- `0`: - Disabled
+- `1`: - VOXL ESC
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+### VOXL_ESC_MODE (`INT32`) {#VOXL_ESC_MODE}
+
+UART ESC Mode.
+
+Selects what type of mode is enabled, if any
+
+**Values:**
+
+- `0`: - None
+- `1`: - Turtle Mode enabled via AUX1
+- `2`: - Turtle Mode enabled via AUX2
+- `3`: - UART Passthrough Mode
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### VOXL_ESC_PUB_BST (`INT32`) {#VOXL_ESC_PUB_BST}
+
+UART ESC Enable publishing of battery status.
+
+Only applicable to ESCs that report total battery voltage and current
+
+**Values:**
+
+- `0`: - Disabled
+- `1`: - Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 1 |
+
+### VOXL_ESC_RPM_MAX (`INT32`) {#VOXL_ESC_RPM_MAX}
+
+UART ESC RPM Max.
+
+Maximum RPM for ESC
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 15000 | rpm
+
+### VOXL_ESC_RPM_MIN (`INT32`) {#VOXL_ESC_RPM_MIN}
+
+UART ESC RPM Min.
+
+Minimum RPM for ESC
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 5500 | rpm
+
+### VOXL_ESC_SDIR1 (`INT32`) {#VOXL_ESC_SDIR1}
+
+UART ESC ID 1 Spin Direction Flag.
+
+**Values:**
+
+- `0`: - Default
+- `1`: - Reverse
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_SDIR2 (`INT32`) {#VOXL_ESC_SDIR2}
+
+UART ESC ID 2 Spin Direction Flag.
+
+**Values:**
+
+- `0`: - Default
+- `1`: - Reverse
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_SDIR3 (`INT32`) {#VOXL_ESC_SDIR3}
+
+UART ESC ID 3 Spin Direction Flag.
+
+**Values:**
+
+- `0`: - Default
+- `1`: - Reverse
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_SDIR4 (`INT32`) {#VOXL_ESC_SDIR4}
+
+UART ESC ID 4 Spin Direction Flag.
+
+**Values:**
+
+- `0`: - Default
+- `1`: - Reverse
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VOXL_ESC_T_COSP (`FLOAT`) {#VOXL_ESC_T_COSP}
+
+UART ESC Turtle Mode Cosphi.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.000 | 1.000 | 0.001 | 0.990 |
+
+### VOXL_ESC_T_DEAD (`INT32`) {#VOXL_ESC_T_DEAD}
+
+UART ESC Turtle Mode Crash Flip Motor Deadband.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 20 |
+
+### VOXL_ESC_T_EXPO (`INT32`) {#VOXL_ESC_T_EXPO}
+
+UART ESC Turtle Mode Crash Flip Motor expo.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 100 | 1 | 35 |
+
+### VOXL_ESC_T_MINF (`FLOAT`) {#VOXL_ESC_T_MINF}
+
+UART ESC Turtle Mode Crash Flip Motor STICK_MINF.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 100.0 | 1.0 | 0.15 |
+
+### VOXL_ESC_T_OVER (`INT32`) {#VOXL_ESC_T_OVER}
+
+UART ESC Over-Temperature Threshold (Degrees C).
+
+Only applicable to ESCs that report temperature
+
+**Values:**
+
+- `0`: - Disabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 200 | | 0 |
+
+### VOXL_ESC_T_PERC (`INT32`) {#VOXL_ESC_T_PERC}
+
+UART ESC Turtle Mode Crash Flip Motor Percent.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1 | 100 | 1 | 90 |
+
+### VOXL_ESC_T_WARN (`INT32`) {#VOXL_ESC_T_WARN}
+
+UART ESC Temperature Warning Threshold (Degrees C).
+
+Only applicable to ESCs that report temperature
+
+**Values:**
+
+- `0`: - Disabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 200 | | 0 |
+
+### VOXL_ESC_VLOG (`INT32`) {#VOXL_ESC_VLOG}
+
+UART ESC verbose logging.
+
+**Values:**
+
+- `0`: - Disabled
+- `1`: - Enabled
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 1 | | 0 |
+
+## VOXL2 IO
+
+### VOXL2_IO_BAUD (`INT32`) {#VOXL2_IO_BAUD}
+
+UART M0065 baud rate.
+
+Default rate is 921600, which is used for communicating with M0065.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 921600 | bit/s
+
+### VOXL2_IO_MAX (`INT32`) {#VOXL2_IO_MAX}
+
+M0065 PWM Max.
+
+Maximum duration (microseconds) for M0065 PWM
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2000 | | 2000 | us
+
+### VOXL2_IO_MIN (`INT32`) {#VOXL2_IO_MIN}
+
+M0065 PWM Min.
+
+Minimum duration (microseconds) for M0065 PWM
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2000 | | 1000 | us
+
+## VTOL Attitude Control
+
+### VT_ARSP_BLEND (`FLOAT`) {#VT_ARSP_BLEND}
+
+Transition blending airspeed.
+
+Airspeed at which we can start blending both fw and mc controls. Set to 0 to disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 30.00 | 1 | 8.0 | m/s
+
+### VT_ARSP_TRANS (`FLOAT`) {#VT_ARSP_TRANS}
+
+Transition airspeed.
+
+Airspeed at which we can switch to fw mode
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.00 | 30.00 | 1 | 10.0 | m/s
+
+### VT_BT_TILT_DUR (`FLOAT`) {#VT_BT_TILT_DUR}
+
+Duration motor tilt up in backtransition.
+
+Time in seconds it takes to tilt form VT_TILT_FW to VT_TILT_MC.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 10 | 0.1 | 1. | s
+
+### VT_B_DEC_I (`FLOAT`) {#VT_B_DEC_I}
+
+Backtransition deceleration setpoint to pitch I gain.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 0.3 | 0.05 | 0.1 | rad s/m
+
+### VT_B_DEC_MSS (`FLOAT`) {#VT_B_DEC_MSS}
+
+Approximate deceleration during back transition.
+
+Used to calculate back transition distance in an auto mode. For standard vtol and tiltrotors a controller is used to track this value during the transition.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.5 | 10 | 0.1 | 2.0 | m/s^2
+
+### VT_B_TRANS_DUR (`FLOAT`) {#VT_B_TRANS_DUR}
+
+Maximum duration of a back transition.
+
+Transition is also declared over if the groundspeed drops below MPC_XY_CRUISE.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 20.00 | 1 | 10.0 | s
+
+### VT_B_TRANS_RAMP (`FLOAT`) {#VT_B_TRANS_RAMP}
+
+Back transition MC motor ramp up time.
+
+This sets the duration during which the MC motors ramp up to the commanded thrust during the back transition stage.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 20.0 | 0.1 | 3.0 | s
+
+### VT_ELEV_MC_LOCK (`INT32`) {#VT_ELEV_MC_LOCK}
+
+Lock control surfaces in hover.
+
+If set to 1 the control surfaces are locked at the disarmed value in multicopter mode.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | Enabled (1) |
+
+### VT_FWD_THRUST_EN (`INT32`) {#VT_FWD_THRUST_EN}
+
+Use fixed-wing actuation in hover to accelerate forward.
+
+This feature can be used to avoid the plane having to pitch nose down in order to move forward. Prevents large, negative lift from pitching nose down into wind. Fixed-wing forward actuators refers to puller/pusher (standard VTOL), or forward-tilt (tiltrotor VTOL). Only active if demanded down pitch is below VT_PITCH_MIN. Use VT_FWD_THRUST_SC to tune it. Descend mode is treated as Landing too. Only active (if enabled) in Altitude, Position and Auto modes, not in Stabilized.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled (except LANDING)
+- `2`: Enabled if distance to ground above MPC_LAND_ALT1
+- `3`: Enabled if distance to ground above MPC_LAND_ALT2
+- `4`: Enabled constantly
+- `5`: Enabled if distance to ground above MPC_LAND_ALT1 (except LANDING)
+- `6`: Enabled if distance to ground above MPC_LAND_ALT2 (except LANDING)
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
+
+### VT_FWD_THRUST_SC (`FLOAT`) {#VT_FWD_THRUST_SC}
+
+Fixed-wing actuation thrust scale for hover forward flight.
+
+Scale applied to the demanded down-pitch to get the fixed-wing forward actuation in hover mode. Enabled via VT_FWD_THRUST_EN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.01 | 0.7 |
+
+### VT_FW_DIFTHR_EN (`INT32`) {#VT_FW_DIFTHR_EN}
+
+Differential thrust in forwards flight.
+
+Enable differential thrust seperately for roll, pitch, yaw in forward (fixed-wing) mode. The effectiveness of differential thrust around the corresponding axis can be tuned by setting VT_FW_DIFTHR_S_R / VT_FW_DIFTHR_S_P / VT_FW_DIFTHR_S_Y.
+
+**Bitmask:**
+
+- `0`: Yaw
+- `1`: Roll
+- `2`: Pitch
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 7 | | 0 |
+
+### VT_FW_DIFTHR_S_P (`FLOAT`) {#VT_FW_DIFTHR_S_P}
+
+Pitch differential thrust factor in forward flight.
+
+Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.1 | 1. |
+
+### VT_FW_DIFTHR_S_R (`FLOAT`) {#VT_FW_DIFTHR_S_R}
+
+Roll differential thrust factor in forward flight.
+
+Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.1 | 1. |
+
+### VT_FW_DIFTHR_S_Y (`FLOAT`) {#VT_FW_DIFTHR_S_Y}
+
+Yaw differential thrust factor in forward flight.
+
+Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 2.0 | 0.1 | 0.1 |
+
+### VT_FW_MIN_ALT (`FLOAT`) {#VT_FW_MIN_ALT}
+
+Quad-chute altitude.
+
+Minimum altitude for fixed-wing flight. When the vehicle is in fixed-wing mode and the altitude drops below this altitude (relative altitude above local origin), it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 200.0 | 1 | 0.0 | m
+
+### VT_FW_QC_HMAX (`INT32`) {#VT_FW_QC_HMAX}
+
+Quad-chute maximum height.
+
+Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 1 | 0 | m
+
+### VT_FW_QC_P (`INT32`) {#VT_FW_QC_P}
+
+Quad-chute max pitch threshold.
+
+Absolute pitch threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 180 | | 0 | deg
+
+### VT_FW_QC_R (`INT32`) {#VT_FW_QC_R}
+
+Quad-chute max roll threshold.
+
+Absolute roll threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 180 | | 0 | deg
+
+### VT_F_TRANS_DUR (`FLOAT`) {#VT_F_TRANS_DUR}
+
+Duration of a front transition.
+
+Time in seconds used for a transition
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 20.00 | 1 | 5.0 | s
+
+### VT_F_TRANS_THR (`FLOAT`) {#VT_F_TRANS_THR}
+
+Target throttle value for the transition to fixed-wing flight.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 |
+
+### VT_F_TR_OL_TM (`FLOAT`) {#VT_F_TR_OL_TM}
+
+Airspeed-less front transition time (open loop).
+
+The duration of the front transition when there is no airspeed feedback available.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 1.0 | 30.0 | 0.5 | 6.0 | s
+
+### VT_LND_PITCH_MIN (`FLOAT`) {#VT_LND_PITCH_MIN}
+
+Minimum pitch angle during hover landing.
+
+Overrides VT_PITCH_MIN when the vehicle is in LAND mode (hovering). During landing it can be beneficial to reduce the pitch angle to reduce the generated lift in head wind.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -10.0 | 45.0 | 0.1 | -5.0 | deg
+
+### VT_PITCH_MIN (`FLOAT`) {#VT_PITCH_MIN}
+
+Minimum pitch angle during hover.
+
+Any pitch setpoint below this value is translated to a forward force by the fixed-wing forward actuation if VT_FW_TRHUST_EN is set to 1.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -10.0 | 45.0 | 0.1 | -5.0 | deg
+
+### VT_PSHER_SLEW (`FLOAT`) {#VT_PSHER_SLEW}
+
+Pusher throttle ramp up slew rate.
+
+Defines the slew rate of the puller/pusher throttle during transitions. Zero will deactivate the slew rate limiting and thus produce an instant throttle rise to the transition throttle VT_F_TRANS_THR.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | | 0.01 | 0.33 | 1/s
+
+### VT_QC_ALT_LOSS (`FLOAT`) {#VT_QC_ALT_LOSS}
+
+Quad-chute uncommanded descent threshold.
+
+Altitude error threshold for quad-chute triggering during fixed-wing flight. The check is only active if altitude is controlled and the vehicle is below the current altitude reference. The altitude error is relative to the highest altitude the vehicle has achieved since it has flown below the current altitude reference. Set to 0 do disable.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 200.0 | 1 | 0.0 | m
+
+### VT_QC_T_ALT_LOSS (`FLOAT`) {#VT_QC_T_ALT_LOSS}
+
+Quad-chute transition altitude loss threshold.
+
+Altitude loss threshold for quad-chute triggering during VTOL transition to fixed-wing flight in altitude-controlled flight modes. Active until 5s after completing transition to fixed-wing. If the current altitude is more than this value below the altitude at the beginning of the transition, it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 50 | 1 | 20.0 | m
+
+### VT_SPOILER_MC_LD (`FLOAT`) {#VT_SPOILER_MC_LD}
+
+Spoiler setting while landing (hover).
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | -1 | 1 | 0.1 | 0. | norm
+
+### VT_TILT_FW (`FLOAT`) {#VT_TILT_FW}
+
+Normalized tilt in FW.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 1.0 |
+
+### VT_TILT_MC (`FLOAT`) {#VT_TILT_MC}
+
+Normalized tilt in Hover.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.0 |
+
+### VT_TILT_TRANS (`FLOAT`) {#VT_TILT_TRANS}
+
+Normalized tilt in transition to FW.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 1.0 | 0.01 | 0.4 |
+
+### VT_TRANS_MIN_TM (`FLOAT`) {#VT_TRANS_MIN_TM}
+
+Front transition minimum time.
+
+Minimum time in seconds for front transition.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 20.0 | 0.1 | 2.0 | s
+
+### VT_TRANS_P2_DUR (`FLOAT`) {#VT_TRANS_P2_DUR}
+
+Duration of front transition phase 2.
+
+Time in seconds it takes to tilt form VT_TILT_TRANS to VT_TILT_FW.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 5.0 | 0.01 | 0.5 | s
+
+### VT_TRANS_TIMEOUT (`FLOAT`) {#VT_TRANS_TIMEOUT}
+
+Front transition timeout.
+
+Time in seconds after which transition will be cancelled. Disabled if set to 0.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.1 | 30.00 | 1 | 15.0 | s
+
+### VT_TYPE (`INT32`) {#VT_TYPE}
+
+VTOL Type (Tailsitter=0, Tiltrotor=1, Standard=2).
+
+**Values:**
+
+- `0`: Tailsitter
+- `1`: Tiltrotor
+- `2`: Standard
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | 0 | 2 | | 0 |
+
+### WV_GAIN (`FLOAT`) {#WV_GAIN}
+
+Weather-vane roll angle to yawrate.
+
+The desired gain to convert roll sp into yaw rate sp.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0.0 | 3.0 | 0.01 | 1.0 | Hz
+
+## VTOL Takeoff
+
+### VTO_LOITER_ALT (`FLOAT`) {#VTO_LOITER_ALT}
+
+VTOL Takeoff relative loiter altitude.
+
+Altitude relative to home at which vehicle will loiter after front transition.
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 20 | 300 | 1 | 80 | m
+
+## Zenoh
+
+### ZENOH_ENABLE (`INT32`) {#ZENOH_ENABLE}
+
+Zenoh Enable.
+
+Zenoh
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 0 |
+
+## Miscellaneous
+
+### SCH16T_ACC_FILT (`INT32`) {#SCH16T_ACC_FILT}
+
+Accel filter settings.
+
+**Values:**
+
+- `0`: 13 Hz
+- `1`: 30 Hz
+- `2`: 68 Hz
+- `3`: 235 Hz
+- `4`: 280 Hz
+- `5`: 370 Hz
+- `6`: No filter
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 6 |
+
+### SCH16T_DECIM (`INT32`) {#SCH16T_DECIM}
+
+Gyro and Accel decimation settings.
+
+**Values:**
+
+- `0`: None
+- `1`: 5900 Hz
+- `2`: 2950 Hz
+- `3`: 1475 Hz
+- `4`: 738 Hz
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 4 |
+
+### SCH16T_GYRO_FILT (`INT32`) {#SCH16T_GYRO_FILT}
+
+Gyro filter settings.
+
+**Values:**
+
+- `0`: 13 Hz
+- `1`: 30 Hz
+- `2`: 68 Hz
+- `3`: 235 Hz
+- `4`: 280 Hz
+- `5`: 370 Hz
+- `6`: No filter
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+✓ | | | | 2 |
+
+### SF1XX_MODE (`INT32`) {#SF1XX_MODE}
+
+Lightware SF1xx/SF20/LW20 Operation Mode.
+
+**Values:**
+
+- `0`: Disabled
+- `1`: Enabled
+- `2`: Disabled during VTOL fast forward flight
+
+
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | 0 | 2 | | 1 |
+
+### UUV_SKIP_CTRL (`INT32`) {#UUV_SKIP_CTRL}
+
+Skip the controller.
+
+**Values:**
+
+- `0`: use the module's controller
+- `1`: skip the controller and feedthrough the setpoints
+
-
-
-
-
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
-
-
SCH16T_ACC_FILT (INT32)
-
Accel filter settings Values:
-
0: 13 Hz
-
1: 30 Hz
-
2: 68 Hz
-
3: 235 Hz
-
4: 280 Hz
-
5: 370 Hz
-
6: No filter
-
Reboot required: true
-
-
-
6
-
-
-
-
SCH16T_DECIM (INT32)
-
Gyro and Accel decimation settings Values:
-
0: None
-
1: 5900 Hz
-
2: 2950 Hz
-
3: 1475 Hz
-
4: 738 Hz
-
Reboot required: true
-
-
-
4
-
-
-
-
SCH16T_GYRO_FILT (INT32)
-
Gyro filter settings Values:
-
0: 13 Hz
-
1: 30 Hz
-
2: 68 Hz
-
3: 235 Hz
-
4: 280 Hz
-
5: 370 Hz
-
6: No filter
-
Reboot required: true
-
-
-
2
-
-
-
-
SF1XX_MODE (INT32)
-
Lightware SF1xx/SF20/LW20 Operation Mode Values:
-
0: Disabled
-
1: Enabled
-
2: Disabled during VTOL fast forward flight
-
-
[0, 2]
-
1
-
-
-
-
UUV_SKIP_CTRL (INT32)
-
Skip the controller Values:
-
0: use the module's controller
-
1: skip the controller and feedthrough the setpoints
-
-
-
0
-
-
-
+Reboot | minValue | maxValue | increment | default | unit
+--- | --- | --- | --- | --- | ---
+ | | | | 0 |
diff --git a/en/advanced_config/prearm_arm_disarm.md b/en/advanced_config/prearm_arm_disarm.md
index f30539995183..0cee416cc0eb 100644
--- a/en/advanced_config/prearm_arm_disarm.md
+++ b/en/advanced_config/prearm_arm_disarm.md
@@ -36,16 +36,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## Arming Gesture
+## Arming/Disarming Gestures {#arm_disarm_gestures}
By default, the vehicle is armed and disarmed by moving RC throttle/yaw sticks to particular extremes and holding them for 1 second.
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -55,14 +53,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Disarm:_ Left-stick to left, right-stick to the bottom.
The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
+Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-| Parameter | Description |
-| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-
-
+| Parameter | Description |
+| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures).
The button should be held down for ([nominally](#COM_RC_ARM_HYST)) one second to arm (when disarmed) or disarm (when armed).
@@ -96,7 +95,7 @@ The feature is configured using the following timeouts.
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met.
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable).
Arming is prevented if:
- The vehicle is not in a "healthy" state.
@@ -105,7 +104,7 @@ Arming is prevented if:
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
diff --git a/en/advanced_features/index.md b/en/advanced_features/index.md
index b7369418d9ce..39820576978b 100644
--- a/en/advanced_features/index.md
+++ b/en/advanced_features/index.md
@@ -4,10 +4,7 @@ This section contains topics related to some of the more advanced features of th
- [Air Traffic Avoidance: ADS-B/FLARM/UTM](../peripherals/adsb_flarm.md)
- [Computer Vision](../computer_vision/index.md)
- - [Obstacle Avoidance](../computer_vision/obstacle_avoidance.md) (needs companion computer)
- - [Safe Landing](../computer_vision/safe_landing.md) (needs companion computer)
- - [Collision Prevention](../computer_vision/collision_prevention.md) (can use companion computer or sensors on flight controller)
- - [Path Planning Interface](../computer_vision/path_planning_interface.md) (Developer Interface)
+ - [Collision Prevention](../computer_vision/collision_prevention.md)
- [Motion Capture (MoCap)](../computer_vision/motion_capture.md)
- [Visual Inertial Odometry (VIO)](../computer_vision/visual_inertial_odometry.md)
- [Iridium/RockBlock Satellite Communication System](../advanced_features/satcom_roadblock.md)
diff --git a/en/airframes/airframe_reference.md b/en/airframes/airframe_reference.md
index cc22fa2a53f8..a53b7fd6c23e 100644
--- a/en/airframes/airframe_reference.md
+++ b/en/airframes/airframe_reference.md
@@ -595,21 +595,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/en/assembly/_assembly.md b/en/assembly/_assembly.md
index 23b755eef027..45bcba53db98 100644
--- a/en/assembly/_assembly.md
+++ b/en/assembly/_assembly.md
@@ -142,6 +142,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+::: warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -205,8 +226,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
::: tip
@@ -237,6 +267,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -244,6 +276,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -252,13 +286,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -268,38 +303,17 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-::: warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
-
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
-
-
-
-## Airspeed Sensor
-
-[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
-They are so important because the autopilot does not have other means to detect stall.
-
-Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
-There is no need to separately power the sensor.
-
-![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
-
-Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
::: warning
-Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
-You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
:::
-
-
## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
diff --git a/en/assembly/assembly_fw.md b/en/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/en/assembly/assembly_fw.md
+++ b/en/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/en/assembly/assembly_mc.md b/en/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/en/assembly/assembly_mc.md
+++ b/en/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/en/assembly/assembly_vtol.md b/en/assembly/assembly_vtol.md
index e12ea32e8ba6..3ec76dd75bb5 100644
--- a/en/assembly/assembly_vtol.md
+++ b/en/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/en/can/index.md b/en/can/index.md
index b896f65665bf..c72d500b4978 100644
--- a/en/can/index.md
+++ b/en/can/index.md
@@ -75,21 +75,22 @@ See [PX4 DroneCAN Firmware](../dronecan/px4_cannode_fw.md) for more information.
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/MwdHwjaXYKs)
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/en/companion_computer/index.md b/en/companion_computer/index.md
index 4e115107e7bd..72eb2102ffd1 100644
--- a/en/companion_computer/index.md
+++ b/en/companion_computer/index.md
@@ -1,6 +1,6 @@
# Companion Computers
-Companion computers ("mission computers"), are separate on-vehicle computers that are connected to the flight controller, and which enable computationally expensive features like [object avoidance](../computer_vision/obstacle_avoidance.md) and [collision prevention](../computer_vision/collision_prevention.md).
+Companion computers ("mission computers"), are separate on-vehicle computers that are connected to the flight controller, and which enable computationally expensive features like [collision prevention](../computer_vision/collision_prevention.md).
The diagram below shows a possible architecture for an unmanned vehicle architecture that includes a flight controller and companion computer.
diff --git a/en/complete_vehicles_mc/betafpv_beta75x.md b/en/complete_vehicles_mc/betafpv_beta75x.md
index d9c7ddc90184..230dd0909735 100644
--- a/en/complete_vehicles_mc/betafpv_beta75x.md
+++ b/en/complete_vehicles_mc/betafpv_beta75x.md
@@ -55,4 +55,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/en/complete_vehicles_mc/crazyflie2.md b/en/complete_vehicles_mc/crazyflie2.md
index 31e32846883a..34a737147575 100644
--- a/en/complete_vehicles_mc/crazyflie2.md
+++ b/en/complete_vehicles_mc/crazyflie2.md
@@ -304,7 +304,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/en/complete_vehicles_mc/crazyflie21.md b/en/complete_vehicles_mc/crazyflie21.md
index 2af89c8301d4..99586a8a6067 100644
--- a/en/complete_vehicles_mc/crazyflie21.md
+++ b/en/complete_vehicles_mc/crazyflie21.md
@@ -287,4 +287,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/en/complete_vehicles_mc/nanomind110.md b/en/complete_vehicles_mc/nanomind110.md
index 9f75a519ec52..2eb39e2606ad 100644
--- a/en/complete_vehicles_mc/nanomind110.md
+++ b/en/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/en/complete_vehicles_mc/px4_vision_kit.md b/en/complete_vehicles_mc/px4_vision_kit.md
index 88324cef2148..252a1cfacb66 100644
--- a/en/complete_vehicles_mc/px4_vision_kit.md
+++ b/en/complete_vehicles_mc/px4_vision_kit.md
@@ -4,14 +4,24 @@ The [_PX4 Vision Autonomy Development Kit_](https://holybro.com/collections/mult
![Overview](../../assets/hardware/px4_vision_devkit/px4_vision_v1.5_front.png)
-The kit contains a near-ready-to-fly carbon-fiber quadcopter equipped with a _Pixhawk 4_ or _Pixhawk 6C_ (on V1.5) flight controller, a _UP Core_ companion computer (4GB memory & 64GB eMMC), and a Occipital _Structure Core_ depth camera sensor.
+The kit contains a near-ready-to-fly carbon-fibre quadcopter equipped with a _Pixhawk 4_ or _Pixhawk 6C_ (on V1.5) flight controller, a _UP Core_ companion computer (4GB memory & 64GB eMMC), and a Occipital _Structure Core_ depth camera sensor.
-::: info
-This vehicle comes with no pre-installed software.
-A USB stick is included in the kit with an example of an [obstacle avoidance](../computer_vision/obstacle_avoidance.md) feature implementation, based on the [PX4 Avoidance](https://github.com/PX4/PX4-Avoidance) project. This example is intended as a reference only and serves to demonstrate the capabilities of the platform. The software is not compatible with the latest version of PX4, nor is it actively maintained or supported.
+The guide explains the minimal additional setup required to get the vehicle ready to fly (installing an RC system and battery). It also covers the first flight, and how to get started with modifying the computer vision code.
+
+
+:::warning
+PX4 no longer supports the avoidance software described in this document:
+
+- [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) is archived
+- [Path Planning Interface](../computer_vision/path_planning_interface.md), along with obstacle avoidance in missions, and safe landing.
+
+A USB stick is included in the kit with an example of an obstacle avoidance feature implementation based on this software.
+This example is intended as a reference only and serves to demonstrate the capabilities of the platform.
:::
-The guide explains the minimal additional setup required to get the vehicle ready to fly (installing an RC system and battery). It also covers the first flight, and how to get started with modifying the computer vision code.
+::: tip
+This kit is still highly recommended for developing and testing vision solutions (that don't rely on the legacy integrations).
+:::
## Where to Buy
@@ -33,7 +43,7 @@ The guide explains the minimal additional setup required to get the vehicle read
## Warnings and Notifications
1. The kit is intended for computer vision projects that use a forward-facing camera (it does not have downward or rear-facing depth cameras).
- Consequently it can't be used (without modification) for testing [Safe Landing](../computer_vision/safe_landing.md), or other features that require a downward-facing camera.
+ Consequently it can't be used (without modification) for testing features that require a downward-facing camera.
1. Obstacle avoidance in missions can only be tested when GPS is available (missions use GPS coordinates).
Collision prevention can be tested in position mode provided there is a good position lock from either GPS or optical flow.
1. The port labeled `USB1` may jam the GPS if used with a _USB3_ peripheral (disable GPS-dependent functionality including missions).
@@ -217,7 +227,7 @@ When the vehicle setup described above is complete:
1. To test [collision prevention](../computer_vision/collision_prevention.md), enable [Position Mode](../flight_modes_mc/position.md) and fly manually towards an obstacle.
The vehicle should slow down and then stop within 6m of the obstacle (the distance can be [changed](../advanced_config/parameters.md) using the [CP_DIST](../advanced_config/parameter_reference.md#CP_DIST) parameter).
-1. To test [obstacle avoidance](../computer_vision/obstacle_avoidance.md), create a mission where the path is blocked by an obstacle.
+1. To test obstacle avoidance, create a mission where the path is blocked by an obstacle.
Then switch to [Mission Mode](../flight_modes_mc/mission.md) to run the mission, and observe the vehicle moving around the obstacle and then returning to the planned course.
## Development using the Kit
@@ -226,6 +236,10 @@ The following sections explain how to use the kit as an environment for developi
### PX4 Avoidance Overview
+:::warning
+This feature is no [longer supported by PX4](../computer_vision/path_planning_interface.md).
+:::
+
The _PX4 Avoidance_ system consists of computer vision software running on a companion computer (with attached depth camera) that provides obstacle and/or route information to the PX4 flight stack running on a _flight controller_.
Documentation about the companion computer vision/planning software can be found on github here: [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance).
@@ -365,18 +379,12 @@ For reference on developing in ROS and using the catkin workspace, see the [ROS
### Developing PX4 Firmware
-The kit is designed for creating computer vision software that runs on the companion computer, and which integrates with PX4’s flexible path planning and collision prevention interfaces.
-
-You can also modify PX4 itself, and [install it as custom firmware](../config/firmware.md#custom):
+You can modify PX4 itself, and [install it as custom firmware](../config/firmware.md#custom):
- You will need to connect _QGroundControl_ to the kit's _Pixhawk_ **via USB** in order to update firmware.
- Select the _PX4 Vision DevKit_ airframe after loading new firmware:
![Airframe Selection - PX4 Vision DevKit](../../assets/hardware/px4_vision_devkit/qgc_airframe_px4_vision_devkit_platform.jpg)
-::: info
-Modification of PX4 code is not _needed_ to meet most computer vision use cases.
-To discuss the interfaces or how to integrate other features join the [PX4 support channels](../contribute/support.md).
-:::
## PX4 Vision Carrier Board Pinouts
@@ -389,8 +397,6 @@ The carrier board pinouts and other information are in the [downloads section](h
- [Occipital Developer Forum](https://structure.io/developers) - _Structure Core_ camera information
- [Pixhawk 4 Overview](../flight_controller/pixhawk4.md)
- [Pixhawk 6C Overview](../flight_controller/pixhawk6c.md)
-- [PX4 Avoidance software/documentation](https://github.com/PX4/PX4-Avoidance)
-- [Path Planning Interface](../computer_vision/path_planning_interface.md)
## How to get Technical Support
diff --git a/en/computer_vision/collision_prevention.md b/en/computer_vision/collision_prevention.md
index 75fc4116d9ec..d700b3079470 100644
--- a/en/computer_vision/collision_prevention.md
+++ b/en/computer_vision/collision_prevention.md
@@ -46,9 +46,7 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_DELAY](../advanced_config/parameter_reference.md#CP_DELAY) | Set the sensor and velocity setpoint tracking delay. See [Delay Tuning](#delay_tuning) below. |
| [CP_GUIDE_ANG](../advanced_config/parameter_reference.md#CP_GUIDE_ANG) | Set the angle (to both sides of the commanded direction) within which the vehicle may deviate if it finds fewer obstacles in that direction. See [Guidance Tuning](#angle_change_tuning) below. |
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Set to 1 to allow the vehicle to move in directions where there is no sensor coverage (default is 0/`False`). |
-| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
+| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to `Direct velocity` or `Smoothed velocity` to enable Collision Prevention in Position Mode (default is `Acceleration based`). |
## Algorithm Description
@@ -71,8 +69,6 @@ This should be [tuned](#delay_tuning) to the specific vehicle.
If the sectors adjacent to the commanded sectors are 'better' by a significant margin, the direction of the requested input can be modified by up to the angle specified in [CP_GUIDE_ANG](#CP_GUIDE_ANG).
This helps to fine-tune user input to 'guide' the vehicle around obstacles rather than getting stuck against them.
-
-
### Range Data Loss
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_.
@@ -88,9 +84,7 @@ Be careful when enabling [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), which allows the veh
If you lose connection to one of multiple sensors, the area covered by the faulty sensor is also treated as uncovered and you will be able to move there without constraint.
:::
-
-
-### CP_DELAY Delay Tuning
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_.
Both sources of delay are tuned using the [CP_DELAY](#CP_DELAY) parameter.
@@ -106,9 +100,7 @@ The tracking delay is typically between 0.1 and 0.5 seconds, depending on vehicl
If vehicle speed oscillates as it approaches the obstacle (i.e. it slows down, speeds up, slows down) the delay is set too high.
:::
-
-
-### CP_GUIDE_ANG Guidance Tuning
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Depending on the vehicle, type of environment and pilot skill different amounts of guidance may be desired.
Setting the [CP_GUIDE_ANG](#CP_GUIDE_ANG) parameter to 0 will disable the guidance, resulting in the vehicle only moving exactly in the directions commanded.
@@ -123,9 +115,7 @@ The guidance feature will never direct the vehicle in a direction without sensor
If the vehicle feels 'stuck' with only a single distance sensor pointing forwards, this is probably because the guidance cannot safely adapt the direction due to lack of information.
:::
-
-
-## PX4 Distance Sensor
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -176,9 +166,7 @@ You can see the required modifications from the [feature PR](https://github.com/
Please contribute back your changes!
:::
-
-
-## Companion Setup
+## Companion Setup {#companion}
If using a companion computer or external sensor, it needs to supply a stream of [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) messages, which should reflect when and where obstacle were detected.
@@ -197,10 +185,21 @@ For more information on hardware and software setup see: [PX4/PX4-Avoidance > Ru
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo.
In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo Setup
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model.
+To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo.
-See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/en/computer_vision/index.md b/en/computer_vision/index.md
index f3f8064d20da..fc702d0e5740 100644
--- a/en/computer_vision/index.md
+++ b/en/computer_vision/index.md
@@ -11,14 +11,10 @@ PX4 uses computer vision systems (primarily running on [Companion Computers](../
- [Visual Inertial Odometry (VIO)](../computer_vision/visual_inertial_odometry.md) provides 3D pose and velocity estimation using an onboard vision system and IMU.
It is used for navigation when global position information is absent or unreliable.
- Avoidance/Path Planning:
- - [Obstacle Avoidance](../computer_vision/obstacle_avoidance.md) provides full navigation around obstacles when flying a planned path (currently missions are supported).
- This uses [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) running on a companion computer.
- [Collision Prevention](../computer_vision/collision_prevention.md) is used to stop vehicles before they can crash into an obstacle (primarily when flying in manual modes).
- - [Safe Landing](../computer_vision/safe_landing.md) guides vehicles to find (and land on) flat terrain that is free of stationary obstacles.
:::tip
The [PX4 Vision Autonomy Development Kit](../complete_vehicles_mc/px4_vision_kit.md) (Holybro) is a robust and inexpensive kit for developers working with computer vision on PX4.
-It comes with no pre-installed software, but does include an example implementation of obstacle avoidance to demonstrate the capabilities of the platform.
:::
## External Resources
diff --git a/en/computer_vision/obstacle_avoidance.md b/en/computer_vision/obstacle_avoidance.md
index 9cd8727528d5..798ca708671a 100644
--- a/en/computer_vision/obstacle_avoidance.md
+++ b/en/computer_vision/obstacle_avoidance.md
@@ -1,83 +1 @@
-# Obstacle Avoidance (Multicopter)
-
-_Obstacle Avoidance_ enables a vehicle to navigate around obstacles when following a preplanned path.
-
-The feature requires a companion computer that is running computer vision software.
-This software provides a route for a given desired trajectory, mapping and navigating around obstacles to achieve the best path.
-
-Obstacle avoidance is intended for automatic modes, and is currently supported for multicopter vehicles in [Missions](#mission_mode) and [Offboard mode](#offboard_mode).
-
-This topic explains how the feature is set up and enabled in both modes.
-
-## Limitations/Capabilities
-
-- The maximum speed for obstacle avoidance is currently approximately 3 m/s (due to the cost of computing the avoidance path).
-
- ::: info
- Obstacle avoidance can use the _local planner_ (emits messages at ~30Hz and can move at around 3 m/s) or _global planner_ (emits messages at ~10Hz and mission speed with obstacle avoidance is around 1-1.5 m/s).
- :::
-
-
-
-## Offboard Mode Avoidance
-
-PX4 supports obstacle avoidance in [Offboard mode](../flight_modes/offboard.md).
-
-The desired route comes from a [ROS](../ros/index.md) node running on a companion computer.
-This is passed into an obstacle avoidance module (another ROS node).
-The avoidance software sends the planned path to the flight stack as a stream of `SET_POSITION_TARGET_LOCAL_NED` messages.
-
-The only required PX4-side setup is to put PX4 into _Offboard mode_.
-
-Companion-side hardware setup and hardware/software configuration is provided in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) Github repo.
-
-
-
-## Mission Mode Avoidance
-
-PX4 supports obstacle avoidance in [Mission mode](../flight_modes_mc/mission.md), using avoidance software running on a separate companion computer.
-
-### Mission Progression
-
-Mission behaviour with obstacle avoidance enabled is _slightly different_ to the original plan.
-
-The difference when avoidance is active are:
-
-- A waypoint is "reached" when the vehicle is within the acceptance radius, regardless of its heading.
- - This differs from normal missions, in which the vehicle must reach a waypoint with a certain heading (i.e. in a "close to" straight line from the previous waypoint). This constraint cannot be fulfilled when obstacle avoidance is active because the obstacle avoidance algorithm has full control of the vehicle heading, and the vehicle always moves in the current field of view.
-- PX4 starts emitting a new current/next waypoint once the previous waypoint is reached (i.e. as soon as the vehicle enters its acceptance radius).
-- If a waypoint is _inside_ an obstacle it may be unreachable (and the mission will be stuck).
- - If the vehicle projection on the line previous-current waypoint passes the current waypoint, the acceptance radius is enlarged such that the current waypoint is set as reached
- - If the vehicle is within the x-y acceptance radius, the altitude acceptance is modified such that the mission progresses (even if it is not in the altitude acceptance radius).
-- The original mission speed (as set in _QGroundControl_/PX4) is ignored.
- The speed will be determined by the avoidance software:
- - _local planner_ mission speed is around 3 m/s.
- - _global planner_ mission speed is around 1-1.5 m/s.
-
-If PX4 stops receiving setpoint updates for more than half a second it will switch into [Hold mode](../flight_modes_mc/hold.md).
-
-### PX4 Configuration
-
-Obstacle avoidance is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
-
-::: info
-`COM_OBS_AVOID` also enables [Safe Landing](../computer_vision/safe_landing.md) and any other features that use the PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
-:::
-
-## Companion Computer Setup
-
-Companion-side hardware setup and hardware/software configuration is provided in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) Github repo.
-
-Obstacle avoidance in missions can use either the _local planner_ or _global planner_ (the local planner is recommended/better performing).
-
-
-
-## Obstacle Avoidance Interface
-
-PX4 uses the [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
-
-The interface (messages sent) between PX4 and the companion are _exactly_ the same as for any other path planning services.
-
-## Supported Hardware
-
-Tested companion computers and cameras are listed in [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance#run-on-hardware).
+
diff --git a/en/computer_vision/path_planning_interface.md b/en/computer_vision/path_planning_interface.md
index 0b10a7e13eef..df20024e9851 100644
--- a/en/computer_vision/path_planning_interface.md
+++ b/en/computer_vision/path_planning_interface.md
@@ -1,177 +1,21 @@
# Path Planning Interface
-PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including obstacle avoidance in missions, [safe landing](../computer_vision/safe_landing.md), and future services):
+
-- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
- - [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_.
- May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- - [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve.
- The curve indicates the (moving) position setpoint of the vehicle over a given time period.
-- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
-- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) and [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) send the vehicle local position and altitude, respectively.
+::: warning
+The **Path Planning Interface**, along with the features **Obstacle avoidance in Missions** and **Safe Landing** are no longer supported or maintained, and _should not_ be used in any PX4 version.
-Path planning is enabled on PX4 in automatic modes (landing, takeoff, hold, mission, return) if [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID).
-In these modes planning software is expected to supply setpoints to PX4; if the software cannot support a particular flight mode it must mirror back setpoints from the vehicle.
-
-:::tip
-The message flows from PX4 UORB topics, through MAVLink, to ROS and back again are all documented in [PX4/PX4-Avoidance > Message Flows](https://github.com/PX4/PX4-Avoidance#message-flows).
-:::
-
-All services that use this interface send and receive messages of the same type/format.
-Developers can therefore use this interface to create their own new companion-side path planning services or tweak the existing planner software.
-
-::: info
-The [PX4 Vision Autonomy Development Kit](../complete_vehicles_mc/px4_vision_kit.md) is recommended for developing path planning software.
-It comes with [PX4 avoidance](https://github.com/PX4/PX4-Avoidance) software pre-installed and can be used as the base for your own algorithms.
-:::
-
-## PX4 Configuration
-
-Path planning is activated in PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
-
-## Companion Computer Setup
-
-Companion-side hardware setup and hardware/software configuration is provided in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) Github repo.
-
-The actual setup/configuration required depends on the planner being used.
-
-:::warning
-Only one planner can run on the companion computer at a time (at the time of writing).
-This means that offboard features that use different planners cannot be enabled on the same vehicle at the same time (e.g., a vehicle can support obstacle avoidance and collision prevention, but not also safe landing - or vice versa).
+This code was abandoned due to architectural constraints of the implementation making it hard to maintain, extend, and adopt.
+Support has been withdrawn make it clear that this interface is untested.
:::
-
-
-## Trajectory Interface
-
-PX4 sends information about the _desired path_ to the companion computer (when `COM_OBS_AVOID=1`, in _auto_ modes), and receives back a stream of setpoints for the _planned path_ from the path planning software.
-
-The desired path information is sent by PX4 using [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS) messages, as described below in [PX4 Waypoint Interface](#px4_waypoint_interface).
-
-Path planner software sends back setpoints for the _planned path_ using either `TRAJECTORY_REPRESENTATION_WAYPOINTS` (see [Companion Waypoint Interface](#companion_waypoint_interface)) or [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) (see [Companion Bezier Trajectory Interface](#bezier_interface)).
-The difference is that the waypoint just specifies the next setpoint destination, while the bezier trajectory describes the exact vehicle motion (i.e. a setpoint that moves in time).
-
-:::warning
-Route planning software should not mix these interfaces while executing a task (PX4 will use the last received message of either type).
-:::
-
-
-
-### PX4 Waypoint Interface
-
-PX4 sends the desired path in [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS) messages at 5Hz.
-
-The fields set by PX4 as shown:
-
-- `time_usec`: UNIX Epoch time.
-- `valid_points`: 3
-- Point 0 - Current waypoint _type adapted_ by FlightTaskAutoMapper (see [notes below](#type_adapted)):
- - `pos_x[0]`, `pos_y[0]`, `pos_z[0]`: Type adapted x-y-z NED local position of _current_ mission waypoint.
- - `vel_x[0]`, `vel_y[0]`, `vel_z[0]`: Type adapted x-y-z NED local velocity of _current_ mission waypoint.
- - `acc_x[0]`, `acc_y[0]`, `acc_z[0]`: NaN
- - `pos_yaw[0]`: Current yaw angle
- - `vel_yaw[0]`: NaN
- - `command[0]`: The [MAVLink Command](https://mavlink.io/en/messages/common.html#mav_commands) for the current waypoint.
-- Point 1 - Current waypoint (Unmodified/not type adapted)):
- - `pos_x[1]`, `pos_y[1]`, `pos_z[1]`: x-y-z NED local position of _current_ mission waypoint
- - `vel_x[1]`, `vel_y[1]`, `vel_z[1]`: NaN
- - `acc_x[1]`, `acc_y[1]`, `acc_z[1]`: NaN
- - `pos_yaw[1]`: Yaw setpoint
- - `vel_yaw[1]`: Yaw speed setpoint
- - `command[1]`: The [MAVLink Command](https://mavlink.io/en/messages/common.html#mav_commands) for the current waypoint.
-- Point 2 - Next waypoint in local coordinates (unmodified/not type adapted):
- - `pos_x[2]`, `pos_y[2]`, `pos_z[2]`: x-y-z NED local position of _next_ mission waypoint
- - `vel_x[2]`, `vel_y[2]`, `vel_z[2]`: NaN
- - `acc_x[2]`, `acc_y[2]`, `acc_z[2]`: NaN
- - `pos_yaw[2]`: Yaw setpoint
- - `vel_yaw[2]`: Yaw speed setpoint
- - `command[2]`: The [MAVLink Command](https://mavlink.io/en/messages/common.html#mav_commands) for the next waypoint.
-- All other indices/fields are set as NaN.
-
-
-
-Notes:
-
-- Point 0 is the current waypoint/target modified based on the type of target.
- For example, it makes sense when landing to specify the target x, y coordinates and a descent velocity.
- To achieve this `FlightTaskAutoMapper` modifies land waypoints in Point 0 to set the z component of position to NAN and the z-velocity to a desired value.
-- Points 1 and 2 are not used by the safe landing planner.
-- Point 1 is used by local and global planners.
-
-
-
-#### Handling of Companion Failure
-
-PX4 safely handles the case where messages are not received from the offboard system:
-
-- If no planner is running and `COM_OBS_AVOID` is enabled at/from boot:
- - preflight checks will fail (irrespective of vehicle mode) and it won't fly until `COM_OBS_AVOID` is set to 0.
-- If no planner is running and `COM_OBS_AVOID` is enabled after boot:
- - the vehicle will run normally in manual modes.
- - if you switch to an autonomous mode (e.g. Land Mode) it will immediately fall back to [Hold mode](../flight_modes_mc/hold.md).
-- When external path planning is enabled:
- - if the `HEARTBEAT` is lost PX4 will emit a status message (which is displayed in _QGroundControl_) stating either "Avoidance system lost" or "Avoidance system timeout" (depending on the vehicle state). This is irrespective of the current flight mode.
- - if a trajectory message is not received for more than 0.5 seconds and the vehicle is in an autonomous mode (Return, Mission, Takeoff, Land), the vehicle will switch into [Hold mode](../flight_modes_mc/hold.md).
- ::: info
- A planner must always provide points in this timeframe.
- - A planner will mirror back setpoints it receives when the vehicle is in a mode/state for which it doesn't provide path planning. (i.e. the vehicle will follow its desired path, delayed by a very small amount).
- :::
- - If the execution time of the last-supplied Bezier trajectory expires during path planning (when using the [Bezier Trajectory Interface](#bezier_interface)), this is treated the same as not getting a new message within 0.5 seconds (i.e. vehicle switches to [Hold mode](../flight_modes_mc/hold.md)).
-
-
-
-## Companion Waypoint Interface
-
-The path planning software (running on the companion computer) _may_ send the planned path to PX4 as a stream of [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS) messages that have the setpoint in Point 0.
-
-The fields for the messages from the companion computer are set as shown:
-
-- `time_usec`: UNIX Epoch time.
-- `valid_points`: 1
-- Current vehicle information:
- - `pos_x[0]`, `pos_y[0]`, `pos_z[0]`: x-y-z NED vehicle local position setpoint
- - `vel_x[0]`, `vel_y[0]`, `vel_z[0]`: x-y-z NED velocity setpoint
- - `acc_x[0]`, `acc_y[0]`, `acc_z[0]`: NaN
- - `pos_yaw[0]`: Yaw angle setpoint
- - `vel_yaw[0]`: Yaw speed setpoint
- - `command[0]`: NaN.
-- All other indices/fields are set as NaN.
-
-A planner that implements this interface must:
-
-- Emit setpoints at more than 2Hz when receiving messages from PX4.
- PX4 will enter [Hold mode](../flight_modes_mc/hold.md) if no message is received for more than 0.5s.
-- Mirror back setpoints it receives when it doesn't support planning for the current vehicle state (e.g. the local planner would mirror back messages sent during safe landing because it does not support Land mode).
-
-
-
-## Companion Bezier Trajectory Interface
-
-The path planning software (running on the companion computer) _may_ send the planned path to PX4 as a stream of [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) messages.
-
-The message defines the path that the vehicle should follow in terms of a curve (defined by the control points), starting at the message `timestamp` and reaching the final point after time `delta`.
-PX4 calculates its new setpoint (the expected current position/velocity/acceleration along the curve) using the time that the message was sent, the current time, and the total time for the curve (delta).
-
-::: info
-For example, say the message was sent 0.1 seconds ago, and `delta` (curve duration) is 0.3s.
-PX4 can calculate its setpoint at the 0.1s position in the curve.
+::: tip
+PX4 is now adopting more generic and scalable approaches for integrating these kinds of features.
+For example the [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) allows complete replacement of PX4 flight modes with enhanced versions written using ROS 2.
:::
-In more detail, the `TRAJECTORY_REPRESENTATION_BEZIER` is parsed as follows:
-
-- The number of Bezier control points determines the degree of the Bezier curve.
- For example, 3 points make a quadratic Bezier curve with constant acceleration.
-- The Bezier curve must be the same degree in x, y, z, and yaw, with all Bezier control points finite
-- The `delta` array should have the value corresponding with the last Bezier control point to indicate the duration that the waypoint takes to execute the curve to that point, from beginning to end.
- Other values in the `delta` array are ignored.
-- The timestamp of the MAVLink message should be the time that the curve starts, and communication delay and clock mismatch will be compensated for on the flight controller via the timesync mechanism.
-- The control points should all be specified in local coordinates ([MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
-- Bezier curves expire after the execution time of the Bezier curve has been reached.
- Ensure that new messages are sent at a high enough rate and with a long enough execution time. If this does not happen the vehicle will switch to Hold mode.
-
-## Supported Hardware
-
-Tested companion computers and cameras are listed in [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance#run-on-hardware).
+This interface allows PX4 to stream a proposed path to a companion computer, and receive back a stream of setpoints that more safely achieves the emitted path, or a mirror of the same stream if the path planning software does not support planning for the current PX4 mode.
+This enables features such obstacle avoidance in missions and safer landing to be provided by a planner on a companion computer.
-
-
+This actual code is still present in code at time of writing (PX4 v1.15).
+Information about the API and associated features can be found in the [PX4 v1.14 docs](https://docs.px4.io/v1.14/en/computer_vision/path_planning_interface.html).
diff --git a/en/computer_vision/safe_landing.md b/en/computer_vision/safe_landing.md
index 45175197401b..798ca708671a 100644
--- a/en/computer_vision/safe_landing.md
+++ b/en/computer_vision/safe_landing.md
@@ -1,57 +1 @@
-# Safe Landing (Multicopter + Companion Computer)
-
-The _Safe Landing_ computer-vision feature ensures that multicopter vehicles only land on flat terrain.
-
-The feature can be enabled in both [Land mode](../flight_modes_mc/land.md) and [Mission mode](../flight_modes_mc/mission.md) on multicopter vehicles that have a companion computer running the appropriate vision software.
-It can also be used for VTOL vehicles in MC mode.
-
-If commanded to land, the vehicle first descends to a height where it can measure the surface (companion computer `loiter_height` parameter).
-If the landing area is not sufficiently flat, the vehicle moves outwards in a square-spiral pattern, periodically stopping to re-check the terrain for a landing spot that isn't too rough.
-
-## Limitations/Capabilities
-
-Safe landing is designed for finding flat areas in rough terrain.
-
-- Landing on a road is not prevented; if a car is detected it will be "forgotten" once it moves past.
-- Landing on water may occur if using radar or ultrasound sensors, but should not occur if using stereo cameras or LIDAR.
- - The system will only land if it is able to detect ground.
- For stereo cameras, water that is rough enough to have sufficient distinguishing features for analysis will not be flat enough to land on.
-
-## PX4 Configuration
-
-Safe landing is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
-
-::: info
-`COM_OBS_AVOID` also enables [Obstacle Avoidance in Missions](../computer_vision/obstacle_avoidance.md#mission_mode) and any other features that use the [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
-:::
-
-## Companion Computer Setup
-
-Companion-side setup and configuration is provided in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) Github repo.
-
-This covers the common setup for obstacle avoidance and collision prevention, and includes specific sections for using the _safe landing planner_ (which provides companion-side support for this feature):
-
-- [Simulation setup](https://github.com/PX4/PX4-Avoidance#safe-landing-planner)
-- [Hardware setup](https://github.com/PX4/PX4-Avoidance#safe-landing-planner-1)
-
-The configuration information includes, among other things, how to set up safe landing for different cameras, sizes of vehicles, and the height at which the decision to land or not is taken.
-
-
-
-## Safe Landing Interface
-
-PX4 uses the [Path Planning Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
-
-The interface (messages sent) between PX4 and the companion are exactly the same as for any other path planning services.
-Note however that the safe landing planner only uses information in Point 0 of the `TRAJECTORY_REPRESENTATION_WAYPOINTS` message for the desired path.
-
-## Supported Hardware
-
-Tested companion computers and cameras are listed in [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance#run-on-hardware).
-
-## Further Information
-
-- [Vision and offboard control interfaces](https://youtu.be/CxIsJWtVaTA?t=963) (PX4 Developer Summit 2019: Martina Rivizzigno, Auterion Computer Vision Engineer)
-- [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance)
- - [Simulation setup > Safe Landing Planner](https://github.com/PX4/PX4-Avoidance#safe-landing-planner)
- - [Hardware setup > Safe Landing Planner](https://github.com/PX4/PX4-Avoidance#safe-landing-planner-1)
+
diff --git a/en/concept/flight_tasks.md b/en/concept/flight_tasks.md
index 9463ee9b0949..516878a4d184 100644
--- a/en/concept/flight_tasks.md
+++ b/en/concept/flight_tasks.md
@@ -185,11 +185,15 @@ The second is an update, which covers the changes in PX4 v1.11.
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec).
The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/en/concept/px4_systems_architecture.md b/en/concept/px4_systems_architecture.md
index 463b258f01c6..a8fd0a2b44d3 100644
--- a/en/concept/px4_systems_architecture.md
+++ b/en/concept/px4_systems_architecture.md
@@ -38,11 +38,11 @@ The diagram below shows a PX4 system that includes both a flight controller and
-The flight controller runs the normal PX4 flight stack, while a companion computer provides advanced features like [object avoidance](../computer_vision/obstacle_avoidance.md) and [collision prevention](../computer_vision/collision_prevention.md).
+The flight controller runs the normal PX4 flight stack, while a companion computer provides advanced features that utilise [computer vision](../computer_vision/index.md).
The two systems are connected using a fast serial or IP link, and typically communicate using the [MAVLink protocol](https://mavlink.io/en/).
Communications with the ground stations and the cloud are usually routed via the companion computer (e.g. using the [MAVLink Router](https://github.com/mavlink-router/mavlink-router) (from Intel)).
-PX4 systems typically run a Linux OS on the companion computer (because the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) project delivers ROS-based avoidance libraries designed for Linux).
+PX4 systems typically run a Linux OS on the companion computer.
Linux is a much better platform for "general" software development than NuttX; there are many more Linux developers and a lot of useful software has already been written (e.g. for computer vision, communications, cloud integrations, hardware drivers).
Companion computers sometimes run Android for the same reason.
diff --git a/en/config/autotune.md b/en/config/_autotune.md
similarity index 59%
rename from en/config/autotune.md
rename to en/config/_autotune.md
index 283bd8f75508..4a5557931694 100644
--- a/en/config/autotune.md
+++ b/en/config/_autotune.md
@@ -1,7 +1,20 @@
-# Auto-tuning
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
+
+# Auto-tuning (Fixed-Wing)
+
+
Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
-It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
@@ -11,29 +24,24 @@ The airframe must fly well enough to handle moderate disturbances, and should be
- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
- Be ready to abort the autotuning process.
- You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+ You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Pre-tuning Test
The vehicle must be able to fly and adequately stabilize itself before running auto-tune.
This test ensures that the vehicle can fly safely in position controlled modes.
-::: info
-During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle.
-This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds).
The vehicle should stabilise itself within 2 oscillations.
1. Repeat the maneuver, tilting with larger amplitudes at each attempt.
@@ -41,38 +49,41 @@ To make sure the vehicle is stable enough for auto-tuning:
1. Repeat the same maneuvers but on the pitch axis.
As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section.
+These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**.
It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)).
For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used.
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used.
During auto tuning, the RC sticks can still be used to fly the vehicle.
-::: info
-The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
-
The test steps are:
1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md).
- Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md).
- This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
1. Enable autotune.
- :::tip
- If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
- :::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -82,72 +93,105 @@ The test steps are:
1. The drone will first start to perform quick roll motions followed by pitch and yaw motions.
The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default).
- PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters.
- Takeoff carefully and manually test that the vehicle is stable.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Troubleshooting
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
+### Drone oscillates when performing the pre-tuning test
+
+
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
-#### The auto-tuning sequence fails
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
+
+
+
+
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
+
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
-Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
-#### The drone oscillates after auto-tuning
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high.
-To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+### The drone oscillates after auto-tuning
-#### I still can't get it to work
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high.
+To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
-Attempt manual tuning using the appropriate guides:
+### I still can't get it to work
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly.
-This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: the gains are not applied.
This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
- `1`: apply the gains after disarm (default for multirotors).
The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings).
+- `2`: apply immediately (default for fixed-wings).
The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds.
If the control loop is unstable, the control gains are immediately reverted back to their previous value.
If the test passes, the pilot can then use the new tuning.
-### Enable/Disable Autotune Switch (Fixed-Wing)
+
+
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -155,11 +199,11 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
@@ -167,6 +211,8 @@ Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES
- bit `1`: pitch (default)
- bit `2`: yaw
+
+
## Developers/SDKs
Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
@@ -203,7 +249,7 @@ The flight stack will apply a small disturbance to the vehicle in each axis and
For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable.
For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)).
The default behaviour can be configured using [parameters](#optional-configuration).
### FAQ
@@ -246,8 +292,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
+
+
## See also
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/en/config/autotune_fw.md b/en/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/en/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/en/config/autotune_mc.md b/en/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/en/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/en/config/autotune_vtol.md b/en/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/en/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/en/config/flight_mode.md b/en/config/flight_mode.md
index b1aec492e522..d7e5e3dcdf4d 100644
--- a/en/config/flight_mode.md
+++ b/en/config/flight_mode.md
@@ -100,7 +100,8 @@ The video below shows how this is done with the *FrSky Taranis* transmitter.
-@[youtube](https://youtu.be/TFEjEQZqdVA)
+
+
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/en/config/index.md b/en/config/index.md
index 0c55acf6168a..c285dae5217a 100644
--- a/en/config/index.md
+++ b/en/config/index.md
@@ -55,13 +55,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Video Guide
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/en/config/safety.md b/en/config/safety.md
index 3cdd9429493a..0995ad9c22eb 100644
--- a/en/config/safety.md
+++ b/en/config/safety.md
@@ -4,9 +4,16 @@ PX4 has a number of safety features to protect and recover your vehicle if somet
- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point).
The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
- Others must be configured via [parameters](#other-safety-settings).
+ Others must be configured via [parameters](../advanced_config/parameters.md).
- [Safety switches](#emergency-switches) on the remote control can be used to immediately stop motors or return the vehicle in the event of a problem.
+## QGroundControl Safety Setup
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar.
+This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Failsafe Actions
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action.
@@ -38,34 +45,71 @@ For example if both RC and GPS are lost, and manual control loss is set to [Retu
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl Safety Setup
+### Return Mode Settings
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar.
-This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position.
+The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
+
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
+
+### Land Mode Settings
-### Low Battery Failsafe
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md).
+The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values.
+You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`).
-With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+| Setting | Parameter | Description |
+| --------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
+| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
+| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+
+### Flight Time Failsafes
+
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing.
+ You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| Setting | Parameter | Description |
-| ----------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below [Battery Failsafe Level](#BAT_CRIT_THR), OR Warn, then return, then land based on each of the level settings below. |
-| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
-| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
-| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+| Setting | Parameter | Description |
+| -------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback.
If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour).
@@ -89,7 +133,7 @@ Additional (and underlying) parameter settings are shown below.
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Failsafe Action | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### Data Link Loss Failsafe
+## Data Link Loss Failsafe
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -102,7 +146,7 @@ The settings and underlying parameters are shown below.
| Data Link Loss Timeout | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Amount of time after losing the data connection before the failsafe will trigger. |
| Failsafe Action | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence Failsafe
+## Geofence Failsafe
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter.
In its simplest form, the perimeter is set up as a cylinder centered around the home position.
@@ -135,52 +179,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| Circuit breaker for flight termination | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Enables/Disables flight termination action (disabled by default). |
-### Return Mode Settings
+## Position (GNSS) Loss Failsafe
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position.
-This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| -------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
-| Climb to altitude | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Vehicle ascend to this minimum height (if below it) for the return flight. |
-| Return behaviour | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| Loiter Altitude | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | If return with loiter is selected you can also specify the altitude at which the vehicle hold. |
-| Loiter Time | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | If return with loiter then land is selected you can also specify how long the vehicle will hold. |
-
-::: info
-The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY).
-If negative the vehicle will land immediately.
-Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
-
-### Land Mode Settings
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md).
-This section shows how to control when and if the vehicle automatically disarms after landing.
-For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Disarm After | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Select checkbox to specify that the vehicle will disarm after landing. The value must be non-zero but can be a fraction of a second. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## Other Failsafe Settings
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### Position (GPS) Loss Failsafe
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -207,9 +208,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). Set to 0 to disable. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Fixed roll/bank angle while circling. |
-### Offboard Loss Failsafe
+## Offboard Loss Failsafe
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md).
Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -219,14 +220,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Delay after loss of offboard connection before the failsafe is triggered. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_.
-For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Traffic Avoidance Failsafe
+## Traffic Avoidance Failsafe
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -236,7 +230,7 @@ The relevant parameters are shown below:
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Set the failsafe action: Disabled, Warn, Return mode, Land mode. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface.
If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -257,6 +251,17 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values.
+The relevant parameters are listed in the table below.
+
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Failure Detector
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -301,6 +306,13 @@ One example of an ATS device is the [FruityChutes Sentinel Automatic Trigger Sys
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Enable PWM input on AUX5 or MAIN5 (depending on board) for engaging failsafe from an external automatic trigger system (ATS). Default: Disabled. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | The PWM threshold from external automatic trigger system for engaging failsafe. Default: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_.
+For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Emergency Switches
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -345,9 +357,12 @@ This includes _Position mode_ and autonomous modes (e.g. _Mission_, _Land_ etc.)
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## Other Safety Settings
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems).
+Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Auto-disarming Timeouts
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -358,6 +373,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Timeout for auto-disarm after landing. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Timeout for auto disarm if vehicle is too slow to takeoff. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Further Information
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/en/config_fw/index.md b/en/config_fw/index.md
index c2bc8d55a54e..4dbc48ecb1c5 100644
--- a/en/config_fw/index.md
+++ b/en/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info
Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
diff --git a/en/config_fw/pid_tuning_guide_fixedwing.md b/en/config_fw/pid_tuning_guide_fixedwing.md
index a287a2cd2955..0eb1005a4926 100644
--- a/en/config_fw/pid_tuning_guide_fixedwing.md
+++ b/en/config_fw/pid_tuning_guide_fixedwing.md
@@ -4,7 +4,7 @@ This guide explains how to manually tune the fixed-wing PID loop.
It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
::: info
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames.
+[Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames.
Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
diff --git a/en/config_mc/index.md b/en/config_mc/index.md
index 55f196715765..9d15f9924ef7 100644
--- a/en/config_mc/index.md
+++ b/en/config_mc/index.md
@@ -118,16 +118,20 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
::: info
Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
- The other two guides are only needed if there is a problem with autotune.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/en/config_mc/mc_jerk_limited_type_trajectory.md b/en/config_mc/mc_jerk_limited_type_trajectory.md
index 88ad51e0e04e..e84c5589ac7e 100644
--- a/en/config_mc/mc_jerk_limited_type_trajectory.md
+++ b/en/config_mc/mc_jerk_limited_type_trajectory.md
@@ -4,7 +4,7 @@ The Jerk-limited trajectory type provides smooth motion in response to user stic
It generates symmetric smooth S-curves where the jerk and acceleration limits are always guaranteed.
This trajectory type is always enabled in [Mission mode](../flight_modes_mc/mission.md).
-To enable it in [Position mode](../flight_modes_mc/position.md) set the parameter: [MPC_POS_MODE=3](../advanced_config/parameter_reference.md#MPC_POS_MODE).
+To enable it in [Position mode](../flight_modes_mc/position.md) set the parameter [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) to `Smoothed velocity`.
::: info
The jerk-limited type is not used _by default_ in position mode.
diff --git a/en/config_mc/mc_trajectory_tuning.md b/en/config_mc/mc_trajectory_tuning.md
index cdfcc8172c39..0d56e9e74305 100644
--- a/en/config_mc/mc_trajectory_tuning.md
+++ b/en/config_mc/mc_trajectory_tuning.md
@@ -53,16 +53,16 @@ The following list provides an _overview_ of the different implementations of ho
- Intuitive stick feel because it's like pushing the vehicle around.
- No unexpected tilt changes upon reaching travel speed velocity.
- Vertical stick input mapped with jerk-limited trajectory.
- - Set in position mode using `MPC_POS_MODE=4`.
+ - Set in position mode using `MPC_POS_MODE=Acceleration based`.
- [Jerk-limited](../config_mc/mc_jerk_limited_type_trajectory.md)
- Used when smooth motion is required (e.g.: filming, mapping, cargo).
- Generates symmetric smooth S-curves where the jerk and acceleration limits are always guaranteed.
- May not be suitable for vehicles/use-cases that require a faster response - e.g. race quads.
- - Set in position mode using `MPC_POS_MODE=3`.
+ - Set in position mode using `MPC_POS_MODE=Smoothed velocity`.
- **Simple position control**
- Sticks map directly to velocity setpoints without smoothing.
- Useful for velocity control tuning.
- - Set in position mode using `MPC_POS_MODE=0`.
+ - Set in position mode using `MPC_POS_MODE=Direct velocity`.
## Altitude Mode Implementations
@@ -70,7 +70,7 @@ Analogously to [position mode implementations](#position-mode-implementations) t
- [Jerk-limited](../config_mc/mc_jerk_limited_type_trajectory.md)
- Smoothed vertical input.
- - Set in altitude mode with `MPC_POS_MODE` 3 or 4.
+ - Set in altitude mode with `MPC_POS_MODE` Smoothed velocity or Acceleration based.
- **Simple altitude control**
- Unsmoothed vertical input.
- - Set in altitude mode only when using `MPC_POS_MODE=0`.
+ - Set in altitude mode only when using `MPC_POS_MODE=Direct velocity`.
diff --git a/en/config_mc/pid_tuning_guide_multicopter.md b/en/config_mc/pid_tuning_guide_multicopter.md
index b6770cebaba9..70cef9457bc4 100644
--- a/en/config_mc/pid_tuning_guide_multicopter.md
+++ b/en/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
This topic provides detailed information about PX4 controllers, and how they are tuned.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast.
This is all that is required for many vehicles.
:::
diff --git a/en/config_mc/pid_tuning_guide_multicopter_basic.md b/en/config_mc/pid_tuning_guide_multicopter_basic.md
index 0eb280609f09..dbafeb230982 100644
--- a/en/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/en/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames.
Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
diff --git a/en/contribute/docs.md b/en/contribute/docs.md
index 68e4d60c63c8..7b1d1f8365c4 100644
--- a/en/contribute/docs.md
+++ b/en/contribute/docs.md
@@ -230,6 +230,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## Where Do I Add Changes?
Add new files in folders that cover similar topics.
diff --git a/en/debug/gdb_hardfault.md b/en/debug/gdb_hardfault.md
index dede7084ab1f..ae55c1e8a276 100644
--- a/en/debug/gdb_hardfault.md
+++ b/en/debug/gdb_hardfault.md
@@ -8,7 +8,7 @@ This might occur when key areas in RAM have been corrupted.
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger.
It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/en/dev_airframes/adding_a_new_frame.md b/en/dev_airframes/adding_a_new_frame.md
index a4894df427ea..a8f6176a8df0 100644
--- a/en/dev_airframes/adding_a_new_frame.md
+++ b/en/dev_airframes/adding_a_new_frame.md
@@ -316,10 +316,9 @@ If the airframe is for a **new group** you additionally need to:
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/en/dev_setup/dev_env_linux_ubuntu.md b/en/dev_setup/dev_env_linux_ubuntu.md
index 2a1f59d485b7..eecae362db40 100644
--- a/en/dev_setup/dev_env_linux_ubuntu.md
+++ b/en/dev_setup/dev_env_linux_ubuntu.md
@@ -12,6 +12,10 @@ The environment includes:
The build toolchain for other flight controllers, simulators, and working with ROS are discussed in the [Other Targets](#other-targets) section below.
:::
+::: tip
+You can manually install Gazebo on Ubuntu 20.04 or Gazebo Classic on Ubuntu 22.04 (say) by following the instructions in [Gazebo > Installation](../sim_gazebo_gz/index.md#installation-ubuntu-linux) and [Gazebo Classic > Installation](../sim_gazebo_classic/index.md#installation), respectively.
+:::
+
## Simulation and NuttX (Pixhawk) Targets
Use the [ubuntu.sh](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/setup/ubuntu.sh) script to set up a development environment that allows you to build for simulators and/or the [NuttX/Pixhawk](../dev_setup/building_px4.md#nuttx-pixhawk-based-boards) toolchain.
@@ -49,9 +53,6 @@ These notes are provided "for information only":
- This setup is supported by the PX4 Dev Team.
The instructions may also work on other Debian Linux based systems.
-- The script installs [Gazebo](../sim_gazebo_gz/index.md) "Garden" on Ubuntu 22.04, [Gazebo Classic](../sim_gazebo_classic/index.md) 11 on Ubuntu 20.04, and Gazebo Classic 9 on Ubuntu 18.04.
-- If you want to use Gazebo on Ubuntu 20.04 you can add it manually.
- See [Gazebo > Installation](../sim_gazebo_gz/index.md#installation-ubuntu-linux).
- You can verify the NuttX installation by confirming the `gcc` version as shown:
```sh
@@ -83,7 +84,7 @@ The video suggests that you build source using JMAVSim, entering the command: `m
As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/en/dev_setup/dev_env_mac.md b/en/dev_setup/dev_env_mac.md
index 3aa8ee52f73d..b3ff9a3b1fc2 100644
--- a/en/dev_setup/dev_env_mac.md
+++ b/en/dev_setup/dev_env_mac.md
@@ -13,7 +13,7 @@ To build other targets you will need to use a [different OS](../dev_setup/dev_en
## Video Guide
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/en/dev_setup/qtcreator.md b/en/dev_setup/qtcreator.md
index 14ecde648c42..dd18bc946d71 100644
--- a/en/dev_setup/qtcreator.md
+++ b/en/dev_setup/qtcreator.md
@@ -18,7 +18,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -54,6 +54,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/en/dronecan/ark_flow.md b/en/dronecan/ark_flow.md
index d76ca84eba27..eb05965e989a 100644
--- a/en/dronecan/ark_flow.md
+++ b/en/dronecan/ark_flow.md
@@ -123,7 +123,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/en/dronecan/escs.md b/en/dronecan/escs.md
index 05ecfab59547..44b4a4acc3d9 100644
--- a/en/dronecan/escs.md
+++ b/en/dronecan/escs.md
@@ -9,3 +9,4 @@ For more information, see the following articles for specific hardware/firmware:
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/en/dronecan/index.md b/en/dronecan/index.md
index 8fecf79c0bf1..f8341322f310 100644
--- a/en/dronecan/index.md
+++ b/en/dronecan/index.md
@@ -36,6 +36,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -49,19 +50,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
@@ -148,6 +154,8 @@ The DroneCAN sensor parameters/subscriptions that you can enable are (in PX4 v1.
- [UAVCAN_SUB_DPRES](../advanced_config/parameter_reference.md#UAVCAN_SUB_DPRES): Differential pressure
- [UAVCAN_SUB_FLOW](../advanced_config/parameter_reference.md#UAVCAN_SUB_FLOW): Optical flow
- [UAVCAN_SUB_GPS](../advanced_config/parameter_reference.md#UAVCAN_SUB_GPS): GPS
+- [UAVCAN_SUB_GPS_R](../advanced_config/parameter_reference.md#UAVCAN_SUB_GPS_R): Subscribes to GNSS relative message ([RelPosHeading](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#relposheading)).
+ Only used for logging in PX4 v1.15.
- [UAVCAN_SUB_HYGRO](../advanced_config/parameter_reference.md#UAVCAN_SUB_HYGRO): Hygrometer
- [UAVCAN_SUB_ICE](../advanced_config/parameter_reference.md#UAVCAN_SUB_ICE): Internal combustion engine (ICE).
- [UAVCAN_SUB_IMU](../advanced_config/parameter_reference.md#UAVCAN_SUB_IMU): IMU
diff --git a/en/dronecan/raccoonlab_nodes.md b/en/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4912abb94ca0
--- /dev/null
+++ b/en/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| --- | --------------- | ----------------------------------------- | ------------------------------------ |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | - PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | - UCANPHY Micro x2 |
+| 5 | SWD interface | + | + |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/en/dronecan/raccoonlab_power.md b/en/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/en/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/en/dronecan/sapog.md b/en/dronecan/sapog.md
index bfaa1d61e17f..5a7d9f9597f4 100644
--- a/en/dronecan/sapog.md
+++ b/en/dronecan/sapog.md
@@ -93,7 +93,7 @@ To enumerate the ESC:
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/en/flight_controller/airlink.md b/en/flight_controller/airlink.md
index a5e45f06e916..0d4fb1ec2bba 100644
--- a/en/flight_controller/airlink.md
+++ b/en/flight_controller/airlink.md
@@ -21,7 +21,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -86,7 +86,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/en/flight_controller/autopilot_pixhawk_standard.md b/en/flight_controller/autopilot_pixhawk_standard.md
index 9e869fb12caf..d4a669b71595 100644
--- a/en/flight_controller/autopilot_pixhawk_standard.md
+++ b/en/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/en/flight_controller/index.md b/en/flight_controller/index.md
index b0383db5c813..e64d21b11c02 100644
--- a/en/flight_controller/index.md
+++ b/en/flight_controller/index.md
@@ -33,6 +33,7 @@ There are other compatible flight controllers and variants, including those [doc
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Manufacturer-Supported Autopilots](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/en/flight_controller/kakuteh7.md b/en/flight_controller/kakuteh7.md
index c523d9a18f0c..cef7037f77e9 100644
--- a/en/flight_controller/kakuteh7.md
+++ b/en/flight_controller/kakuteh7.md
@@ -74,9 +74,8 @@ This is the silkscreen for the _Kakute H7_, showing the top of the board:
| M5 to M8 | Motor signal outputs (located in plug for use in 4-in-1 ESCs) | |
| Boot | Bootloader button | |
-
-## PX4 Bootloader Update
+## PX4 Bootloader Update {#bootloader}
The board comes pre-installed with [Betaflight](https://github.com/betaflight/betaflight/wiki).
Before PX4 firmware can be installed, the _PX4 bootloader_ must be flashed.
@@ -86,7 +85,7 @@ Download the [kakuteh7_bl.hex](https://github.com/PX4/PX4-user_guide/raw/main/as
To [build PX4](../dev_setup/building_px4.md) for this target:
-```
+```sh
make holybro_kakuteh7_default
```
@@ -96,10 +95,10 @@ The firmware can be installed in any of the normal ways:
- Build and upload the source
- ```
+ ```sh
make holybro_kakuteh7_default upload
```
-
+
- [Load the firmware](../config/firmware.md) using _QGroundControl_.
You can use either pre-built firmware or your own custom firmware.
@@ -120,11 +119,21 @@ In addition to the [basic configuration](../config/index.md), the following para
| UART | Device | Port |
| ------ | ---------- | --------------------- |
| USART1 | /dev/ttyS0 | TELEM1 |
+| USART2 | /dev/ttyS1 | TELEM2 |
| USART3 | /dev/ttyS2 | Debug Console |
| UART4 | /dev/ttyS3 | GPS1 |
| USART6 | /dev/ttyS4 | RC SBUS |
| UART7 | /dev/ttyS5 | ESC telemetry (DShot) |
+### Using TELEM2 (USART2)
+
+The `TELEM2` port (USART2) has no exposed solder pads as it is intended for use with Bluetooth telemetry (this does not work with PX4).
+
+You can expose the solder pads and use the port by removing the two resistors marked with an X.
+No other configuration should be required.
+
+
+
## Debug Port
### System Console
diff --git a/en/flight_controller/pixhawk.md b/en/flight_controller/pixhawk.md
index 7a58238cfa38..e005a73b70d3 100644
--- a/en/flight_controller/pixhawk.md
+++ b/en/flight_controller/pixhawk.md
@@ -86,7 +86,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/en/flight_controller/raccoonlab_fmu6x.md b/en/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..728a87de242b
--- /dev/null
+++ b/en/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/en/flight_modes_fw/acro.md b/en/flight_modes_fw/acro.md
index 3e2d4453cd76..7f0ec7745561 100644
--- a/en/flight_modes_fw/acro.md
+++ b/en/flight_modes_fw/acro.md
@@ -18,8 +18,9 @@ Throttle is passed directly to control allocation.
## Parameters
-| Parameter | Description |
-| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/en/flight_modes_fw/takeoff.md b/en/flight_modes_fw/takeoff.md
index 16ffe4b303d4..ea82c74d60fd 100644
--- a/en/flight_modes_fw/takeoff.md
+++ b/en/flight_modes_fw/takeoff.md
@@ -49,6 +49,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -120,7 +121,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/en/flight_modes_mc/follow_me.md b/en/flight_modes_mc/follow_me.md
index cc4956611dd5..7cd00250aa8f 100644
--- a/en/flight_modes_mc/follow_me.md
+++ b/en/flight_modes_mc/follow_me.md
@@ -47,9 +47,9 @@ Angle, height, and distance values set using the RC controller are discarded whe
If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
@@ -166,7 +166,9 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E)
+
+
+
This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## Known Issues
diff --git a/en/flight_modes_mc/orbit.md b/en/flight_modes_mc/orbit.md
index eb52efeecd01..2a75c4b43f98 100644
--- a/en/flight_modes_mc/orbit.md
+++ b/en/flight_modes_mc/orbit.md
@@ -54,13 +54,17 @@ The mode can be stopped by switching to any other flight mode (using RC or QGC).
## Parameters/Limits
-There are no orbit mode-specific parameters.
+The mode is affected by the following parameters:
+
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| [MC_ORBIT_RAD_MAX](../advanced_config/parameter_reference.md#MC_ORBIT_RAD_MAX) | Maximum radius of orbit. Default: 1000m. |
+| [MC_ORBIT_YAW_MOD](../advanced_config/parameter_reference.md#MC_ORBIT_YAW_MOD) | Yaw behaviour during orbit flight. Default: Front to Circle Center. |
The following limits are hard coded:
- Initial/default rotation is 1 m/s in a clockwise direction.
- The maximum acceleration is limited to 2 m/s^2, with priority on keeping the commanded circle trajectory rather than commanded ground speed (i.e. the vehicle will slow down in order to achieve the correct circle if the acceleration exceeds 2m/s^2).
-- Maximum radius is 100m.
## MAVLink Messages (Developers)
diff --git a/en/flight_modes_mc/position.md b/en/flight_modes_mc/position.md
index 19b848536b09..6f101486c4fe 100644
--- a/en/flight_modes_mc/position.md
+++ b/en/flight_modes_mc/position.md
@@ -69,7 +69,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
| [MPC_LAND_ALT2](../advanced_config/parameter_reference.md#MPC_LAND_ALT2) | Altitude for second phase of slow landing. Below this altitude descending velocity gets limited to [`MPC_LAND_SPEED`](#MPC_LAND_SPEED). Value needs to be lower than "MPC_LAND_ALT1". Default 5m. |
| `RCX_DZ` | RC dead zone for channel X. The value of X for throttle will depend on the value of [RC_MAP_THROTTLE](../advanced_config/parameter_reference.md#RC_MAP_THROTTLE). For example, if the throttle is channel 4 then [RC4_DZ](../advanced_config/parameter_reference.md#RC4_DZ) specifies the deadzone. |
| `MPC_XXXX` | Most of the MPC_xxx parameters affect flight behaviour in this mode (at least to some extent). For example, [MPC_THR_HOVER](../advanced_config/parameter_reference.md#MPC_THR_HOVER) defines the thrust at which a vehicle will hover. |
-| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Stick input to movement translation strategy. From PX4 v1.12 the default (4) is that stick position controls acceleration (in a similar way to a car accelerator pedal). Other options allow stick deflection to directly control speed over ground, with and without smoothing and acceleration limits. |
+| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Stick input to movement translation strategy. From PX4 v1.12 the default (`Acceleration based`) is that stick position controls acceleration (in a similar way to a car accelerator pedal). Other options allow stick deflection to directly control speed over ground, with and without smoothing and acceleration limits. |
| [MPC_ACC_HOR_MAX](../advanced_config/parameter_reference.md#MPC_ACC_HOR_MAX) | Maximum horizontal acceleration. |
| [MPC_VEL_MANUAL](../advanced_config/parameter_reference.md#MPC_VEL_MANUAL) | Maximum horizontal velocity. |
| [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Landing descend rate. Default 0.7 m/s. |
@@ -79,7 +79,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
Position mode is dependent on having an acceptable position estimate.
-If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe).
+If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe).
Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/en/flight_modes_rover/index.md b/en/flight_modes_rover/index.md
index 760bace06550..37e6ae4a062b 100644
--- a/en/flight_modes_rover/index.md
+++ b/en/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+::: warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+::: info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
::: info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/en/flying/pre_flight_checks.md b/en/flying/pre_flight_checks.md
index 8f150f8fae0b..d7f4f47b621b 100644
--- a/en/flying/pre_flight_checks.md
+++ b/en/flying/pre_flight_checks.md
@@ -50,32 +50,6 @@ Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier w
This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_).
These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
-#### PREFLIGHT FAIL: EKF HGT ERROR
-
-- This error is produced when the IMU and height measurement data are inconsistent.
-- Perform an accel and gyro calibration and restart the vehicle. If the error persists, check the height sensor data for problems.
-- The check is controlled by the [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) parameter.
-
-#### PREFLIGHT FAIL: EKF VEL ERROR
-
-- This error is produced when the IMU and GPS velocity measurement data are inconsistent.
-- Check the GPS velocity data for un-realistic data jumps. If GPS quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-- The check is controlled by the [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) parameter.
-
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
-
-- This error is produced when the IMU and position measurement data (either GPS or external vision) are inconsistent.
-- Check the position sensor data for un-realistic data jumps. If data quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-- The check is controlled by the [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) parameter.
-
-#### PREFLIGHT FAIL: EKF YAW ERROR
-
-- This error is produced when the yaw angle estimated using gyro data and the yaw angle from the magnetometer or external vision system are inconsistent.
-- Check the IMU data for large yaw rate offsets and check the magnetometer alignment and calibration.
-- The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-- The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-- It can fail if the yaw gyro has a large offset or if the vehicle is moved or rotated in the presence of a bad magnetic interference or magnetometer calibration.
-
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -107,9 +81,9 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
diff --git a/en/frames_autogyro/thunderfly_auto_g2.md b/en/frames_autogyro/thunderfly_auto_g2.md
index 75e026e75155..b75b865ce92c 100644
--- a/en/frames_autogyro/thunderfly_auto_g2.md
+++ b/en/frames_autogyro/thunderfly_auto_g2.md
@@ -144,7 +144,7 @@ It can be handled, for example, by nulling the engine’s output in the transmit
## Video
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Photo gallery of changes
diff --git a/en/frames_multicopter/dji_f450_cuav_5nano.md b/en/frames_multicopter/dji_f450_cuav_5nano.md
index 025e462b948c..1e817e8af8d2 100644
--- a/en/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/en/frames_multicopter/dji_f450_cuav_5nano.md
@@ -217,12 +217,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/en/frames_multicopter/dji_f450_cuav_5plus.md b/en/frames_multicopter/dji_f450_cuav_5plus.md
index ce3531317980..c8654e2c4f15 100644
--- a/en/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/en/frames_multicopter/dji_f450_cuav_5plus.md
@@ -218,11 +218,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/en/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/en/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 65a90407c2af..04360a79a863 100644
--- a/en/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/en/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -241,7 +241,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/en/frames_multicopter/holybro_s500_v2_pixhawk4.md b/en/frames_multicopter/holybro_s500_v2_pixhawk4.md
index 16b39abe2de6..ff459f2de005 100644
--- a/en/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/en/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -311,7 +311,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/en/frames_multicopter/holybro_x500V2_pixhawk5x.md b/en/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 8bf4f70ee650..f1e53b52f83b 100644
--- a/en/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/en/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -237,7 +237,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/en/frames_multicopter/holybro_x500_pixhawk4.md b/en/frames_multicopter/holybro_x500_pixhawk4.md
index deeeb8f13810..43840104b1c9 100644
--- a/en/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/en/frames_multicopter/holybro_x500_pixhawk4.md
@@ -256,7 +256,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/en/frames_multicopter/holybro_x500v2_pixhawk6c.md b/en/frames_multicopter/holybro_x500v2_pixhawk6c.md
index 70e77824e1b3..f3fadb240fbb 100644
--- a/en/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/en/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -52,8 +52,6 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
-
-
### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -210,7 +208,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/en/frames_multicopter/index.md b/en/frames_multicopter/index.md
index d4da3c835d70..bc47c3e27689 100644
--- a/en/frames_multicopter/index.md
+++ b/en/frames_multicopter/index.md
@@ -21,16 +21,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Videos
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 with Distance Sensor and RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/en/frames_multicopter/omnicopter.md b/en/frames_multicopter/omnicopter.md
index 8385b9b25b91..aab3a92da341 100644
--- a/en/frames_multicopter/omnicopter.md
+++ b/en/frames_multicopter/omnicopter.md
@@ -117,7 +117,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/en/frames_multicopter/qav_r_5_kiss_esc_racer.md b/en/frames_multicopter/qav_r_5_kiss_esc_racer.md
index ea3185d6e613..547cf2013a33 100644
--- a/en/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/en/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -9,7 +9,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg)
![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -46,7 +46,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame.
I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -274,4 +274,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame.
These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/en/frames_plane/index.md b/en/frames_plane/index.md
index 92f36832130b..fd85b8ba5d72 100644
--- a/en/frames_plane/index.md
+++ b/en/frames_plane/index.md
@@ -22,10 +22,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Videos
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/en/frames_plane/reptile_dragon_2.md b/en/frames_plane/reptile_dragon_2.md
index 7010ab35debe..133e80ee5f9e 100644
--- a/en/frames_plane/reptile_dragon_2.md
+++ b/en/frames_plane/reptile_dragon_2.md
@@ -380,7 +380,7 @@ In particular you should check:
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight).
For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config).
The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -442,7 +442,7 @@ When throwing any airplane, throw at a slightly nose up attitude with full throt
It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown.
Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md).
-This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -463,4 +463,4 @@ The RD2 flies well in this configuration and has plenty of room onboard for sens
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/en/frames_plane/turbo_timber_evolution.md b/en/frames_plane/turbo_timber_evolution.md
index 318dd0f507fa..57faa00bd1b3 100644
--- a/en/frames_plane/turbo_timber_evolution.md
+++ b/en/frames_plane/turbo_timber_evolution.md
@@ -193,7 +193,7 @@ Heatshrink was used to electrically insulate the bare board and the radio was in
Overall, this build was a success.
Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics.
-PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md).
+PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md).
The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps.
@@ -213,14 +213,17 @@ I use full flaps on landing to slow the otherwise slippery airframe.
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
-@[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+
+
### Parameter File
diff --git a/en/frames_plane/wing_wing_z84.md b/en/frames_plane/wing_wing_z84.md
index 1ba2d9e10ddf..1295468572a2 100644
--- a/en/frames_plane/wing_wing_z84.md
+++ b/en/frames_plane/wing_wing_z84.md
@@ -87,6 +87,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/en/frames_rover/ackermann_rover.md b/en/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..5eb95d3b7591
--- /dev/null
+++ b/en/frames_rover/ackermann_rover.md
@@ -0,0 +1,168 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+::: info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+ :::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+ :::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+::: info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| -------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/en/frames_rover/aion_r1.md b/en/frames_rover/aion_r1.md
index c80d5e424dee..314e30fa967d 100644
--- a/en/frames_rover/aion_r1.md
+++ b/en/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/en/frames_rover/differential_rover.md b/en/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..435b32ccfbad
--- /dev/null
+++ b/en/frames_rover/differential_rover.md
@@ -0,0 +1,112 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+ :::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+::: info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+ :::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+::: info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | - |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | - |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/en/frames_rover/index.md b/en/frames_rover/index.md
index be399675b66a..2b8c5763fcb7 100644
--- a/en/frames_rover/index.md
+++ b/en/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -7,56 +7,48 @@ Support for rover is [experimental](../airframes/index.md#experimental-vehicles)
Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-## Rover Types
-
-PX4 supports rovers with:
-
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
- This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering).
+ This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel.
This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-
-## How to Configure a Rover
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-### Ackermann Steering Configuration
+## Flashing the rover build
-Setting up a rover with Ackermann steering is straightforward:
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`.
+ For example, to build rover for px4_fmu-v6x boards, you would use the command:
- Select the **Apply and Restart** button.
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+ ::: info
+ You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-### Differential Steering Configuration
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+ :::
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## Videos
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/en/frames_rover/rover_position_control.md b/en/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..e89a0d66f021
--- /dev/null
+++ b/en/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+::: warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+::: info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+::: warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | -------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+1. Select the [Airframe](../config/airframe.md) tab.
+1. Scroll down the list to find the **Rover** icon.
+1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/en/frames_rover/traxxas_stampede.md b/en/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 083ea065b5f3..000000000000
--- a/en/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Traxxas Stampede VXL
-
-This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
-We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
-The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Parts List
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
-* [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
-* [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## Assembly
-
-The assembly consists of a wooden frame on which all the autopilot parts were attached.
-Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
-For this, two supports were 3D printed.
-The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## Output Connections
-
-PWM Output | Actuator
---- | ---
-MAIN2 | Steering servo
-MAIN4 | Throttle (ESC input)
-
-::: info
-As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Configuration
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-The main rover-specific configuration is setting the correct frame:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. Select the [Airframe](../config/airframe.md) tab.
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Usage
-
-At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
-To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution.
-Failing to do so will cause the rover to continuously spin around a waypoint.
-:::
-
-A correct mission setup looks as follows:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Video
-
-
diff --git a/en/frames_sub/bluerov2.md b/en/frames_sub/bluerov2.md
index 04c60bd44a40..e0ab0129bc6b 100644
--- a/en/frames_sub/bluerov2.md
+++ b/en/frames_sub/bluerov2.md
@@ -43,6 +43,6 @@ You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/en/frames_sub/index.md b/en/frames_sub/index.md
index 9e0e83d011ee..943746541a60 100644
--- a/en/frames_sub/index.md
+++ b/en/frames_sub/index.md
@@ -33,6 +33,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/en/frames_vtol/index.md b/en/frames_vtol/index.md
index 8526d9e7c56d..e409bd4ba114 100644
--- a/en/frames_vtol/index.md
+++ b/en/frames_vtol/index.md
@@ -121,7 +121,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -129,28 +129,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/en/frames_vtol/standardvtol.md b/en/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/en/frames_vtol/standardvtol.md
+++ b/en/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/en/frames_vtol/tailsitter.md b/en/frames_vtol/tailsitter.md
index e2df12641db6..7a393f37201a 100644
--- a/en/frames_vtol/tailsitter.md
+++ b/en/frames_vtol/tailsitter.md
@@ -69,7 +69,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -78,18 +78,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/en/frames_vtol/tiltrotor.md b/en/frames_vtol/tiltrotor.md
index 81dfc6a4ffea..a8c45f8b9b8b 100644
--- a/en/frames_vtol/tiltrotor.md
+++ b/en/frames_vtol/tiltrotor.md
@@ -12,4 +12,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
[OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index 7f94b65ba8b3..01179d3cf516 100644
--- a/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/en/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -293,7 +293,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Support
diff --git a/en/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/en/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index 35b4817917f4..4576247cc904 100644
--- a/en/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/en/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -77,8 +77,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Support
diff --git a/en/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/en/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index a5e620f98bf7..99f101146157 100644
--- a/en/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/en/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -57,13 +57,9 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
diff --git a/en/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/en/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index 6a82612efa54..999a31f068be 100644
--- a/en/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/en/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -8,7 +8,7 @@ These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](ht
A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Parts List
diff --git a/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index dd39efa6c775..83b80458a30d 100644
--- a/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -8,7 +8,7 @@ The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight
Alternatives are provided in the [Purchase](#where-to-buy) section.
:::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/en/getting_started/px4_basic_concepts.md b/en/getting_started/px4_basic_concepts.md
index 7b20044dff3a..6ea5a9449643 100644
--- a/en/getting_started/px4_basic_concepts.md
+++ b/en/getting_started/px4_basic_concepts.md
@@ -286,7 +286,8 @@ There is also a _prearmed_ state when only actuators are powered.
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left).
+Arming and disarming are triggered by default using RC stick _gestures_.
+On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second.
It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground.
@@ -298,6 +299,7 @@ By default, vehicles are:
- Arming is prevented if the vehicle is not in a "healthy" state.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- Arming is prevented if a VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything.
Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/en/getting_started/tunes.md b/en/getting_started/tunes.md
index a60fe8e29afc..0abd2eb7125d 100644
--- a/en/getting_started/tunes.md
+++ b/en/getting_started/tunes.md
@@ -181,7 +181,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Battery Warning Fast
@@ -191,7 +191,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS Warning Slow
diff --git a/en/gps_compass/index.md b/en/gps_compass/index.md
index 326ec8ff19a7..1b2bc32dec1a 100644
--- a/en/gps_compass/index.md
+++ b/en/gps_compass/index.md
@@ -15,7 +15,6 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## Supported GNSS
PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or Emlid protocols, or via UAVCAN.
@@ -23,28 +22,29 @@ PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or E
This table contains non-RTK GNSS units (most of which also have a compass).
These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-| :------------------------------------------------------------------------ | :---------: | :-----------------------: | :-------------------------: | :-------------------: | :-------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+| :--------------------------------------------------------------------- | :---------: | :-----------------------: | :-------------------------: | :-------------------: | :-------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -52,6 +52,8 @@ These have been tested by the PX4 dev team, or which are popular within the PX4
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
Notes:
diff --git a/en/gps_compass/magnetometer.md b/en/gps_compass/magnetometer.md
index 0654e856a6ab..320fa1d7c378 100644
--- a/en/gps_compass/magnetometer.md
+++ b/en/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/en/gps_compass/rtk_gps.md b/en/gps_compass/rtk_gps.md
index 8ac7d1c10fbd..790a4c1e7c81 100644
--- a/en/gps_compass/rtk_gps.md
+++ b/en/gps_compass/rtk_gps.md
@@ -42,12 +42,20 @@ Device | GPS | Compass | [DroneCAN](../dronecan/index.md) | [GPS Yaw](#configuri
[LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | |
[LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | |
[mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ |
+[RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | |
+[RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | |
[Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
[Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
[SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ |
[SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ |
[Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
+[RaccnLabL1L2ZED-F9P ext_ant]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_external_antenna_f9p_v320.html
+[RaccoonLab L1/L2 ZED-F9P]: https://docs.raccoonlab.co/guide/gps_mag_baro/gps_l1_l2_zed_f9p.html
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported.
@@ -58,7 +66,6 @@ Notes:
For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release.
Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -141,10 +148,16 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-Parameter | Setting
---- | ---
-[GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)).
-[EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
+
+[GPS_YAW_OFFSET]: ../advanced_config/parameter_reference.md#GPS_YAW_OFFSET
+[EKF2_GPS_CTRL]: ../advanced_config/parameter_reference.md#EKF2_GPS_CTRL
+[fc_orientation]: ../config/flight_controller_orientation.md#calculating-orientation
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
diff --git a/en/hardware/drone_parts.md b/en/hardware/drone_parts.md
index 6e1377acc500..405b79b08e32 100644
--- a/en/hardware/drone_parts.md
+++ b/en/hardware/drone_parts.md
@@ -14,6 +14,6 @@ This section contains information the components that might be used in a drone,
- [CAN Peripherals](../can/index.md)
- [DroneCAN Peripherals](../dronecan/index.md)
- [Cable Wiring](../assembly/cable_wiring.md)
-- [Companion Computers](../companion_computer/index.md) — Setup, peripherals, computer vision, obstacle avoidance etc.
+- [Companion Computers](../companion_computer/index.md) — Setup, peripherals, computer vision, etc.
- [Serial Port Configuration](../peripherals/serial_configuration.md)
- [PX4 Ethernet Setup](../advanced_config/ethernet_setup.md)
diff --git a/en/middleware/mavlink.md b/en/middleware/mavlink.md
index 3f56f4161366..562f288ea67a 100644
--- a/en/middleware/mavlink.md
+++ b/en/middleware/mavlink.md
@@ -142,7 +142,7 @@ Note that this is a cut-down version of the not-yet-implemented [BATTERY_STATUS_
Here we've put the message in `development.xml`, which is fine for testing and if the message is intended to eventually be part of the standard message set, but you might also put a [custom message](#custom-mavlink-messages) in its own dialect file.
:::
-Build PX4 for SITL and confirm that the associated message is generated in `/build/px4_sitl_default/mavlink/common/mavlink_msg_battery_status_demo.h`.
+Build PX4 for SITL and confirm that the associated message is generated in `/build/px4_sitl_default/mavlink/development/mavlink_msg_battery_status_demo.h`.
Because `BatteryStatus` already exists you will not need to do anything to create or build it.
@@ -220,7 +220,7 @@ protected:
mavlink_battery_status_demo_t bat_msg{};
bat_msg.id = battery_status.id - 1;
- bat_msg.battery_remaining = (battery_status.connected) ? roundf(battery_status.remaining * 100.f) : -1;
+ bat_msg.percent_remaining = (battery_status.connected) ? roundf(battery_status.remaining * 100.f) : -1;
// check if temperature valid
if (battery_status.connected && PX4_ISFINITE(battery_status.temperature)) {
diff --git a/en/modules/modules_controller.md b/en/modules/modules_controller.md
index 10056b635a14..19244c66a7a3 100644
--- a/en/modules/modules_controller.md
+++ b/en/modules/modules_controller.md
@@ -45,24 +45,6 @@ control_allocator [arguments...]
status print status info
```
-## differential_drive
-Source: [modules/differential_drive](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/differential_drive)
-
-
-### Description
-Rover Differential Drive controller.
-
-
-### Usage
-```
-differential_drive [arguments...]
- Commands:
- start
-
- stop
-
- status print status info
-```
## flight_mode_manager
Source: [modules/flight_mode_manager](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/flight_mode_manager)
@@ -257,7 +239,7 @@ Source: [modules/rover_ackermann](https://github.com/PX4/PX4-Autopilot/tree/main
### Description
-Rover state machine.
+Rover ackermann module.
### Usage
@@ -270,6 +252,24 @@ rover_ackermann [arguments...]
status print status info
```
+## rover_differential
+Source: [modules/rover_differential](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/rover_differential)
+
+
+### Description
+Rover Differential controller.
+
+
+### Usage
+```
+rover_differential [arguments...]
+ Commands:
+ start
+
+ stop
+
+ status print status info
+```
## rover_pos_control
Source: [modules/rover_pos_control](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/rover_pos_control)
diff --git a/en/modules/modules_driver.md b/en/modules/modules_driver.md
index 7c9378ca0f60..0bd119f9d41b 100644
--- a/en/modules/modules_driver.md
+++ b/en/modules/modules_driver.md
@@ -331,6 +331,29 @@ dshot [arguments...]
status print status info
```
+## dsm_rc
+Source: [drivers/rc/dsm_rc](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/rc/dsm_rc)
+
+
+### Description
+This module does Spektrum DSM RC input parsing.
+
+
+
+### Usage
+```
+dsm_rc [arguments...]
+ Commands:
+ start
+ [-d ] RC device
+ values: , default: /dev/ttyS3
+
+ bind Send a DSM bind command (module must be running)
+
+ stop
+
+ status print status info
+```
## fake_gps
Source: [examples/fake_gps](https://github.com/PX4/PX4-Autopilot/tree/main/src/examples/fake_gps)
@@ -418,6 +441,27 @@ ft_technologies_serial [arguments...]
stop Stop driver
```
+## ghst_rc
+Source: [drivers/rc/ghst_rc](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/rc/ghst_rc)
+
+
+### Description
+This module does Ghost (GHST) RC input parsing.
+
+
+
+### Usage
+```
+ghst_rc [arguments...]
+ Commands:
+ start
+ [-d ] RC device
+ values: , default: /dev/ttyS3
+
+ stop
+
+ status print status info
+```
## gimbal
Source: [modules/gimbal](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/gimbal)
@@ -1246,6 +1290,27 @@ safety_button [arguments...]
status print status info
```
+## sbus_rc
+Source: [drivers/rc/sbus_rc](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/rc/sbus_rc)
+
+
+### Description
+This module does SBUS RC input parsing.
+
+
+
+### Usage
+```
+sbus_rc [arguments...]
+ Commands:
+ start
+ [-d ] RC device
+ values: , default: /dev/ttyS3
+
+ stop
+
+ status print status info
+```
## septentrio
Source: [drivers/gnss/septentrio](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/gnss/septentrio)
diff --git a/en/modules/modules_driver_baro.md b/en/modules/modules_driver_baro.md
index 47ff1db74530..6c67c991bcb6 100644
--- a/en/modules/modules_driver_baro.md
+++ b/en/modules/modules_driver_baro.md
@@ -59,6 +59,32 @@ bmp388 [arguments...]
status print status info
```
+## bmp581
+Source: [drivers/barometer/bmp581](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/barometer/bmp581)
+
+
+### Usage
+```
+bmp581 [arguments...]
+ Commands:
+ start
+ [-I] Internal I2C bus(es)
+ [-X] External I2C bus(es)
+ [-s] Internal SPI bus(es)
+ [-S] External SPI bus(es)
+ [-b ] board-specific bus (default=all) (external SPI: n-th bus
+ (default=1))
+ [-c ] chip-select pin (for internal SPI) or index (for external SPI)
+ [-m ] SPI mode
+ [-f ] bus frequency in kHz
+ [-q] quiet startup (no message if no device found)
+ [-a ] I2C address
+ default: 70
+
+ stop
+
+ status print status info
+```
## dps310
Source: [drivers/barometer/dps310](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/barometer/dps310)
diff --git a/en/modules/modules_driver_magnetometer.md b/en/modules/modules_driver_magnetometer.md
index f183401b1c2e..e25735938219 100644
--- a/en/modules/modules_driver_magnetometer.md
+++ b/en/modules/modules_driver_magnetometer.md
@@ -71,6 +71,30 @@ bmm150 [arguments...]
status print status info
```
+## bmm350
+Source: [drivers/magnetometer/bosch/bmm350](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/bosch/bmm350)
+
+
+### Usage
+```
+bmm350 [arguments...]
+ Commands:
+ start
+ [-I] Internal I2C bus(es)
+ [-X] External I2C bus(es)
+ [-b ] board-specific bus (default=all) (external SPI: n-th bus
+ (default=1))
+ [-f ] bus frequency in kHz
+ [-q] quiet startup (no message if no device found)
+ [-a ] I2C address
+ default: 20
+ [-R ] Rotation
+ default: 0
+
+ stop
+
+ status print status info
+```
## hmc5883
Source: [drivers/magnetometer/hmc5883](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/magnetometer/hmc5883)
diff --git a/en/msg_docs/BatteryStatus.md b/en/msg_docs/BatteryStatus.md
index 199a926e18f9..60b8d76fd061 100644
--- a/en/msg_docs/BatteryStatus.md
+++ b/en/msg_docs/BatteryStatus.md
@@ -57,19 +57,11 @@ uint8 BATTERY_FAULT_INCOMPATIBLE_VOLTAGE = 6 # Vehicle voltage is not compatible
uint8 BATTERY_FAULT_INCOMPATIBLE_FIRMWARE = 7 # Battery firmware is not compatible with current autopilot firmware
uint8 BATTERY_FAULT_INCOMPATIBLE_MODEL = 8 # Battery model is not supported by the system
uint8 BATTERY_FAULT_HARDWARE_FAILURE = 9 # hardware problem
-uint8 BATTERY_WARNING_OVER_TEMPERATURE = 10 # Over-temperature
+uint8 BATTERY_FAULT_FAILED_TO_ARM = 10 # Battery had a problem while arming
uint8 BATTERY_FAULT_COUNT = 11 # Counter - keep it as last element!
uint16 faults # Smart battery supply status/fault flags (bitmask) for health indication.
-uint32 custom_faults # Bitmask indicating smart battery internal manufacturer faults, those are not user actionable.
uint8 warning # Current battery warning
-uint8 mode # Battery mode. Note, the normal operation mode
-
-uint8 BATTERY_MODE_UNKNOWN = 0 # Battery does not support a mode, or if it does, is operational
-uint8 BATTERY_MODE_AUTO_DISCHARGING = 1 # Battery is auto discharging (towards storage level)
-uint8 BATTERY_MODE_HOT_SWAP = 2 # Battery in hot-swap mode
-uint8 BATTERY_MODE_COUNT = 3 # Counter - keep it as last element (once we're fully migrated to events interface we can just comment this)!
-
uint8 MAX_INSTANCES = 4
diff --git a/en/msg_docs/Buffer128.md b/en/msg_docs/Buffer128.md
index 6e03982e6b3d..2df2cf367379 100644
--- a/en/msg_docs/Buffer128.md
+++ b/en/msg_docs/Buffer128.md
@@ -14,5 +14,4 @@ uint8[128] data # data
# TOPICS voxl2_io_data
-
```
diff --git a/en/msg_docs/DatamanRequest.md b/en/msg_docs/DatamanRequest.md
index b03e33601d7c..06d1c5d8b7d7 100644
--- a/en/msg_docs/DatamanRequest.md
+++ b/en/msg_docs/DatamanRequest.md
@@ -13,4 +13,5 @@ uint8 item # dm_item_t
uint32 index
uint8[56] data
uint32 data_length
+
```
diff --git a/en/msg_docs/DebugArray.md b/en/msg_docs/DebugArray.md
index 2b393858240c..7dc20d00e365 100644
--- a/en/msg_docs/DebugArray.md
+++ b/en/msg_docs/DebugArray.md
@@ -10,4 +10,5 @@ uint64 timestamp # time since system start (microseconds)
uint16 id # unique ID of debug array, used to discriminate between arrays
char[10] name # name of the debug array (max. 10 characters)
float32[58] data # data
+
```
diff --git a/en/msg_docs/EstimatorEventFlags.md b/en/msg_docs/EstimatorEventFlags.md
index f25845c1f4e4..c56f29a84218 100644
--- a/en/msg_docs/EstimatorEventFlags.md
+++ b/en/msg_docs/EstimatorEventFlags.md
@@ -28,19 +28,4 @@ bool reset_hgt_to_gps # 14 - true when the vertical position s
bool reset_hgt_to_rng # 15 - true when the vertical position state is reset to the rng measurement
bool reset_hgt_to_ev # 16 - true when the vertical position state is reset to the ev measurement
-# warning events
-uint32 warning_event_changes # number of warning event changes
-bool gps_quality_poor # 0 - true when the gps is failing quality checks
-bool gps_fusion_timout # 1 - true when the gps data has not been used to correct the state estimates for a significant time period
-bool gps_data_stopped # 2 - true when the gps data has stopped for a significant time period
-bool gps_data_stopped_using_alternate # 3 - true when the gps data has stopped for a significant time period but the filter is able to use other sources of data to maintain navigation
-bool height_sensor_timeout # 4 - true when the height sensor has not been used to correct the state estimates for a significant time period
-bool stopping_navigation # 5 - true when the filter has insufficient data to estimate velocity and position and is falling back to an attitude, height and height rate mode of operation
-bool invalid_accel_bias_cov_reset # 6 - true when the filter has detected bad acceerometer bias state esitmstes and has reset the corresponding covariance matrix elements
-bool bad_yaw_using_gps_course # 7 - true when the filter has detected an invalid yaw estimate and has reset the yaw angle to the GPS ground course
-bool stopping_mag_use # 8 - true when the filter has detected bad magnetometer data and is stopping further use of the magnetometer data
-bool vision_data_stopped # 9 - true when the vision system data has stopped for a significant time period
-bool emergency_yaw_reset_mag_stopped # 10 - true when the filter has detected bad magnetometer data, has reset the yaw to anothter source of data and has stopped further use of the magnetometer data
-bool emergency_yaw_reset_gps_yaw_stopped # 11 - true when the filter has detected bad GNSS yaw data, has reset the yaw to anothter source of data and has stopped further use of the GNSS yaw data
-
```
diff --git a/en/msg_docs/EstimatorGpsStatus.md b/en/msg_docs/EstimatorGpsStatus.md
index 3fa2877936d4..e25be3e558b9 100644
--- a/en/msg_docs/EstimatorGpsStatus.md
+++ b/en/msg_docs/EstimatorGpsStatus.md
@@ -20,6 +20,7 @@ bool check_fail_max_horz_drift # 6 : maximum allowed horizontal position drift
bool check_fail_max_vert_drift # 7 : maximum allowed vertical position drift fail - requires stationary vehicle
bool check_fail_max_horz_spd_err # 8 : maximum allowed horizontal speed fail - requires stationary vehicle
bool check_fail_max_vert_spd_err # 9 : maximum allowed vertical velocity discrepancy fail
+bool check_fail_spoofed_gps # 10 : GPS signal is spoofed
float32 position_drift_rate_horizontal_m_s # Horizontal position rate magnitude (m/s)
float32 position_drift_rate_vertical_m_s # Vertical position rate magnitude (m/s)
diff --git a/en/msg_docs/EstimatorStatus.md b/en/msg_docs/EstimatorStatus.md
index ac10568af673..918dab6475ad 100644
--- a/en/msg_docs/EstimatorStatus.md
+++ b/en/msg_docs/EstimatorStatus.md
@@ -22,6 +22,7 @@ uint8 GPS_CHECK_FAIL_MAX_HORZ_DRIFT = 6 # 6 : maximum allowed horizontal positi
uint8 GPS_CHECK_FAIL_MAX_VERT_DRIFT = 7 # 7 : maximum allowed vertical position drift fail - requires stationary vehicle
uint8 GPS_CHECK_FAIL_MAX_HORZ_SPD_ERR = 8 # 8 : maximum allowed horizontal speed fail - requires stationary vehicle
uint8 GPS_CHECK_FAIL_MAX_VERT_SPD_ERR = 9 # 9 : maximum allowed vertical velocity discrepancy fail
+uint8 GPS_CHECK_FAIL_SPOOFED = 10 # 10 : GPS signal is spoofed
uint64 control_mode_flags # Bitmask to indicate EKF logic state
uint8 CS_TILT_ALIGN = 0 # 0 - true if the filter tilt alignment is complete
@@ -77,7 +78,7 @@ uint32 filter_fault_flags # Bitmask to indicate EKF internal faults
float32 pos_horiz_accuracy # 1-Sigma estimated horizontal position accuracy relative to the estimators origin (m)
float32 pos_vert_accuracy # 1-Sigma estimated vertical position accuracy relative to the estimators origin (m)
-float32 mag_test_ratio # low-pass filtered ratio of the largest magnetometer innovation component to the innovation test limit
+float32 hdg_test_ratio # low-pass filtered ratio of the largest heading innovation component to the innovation test limit
float32 vel_test_ratio # low-pass filtered ratio of the largest velocity innovation component to the innovation test limit
float32 pos_test_ratio # low-pass filtered ratio of the largest horizontal position innovation component to the innovation test limit
float32 hgt_test_ratio # low-pass filtered ratio of the vertical position innovation to the innovation test limit
@@ -108,9 +109,10 @@ uint8 reset_count_quat # number of quaternion reset events (allow to wrap if c
float32 time_slip # cumulative amount of time in seconds that the EKF inertial calculation has slipped relative to system time
bool pre_flt_fail_innov_heading
+bool pre_flt_fail_innov_height
+bool pre_flt_fail_innov_pos_horiz
bool pre_flt_fail_innov_vel_horiz
bool pre_flt_fail_innov_vel_vert
-bool pre_flt_fail_innov_height
bool pre_flt_fail_mag_field_disturbed
uint32 accel_device_id
diff --git a/en/msg_docs/EstimatorStatusFlags.md b/en/msg_docs/EstimatorStatusFlags.md
index f7fd8845420c..d921f1aebb9b 100644
--- a/en/msg_docs/EstimatorStatusFlags.md
+++ b/en/msg_docs/EstimatorStatusFlags.md
@@ -33,12 +33,12 @@ bool cs_mag_fault # 18 - true when the magnetometer has been declare
bool cs_fuse_aspd # 19 - true when airspeed measurements are being fused
bool cs_gnd_effect # 20 - true when protection from ground effect induced static pressure rise is active
bool cs_rng_stuck # 21 - true when rng data wasn't ready for more than 10s and new rng values haven't changed enough
-bool cs_gps_yaw # 22 - true when yaw (not ground course) data fusion from a GPS receiver is intended
+bool cs_gnss_yaw # 22 - true when yaw (not ground course) data fusion from a GPS receiver is intended
bool cs_mag_aligned_in_flight # 23 - true when the in-flight mag field alignment has been completed
bool cs_ev_vel # 24 - true when local frame velocity data fusion from external vision measurements is intended
bool cs_synthetic_mag_z # 25 - true when we are using a synthesized measurement for the magnetometer Z component
bool cs_vehicle_at_rest # 26 - true when the vehicle is at rest
-bool cs_gps_yaw_fault # 27 - true when the GNSS heading has been declared faulty and is no longer being used
+bool cs_gnss_yaw_fault # 27 - true when the GNSS heading has been declared faulty and is no longer being used
bool cs_rng_fault # 28 - true when the range finder has been declared faulty and is no longer being used
bool cs_inertial_dead_reckoning # 29 - true if we are no longer fusing measurements that constrain horizontal velocity drift
bool cs_wind_dead_reckoning # 30 - true if we are navigationg reliant on wind relative measurements
@@ -50,6 +50,8 @@ bool cs_mag # 35 - true if 3-axis magnetometer measurement f
bool cs_ev_yaw_fault # 36 - true when the EV heading has been declared faulty and is no longer being used
bool cs_mag_heading_consistent # 37 - true when the heading obtained from mag data is declared consistent with the filter
bool cs_aux_gpos # 38 - true if auxiliary global position measurement fusion is intended
+bool cs_rng_terrain # 39 - true if we are fusing range finder data for terrain
+bool cs_opt_flow_terrain # 40 - true if we are fusing flow data for terrain
# fault status
uint32 fault_status_changes # number of filter fault status (fs) changes
diff --git a/en/msg_docs/FailsafeFlags.md b/en/msg_docs/FailsafeFlags.md
index c2e7e5f12b32..f3d77aea98bf 100644
--- a/en/msg_docs/FailsafeFlags.md
+++ b/en/msg_docs/FailsafeFlags.md
@@ -59,6 +59,7 @@ bool vtol_fixed_wing_system_failure # vehicle in fixed-wing system failure fai
bool wind_limit_exceeded # Wind limit exceeded
bool flight_time_limit_exceeded # Maximum flight time exceeded
bool local_position_accuracy_low # Local position estimate has dropped below threshold, but is currently still declared valid
+bool navigator_failure # Navigator failed to execute a mode
# Failure detector
bool fd_critical_failure # Critical failure (attitude/altitude limit exceeded, or external ATS)
@@ -66,6 +67,4 @@ bool fd_esc_arming_failure # ESC failed to arm
bool fd_imbalanced_prop # Imbalanced propeller detected
bool fd_motor_failure # Motor failure
-
-
```
diff --git a/en/msg_docs/InputRc.md b/en/msg_docs/InputRc.md
index 1010646b0467..3f8bdb3da3fb 100644
--- a/en/msg_docs/InputRc.md
+++ b/en/msg_docs/InputRc.md
@@ -45,4 +45,5 @@ uint16[18] values # measured pulse widths for each of the supported channels
int8 link_quality # link quality. Percentage 0-100%. -1 = invalid
float32 rssi_dbm # Actual rssi in units of dBm. NaN = invalid
+
```
diff --git a/en/msg_docs/MessageFormatResponse.md b/en/msg_docs/MessageFormatResponse.md
index 7255a9a679bd..3a537289a064 100644
--- a/en/msg_docs/MessageFormatResponse.md
+++ b/en/msg_docs/MessageFormatResponse.md
@@ -16,5 +16,4 @@ char[50] topic_name # E.g. /fmu/in/vehicle_command
bool success
uint32 message_hash # hash over all message fields
-
```
diff --git a/en/msg_docs/ModeCompleted.md b/en/msg_docs/ModeCompleted.md
index bd332250b74b..a943fff49fab 100644
--- a/en/msg_docs/ModeCompleted.md
+++ b/en/msg_docs/ModeCompleted.md
@@ -23,5 +23,4 @@ uint8 result # One of RESULT_*
uint8 nav_state # Source mode (values in VehicleStatus)
-
```
diff --git a/en/msg_docs/NavigatorMissionItem.md b/en/msg_docs/NavigatorMissionItem.md
index 80b8cb26caa2..3c3bc3f58cf7 100644
--- a/en/msg_docs/NavigatorMissionItem.md
+++ b/en/msg_docs/NavigatorMissionItem.md
@@ -7,8 +7,6 @@
```c
uint64 timestamp # time since system start (microseconds)
-uint32 instance_count # Instance count of this mission. Increments monotonically whenever the mission is modified
-
uint16 sequence_current # Sequence of the current mission item
uint16 nav_cmd
diff --git a/en/msg_docs/NavigatorStatus.md b/en/msg_docs/NavigatorStatus.md
new file mode 100644
index 000000000000..4eb53a56c8f9
--- /dev/null
+++ b/en/msg_docs/NavigatorStatus.md
@@ -0,0 +1,19 @@
+# NavigatorStatus (UORB message)
+
+Current status of a Navigator mode
+The possible values of nav_state are defined in the VehicleStatus msg.
+
+[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/NavigatorStatus.msg)
+
+```c
+# Current status of a Navigator mode
+# The possible values of nav_state are defined in the VehicleStatus msg.
+uint64 timestamp # time since system start (microseconds)
+
+uint8 nav_state # Source mode (values in VehicleStatus)
+uint8 failure # Navigator failure enum
+
+uint8 FAILURE_NONE = 0
+uint8 FAILURE_HAGL = 1 # Target altitude exceeds maximum height above ground
+
+```
diff --git a/en/msg_docs/ObstacleDistance.md b/en/msg_docs/ObstacleDistance.md
index 0651c1809871..622ba0a2ba32 100644
--- a/en/msg_docs/ObstacleDistance.md
+++ b/en/msg_docs/ObstacleDistance.md
@@ -26,7 +26,7 @@ float32 increment # Angular width in degrees of each array element.
uint16 min_distance # Minimum distance the sensor can measure in centimeters.
uint16 max_distance # Maximum distance the sensor can measure in centimeters.
-float32 angle_offset # Relative angle offset of the 0-index element in the distances array. Value of 0 corresponds to forward. Positive values are offsets to the right.
+float32 angle_offset # Relative angle offset of the 0-index element in the distances array. Value of 0 corresponds to forward. Positive is clockwise direction, negative is counter-clockwise.
# TOPICS obstacle_distance obstacle_distance_fused
diff --git a/en/msg_docs/OrbitStatus.md b/en/msg_docs/OrbitStatus.md
index 7333dbec5b22..2cbeeec36b83 100644
--- a/en/msg_docs/OrbitStatus.md
+++ b/en/msg_docs/OrbitStatus.md
@@ -11,6 +11,7 @@ uint8 ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1
uint8 ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2
uint8 ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3
uint8 ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4
+uint8 ORBIT_YAW_BEHAVIOUR_UNCHANGED = 5
uint64 timestamp # time since system start (microseconds)
float32 radius # Radius of the orbit circle. Positive values orbit clockwise, negative values orbit counter-clockwise. [m]
diff --git a/en/msg_docs/ParameterSetValueResponse.md b/en/msg_docs/ParameterSetValueResponse.md
index c626e882cfce..dbb44d46ea98 100644
--- a/en/msg_docs/ParameterSetValueResponse.md
+++ b/en/msg_docs/ParameterSetValueResponse.md
@@ -14,4 +14,5 @@ uint16 parameter_index
uint8 ORB_QUEUE_LENGTH = 4
# TOPICS parameter_set_value_response parameter_remote_set_value_response parameter_primary_set_value_response
+
```
diff --git a/en/msg_docs/RoverAckermannGuidanceStatus.md b/en/msg_docs/RoverAckermannGuidanceStatus.md
index 3c17f1931f61..e1cf64c1e0b4 100644
--- a/en/msg_docs/RoverAckermannGuidanceStatus.md
+++ b/en/msg_docs/RoverAckermannGuidanceStatus.md
@@ -7,12 +7,10 @@
```c
uint64 timestamp # time since system start (microseconds)
-float32 actual_speed # [m/s] Rover ground speed
-float32 desired_speed # [m/s] Rover desired ground speed
-float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller
-float32 heading_error # [deg] Heading error of the pure pursuit controller
-float32 pid_throttle_integral # [-1, 1] Integral of the PID for the normalized throttle to control the rover speed during missions
-float32 crosstrack_error # [m] Shortest distance from the vehicle to the path
+float32 desired_speed # [m/s] Rover desired ground speed
+float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller
+float32 heading_error # [deg] Heading error of the pure pursuit controller
+float32 pid_throttle_integral # [-1, 1] Integral of the PID for the normalized throttle to control the rover speed during missions
# TOPICS rover_ackermann_guidance_status
diff --git a/en/msg_docs/RoverAckermannStatus.md b/en/msg_docs/RoverAckermannStatus.md
new file mode 100644
index 000000000000..14d6b921d094
--- /dev/null
+++ b/en/msg_docs/RoverAckermannStatus.md
@@ -0,0 +1,16 @@
+# RoverAckermannStatus (UORB message)
+
+
+
+[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverAckermannStatus.msg)
+
+```c
+uint64 timestamp # time since system start (microseconds)
+
+float32 throttle_setpoint # [-1, 1] Normalized throttle setpoint
+float32 steering_setpoint # [-1, 1] Normalized steering setpoint
+float32 actual_speed # [m/s] Rover ground speed
+
+# TOPICS rover_ackermann_status
+
+```
diff --git a/en/msg_docs/RoverDifferentialGuidanceStatus.md b/en/msg_docs/RoverDifferentialGuidanceStatus.md
new file mode 100644
index 000000000000..26a0fb4add2c
--- /dev/null
+++ b/en/msg_docs/RoverDifferentialGuidanceStatus.md
@@ -0,0 +1,19 @@
+# RoverDifferentialGuidanceStatus (UORB message)
+
+
+
+[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverDifferentialGuidanceStatus.msg)
+
+```c
+uint64 timestamp # time since system start (microseconds)
+
+float32 desired_speed # [m/s] Desired forward speed for the rover
+float32 lookahead_distance # [m] Lookahead distance of pure the pursuit controller
+float32 heading_error_deg # [deg] Heading error of the pure pursuit controller
+float32 pid_heading_integral # Integral of the PID for the desired yaw rate during missions
+float32 pid_throttle_integral # Integral of the PID for the throttle during missions
+uint8 state_machine # Driving state of the rover [0: SPOT_TURNING, 1: DRIVING, 2: GOAL_REACHED]
+
+# TOPICS rover_differential_guidance_status
+
+```
diff --git a/en/msg_docs/RoverDifferentialStatus.md b/en/msg_docs/RoverDifferentialStatus.md
new file mode 100644
index 000000000000..19f350e2e4a8
--- /dev/null
+++ b/en/msg_docs/RoverDifferentialStatus.md
@@ -0,0 +1,17 @@
+# RoverDifferentialStatus (UORB message)
+
+
+
+[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RoverDifferentialStatus.msg)
+
+```c
+uint64 timestamp # time since system start (microseconds)
+
+float32 actual_speed # [m/s] Actual forward speed of the rover
+float32 desired_yaw_rate_deg_s # [deg/s] Desired yaw rate
+float32 actual_yaw_rate_deg_s # [deg/s] Actual yaw rate of the rover
+float32 pid_yaw_rate_integral # Integral of the PID for the desired yaw rate controller
+
+# TOPICS rover_differential_status
+
+```
diff --git a/en/msg_docs/VehicleAttitudeSetpoint.md b/en/msg_docs/VehicleAttitudeSetpoint.md
index 3c0e7ee2a415..322b9a8b5c9b 100644
--- a/en/msg_docs/VehicleAttitudeSetpoint.md
+++ b/en/msg_docs/VehicleAttitudeSetpoint.md
@@ -7,10 +7,6 @@
```c
uint64 timestamp # time since system start (microseconds)
-float32 roll_body # body angle in NED frame (can be NaN for FW)
-float32 pitch_body # body angle in NED frame (can be NaN for FW)
-float32 yaw_body # body angle in NED frame (can be NaN for FW)
-
float32 yaw_sp_move_rate # rad/s (commanded by user)
# For quaternion-based attitude control
diff --git a/en/msg_docs/VehicleCommand.md b/en/msg_docs/VehicleCommand.md
index 2c1e095cc15b..238393c1eb71 100644
--- a/en/msg_docs/VehicleCommand.md
+++ b/en/msg_docs/VehicleCommand.md
@@ -110,6 +110,7 @@ uint16 VEHICLE_CMD_FIXED_MAG_CAL_YAW = 42006 # Magnetometer calibrati
uint16 VEHICLE_CMD_DO_WINCH = 42600 # Command to operate winch.
uint16 VEHICLE_CMD_EXTERNAL_POSITION_ESTIMATE = 43003 # external reset of estimator global position when deadreckoning
+uint16 VEHICLE_CMD_EXTERNAL_WIND_ESTIMATE = 43004
# PX4 vehicle commands (beyond 16 bit mavlink commands)
uint32 VEHICLE_CMD_PX4_INTERNAL_START = 65537 # start of PX4 internal only vehicle commands (> UINT16_MAX)
@@ -165,6 +166,14 @@ uint8 SPEED_TYPE_GROUNDSPEED = 1
uint8 SPEED_TYPE_CLIMB_SPEED = 2
uint8 SPEED_TYPE_DESCEND_SPEED = 3
+# used as param3 in CMD_DO_ORBIT
+uint8 ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER = 0
+uint8 ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING = 1
+uint8 ORBIT_YAW_BEHAVIOUR_UNCONTROLLED = 2
+uint8 ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3
+uint8 ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4
+uint8 ORBIT_YAW_BEHAVIOUR_UNCHANGED = 5
+
# used as param1 in ARM_DISARM command
int8 ARMING_ACTION_DISARM = 0
int8 ARMING_ACTION_ARM = 1
diff --git a/en/msg_docs/VehicleGlobalPosition.md b/en/msg_docs/VehicleGlobalPosition.md
index e1dc667a27ab..6769cd855362 100644
--- a/en/msg_docs/VehicleGlobalPosition.md
+++ b/en/msg_docs/VehicleGlobalPosition.md
@@ -25,8 +25,10 @@ float32 alt # Altitude AMSL, (meters)
float32 alt_ellipsoid # Altitude above ellipsoid, (meters)
float32 delta_alt # Reset delta for altitude
+float32 delta_terrain # Reset delta for terrain
uint8 lat_lon_reset_counter # Counter for reset events on horizontal position coordinates
uint8 alt_reset_counter # Counter for reset events on altitude
+uint8 terrain_reset_counter # Counter for reset events on terrain
float32 eph # Standard deviation of horizontal position error, (metres)
float32 epv # Standard deviation of vertical position error, (metres)
diff --git a/en/msg_docs/VehicleLocalPosition.md b/en/msg_docs/VehicleLocalPosition.md
index e7a34950932b..acb09a8962d2 100644
--- a/en/msg_docs/VehicleLocalPosition.md
+++ b/en/msg_docs/VehicleLocalPosition.md
@@ -63,8 +63,13 @@ float64 ref_lon # Reference point longitude, (degrees)
float32 ref_alt # Reference altitude AMSL, (metres)
# Distance to surface
-float32 dist_bottom # Distance from from bottom surface to ground, (metres)
bool dist_bottom_valid # true if distance to bottom surface is valid
+float32 dist_bottom # Distance from from bottom surface to ground, (metres)
+float32 dist_bottom_var # terrain estimate variance (m^2)
+
+float32 delta_dist_bottom # Amount of vertical shift of dist bottom estimate in latest reset [m]
+uint8 dist_bottom_reset_counter # Index of latest dist bottom estimate reset
+
uint8 dist_bottom_sensor_bitfield # bitfield indicating what type of sensor is used to estimate dist_bottom
uint8 DIST_BOTTOM_SENSOR_NONE = 0
uint8 DIST_BOTTOM_SENSOR_RANGE = 1 # (1 << 0) a range sensor is used to estimate dist_bottom field
diff --git a/en/msg_docs/index.md b/en/msg_docs/index.md
index 93d7204514b7..bbc7041fdeb0 100644
--- a/en/msg_docs/index.md
+++ b/en/msg_docs/index.md
@@ -42,7 +42,6 @@ setting something to NaN means that no limit is provided
- [DebugKeyValue](DebugKeyValue.md)
- [DebugValue](DebugValue.md)
- [DebugVect](DebugVect.md)
-- [DifferentialDriveSetpoint](DifferentialDriveSetpoint.md)
- [DifferentialPressure](DifferentialPressure.md)
- [DistanceSensor](DistanceSensor.md) — DISTANCE_SENSOR message data
- [Ekf2Timestamps](Ekf2Timestamps.md) — this message contains the (relative) timestamps of the sensor inputs used by EKF2.
@@ -129,6 +128,8 @@ Note that this is not always published (e.g. when a user switches modes or on
failsafe activation)
- [MountOrientation](MountOrientation.md)
- [NavigatorMissionItem](NavigatorMissionItem.md)
+- [NavigatorStatus](NavigatorStatus.md) — Current status of a Navigator mode
+The possible values of nav_state are defined in the VehicleStatus msg.
- [NormalizedUnsignedSetpoint](NormalizedUnsignedSetpoint.md)
- [NpfgStatus](NpfgStatus.md)
- [ObstacleDistance](ObstacleDistance.md) — Obstacle distances in front of the sensor.
@@ -163,6 +164,9 @@ This are the three next waypoints (or just the next two or one).
- [RegisterExtComponentReply](RegisterExtComponentReply.md)
- [RegisterExtComponentRequest](RegisterExtComponentRequest.md) — Request to register an external component
- [RoverAckermannGuidanceStatus](RoverAckermannGuidanceStatus.md)
+- [RoverAckermannStatus](RoverAckermannStatus.md)
+- [RoverDifferentialGuidanceStatus](RoverDifferentialGuidanceStatus.md)
+- [RoverDifferentialStatus](RoverDifferentialStatus.md)
- [Rpm](Rpm.md)
- [RtlStatus](RtlStatus.md)
- [RtlTimeEstimate](RtlTimeEstimate.md)
diff --git a/en/peripherals/dshot.md b/en/peripherals/dshot.md
index 0dc9ad88ec9d..68859d72a3e2 100644
--- a/en/peripherals/dshot.md
+++ b/en/peripherals/dshot.md
@@ -11,9 +11,7 @@ DShot is an alternative ESC protocol that has several advantages over [PWM](../p
This topic shows how to connect and configure DShot ESCs.
-
-
-## Wiring/Connections
+## Wiring/Connections {#wiring}
DShot ESC are wired the same way as [PWM ESCs](pwm_escs_and_servo.md).
The only difference is that they can only be connected to the FMU, and usually only to some subset of pins.
@@ -47,24 +45,22 @@ The ESCs should initialize and the motors turn in the correct directions.
- If the motors do not spin in the correct direction (for the [selected airframe](../airframes/airframe_reference.md)) you can reverse them in the UI using the **Set Spin Direction** option (this option appears after you select DShot and assign motors).
You can also reverse motors by sending an [ESC Command](#commands).
-
-
-## ESC Commands
+## ESC Commands {#commands}
Commands can be sent to the ESC via the [MAVLink shell](../debug/mavlink_shell.md).
See [here](../modules/modules_driver.md#dshot) for a full reference of the supported commands.
The most important ones are:
-- Make the first motor beep (helps with identifying motors):
+- Make a motor connected to to FMU output pin 1 beep (helps with identifying motors)
- ```
+ ```sh
dshot beep1 -m 1
```
- Retrieve ESC information (requires telemetry, see below):
- ```
+ ```sh
nsh> dshot esc_info -m 2
INFO [dshot] ESC Type: #TEKKO32_4in1#
INFO [dshot] MCU Serial Number: xxxxxx-xxxxxx-xxxxxx-xxxxxx
@@ -79,26 +75,40 @@ The most important ones are:
INFO [dshot] LED 3: unsupported
```
- - Permanently reverse the spin direction of the first motor:
+- Permanently set the spin direction of a motor connected to FMU output pin 1 (while motors are _not_ spinning):
- ```
- dshot reverse -m 1
- dshot save -m 1
- ```
+ - Set spin direction to `reversed`:
- Retrieving ESC information after the `dshot reverse -m 1` command without the `dshot save -m 1` command will show:
+ ```sh
+ dshot reverse -m 1
+ dshot save -m 1
+ ```
- ```
- Rotation Direction: reversed
- ```
+ Retrieving ESC information will then show:
- after saving it with `dshot save -m 1` command, reversed direction will become new normal direction:
+ ```sh
+ Rotation Direction: reversed
+ ```
- ```
- Rotation Direction: normal
- ```
+ - Set spin direction to `normal`:
+
+ ```sh
+ dshot normal -m 1
+ dshot save -m 1
+ ```
+
+ Retrieving ESC information will then show:
+
+ ```sh
+ Rotation Direction: normal
+ ```
- To change direction again new `dshot reverse -m 1` command needs to be sent.
+ ::: info
+
+ - The commands will have no effect if the motors are spinning, or if the ESC is already set to the corresponding direction.
+ - The ESC will revert to its last saved direction (normal or reversed) on reboot if `save` is not called after changing the direction.
+
+ :::
## Telemetry
@@ -119,7 +129,7 @@ To enable this feature (on ESCs that support it):
After a reboot you can check if telemetry is working (make sure the battery is connected) using:
-```
+```sh
dshot esc_info -m 1
```
@@ -131,7 +141,7 @@ You may have to configure [MOT_POLE_COUNT](../advanced_config/parameter_referenc
Not all DSHOT-capable ESCs support `[esc_info]`(e.g. APD 80F3x), even when telemetry is supported and enabled.
The resulting error is:
-```
+```sh
ERROR [dshot] No data received. If telemetry is setup correctly, try again.
```
diff --git a/en/peripherals/serial_configuration.md b/en/peripherals/serial_configuration.md
index 2b2d2fb3e24a..9228a0ad5af0 100644
--- a/en/peripherals/serial_configuration.md
+++ b/en/peripherals/serial_configuration.md
@@ -102,6 +102,14 @@ The following ports are commonly mapped to specific functions on all boards:
The configuration uses [MAV_2_CONFIG](../advanced_config/parameter_reference.md#MAV_2_CONFIG) and appropriate settings for the UDP port etc.
For more information see [PX4 Ethernet Setup > PX4 MAVLink Serial Port Configuration](../advanced_config/ethernet_setup.md#px4-mavlink-serial-port-configuration) and [MAVLink Peripherals (OSD/GCS/Companion Computers/etc.)](../peripherals/mavlink_peripherals.md).
+- `USB-C` (the USB-C port normally used for connecting to QGroundControl)
+
+ This is configured by default as a MAVLink port the onboard profile (for companion computers).
+ The configuration for MAVLink is unique to this port (it doesn't use the `MAV_X_CONFIG` parameters).
+
+ - [SYS_USB_AUTO](../advanced_config/parameter_reference.md#SYS_USB_AUTO) sets whether the port is set to no partiular protocol, autodetects the protocol, or sets the comms link to MAVLink.
+ - [USB_MAV_MODE](../advanced_config/parameter_reference.md#USB_MAV_MODE) sets the MAVLink profile that is used if MAVLink is set or detected.
+
Other ports generally have no assigned functions by default (are disabled).
## Troubleshooting
diff --git a/en/power_module/index.md b/en/power_module/index.md
index 543bb1134c0a..1d27a59c8760 100644
--- a/en/power_module/index.md
+++ b/en/power_module/index.md
@@ -2,7 +2,7 @@
_Power Modules_ provide a regulated power supply for the flight controller (FC), along with information about battery voltage and current.
The voltage/current information is used to determine the consumed power, and to hence to estimate remaining battery capacity.
-This in turn allows the flight controller to provide failsafe warnings and other actions in the event of low power: [Safety > Low Battery Failsafe](../config/safety.md#low-battery-failsafe).
+This in turn allows the flight controller to provide failsafe warnings and other actions in the event of low power: [Safety > Low Battery Failsafe](../config/safety.md#battery-level-failsafe).
_Power Distribution Boards (PDB)_ are circuit boards that may be used to simplify splitting the output of the battery to various parts of the drone, and in particular motors.
PDBs will sometimes include a power module for the FC, ESCs for motors, and a battery elimination circuit (BEC) for powering servos.
@@ -18,15 +18,16 @@ In in practice flight controllers may have different recommendations or preferen
This section provides information about a number of power modules and power distribution boards (see FC manufacturer docs for more options):
-* Analog voltage and current power modules:
- * [CUAV HV PM](../power_module/cuav_hv_pm.md)
- * [Holybro PM02](../power_module/holybro_pm02.md)
- * [Holybro PM07](../power_module/holybro_pm07_pixhawk4_power_module.md)
- * [Holybro PM06 V2](../power_module/holybro_pm06_pixhawk4mini_power_module.md)
- * [Sky-Drones SmartAP PDB](../power_module/sky-drones_smartap-pdb.md)
-* Digital (I2C) voltage and current power modules (for Pixhawk FMUv6X and FMUv5X derived controllers):
- * [Holybro PM02D](../power_module/holybro_pm02d.md)
- * [Holybro PM03D](../power_module/holybro_pm03d.md)
-* [DroneCAN](../dronecan/index.md) power modules
- * [CUAV CAN PMU](../dronecan/cuav_can_pmu.md)
- * [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
+- Analog voltage and current power modules:
+ - [CUAV HV PM](../power_module/cuav_hv_pm.md)
+ - [Holybro PM02](../power_module/holybro_pm02.md)
+ - [Holybro PM07](../power_module/holybro_pm07_pixhawk4_power_module.md)
+ - [Holybro PM06 V2](../power_module/holybro_pm06_pixhawk4mini_power_module.md)
+ - [Sky-Drones SmartAP PDB](../power_module/sky-drones_smartap-pdb.md)
+- Digital (I2C) voltage and current power modules (for Pixhawk FMUv6X and FMUv5X derived controllers):
+ - [Holybro PM02D](../power_module/holybro_pm02d.md)
+ - [Holybro PM03D](../power_module/holybro_pm03d.md)
+- [DroneCAN](../dronecan/index.md) power modules
+ - [CUAV CAN PMU](../dronecan/cuav_can_pmu.md)
+ - [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
+ - [RaccoonLab Power Connectors and PMU](../dronecan/raccoonlab_power.md)
diff --git a/en/releases/1.15.md b/en/releases/1.15.md
index bf05b4c08ae1..6c6d805967e6 100644
--- a/en/releases/1.15.md
+++ b/en/releases/1.15.md
@@ -17,7 +17,8 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
## Major Changes
-- TBD
+- [New] Throw Mode [PX4-Autopilot#21170](https://github.com/PX4/PX4-Autopilot/pull/21170)
+- Improved Optical Flow Support [PX4-Autopilot#21769](https://github.com/PX4/PX4-Autopilot/pull/21769)
## Upgrade Guide
@@ -25,26 +26,70 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Hardware Support
-- TBD
+- [Pixhawk Standards] Pixhawk Autopilot Bus (PAB) Split Base ID and FMUM ID [PX4-Autopilot#22639](https://github.com/PX4/PX4-Autopilot/pull/22639)
+- [New Hardware] Support for FMUv6XRT - Pixhawk 6X-RT [PX4-Autopilot#22263](https://github.com/PX4/PX4-Autopilot/pull/22263)
+- [New Hardware] MicoAir H743 [PX4-Autopilot#23218](https://github.com/PX4/PX4-Autopilot/pull/23218)
+- 3DR Control Zero Classic Support Improvements [PX4-Autopilot#22971](https://github.com/PX4/PX4-Autopilot/pull/22971)
+- [New Hardware] ARK Mosaic-X5 RTK GPS [PX4-Autopilot#22735](https://github.com/PX4/PX4-Autopilot/pull/22735)
+- [New Hardware] ARK Pi6X Flow [PX4-Autopilot#22829](https://github.com/PX4/PX4-Autopilot/pull/22829)
+ New parameter: VT_QC_ALT_LOSS
+- [FMUv6X]: Increase TELEM2 RX buffer size to increase throughput. [PX4-Autopilot#21660](https://github.com/PX4/PX4-Autopilot/pull/21660)
+- Feature: Add power module selector for Auterion power modules. [PX4-Autopilot#22073](https://github.com/PX4/PX4-Autopilot/pull/22073)
+- lights: Add LP5562 RGBLED driver. [PX4-Autopilot#21649](https://github.com/PX4/PX4-Autopilot/pull/21649)
+- Enable EKF2 on KakuteH7 / KakuteH7v2 / KakuteH7mini. [PX4-Autopilot#21961](https://github.com/PX4/PX4-Autopilot/pull/21961)
+- cubepilot: Add support for 4. variant of Orange+. [PX4-Autopilot#22039](https://github.com/PX4/PX4-Autopilot/pull/22039)
### Common
- `SYS_MC_EST_GROUP` has been removed and there are now dedicated parameters [EKF2_EN](../advanced_config/parameter_reference.md#EKF2_EN), [ATT_EN](../advanced_config/parameter_reference.md#ATT_EN), and [LPE_EN](../advanced_config/parameter_reference.md#LPE_EN) for [Switching State Estimators](../advanced/switching_state_estimators.md).
Most setups should enable [EKF2_EN](../advanced_config/parameter_reference.md#EKF2_EN) (the default).
Changed in [PX4-Autopilot#22567](https://github.com/PX4/PX4-Autopilot/pull/22567).
+- [Experimental] Zenoh pico Support [PX4-Autopilot#22017](https://github.com/PX4/PX4-Autopilot/pull/22017)
+- [Bootloader] add force-erase option and bootloader version [PX4-Autopilot#22777](https://github.com/PX4/PX4-Autopilot/pull/22777)
+- [uORB] Allow for more than 255 uORB messages [PX4-Autopilot#21923](https://github.com/PX4/PX4-Autopilot/pull/21923)
+- Feature: Improve mission resume (e.g. replay gimbal and camera commands of a survey) [PX4-Autopilot#21710](https://github.com/PX4/PX4-Autopilot/pull/21710)
+- Feature: Resume mission with flight speed from previous mission items [PX4-Autopilot#21714](https://github.com/PX4/PX4-Autopilot/pull/21714)
+- Feature: Warn user when navigation failure is imminent [PX4-Autopilot#21876](https://github.com/PX4/PX4-Autopilot/pull/21876)
+- Navigator: Geofence improvements [PX4-Autopilot#22394](https://github.com/PX4/PX4-Autopilot/pull/22394)
+- Improvement: Commander: trigger warning when arming denied due to check failure. [PX4-Autopilot#22885](https://github.com/PX4/PX4-Autopilot/pull/22885)
+- Improvement: Commander: make failsafe warnings shorter [PX4-Autopilot#22886](https://github.com/PX4/PX4-Autopilot/pull/22886)
+- Support for a remote parameter database. [PX4-Autopilot#22836](https://github.com/PX4/PX4-Autopilot/pull/22836)
+- New platform independent UART interface. [PX4-Autopilot#21723](https://github.com/PX4/PX4-Autopilot/pull/21723)
+- Feature: _Obstacle Avoidance in Missions_ and _Safe Landing_, and the underlying [Path Planning Interface](../computer_vision/path_planning_interface.md), are no longer supported because they can no longer be maintained.
+
+Removals:
+
+- Features: _Obstacle Avoidance in Missions_ and _Safe Landing_, and the underlying [Path Planning Interface](../computer_vision/path_planning_interface.md), are no longer supported.
+ The [PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repository has been archived.
+ Code for the path planner interface is still present in this release, but is expected to be removed in future releases.
+
+ Note that this code was abandoned due to architectural constraints of the implementation making it hard to maintain, extend, and adopt.
+ PX4 now advocates more generic and scalable approaches for integrating these kinds of features, such as using the [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) to replace the PX4 flight modes with enhanced versions written using ROS 2.
### Control
-- [offboard][ros2 offboard control](../flight_modes/offboard.md#ros-2-messages) allows for direct motors and servo control.
+- [offboard] [ros2 offboard control](../flight_modes/offboard.md#ros-2-messages) allows for direct motors and servo control.
Added in [PX4-Autopilot#22222](https://github.com/PX4/PX4-Autopilot/pull/22222).
### Estimation
-- TBD
+- [EKF2] Migrate params to YAML [PX4-Autopilot#22982](https://github.com/PX4/PX4-Autopilot/pull/22982)
+- [EKF2] New parameter: EKF2_DELAY_MAX - Defines the delay between the current time and delayed-time horizon. [PX4-Autopilot#22983](https://github.com/PX4/PX4-Autopilot/pull/22983)
+- [EKF2] Improve heading and gyro bias convergence when no mag is used [PX4-Autopilot#21691](https://github.com/PX4/PX4-Autopilot/pull/21691)
+- [EKF2] Add vision attitude error filter [PX4-Autopilot#21791](https://github.com/PX4/PX4-Autopilot/pull/21791)
+- [EKF2] Refactor EKF2 optical flow fusion [PX4-Autopilot#22377](https://github.com/PX4/PX4-Autopilot/pull/22377)
+- [EKF2] Refactor GNSS control fusion [PX4-Autopilo#22553](https://github.com/PX4/PX4-Autopilot/pull/22553)
+- [EKF2] Use Joseph stabilized covariance update in EKF2 [PX4-Autopilo#22770](https://github.com/PX4/PX4-Autopilot/pull/22770)
### Sensors
-- TBD
+- NXP UWB SR150 Driver Fixes [PX4-Autopilot#1123](https://github.com/PX4/PX4-Autopilot/pull/21124)
+- Septentrio GPS Updates [PX4-Autopilot#23386](https://github.com/PX4/PX4-Autopilot/pull/23386)
+- Ublox add UBX-RXM-RTCM for RTCM input status [PX4-Autopilot#21595](https://github.com/PX4/PX4-Autopilot/pull/21595)
+- Add TDK IIM42653 IMU driver [PX4-Autopilo#21019](https://github.com/PX4/PX4-Autopilot/pull/21019)
+- Feature: Make airspeed sensor configuration easier and consistent with other sensors. [PX4-Autopilot#22510](https://github.com/PX4/PX4-Autopilot/pull/22510)
+ New parameter: SYS_HAS_NUM_ASPD, FW_USE_AIRSPD
+- logger: log all GPS data. [PX4-Autopilot#22421](https://github.com/PX4/PX4-Autopilot/pull/22421)
### Simulation
@@ -60,6 +105,12 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
Added to PX4 in [PX4-Autopilot#22467](https://github.com/PX4/PX4-Autopilot/pull/22467).
- [JMAVSim Simulator](../sim_jmavsim/index.md) is now [community supported](../simulation/community_supported_simulators.md).
It has been deprecated as part of the official PX4 development toolchain in order to focus our efforts on [Gazebo](../sim_gazebo_gz/index.md).
+- [Tools/simulation/gz]: load ApplyLinkWrench plugin by default [PX4-Autopilot#21874](https://github.com/PX4/PX4-Autopilot/pull/21874)
+- Allow user to specify Gazebo Garden/Harmony render engine in simulations. [PX4-Autopilot#22693](https://github.com/PX4/PX4-Autopilot/pull/22693)
+- Add support for quadtailsitter in SITL Gazebo. [PX4-Autopilot#20558](https://github.com/PX4/PX4-Autopilot/pull/20558)
+- Feature: Parameter for enabling/disabling PX4's internal battery simulator in SITL. [PX4-Autopilot#22710](https://github.com/PX4/PX4-Autopilot/pull/22710)
+ New parameter: SIM_BAT_ENABLE
+- [gz-bridge] fix GZ timeout for slow starting simulations. [PX4-Autopilot#22194](https://github.com/PX4/PX4-Autopilot/pull/22194)
### Ethernet
@@ -67,42 +118,67 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
This avoids potential conflicts where the`192.168.0.x` range is used by routers for WIFI/ethernet networks.
Changed in PX4 in [PX4-Autopilot#22517](https://github.com/PX4/PX4-Autopilot/pull/22517).
-### uXRCE-DDS / ROS2
+### MAVLink
+
+- Gimbal: fix auto RC and MAVLink mode. [PX4-Autopilot#23236](https://github.com/PX4/PX4-Autopilot/pull/23236)
+
+### uXRCE-DDS Interface
- [uXRCE-DDS](../middleware/uxrce_dds.md): [DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml) now allows the use of `subscription_multi` to specify that indicated ROS 2 topics are sent to a separate uORB topic instance reserved for ROS 2.
This allows PX4 to differentiate between updates from ROS and those from PX4 uORB publishers.
With this change ROS2 users can now decide if the messages that they are sending to PX4 will overlap with the existing uORB ones or be kept in separate instances.
Added in PX4 in [PX4-Autopilot#22266](https://github.com/PX4/PX4-Autopilot/pull/22266).
+- Move VOXL from microdds client to uxrce dds client. [PX4-Autopilot#22997](https://github.com/PX4/PX4-Autopilot/pull/22997)
+- Add parameter to disable time synchronization between Agent and Client. [PX4-Autopilot#21757](https://github.com/PX4/PX4-Autopilot/pull/21757)
+ New parameter: UXRCE_DDS_SYNCT
+ Documentation: [Middleware uXRCE-DDS](../middleware/uxrce_dds.md#starting-the-client) / [ROS 2](../ros2/user_guide.md#ros-gazebo-and-px4-time-synchronization) / [Gazebo Simulation](../sim_gazebo_gz/index.md#px4-gazebo-time-synchronization)
-### MAVLink
+### ROS 2
-- TBD
+- [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md): A new C++ library that simplifies controlling PX4 from ROS 2. [PX4-Autopilot#20707](https://github.com/PX4/PX4-Autopilot/pull/20707)
+ Supports adding flight modes in ROS 2 that are peers of the PX4 modes running on the flight controller.
+- Multicopter Go-to Interface: [PX4-Autopilot#22375](https://github.com/PX4/PX4-Autopilot/pull/22375)
+
+## Platform Changes
### Multi-Rotor
-- [Throw launch](../flight_modes_mc/throw_launch.md): Start a multicopter by throwing it into the air.
+- **[New Mode]** [Throw launch](../flight_modes_mc/throw_launch.md): Start a multicopter by throwing it into the air.
Added to PX4 in [PX4-Autopilot#21170](https://github.com/PX4/PX4-Autopilot/pull/21170).
-- [Position Slow Mode](../flight_modes_mc/position_slow.md): A slower version of _Position mode_, where the maximum horizontal velocity, vertical velocity and yaw-rate axes can be configured to lower values (using parameters, RC controller knobs/switches, or MAVLink).
+- **[New Mode]** [Position Slow Mode](../flight_modes_mc/position_slow.md): A slower version of _Position mode_, where the maximum horizontal velocity, vertical velocity and yaw-rate axes can be configured to lower values (using parameters, RC controller knobs/switches, or MAVLink).
Added to PX4 in [PX4-Autopilot#22102](https://github.com/PX4/PX4-Autopilot/pull/22102).
+- **[Helicopter]** add tail servo support [PX4-Autopilot#21274](https://github.com/PX4/PX4-Autopilot/pull/21274)
+- **[Helicopter]** Add back support for coaxial helicopters with the new actuator allocation. [Documentation](../frames_helicopter/index.md), [PX4-Autopilot#22083](https://github.com/PX4/PX4-Autopilot/pull/22083)
+- **[Improvement]** multicopter position control parameter descriptions [PX4-Autopilo#21729](https://github.com/PX4/PX4-Autopilot/pull/21729)
+- **[Improvement]** Default motor PWM limits minimum 1100 maximum 1900. Default changed from 900us to 1000us! [Documentation](../advanced_config/esc_calibration.md), [PX4-Autopilot#21513](https://github.com/PX4/PX4-Autopilot/pull/21513)
### VTOL
-- TBD
+- VTOL back-transition: expose tilting time as parameter and reduce overall duration. [PX4-Autopilot#21760](https://github.com/PX4/PX4-Autopilot/pull/21760)
+ New parameter: VT_BT_TILT_DUR
+- Feature: VTOL Tailsitter: add automatic pitch ramps also in Stabilized mode [PX4-Autopilot#22584](https://github.com/PX4/PX4-Autopilot/pull/22584)
+- Improvement: VTOL forward thrust assist: treat Descend as Land mode. [PX4-Autopilot#22843](https://github.com/PX4/PX4-Autopilot/pull/22843)
+- Refactor uncommanded descend Quad-Chute. [PX4-Autopilot#21598](https://github.com/PX4/PX4-Autopilot/pull/21598)
-### Fixed-wing
+### Fixed-Wing
- [Simplified airspeed sensor configuration](../config_vtol/vtol_without_airspeed_sensor.md):
- Replacef parameter `CBRK_AIRSPD_CHK` with [SYS_HAS_NUM_ASPD](../advanced_config/parameter_reference.md#SYS_HAS_NUM_ASPD) and renamed parameter `FW_ARSP_MODE` to [FW_USE_AIRSPD](../advanced_config/parameter_reference.md#FW_USE_AIRSPD).
+ Replace parameter `CBRK_AIRSPD_CHK` with [SYS_HAS_NUM_ASPD](../advanced_config/parameter_reference.md#SYS_HAS_NUM_ASPD) and renamed parameter `FW_ARSP_MODE` to [FW_USE_AIRSPD](../advanced_config/parameter_reference.md#FW_USE_AIRSPD).
To be able to arm without an airspeed sensor set `SYS_HAS_NUM_ASPD` to 0.
To not use the airspeed sensor data in the controller, set `FW_USE_AIRSPD` to 0.
Added to PX4 in [PX4-Autopilot#22510](https://github.com/PX4/PX4-Autopilot/pull/22510).
+- Improvement: Fixed-wing high (dynamic) wind hardening [PX4-Autopilot#21764](https://github.com/PX4/PX4-Autopilot/pull/21764)
+- Attitude controller cleanup [PX4-Autopilot#22472](https://github.com/PX4/PX4-Autopilot/pull/22472)
+- Feature: FW TECS: rename FW_T_THR_DAMP to FW_T_THR_DAMPING and FW_T_I_GAIN_THR to FW_T_THR_INTEG as the interpretation of these parameters has changed. [PX4-Autopilot#22548](https://github.com/PX4/PX4-Autopilot/pull/22548)
+- Feature: Enable high rate logging for VTOL [PX4-Autopilot#22700)](https://github.com/PX4/PX4-Autopilot/pull/22700)
+- Feature: Add functionality to disable rate control of certain axes in fixed-wing Acro. [PX4-Autopilot#21566](https://github.com/PX4/PX4-Autopilot/pull/21566)
+ New parameter: FW_ACRO_AXS_CTRL
+- Add Fixed-wing path following as a separate controller state. [PX4-Autopilot#21376](https://github.com/PX4/PX4-Autopilot/pull/21376)
+- Added PerformanceModel for fixed wing. [PX4-Autopilot#22091](https://github.com/PX4/PX4-Autopilot/pull/22091)
+ New parameter: FW_S_CEILING
+-
### Rover
- [Aion R1](../frames_rover/aion_r1.md): ESC Driver for Roboclaw motor controller. This comes with build instructions and support for the Aion R1, a new differential drive rover, along with information about integrating the Roboclaw motor controller.
-
-### ROS 2
-
-- [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md): A new C++ library that simplifies controlling PX4 from ROS 2.
- Supports adding flight modes in ROS 2 that are peers of the PX4 modes running on the flight controller.
- Added to PX4 in [PX4-Autopilot#20707](https://github.com/PX4/PX4-Autopilot/pull/20707) (initial support). Goto Setpoint: https://github.com/PX4/PX4-Autopilot/pull/22375
+- Add dedicated Rover build variants to px4/fmu-{v5,v5x,v6c,v6x}. [PX4-Autopilot#22675](https://github.com/PX4/PX4-Autopilot/pull/22675)
diff --git a/en/releases/main.md b/en/releases/main.md
index 73e45b185ab5..098decd56447 100644
--- a/en/releases/main.md
+++ b/en/releases/main.md
@@ -11,7 +11,7 @@ Update these notes with features that are going to be in `main` but not the PX4
## Read Before Upgrading
-TBD ...
+TBD …
Please continue reading for [upgrade instructions](#upgrade-guide).
@@ -30,7 +30,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Common
- [Battery level estimation improvements](../config/battery.md) ([PX4-Autopilot#23205](https://github.com/PX4/PX4-Autopilot/pull/23205)).
- - [Voltage-based estimation with load compensation](../config/battery.md#voltage-based-estimation-with-load-compensation) now uses a real-time estimate of the internal resistance of the battery to compensative for voltage drops under load (with increased current), providing a better capacity estimate than the open-circuit voltage.
+ - [Voltage-based estimation with load compensation](../config/battery.md#voltage-based-estimation-with-load-compensation) now uses a real-time estimate of the internal resistance of the battery to compensate voltage drops under load (with increased current), providing a better capacity estimate than with the raw measured voltage.
- Thrust-based load compensation has been removed (along with the `BATn_V_LOAD_DROP` parameters, where `n` is the battery number).
### Control
@@ -47,8 +47,13 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Simulation
-- The SIH on SITL [custom takeoff location](../sim_sih/index.md#set-custom-takeoff-location) in now set using the normal unscaled GPS position values, where previously the value needed to be multiplied by 1E7.
+- [SIH]: The SIH on SITL [custom takeoff location](../sim_sih/index.md#set-custom-takeoff-location) in now set using the normal unscaled GPS position values, where previously the value needed to be multiplied by 1E7.
([PX4-Autopilot#23363](https://github.com/PX4/PX4-Autopilot/pull/23363)).
+- [Gazebo]:
+ - New vehicle model `x500_lidar` — [x500 Quadrotor with 2D Lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar).
+ ([PX4-Autopilot#22418](https://github.com/PX4/PX4-Autopilot/pull/22418), [PX4-gazebo-models#41](https://github.com/PX4/PX4-gazebo-models/pull/41)).
+ - New vehicle model `r1_rover` — [Aion Robotics R1 Rover](../sim_gazebo_gz/vehicles.md#differential-rover) ([PX4-Autopilot#22402](https://github.com/PX4/PX4-Autopilot/pull/22402) and [PX4-gazebo-models#21](https://github.com/PX4/PX4-gazebo-models/pull/21)).
+ - New vehicle model `rover_ackermann` — [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) ([PX4-Autopilot#23383](https://github.com/PX4/PX4-Autopilot/pull/23383) and [PX4-gazebo-models#46](https://github.com/PX4/PX4-gazebo-models/pull/46)).
### Ethernet
@@ -64,7 +69,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Multi-Rotor
-- TBD
+- Allow system-default [multicopter orbit mode](../flight_modes_mc/orbit.md) yaw behaviour to be configured, using the parameter [MC_ORBIT_YAW_MOD](../advanced_config/parameter_reference.md#MC_ORBIT_YAW_MOD) ([PX4-Autopilot#23358](https://github.com/PX4/PX4-Autopilot/pull/23358))
### VTOL
@@ -72,6 +77,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Fixed-wing
+- Improvement: Fixed-wing auto takeoff: enable setting takeoff flaps for hand/catapult launch. [PX4-Autopilot#23460](https://github.com/PX4/PX4-Autopilot/pull/23460)
- [Simplified airspeed sensor configuration](../config_vtol/vtol_without_airspeed_sensor.md):
Replacef parameter `CBRK_AIRSPD_CHK` with [SYS_HAS_NUM_ASPD](../advanced_config/parameter_reference.md#SYS_HAS_NUM_ASPD) and renamed parameter `FW_ARSP_MODE` to [FW_USE_AIRSPD](../advanced_config/parameter_reference.md#FW_USE_AIRSPD).
To be able to arm without an airspeed sensor set `SYS_HAS_NUM_ASPD` to 0.
@@ -83,8 +89,24 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
### Rover
-- TBD
+This release contains a major rework for the rover support in PX4:
+
+- Complete restructure of the [rover related documentation](../frames_rover/index.md).
+- New firmware build specifically for [rovers](../frames_rover/index.md#flashing-the-rover-build) ([PX4-Autopilot#22675](https://github.com/PX4/PX4-Autopilot/pull/22675)).
+- New module dedicated to [differential-steering rovers](../frames_rover/differential_rover.md) ([PX4-Autopilot#22402](https://github.com/PX4/PX4-Autopilot/pull/22402) and [PX4-Autopilot#23430](https://github.com/PX4/PX4-Autopilot/pull/23430))
+ - The module currently supports [manual mode](../flight_modes_rover/index.md#manual-mode), [acro mode](../flight_modes_rover/index.md#acro-mode), [mission mode](../flight_modes_rover/index.md#mission-mode), [return mode](../flight_modes_rover/index.md#return-mode) and implements a [guidance state machine](../frames_rover/differential_rover.md#state-machine) to fully leverage the power of differential-steering.
+- New module dedicated to [Ackermann rovers](../frames_rover/ackermann_rover.md)
+ ([PX4-Autopilot#23024](https://github.com/PX4/PX4-Autopilot/pull/23024), [PX4-Autopilot#23310](https://github.com/PX4/PX4-Autopilot/pull/23383) and [PX4-Autopilot#23423](https://github.com/PX4/PX4-Autopilot/pull/23423)).
+ - The module currently supports [manual mode](../flight_modes_rover/index.md#manual-mode), [mission mode](../flight_modes_rover/index.md#mission-mode), [return mode](../flight_modes_rover/index.md#return-mode) and adds a number of [Ackermann specific features](../frames_rover/ackermann_rover.md#tuning-advanced).
+- Restructure of the [rover airframe](../airframes/airframe_reference.md#rover) numbering convention ([PX4-Autopilot#23506](https://github.com/PX4/PX4-Autopilot/pull/23506)).
+ This also introduces several [new rover airframes](../airframes/airframe_reference.md#rover):
+ - Generic Differential Rover `50000`.
+ - Generic Ackermann Rover `51000`.
+ - Axial SCX10 2 Trail Honcho `51001`.
+- Library for the [pure pursuit guidance algorithm](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) that is shared among the rover modules ([PX4-Autopilot#23387](https://github.com/PX4/PX4-Autopilot/pull/23387) and [PX4-Autopilot#23438](https://github.com/PX4/PX4-Autopilot/pull/23438)).
+- [Simulation](../frames_rover/index.md#simulation) for differential-steering and Ackermann rovers in gazebo (for release notes see `r1_rover` and `rover_ackermann` in [simulation](#simulation)).
+- Deprecation of the [rover position control](../frames_rover/rover_position_control.md) module: Note that the legacy rover module still exists but has been superseded by the new dedicated modules.
### ROS 2
-- TBD
\ No newline at end of file
+- TBD
diff --git a/en/ros/index.md b/en/ros/index.md
index b3380cd97c6d..b0caa60b9c75 100644
--- a/en/ros/index.md
+++ b/en/ros/index.md
@@ -3,7 +3,7 @@
[ROS](http://www.ros.org/) is a general purpose robotics library that can be used with PX4 for drone application development.
ROS benefits from an active ecosystem of developers solving common robotics problems, and access to other software libraries written for Linux.
-It has been used, for example, as part of the PX4 [computer vision](../computer_vision/index.md) solutions, including [obstacle avoidance](../computer_vision/obstacle_avoidance.md) and [collision prevention](../computer_vision/collision_prevention.md).
+It has been used, for example, as part of the PX4 [computer vision](../computer_vision/index.md) solutions.
:::warning tip
[ROS 2](../ros2/index.md) is the "latest and greatest" version of ROS.
diff --git a/en/ros2/index.md b/en/ros2/index.md
index 2ccd6c718888..488fe5e35700 100644
--- a/en/ros2/index.md
+++ b/en/ros2/index.md
@@ -1,6 +1,6 @@
# ROS 2
-[ROS 2](https://index.ros.org/doc/ros2/) is the newest version of [ROS](http://www.ros.org/) (Robot Operating System), a general purpose robotics library that can be used with the PX4 Autopilot to create powerful drone applications.
+[ROS 2](https://docs.ros.org/en/humble/#) is the newest version of [ROS](http://www.ros.org/) (Robot Operating System), a general purpose robotics library that can be used with the PX4 Autopilot to create powerful drone applications.
It captures most of the learnings and features of [ROS 1](../ros/ros1.md), improving a number of flaws of the earlier version.
:::warning Tip
diff --git a/en/ros2/offboard_control.md b/en/ros2/offboard_control.md
index c2b7f142619b..8c643f6c4985 100644
--- a/en/ros2/offboard_control.md
+++ b/en/ros2/offboard_control.md
@@ -203,10 +203,3 @@ void OffboardControl::publish_vehicle_command(uint16_t command, float param1, fl
[VehicleCommand](../msg_docs/VehicleCommand.md) is one of the simplest and most powerful ways to command PX4, and by subscribing to [VehicleCommandAck](../msg_docs/VehicleCommandAck.md) you can also confirm that setting a particular command was successful.
The param and command fields map to [MAVLink commands](https://mavlink.io/en/messages/common.html#mav_commands) and their parameter values.
:::
-
-
diff --git a/en/ros2/user_guide.md b/en/ros2/user_guide.md
index c17c0bdb9351..45db05e1329b 100644
--- a/en/ros2/user_guide.md
+++ b/en/ros2/user_guide.md
@@ -7,10 +7,12 @@ This topic provides an overview of the architecture and application pipeline, an
::: info
From PX4 v1.14, ROS 2 uses [uXRCE-DDS](../middleware/uxrce_dds.md) middleware, replacing the _FastRTPS_ middleware that was used in version 1.13 (v1.13 does not support uXRCE-DDS).
-The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
+The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Overview
@@ -43,7 +45,6 @@ In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](htt
This repo is no longer needed, but does contain useful examples.
:::
-
## Installation & Setup
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
@@ -52,7 +53,7 @@ ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution.
ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
::: info
-PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -64,7 +65,6 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
@@ -117,18 +117,17 @@ To install ROS 2 and its dependencies:
```
The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
-
+
::: tab foxy
To install ROS 2 "Foxy" on Ubuntu 20.04:
-
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
+
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
+
::::
1. Some Python dependencies must also be installed (using **`pip`** or **`apt`**):
@@ -137,8 +136,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -164,7 +161,7 @@ To setup and start the agent:
sudo ldconfig /usr/local/lib/
```
-1. Start the agent with settings for connecting to the uXRCE-DDS client running on the simulator:
+1. Start the agent with settings for connecting to the uXRCE-DDS client running on the simulator:
```sh
MicroXRCEAgent udp4 -p 8888
@@ -188,20 +185,24 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
- :::
+
+ :::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
- :::
+
+ :::
::::
@@ -209,8 +210,8 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs.
As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-
-```
+
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -221,7 +222,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -241,7 +242,6 @@ The example builds the [ROS 2 Listener](#ros-2-listener) example application, lo
[px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -270,26 +270,29 @@ To create and build the workspace:
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
-
+
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
-
+
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`.
@@ -307,19 +310,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
-
+
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
-
+
::::
1. Source the `local_setup.bash`.
@@ -327,10 +334,11 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example.
Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -387,15 +395,14 @@ Note that ROS code does not have to set QoS settings when publishing (the PX4 se
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
-Frame | PX4 | ROS
---- | --- | ---
-Body | FRD (X **F**orward, Y **R**ight, Z **D**own) | FLU (X **F**orward, Y **L**eft, Z **U**p)
-World | FRD or NED (X **N**orth, Y **E**ast, Z **D**own) | FLU or ENU (X **E**ast, Y **N**orth, Z **U**p)
+| Frame | PX4 | ROS |
+| ----- | ------------------------------------------------ | ---------------------------------------------- |
+| Body | FRD (X **F**orward, Y **R**ight, Z **D**own) | FLU (X **F**orward, Y **L**eft, Z **U**p) |
+| World | FRD or NED (X **N**orth, Y **E**ast, Z **D**own) | FLU or ENU (X **E**ast, Y **N**orth, Z **U**p) |
:::tip
See [REP105: Coordinate Frames for Mobile Platforms](http://www.ros.org/reps/rep-0105.html) for more information about ROS frames.
@@ -412,9 +419,9 @@ Therefore, ROS 2 nodes that want to interface with PX4 must take care of the fra
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -424,7 +431,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -451,9 +458,38 @@ No further action is required by the user.
In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source.
This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo.
On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
-Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
+
+:::: tabs
+
+::: tab humble
+To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy
+First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info
+The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -501,7 +537,7 @@ public:
{
rmw_qos_profile_t qos_profile = rmw_qos_profile_sensor_data;
auto qos = rclcpp::QoS(rclcpp::QoSInitialization(qos_profile.history, 5), qos_profile);
-
+
subscription_ = this->create_subscription("/fmu/out/sensor_combined", qos,
[this](const px4_msgs::msg::SensorCombined::UniquePtr msg) {
std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
@@ -529,11 +565,11 @@ For more information see: [ROS 2 Subscriber QoS Settings](#ros-2-subscriber-qos-
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -548,9 +584,9 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
-This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py).
+This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py).
This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
### ROS 2 Advertiser
@@ -644,8 +680,8 @@ Therefore,
```sh
rm ~/px4_ros_com/src/px4_msgs/msg/*.msg
cp ~/PX4-Autopilot/mgs/*.msg ~/px4_ros_com/src/px4_msgs/msg/
- ```
-
+ ```
+
::: info
Technically, [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) completely defines the relationship between PX4 uORB topics and ROS 2 messages.
For more information see [uXRCE-DDS > DDS Topics YAML](../middleware/uxrce_dds.md#dds-topics-yaml).
@@ -659,7 +695,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info
Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml).
Therefore, commands like:
@@ -680,8 +715,9 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
-
+
## ros2 CLI
The [ros2 CLI](https://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools.html) is a useful tool for working with ROS.
@@ -699,7 +735,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -717,10 +753,10 @@ Unlike with `ros2 topic list`, for this to work you must be in a workspace has b
```sh
ros2 topic echo /fmu/out/vehicle_status
```
-
+
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -742,7 +778,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`.
For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -768,12 +804,10 @@ average rate: 247.485
The `ros2 launch` command is used to start a ROS 2 launch file.
For example, above we used `ros2 launch px4_ros_com sensor_combined_listener.launch.py` to start the listener example.
-You don't need to have a launch file, but they are very useful if you have a complex ROS 2 system that needs to start several components.
+You don't need to have a launch file, but they are very useful if you have a complex ROS 2 system that needs to start several components.
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -781,30 +815,51 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools.
It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages.
It should be installed as shown:
- :::: tabs
+ :::: tabs
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
- :::
-
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
- :::
-
- ::::
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
+
+ :::
+
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
+ :::
+ ::::
+
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed.
+This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/en/sensor/airspeed.md b/en/sensor/airspeed.md
index 10feb76abff1..e3f9dffc8a07 100644
--- a/en/sensor/airspeed.md
+++ b/en/sensor/airspeed.md
@@ -14,9 +14,9 @@ Recommended digital airspeed sensors include:
- MEAS Spec series (e.g. [MS4525DO](https://www.te.com/usa-en/product-CAT-BLPS0002.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html))
- [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.mrobotics.io/mRo-I2C-Airspeed-Sensor-JST-GH-p/m10030a.htm) (mRo store)
- [Digital Differential Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html) (Drotek).
- - [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/en/sensor/barometer.md b/en/sensor/barometer.md
index f48da0d7ebe8..46f77a8d8bdb 100644
--- a/en/sensor/barometer.md
+++ b/en/sensor/barometer.md
@@ -15,6 +15,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/en/sensor/optical_flow.md b/en/sensor/optical_flow.md
index e708e7b88677..2bddf5bd0b6d 100644
--- a/en/sensor/optical_flow.md
+++ b/en/sensor/optical_flow.md
@@ -2,7 +2,8 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc)
+
+
_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/en/sensor/rangefinders.md b/en/sensor/rangefinders.md
index 674e7e0a6abd..04f7b3856e93 100644
--- a/en/sensor/rangefinders.md
+++ b/en/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information.
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation).
More detailed setup and configuration information is provided in the topics linked below (and sidebar).
@@ -41,6 +41,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20.
PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger Rangefinders
@@ -74,9 +76,30 @@ It must be connected to a UART/serial bus.
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART.
+This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols.
+It can be used to estimate precision landing or object avoidance.
+
+Features:
-## Configuration/Setup
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -136,6 +159,14 @@ On the Simulator you can run the commands directly in the terminal.
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info
+The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator.
diff --git a/en/sensor/sfxx_lidar.md b/en/sensor/sfxx_lidar.md
index b71ffb74d2cb..b0e1efd6d33f 100644
--- a/en/sensor/sfxx_lidar.md
+++ b/en/sensor/sfxx_lidar.md
@@ -60,9 +60,9 @@ If the I2C address is equal to `0x66` the sensor can be used with PX4.
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -83,6 +83,8 @@ If the configuration parameter is not available in _QGroundControl_ then you may
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Further Information
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/en/sim_airsim/index.md b/en/sim_airsim/index.md
index 22bfd87138c9..ce396a664059 100644
--- a/en/sim_airsim/index.md
+++ b/en/sim_airsim/index.md
@@ -10,7 +10,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_.
It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -20,7 +22,9 @@ It provides physically and visually realistic simulations of Pixhawk/PX4 using e
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info
WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment.
@@ -29,11 +33,15 @@ This limitation does not apply for AirSim because its UI is run natively in Wind
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/en/sim_flightgear/index.md b/en/sim_flightgear/index.md
index 08560c661201..be005b56a8d1 100644
--- a/en/sim_flightgear/index.md
+++ b/en/sim_flightgear/index.md
@@ -15,7 +15,7 @@ For information about multi-vehicle use see: [Multi-Vehicle Simulation with Flig
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/en/sim_gazebo_classic/index.md b/en/sim_gazebo_classic/index.md
index 6a9167ba763f..7037b7861f7f 100644
--- a/en/sim_gazebo_classic/index.md
+++ b/en/sim_gazebo_classic/index.md
@@ -11,7 +11,7 @@ Gazebo Classic can also be used with [HITL](../simulation/hitl.md) and for [mult
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -28,15 +28,15 @@ See [Simulation](../simulation/index.md) for general information about simulator
## Installation
-Gazebo Classic 9 or 11 setup is included in our [standard build instructions](../dev_setup/dev_env.md) for Linux, macOS, and Windows.
-Additional installation instructions can be found on [gazebosim.org](http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b1).
-
::: info
If you plan to use PX4 with ROS you **should follow the** [ROS Instructions](../simulation/ros_interface.md) to install both ROS and Gazebo Classic (and thereby avoid installation conflicts).
:::
-::: info
-The following commands can be used to remove [Gazebo (Garden)](../sim_gazebo_gz/index.md) and reinstall Gazebo-Classic 11:
+Gazebo Classic setup is included in our [standard build instructions](../dev_setup/dev_env.md) for macOS, Ubuntu 18.04 and 20.04, and Windows on WSL2 for the same hosts.
+
+For Ubuntu 22.04 LTS and later, the installation script ([/Tools/setup/ubuntu.sh](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/setup/ubuntu.sh)) installs the [Gazebo](../sim_gazebo_gz/index.md) simulator instead.
+
+If you want to use Gazebo Classic on Ubuntu 22.04 you can use the following commands to remove [Gazebo (Garden)](../sim_gazebo_gz/index.md) and then reinstall Gazebo-Classic 11:
```sh
sudo apt remove gz-garden
@@ -45,8 +45,13 @@ sudo aptitude install gazebo libgazebo11 libgazebo-dev
```
Note that `aptitude` is needed because it can resolve dependency conflicts (by removing certain packages) that `apt` is unable to handle.
+
+::: tip
+You could also modify the installation script to install Gazebo Classic on later versions before it is run for the first time.
:::
+Additional installation instructions can be found on [gazebosim.org](http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b1).
+
## Running the Simulation
Run a simulation by starting PX4 SITL and Gazebo Classic with the airframe configuration to load (multicopters, planes, VTOL, optical flow and multi-vehicle simulations are supported).
@@ -65,13 +70,13 @@ The supported vehicles and `make` commands are listed below (click links to see
For the full list of build targets run `make px4_sitl list_vmd_make_targets` (and filter on those that start with `gazebo-classic_`).
:::
-| Vehicle | Command |
-| ----------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
+| Vehicle | Command |
+| ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| [Quadrotor](../sim_gazebo_classic/vehicles.md#quadrotor-default) | `make px4_sitl gazebo-classic` |
| [Quadrotor with Optical Flow](../sim_gazebo_classic/vehicles.md#quadrotor-with-optical-flow) | `make px4_sitl gazebo-classic_iris_opt_flow` |
| [Quadrotor with Depth Camera](../sim_gazebo_classic/vehicles.md#quadrotor-with-depth-camera) (forward-facing) | `make px4_sitl gazebo-classic_iris_depth_camera` |
| [Quadrotor with Depth Camera](../sim_gazebo_classic/vehicles.md#quadrotor-with-depth-camera) (downward-facing) | `make px4_sitl gazebo-classic_iris_downward_depth_camera` |
-| [3DR Solo (Quadrotor)](../sim_gazebo_classic/vehicles.md#3dr-solo-quadrotor) | `make px4_sitl gazebo-classic_solo` |
+| [3DR Solo (Quadrotor)](../sim_gazebo_classic/vehicles.md#3dr-solo-quadrotor) | `make px4_sitl gazebo-classic_solo` |
| [Typhoon H480 (Hexrotor)](../sim_gazebo_classic/vehicles.md#typhoon-h480-hexrotor) (with video streaming) | `make px4_sitl gazebo-classic_typhoon_h480` |
| [Standard Plane](../sim_gazebo_classic/vehicles.md#standard-plane) | `make px4_sitl gazebo-classic_plane` |
| [Standard Plane (with catapult launch)](../sim_gazebo_classic/vehicles.md#standard-plane-with-catapult-launch) | `make px4_sitl gazebo-classic_plane_catapult` |
@@ -79,7 +84,7 @@ For the full list of build targets run `make px4_sitl list_vmd_make_targets` (an
| [Tailsitter VTOL](../sim_gazebo_classic/vehicles.md#tailsitter-vtol) | `make px4_sitl gazebo-classic_tailsitter` |
| [Ackerman UGV (Rover)](../sim_gazebo_classic/vehicles.md#ackermann-ugv) | `make px4_sitl gazebo-classic_rover` |
| [Differential UGV (Rover)](../sim_gazebo_classic/vehicles.md#differential-ugv) | `make px4_sitl gazebo-classic_r1_rover` |
-| [HippoCampus TUHH (UUV: Unmanned Underwater Vehicle)](../sim_gazebo_classic/vehicles.md#unmanned-underwater-vehicle-uuv-submarine) | `make px4_sitl gazebo-classic_uuv_hippocampus` |
+| [HippoCampus TUHH (UUV: Unmanned Underwater Vehicle)](../sim_gazebo_classic/vehicles.md#unmanned-underwater-vehicle-uuv-submarine) | `make px4_sitl gazebo-classic_uuv_hippocampus` |
| [Boat (USV: Unmanned Surface Vehicle)](../sim_gazebo_classic/vehicles.md#hippocampus-tuhh-uuv) | `make px4_sitl gazebo-classic_boat` |
| [Cloudship (Airship)](../sim_gazebo_classic/vehicles.md#airship) | `make px4_sitl gazebo-classic_cloudship` |
@@ -328,7 +333,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/en/sim_gazebo_classic/multi_vehicle_simulation.md b/en/sim_gazebo_classic/multi_vehicle_simulation.md
index 52e204a9d1ae..0e90407120f6 100644
--- a/en/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/en/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -41,15 +41,15 @@ The `MAV_SYS_ID` is allocated in the SITL rcS: [init.d-posix/rcS](https://github
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/en/sim_gazebo_gz/index.md b/en/sim_gazebo_gz/index.md
index 34f5ce913db5..2189c51f15db 100644
--- a/en/sim_gazebo_gz/index.md
+++ b/en/sim_gazebo_gz/index.md
@@ -8,9 +8,9 @@ See the [official blog post](https://www.openrobotics.org/blog/2022/4/6/a-new-er
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator.
It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -43,14 +43,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below.
Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -139,13 +142,17 @@ You can also specify the world using the `PX4_GZ_WORLD` environment variable:
PX4_GZ_WORLD=windy make px4_sitl gz_x500
```
-The supported worlds are listed below.
+The [supported worlds](../sim_gazebo_gz/worlds.md) are listed below.
-| World | Command | Description |
-| ---------- | -------------------------- | ---------------------------------- |
-| `default` | `make px4_sitl *` | Empty world (a grey plane) |
-| `windy` | `make px4_sitl *_windy` | Empty world with wind enabled |
-| `baylands` | `make px4_sitl *_baylands` | Baylands world surrounded by water |
+| World | Command | Description |
+| ---------- | -------------------------- | ----------------------------------------------------------- |
+| `default` | `make px4_sitl *` | Empty world (a grey plane) |
+| `aruco` | `make px4_sitl *_aruco` | Empty world with aruco marker for testing precision landing |
+| `baylands` | `make px4_sitl *_baylands` | Baylands world surrounded by water |
+| `lawn` | `make px4_sitl *_lawn` | Lawn world for testing rovers |
+| `rover` | `make px4_sitl *_rover` | Rover world (optimised/preferred) |
+| `walls` | `make px4_sitl *_walls` | Wall world for testing collision prevention |
+| `windy` | `make px4_sitl *_windy` | Empty world with wind enabled |
:::warning
Note that if no world is specified, PX4 will use the `default` world.
@@ -156,7 +163,7 @@ In other words, use `make px4_sitl gz_x500` instead of `make px4_sitl gz_x500_de
::: info
Baylands throws the following error, which can be ignored:
-```
+```sh
[Err] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
```
@@ -214,7 +221,7 @@ where `ARGS` is a list of environment variables including:
- `PX4_GZ_WORLD`:
Sets the Gazebo world file for a new simulation.
- If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+ If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -294,7 +301,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/en/sim_gazebo_gz/vehicles.md b/en/sim_gazebo_gz/vehicles.md
index b1a46feb0340..f6c19eaa3804 100644
--- a/en/sim_gazebo_gz/vehicles.md
+++ b/en/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md).
@@ -41,7 +41,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -52,6 +52,32 @@ The camera cannot yet be used to stream video or for image capture in QGroundCon
[PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with Downward-facing Monocular Camera
+
+This model has a simple monocular camera sensor attached facing down (there is no physical camera visualization on the model itself).
+
+This can be used with the [Aruco world](../sim_gazebo_gz/worlds.md#aruco) to test precision landing.
+
+```sh
+make px4_sitl x500_mono_cam_down
+```
+
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX.
+It has a range between 0.1 and 30m, and scans in a 270° arc.
+The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -89,3 +115,25 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+### Differential Rover
+
+[Differential-steering Rover](../frames_rover/differential_rover.md) uses the [rover world](../sim_gazebo_gz/worlds.md#rover) by default.
+
+```sh
+make px4_sitl gz_r1_rover
+```
+
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+### Ackermann Rover
+
+[Ackermann Rover](../frames_rover/ackermann_rover.md) uses the [rover world](../sim_gazebo_gz/worlds.md#rover) by default.
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
diff --git a/en/sim_gazebo_gz/worlds.md b/en/sim_gazebo_gz/worlds.md
new file mode 100644
index 000000000000..8d2d15e6475d
--- /dev/null
+++ b/en/sim_gazebo_gz/worlds.md
@@ -0,0 +1,83 @@
+# Gazebo Worlds
+
+This topic provides imagery/information about the [Gazebo](../sim_gazebo_gz/index.md) worlds supported by PX4.
+
+The [default world](#default) is spawned by default, though this may be overridden by a [model specific world](#model_specific_worlds).
+Developers can also manually specify the world to load: [Gazebo > Specify World](../sim_gazebo_gz/index.md#specify-world) (or [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md#gazebo-models-repository-px4-gazebo-models)).
+
+The source code for supported worlds can be found in the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md#gazebo-models-repository-px4-gazebo-models) on GitHub here: [PX4/PX4-gazebo-models/tree/main/worlds](https://github.com/PX4/PX4-gazebo-models/tree/main/worlds).
+
+## Empty (Default) {#default}
+
+Empty world (a grey plane).
+This is used by default.
+
+[PX4-gazebo-models/main/worlds/default.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf)
+
+![screenshot of default world](../../assets/simulation/gazebo/worlds/default.png)
+
+## Aruco
+
+Aruco world is the default world with the addition of an [ArUco marker](https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html).
+
+This is used in conjunction with the [x500_mono_cam_down](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-downward-facing-monocular-camera) airframe to test [precision landing](../advanced_features/precland.md).
+
+[PX4-gazebo-models/main/worlds/aruco.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/aruco.sdf)
+
+![screenshot of Aruco world](../../assets/simulation/gazebo/worlds/aruco.png)
+
+## Baylands
+
+Baylands world surrounded by water.
+
+[PX4-gazebo-models/main/worlds/bayland.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/baylands.sdf)
+
+![Screenshot of Baylands world](../../assets/simulation/gazebo/worlds/baylands.png)
+
+## Lawn
+
+Lawn is a flat green world that is a less-optimized alternative to [rover world](#rover).
+It is not recommended the low frame rate causes segmentation faults on some frames.
+
+[PX4-gazebo-models/main/worlds/lawn.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/lawn.sdf)
+
+![screenshot of lawn world](../../assets/simulation/gazebo/worlds/lawn.png)
+
+## Rover
+
+Rover world is optimised for rovers (and will be further optimised for rovers) and is the default world for [Ackermann Rover (4012)](../frames_rover/ackermann_rover.md) (`make px4_sitl gz_rover_ackermann`) and [Differential-steering Rover ((r1-rover (4009))](../frames_rover/differential_rover.md) (`make px4_sitl gz_r1_rover`).
+
+[PX4-gazebo-models/main/worlds/rover.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/rover.sdf)
+
+![screenshot of rover world](../../assets/simulation/gazebo/worlds/rover.png)
+
+::: info
+Rover world is very similar to [lawn world](#lawn), but with these tow main differences:
+
+- Grid on the ground which is useful as a reference while driving.
+- Higher update rate which solves segfault issues specifically with rovers with ackermann steering.
+
+:::
+
+## Walls
+
+World with walls that is designed for testing [collision prevention](../computer_vision/collision_prevention.md).
+
+[PX4-gazebo-models/main/worlds/walls.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/walls.sdf)
+
+![screenshot of walls world](../../assets/simulation/gazebo/worlds/walls.png)
+
+## Windy
+
+[Empty world](#default) with wind enabled.
+
+[PX4-gazebo-models/main/worlds/walls.sdf](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/windy.sdf)
+
+## Model Specific Worlds {#model_specific_worlds}
+
+Some [vehicle models](../sim_gazebo_gz/vehicles.md) rely on the physics / plugins of a specific world.
+The PX4 toolchain will automatically spawn a world that has the same name as the vehicle model if one exists (instead of the [default world](#default)):
+
+The model specific worlds are:
+
+- [Aruco world](#aruco): Default world with an [ArUco marker](https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html) that can be used with with [x500_mono_cam_down](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-downward-facing-monocular-camera) for testing [precision landing](../advanced_features/precland.md).
diff --git a/en/sim_jsbsim/index.md b/en/sim_jsbsim/index.md
index ff556baeb9b5..16b65182a9f4 100644
--- a/en/sim_jsbsim/index.md
+++ b/en/sim_jsbsim/index.md
@@ -13,7 +13,7 @@ Rotational earth effects are also modeled into the dynamics.
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
diff --git a/en/sim_sih/index.md b/en/sim_sih/index.md
index c98f026ad816..10c015b818f3 100644
--- a/en/sim_sih/index.md
+++ b/en/sim_sih/index.md
@@ -174,7 +174,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/en/simulation/failsafes.md b/en/simulation/failsafes.md
index 388c95846964..0087c8970dea 100644
--- a/en/simulation/failsafes.md
+++ b/en/simulation/failsafes.md
@@ -47,6 +47,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Sensor/System Failure
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems.
diff --git a/en/simulation/index.md b/en/simulation/index.md
index cced1dbc0143..b7933c9b8295 100644
--- a/en/simulation/index.md
+++ b/en/simulation/index.md
@@ -22,7 +22,6 @@ The following simulators are supported by the PX4 core development team.
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Gazebo](../sim_gazebo_gz/index.md) |
This simulator is highly recommended.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
It is easy to set up and can be used to test that your vehicle can take off, fly, land, and responds appropriately to various fail conditions (e.g. GPS failure). It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8784,6 +8785,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9409,20 +9417,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9770,34 +9778,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10485,7 +10465,7 @@ table {
COM_VEL_FS_EVH (FLOAT)
Horizontal velocity error threshold
Comment: This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).
-
[0, ?]
+
(0.5)
1.
m/s
@@ -10620,6 +10600,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10648,6 +10684,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11101,19 +11144,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11905,13 +11949,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11990,7 +12027,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[0.1, ?] (0.1)
-1.
m/s
@@ -12004,7 +12041,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12018,14 +12055,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12046,7 +12083,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12071,14 +12108,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12131,7 +12168,7 @@ table {
FW_LAUN_AC_THLD (FLOAT)
Trigger acceleration threshold
Comment: Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.
-
(0.5) [0.5, ?]
+
[0, ?] [0.5, ?]
30.0
m/s^2
@@ -12255,7 +12292,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12265,7 +12302,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12297,7 +12334,7 @@ table {
FW_AIRSPD_MIN (FLOAT)
Minimum Airspeed (CAS)
Comment: The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).
-
[0.0, ?] (0.5)
+
[0.5, ?] (0.5)
10.0
m/s
@@ -12649,35 +12686,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12691,7 +12728,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
(1.0) [-1.0, ?]
-1.0
m/s
@@ -12705,14 +12742,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[0.0, ?]
-1.0
@@ -12726,21 +12763,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12754,42 +12791,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12810,28 +12847,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -16319,14 +16356,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -17379,7 +17416,7 @@ table {
MC_SLOW_DEF_HVEL (FLOAT)
Default horizontal velocity limit
Comment: This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.
-
[0.0, ?] (0.01)
+
[0.1, ?] (0.1)
3.
m/s
@@ -17445,7 +17482,7 @@ table {
MC_SLOW_MIN_HVEL (FLOAT)
Horizontal velocity lower limit
Comment: The lowest input maps and is clamped to this velocity.
-
[0.0, ?] (0.05)
+
[0.1, ?] (0.1)
.3
m/s
@@ -17574,7 +17611,7 @@ table {
MC_YAWRATE_FF (FLOAT)
Yaw rate feedforward
Comment: Improves tracking performance.
-
(0.1) [-1.0, ?]
+
[0.0, ?] (0.01)
0.0
@@ -17759,7 +17796,7 @@ table {
PD_GRIPPER_TO (FLOAT)
Timeout for successful gripper actuation acknowledgement
Comment: Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action
-
[0, ?]
+
(0.1)
3
s
@@ -17842,6 +17879,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19433,7 +19477,7 @@ table {
RTL_DESCEND_ALT (FLOAT)
Return mode loiter altitude
Comment: Descend to this altitude (above destination position) after return, and wait for time defined in RTL_LAND_DELAY. Land (i.e. slowly descend) from this altitude if autolanding allowed. VTOLs do transition to hover in this altitdue above the landing point.
-
(0.1) [0.1, ?]
+
[0, ?] [0.1, ?]
30.
m
@@ -19593,13 +19637,6 @@ table {
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19609,8 +19646,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19635,6 +19672,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19649,24 +19700,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -19975,7 +20033,7 @@ table {
RWTO_ROT_AIRSPD (FLOAT)
Takeoff rotation airspeed
Comment: The calibrated airspeed threshold during the takeoff ground roll when the plane should start rotating (pitching up). Must be less than the takeoff airspeed, will otherwise be capped at the takeoff airpeed (see FW_TKO_AIRSPD). If set <= 0.0, defaults to 0.9 * takeoff airspeed (see FW_TKO_AIRSPD)
-
[-1.0, ?] (0.01)
+
[-1.0, ?] (0.1)
-1.0
m/s
@@ -23613,7 +23671,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23766,7 +23824,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23801,6 +23859,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
@@ -23822,6 +23922,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -24318,22 +24439,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
@@ -24352,14 +24473,14 @@ table {
SIH_MASS (FLOAT)
Vehicle mass
Comment: This value can be measured by weighting the quad on a scale.
-
(0.1) (0.01)
+
[0.0, ?] (0.01)
1.0
kg
SIH_Q_MAX (FLOAT)
Max propeller torque
Comment: This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.
-
[0.0, ?] [0.1, ?]
+
[0.0, ?] (0.05)
0.1
Nm
diff --git a/ja/advanced_config/prearm_arm_disarm.md b/ja/advanced_config/prearm_arm_disarm.md
index 9f3c9ed3599c..da88af6f7368 100644
--- a/ja/advanced_config/prearm_arm_disarm.md
+++ b/ja/advanced_config/prearm_arm_disarm.md
@@ -32,16 +32,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## Arming Gesture
+## Arming/Disarming Gestures {#arm_disarm_gestures}
By default, the vehicle is armed and disarmed by moving RC throttle/yaw sticks to particular extremes and holding them for 1 second.
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -50,15 +48,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
-
-| Parameter | Description |
-| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| Parameter | Description |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures). The button should be held down for ([nominally](#COM_RC_ARM_HYST)) one second to arm (when disarmed) or disarm (when armed).
@@ -89,16 +87,16 @@ By default vehicles will automatically disarm on landing, or if you take too lon
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/ja/airframes/airframe_reference.md b/ja/airframes/airframe_reference.md
index fb98911fbb0e..c25006165d63 100644
--- a/ja/airframes/airframe_reference.md
+++ b/ja/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/ja/assembly/_assembly.md b/ja/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/ja/assembly/_assembly.md
+++ b/ja/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/ja/assembly/assembly_fw.md b/ja/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/ja/assembly/assembly_fw.md
+++ b/ja/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/ja/assembly/assembly_mc.md b/ja/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/ja/assembly/assembly_mc.md
+++ b/ja/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/ja/assembly/assembly_vtol.md b/ja/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/ja/assembly/assembly_vtol.md
+++ b/ja/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/ja/can/index.md b/ja/can/index.md
index fa45eaa14488..cdaf5e392740 100644
--- a/ja/can/index.md
+++ b/ja/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/ja/complete_vehicles_mc/betafpv_beta75x.md b/ja/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/ja/complete_vehicles_mc/betafpv_beta75x.md
+++ b/ja/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/ja/complete_vehicles_mc/crazyflie2.md b/ja/complete_vehicles_mc/crazyflie2.md
index b73077a8283d..1aaa6679ea90 100644
--- a/ja/complete_vehicles_mc/crazyflie2.md
+++ b/ja/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/ja/complete_vehicles_mc/crazyflie21.md b/ja/complete_vehicles_mc/crazyflie21.md
index 99e211363dd8..d805a563eaca 100644
--- a/ja/complete_vehicles_mc/crazyflie21.md
+++ b/ja/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/ja/complete_vehicles_mc/nanomind110.md b/ja/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/ja/complete_vehicles_mc/nanomind110.md
+++ b/ja/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/ja/computer_vision/collision_prevention.md b/ja/computer_vision/collision_prevention.md
index fc19a6267437..edec94bae012 100644
--- a/ja/computer_vision/collision_prevention.md
+++ b/ja/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Set to 1 to allow the vehicle to move in directions where there is no sensor coverage (default is 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
## Algorithm Description
The data from all sensors are fused into an internal representation of 36 sectors around the vehicle, each containing either the sensor data and information about when it was last observed, or an indication that no data for the sector was available. When the vehicle is commanded to move in a particular direction, all sectors in the hemisphere of that direction are checked to see if the movement will bring the vehicle closer to any obstacles. If so, the vehicle velocity is restricted.
@@ -56,8 +54,6 @@ Delay, both in the vehicle tracking velocity setpoints and in receiving sensor d
If the sectors adjacent to the commanded sectors are 'better' by a significant margin, the direction of the requested input can be modified by up to the angle specified in [CP_GUIDE_ANG](#CP_GUIDE_ANG). This helps to fine-tune user input to 'guide' the vehicle around obstacles rather than getting stuck against them.
-
-
### Range Data Loss
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. This will force the velocity setpoints in xy to zero. After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -68,9 +64,7 @@ If you have multiple sensors connected and you lose connection to one of them, y
Be careful when enabling [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), which allows the vehicle to fly outside the area with sensor coverage. If you lose connection to one of multiple sensors, the area covered by the faulty sensor is also treated as uncovered and you will be able to move there without constraint.
:::
-
-
-### CP_DELAY Delay Tuning
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. Both sources of delay are tuned using the [CP_DELAY](#CP_DELAY) parameter.
@@ -82,9 +76,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
If vehicle speed oscillates as it approaches the obstacle (i.e. it slows down, speeds up, slows down) the delay is set too high.
:::
-
-
-### CP_GUIDE_ANG Guidance Tuning
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Depending on the vehicle, type of environment and pilot skill different amounts of guidance may be desired. Setting the [CP_GUIDE_ANG](#CP_GUIDE_ANG) parameter to 0 will disable the guidance, resulting in the vehicle only moving exactly in the directions commanded. Increasing this parameter will let the vehicle choose optimal directions to avoid obstacles, making it easier to fly through tight gaps and to keep the minimum distance exactly while going around objects.
@@ -95,9 +87,7 @@ The guidance feature will never direct the vehicle in a direction without sensor
If the vehicle feels 'stuck' with only a single distance sensor pointing forwards, this is probably because the guidance cannot safely adapt the direction due to lack of information.
:::
-
-
-## PX4 Distance Sensor
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -145,9 +135,7 @@ Other sensors may be enabled, but this requires modification of driver code to s
You can see the required modifications from the [feature PR](https://github.com/PX4/PX4-Autopilot/pull/12179). Please contribute back your changes!
:::
-
-
-## Companion Setup
+## Companion Setup {#companion}
If using a companion computer or external sensor, it needs to supply a stream of [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) messages, which should reflect when and where obstacle were detected.
@@ -162,9 +150,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo. In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo Setup
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/ja/computer_vision/obstacle_avoidance.md b/ja/computer_vision/obstacle_avoidance.md
index 6711cb66ea32..43bdcd05ba62 100644
--- a/ja/computer_vision/obstacle_avoidance.md
+++ b/ja/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
Obstacle avoidance is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
::: info `COM_OBS_AVOID` also enables [Safe Landing](../computer_vision/safe_landing.md) and any other features that use the PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
:::
diff --git a/ja/computer_vision/path_planning_interface.md b/ja/computer_vision/path_planning_interface.md
index 736d5d6072f6..c0c75d975eb9 100644
--- a/ja/computer_vision/path_planning_interface.md
+++ b/ja/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# Path Planning Interface
-PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including obstacle avoidance in missions, [safe landing](../computer_vision/safe_landing.md), and future services):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
+
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_. May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve. The curve indicates the (moving) position setpoint of the vehicle over a given time period.
+
- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) and [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) send the vehicle local position and altitude, respectively.
Path planning is enabled on PX4 in automatic modes (landing, takeoff, hold, mission, return) if [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID). In these modes planning software is expected to supply setpoints to PX4; if the software cannot support a particular flight mode it must mirror back setpoints from the vehicle.
diff --git a/ja/computer_vision/safe_landing.md b/ja/computer_vision/safe_landing.md
index 023b80ec8e70..5ac188217e5e 100644
--- a/ja/computer_vision/safe_landing.md
+++ b/ja/computer_vision/safe_landing.md
@@ -32,9 +32,7 @@ This covers the common setup for obstacle avoidance and collision prevention, an
The configuration information includes, among other things, how to set up safe landing for different cameras, sizes of vehicles, and the height at which the decision to land or not is taken.
-
-
-## Safe Landing Interface
+## Safe Landing Interface {#interface}
PX4 uses the [Path Planning Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
diff --git a/ja/concept/flight_tasks.md b/ja/concept/flight_tasks.md
index b9d61334bd98..04a2b97afa68 100644
--- a/ja/concept/flight_tasks.md
+++ b/ja/concept/flight_tasks.md
@@ -172,10 +172,14 @@ The following videos provide an overview of flight tasks in PX4. The first cover
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/ja/config/autotune.md b/ja/config/_autotune.md
similarity index 56%
rename from ja/config/autotune.md
rename to ja/config/_autotune.md
index 026513a2fbf2..f5f8cfb93dba 100644
--- a/ja/config/autotune.md
+++ b/ja/config/_autotune.md
@@ -1,6 +1,20 @@
-# Auto-tuning
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
-Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+# Auto-tuning (Fixed-Wing)
+
+
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
@@ -8,56 +22,58 @@ Tuning only needs to be done once, and is recommended unless you're using a vehi
Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Pre-tuning Test
The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
The test steps are:
1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
1. Enable autotune.
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,60 +82,99 @@ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-win
1. Read the warning popup and click on **OK** to start tuning.
1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Troubleshooting
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
+### Drone oscillates when performing the pre-tuning test
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
-#### The auto-tuning sequence fails
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
-#### The drone oscillates after auto-tuning
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-#### I still can't get it to work
+
+
-Attempt manual tuning using the appropriate guides:
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
+
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### The drone oscillates after auto-tuning
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### I still can't get it to work
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
+
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+- `2`: apply immediately (default for fixed-wings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+
+
-### Enable/Disable Autotune Switch (Fixed-Wing)
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -127,11 +182,11 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
@@ -139,6 +194,8 @@ Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES
- bit `1`: pitch (default)
- bit `2`: yaw
+
+
## Developers/SDKs
Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
@@ -162,7 +219,7 @@ Automatic tuning works well for the multicopter and fixed-wing vehicle configura
The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
### FAQ
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
+
+
## See also
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/ja/config/autotune_fw.md b/ja/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/ja/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ja/config/autotune_mc.md b/ja/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/ja/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ja/config/autotune_vtol.md b/ja/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/ja/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/ja/config/battery.md b/ja/config/battery.md
index ee94d6080754..6859fc6fde81 100644
--- a/ja/config/battery.md
+++ b/ja/config/battery.md
@@ -135,7 +135,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
This setting is not needed if you are using the basic configuration (without load compensation etc.)
:::
-If you are using [Current-based Load Compensation](#current_based_load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -146,71 +146,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## Voltage-based Estimation with Load Compensation
-::: info
-With well configured load compensation the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-:::
-
-Load compensation attempts to counteract the fluctuation in measured voltage/estimated capacity under load that occur when using the [basic configuration](#basic_settings). This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-::: info To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 supports two load compensation methods, which are enabled by [setting](../advanced_config/parameters.md) either of the two parameters below:
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Current-based Load Compensation](#current_based_load_compensation) (recommended).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Thrust-based Load Compensation](#thrust_based_load_compensation).
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-### Current-based Load Compensation (recommended)
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-This load compensation method relies on current measurement to determine load. It is far more accurate than [Thrust-based Load Compensation](#thrust_based_load_compensation) but requires that you have a current sensor.
-
-To enable this feature:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-There are LiPo chargers out there which can measure the internal resistance of your battery.
-A typical value is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-1. You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-
-
-
-### Thrust-based Load Compensation
-
-This load compensation method estimates the load based on the total thrust that gets commanded to the motors.
-
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. Use [Current-based Load Compensation](#current_based_load_compensation) instead if your vehicle has a current sensor.
-:::
-
-To enable this feature:
-
-1. Set the parameter [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) to how much voltage drop a cell shows under the load of full throttle.
-
## Voltage-based Estimation Fused with Current Integration
-::: info
-This is the most accurate way to measure relative battery consumption.
-If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-:::
+This method is the most accurate way to measure relative battery consumption. If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
To enable this feature:
-1. First set up accurate voltage estimation using [current-based load compensation](#current_based_load_compensation).
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Including calibrating the [Amps per volt divider](#current_divider) setting.
:::
-1. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
+2. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
::: info
Do not set this value too high as this may result in a poor estimation or sudden drops in estimated capacity.
diff --git a/ja/config/flight_mode.md b/ja/config/flight_mode.md
index 71edd117e508..a8c775e44b54 100644
--- a/ja/config/flight_mode.md
+++ b/ja/config/flight_mode.md
@@ -82,7 +82,7 @@ Most transmitters do not have 6-way switches, so if you need to be able to suppo
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/ja/config/index.md b/ja/config/index.md
index 9f4250c058a7..a1215d544edb 100644
--- a/ja/config/index.md
+++ b/ja/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Video Guide
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/ja/config/safety.md b/ja/config/safety.md
index 85cb195ed893..6e0679749d82 100644
--- a/ja/config/safety.md
+++ b/ja/config/safety.md
@@ -2,9 +2,15 @@
PX4 has a number of safety features to protect and recover your vehicle if something goes wrong:
-- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](#other-safety-settings).
+- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](../advanced_config/parameters.md).
- [Safety switches](#emergency-switches) on the remote control can be used to immediately stop motors or return the vehicle in the event of a problem.
+## QGroundControl Safety Setup
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Failsafe Actions
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action. This gives the user time to notice what is happening and override the failsafe if needed. In most cases this can be done by using RC or a GCS to switch modes (note that during the failsafe-hold, moving the RC sticks does not trigger an override).
@@ -27,32 +33,67 @@ If multiple failsafes are triggered, the more severe action is taken. For exampl
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl Safety Setup
+### Return Mode Settings
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
-### Low Battery Failsafe
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+### Land Mode Settings
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`). With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
+
+| Setting | Parameter | Description |
+| ------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
+| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
+| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
+| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+
+### Flight Time Failsafes
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| Setting | Parameter | Description |
-| ----------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below [Battery Failsafe Level](#BAT_CRIT_THR), OR Warn, then return, then land based on each of the level settings below. |
-| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
-| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
-| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+| Setting | Parameter | Description |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,12 +108,12 @@ Additional (and underlying) parameter settings are shown below.
| Parameter | Setting | Description |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Failsafe Action | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### Data Link Loss Failsafe
+## Data Link Loss Failsafe
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -85,7 +126,7 @@ The settings and underlying parameters are shown below.
| Data Link Loss Timeout | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Amount of time after losing the data connection before the failsafe will trigger. |
| Failsafe Action | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence Failsafe
+## Geofence Failsafe
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -113,46 +154,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| Circuit breaker for flight termination | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Enables/Disables flight termination action (disabled by default). |
-### Return Mode Settings
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| Climb to altitude | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Vehicle ascend to this minimum height (if below it) for the return flight. |
-| Return behaviour | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| Loiter Altitude | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | If return with loiter is selected you can also specify the altitude at which the vehicle hold. |
-| Loiter Time | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | If return with loiter then land is selected you can also specify how long the vehicle will hold. |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). If negative the vehicle will land immediately. Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
+## Position (GNSS) Loss Failsafe
-### Land Mode Settings
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). This section shows how to control when and if the vehicle automatically disarms after landing. For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Disarm After | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Select checkbox to specify that the vehicle will disarm after landing. The value must be non-zero but can be a fraction of a second. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## Other Failsafe Settings
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### Position (GPS) Loss Failsafe
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -175,9 +179,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). Set to 0 to disable. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Fixed roll/bank angle while circling. |
-### Offboard Loss Failsafe
+## Offboard Loss Failsafe
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -186,13 +190,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Delay after loss of offboard connection before the failsafe is triggered. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Traffic Avoidance Failsafe
+## Traffic Avoidance Failsafe
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -202,7 +200,7 @@ The relevant parameters are shown below:
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Set the failsafe action: Disabled, Warn, Return mode, Land mode. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Failure Detector
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -260,6 +268,12 @@ The [failure detector](#failure-detector), if [enabled](#CBRK_FLIGHTTERM), can a
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Enable PWM input on AUX5 or MAIN5 (depending on board) for engaging failsafe from an external automatic trigger system (ATS). Default: Disabled. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | The PWM threshold from external automatic trigger system for engaging failsafe. Default: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Emergency Switches
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -298,9 +312,11 @@ For modes that do not support disarming in flight, the switch is ignored during
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## Other Safety Settings
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Auto-disarming Timeouts
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -311,6 +327,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Timeout for auto-disarm after landing. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Timeout for auto disarm if vehicle is too slow to takeoff. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Further Information
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/ja/config_fw/index.md b/ja/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/ja/config_fw/index.md
+++ b/ja/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/ja/config_fw/pid_tuning_guide_fixedwing.md b/ja/config_fw/pid_tuning_guide_fixedwing.md
index bd30b9370ac6..1e78cfd0b940 100644
--- a/ja/config_fw/pid_tuning_guide_fixedwing.md
+++ b/ja/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
-::: info [Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
## Preconditions
diff --git a/ja/config_mc/index.md b/ja/config_mc/index.md
index dc7de0f13327..6dbdb801881c 100644
--- a/ja/config_mc/index.md
+++ b/ja/config_mc/index.md
@@ -102,16 +102,19 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/ja/config_mc/pid_tuning_guide_multicopter.md b/ja/config_mc/pid_tuning_guide_multicopter.md
index 44eb729108a7..488d449f6ad6 100644
--- a/ja/config_mc/pid_tuning_guide_multicopter.md
+++ b/ja/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
This topic provides detailed information about PX4 controllers, and how they are tuned.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles *around the hover thrust point*, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
:::
Use this topic when tuning around the hover thrust point is not sufficient (e.g. on vehicles where there are non-linearities and oscillations at higher thrusts). It is also useful for a deeper understanding of how the basic tuning works, and to understand how to use the [airmode](#airmode-mixer-saturation) setting.
diff --git a/ja/config_mc/pid_tuning_guide_multicopter_basic.md b/ja/config_mc/pid_tuning_guide_multicopter_basic.md
index 873a40c1e79c..d4f5b5c0058f 100644
--- a/ja/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/ja/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. Tuning is recommended for all new vehicle setups to get the _very best_ performance, because relatively small hardware and assembly changes can affect the gains required tuning gains for optimal flight. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/ja/contribute/docs.md b/ja/contribute/docs.md
index 2810259205f4..f0f2561253c3 100644
--- a/ja/contribute/docs.md
+++ b/ja/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## Where Do I Add Changes?
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/ja/debug/gdb_hardfault.md b/ja/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/ja/debug/gdb_hardfault.md
+++ b/ja/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/ja/dev_airframes/adding_a_new_frame.md b/ja/dev_airframes/adding_a_new_frame.md
index 56b27684dfd5..3e9e15877008 100644
--- a/ja/dev_airframes/adding_a_new_frame.md
+++ b/ja/dev_airframes/adding_a_new_frame.md
@@ -302,10 +302,9 @@ If the airframe is for a **new group** you additionally need to:
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/ja/dev_setup/building_px4.md b/ja/dev_setup/building_px4.md
index 7d53babccdad..39c7bc4d5fdc 100644
--- a/ja/dev_setup/building_px4.md
+++ b/ja/dev_setup/building_px4.md
@@ -184,7 +184,7 @@ make distclean
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. この場合、 [Developer Toolchain](../dev_setup/dev_env.md) の説明で指定されたバージョンをインストールします。
-独自のブランチを構築する場合は、ファームウェアのサイズが 1MB 制限を超えている可能性があります。 この場合、ビルドから不要なドライバ/モジュールを削除する必要があります。
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. この場合、ビルドから不要なドライバ/モジュールを削除する必要があります。
### macOS: 開いているファイルが多すぎます
diff --git a/ja/dev_setup/dev_env_linux_ubuntu.md b/ja/dev_setup/dev_env_linux_ubuntu.md
index 73cc7120a22e..84328bedadfc 100644
--- a/ja/dev_setup/dev_env_linux_ubuntu.md
+++ b/ja/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/ja/dev_setup/dev_env_mac.md b/ja/dev_setup/dev_env_mac.md
index 7994fe0a4788..90244685405b 100644
--- a/ja/dev_setup/dev_env_mac.md
+++ b/ja/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@ This setup is supported by the PX4 dev team. To build other targets you will nee
## Video Guide
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/ja/dev_setup/qtcreator.md b/ja/dev_setup/qtcreator.md
index a3fe1c337d01..0a81d4b57fd7 100644
--- a/ja/dev_setup/qtcreator.md
+++ b/ja/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/ja/dronecan/ark_flow.md b/ja/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/ja/dronecan/ark_flow.md
+++ b/ja/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/ja/dronecan/escs.md b/ja/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/ja/dronecan/escs.md
+++ b/ja/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/ja/dronecan/index.md b/ja/dronecan/index.md
index 4f819530a620..7289f73e7ac8 100644
--- a/ja/dronecan/index.md
+++ b/ja/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/ja/dronecan/raccoonlab_nodes.md b/ja/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/ja/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ja/dronecan/raccoonlab_power.md b/ja/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/ja/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ja/dronecan/sapog.md b/ja/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/ja/dronecan/sapog.md
+++ b/ja/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/ja/features_mc/index.md b/ja/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/ja/features_mc/index.md
+++ b/ja/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/ja/flight_controller/airlink.md b/ja/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/ja/flight_controller/airlink.md
+++ b/ja/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/ja/flight_controller/autopilot_pixhawk_standard.md b/ja/flight_controller/autopilot_pixhawk_standard.md
index 9e869fb12caf..d4a669b71595 100644
--- a/ja/flight_controller/autopilot_pixhawk_standard.md
+++ b/ja/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/ja/flight_controller/index.md b/ja/flight_controller/index.md
index 46a4d66b65bd..29fc1ebeb618 100644
--- a/ja/flight_controller/index.md
+++ b/ja/flight_controller/index.md
@@ -32,6 +32,7 @@ PX4-compatible flight controllers documented in this library are listed below. T
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Manufacturer-Supported Autopilots](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/ja/flight_controller/pixhawk.md b/ja/flight_controller/pixhawk.md
index 7d1dc518ff5d..921c5f72df26 100644
--- a/ja/flight_controller/pixhawk.md
+++ b/ja/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/ja/flight_controller/raccoonlab_fmu6x.md b/ja/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/ja/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/ja/flight_modes_fw/acro.md b/ja/flight_modes_fw/acro.md
index 575e2dc21d36..2e7793f0f0ca 100644
--- a/ja/flight_modes_fw/acro.md
+++ b/ja/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ Roll-pitch-yaw stick inputs are translated to angular rate commands that are sta
## Parameters
-| Parameter | Description |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/ja/flight_modes_fw/takeoff.md b/ja/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/ja/flight_modes_fw/takeoff.md
+++ b/ja/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/ja/flight_modes_mc/follow_me.md b/ja/flight_modes_mc/follow_me.md
index e04599a7f8d4..1aa51d870f80 100644
--- a/ja/flight_modes_mc/follow_me.md
+++ b/ja/flight_modes_mc/follow_me.md
@@ -42,9 +42,9 @@ Users can adjust the follow angle, height and distance using an RC controller as
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode. If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
@@ -149,7 +149,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## Known Issues
diff --git a/ja/flight_modes_mc/mission.md b/ja/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/ja/flight_modes_mc/mission.md
+++ b/ja/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/ja/flight_modes_mc/position.md b/ja/flight_modes_mc/position.md
index 4b845369ec13..5f390d035389 100644
--- a/ja/flight_modes_mc/position.md
+++ b/ja/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
-Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
+Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/ja/flight_modes_rover/index.md b/ja/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/ja/flight_modes_rover/index.md
+++ b/ja/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/ja/flying/pre_flight_checks.md b/ja/flying/pre_flight_checks.md
index 0226bef4fddc..20bdb783865f 100644
--- a/ja/flying/pre_flight_checks.md
+++ b/ja/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# Preflight Sensor/Estimator Checks
+# QGroundControl Flight-Readiness Status
-PX4 performs a number of preflight sensor quality and estimator checks to determine if there is a good enough position estimate to arm and fly the vehicle (these checks are controlled by the [COM*ARM*](../advanced_config/parameter_reference.md#commander) parameters).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Any preflight errors are reported in *QGroundControl* as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) also shows which GPS quality checks are failing.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-The sections below list the errors, their likely causes and solutions, and any parameters that affect how the preflight checks are run.
+## Flight Readiness Status
-## EKF Preflight Checks/Errors
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-The following errors (with associated checks and parameters) are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* This error is produced when the IMU and height measurement data are inconsistent.
-* Perform an accel and gyro calibration and restart the vehicle. If the error persists, check the height sensor data for problems.
-* The check is controlled by the [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) parameter.
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* This error is produced when the IMU and GPS velocity measurement data are inconsistent.
-* Check the GPS velocity data for un-realistic data jumps. If GPS quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) parameter.
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* This error is produced when the IMU and position measurement data (either GPS or external vision) are inconsistent.
-* Check the position sensor data for un-realistic data jumps. If data quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) parameter.
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF Preflight Checks/Errors
-* This error is produced when the yaw angle estimated using gyro data and the yaw angle from the magnetometer or external vision system are inconsistent.
-* Check the IMU data for large yaw rate offsets and check the magnetometer alignment and calibration.
-* The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-* The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-* It can fail if the yaw gyro has a large offset or if the vehicle is moved or rotated in the presence of a bad magnetic interference or magnetometer calibration.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ The following errors (with associated checks and parameters) are reported by the
-The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on (“turn-on bias”) and over time due to noise and temperature differences (“in-run bias”). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
+The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
The warning indicates that the bias is higher than some arbitrary threshold (the vehicle will not be allowed to take off). It is most likely a sign that accelerometer or thermal calibration are required:
@@ -65,45 +73,43 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected “in-run bias” of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
-
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* This error is produced when the IMU gyro bias estimated by the EKF is excessive.
-* Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
+- This error is produced when the IMU gyro bias estimated by the EKF is excessive.
+- Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the acceleration measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
+- This error message is produced when the acceleration measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the angular rate measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
+- This error message is produced when the angular rate measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the difference in measurements from different compass sensors is too great.
-* It indicates bad calibration, orientation or magnetic interference.
-* This check only applies to when more than one compass/magnetometer is connected.
-* The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
+- This error message is produced when the difference in measurements from different compass sensors is too great.
+- It indicates bad calibration, orientation or magnetic interference.
+- This check only applies to when more than one compass/magnetometer is connected.
+- The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
-* Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
- * IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
- * Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
- * Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
- * Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
-
+- This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
+- Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
+ - IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
+ - Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
+ - Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
+ - Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
## Other Parameters
@@ -112,6 +118,6 @@ The following parameters also affect preflight checks.
#### COM_ARM_WO_GPS
The [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) parameter controls whether or not arming is allowed without a global position estimate.
-- `1` (default): Arming *is* allowed without a position estimate for flight modes that do not require position information (only).
-- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
diff --git a/ja/frames_autogyro/thunderfly_auto_g2.md b/ja/frames_autogyro/thunderfly_auto_g2.md
index 80639777228a..007de58737f7 100644
--- a/ja/frames_autogyro/thunderfly_auto_g2.md
+++ b/ja/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ The whole part is glued, using a hot-melt adhesive, under the engine on the bott
## Video
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Photo gallery of changes
diff --git a/ja/frames_multicopter/dji_f450_cuav_5nano.md b/ja/frames_multicopter/dji_f450_cuav_5nano.md
index 368f37734ff3..aedffeb22978 100644
--- a/ja/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/ja/frames_multicopter/dji_f450_cuav_5nano.md
@@ -205,12 +205,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/ja/frames_multicopter/dji_f450_cuav_5plus.md b/ja/frames_multicopter/dji_f450_cuav_5plus.md
index 2d9181a9d815..0a01d468b06b 100644
--- a/ja/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/ja/frames_multicopter/dji_f450_cuav_5plus.md
@@ -203,11 +203,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/ja/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/ja/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 04bf7b1dca3b..f1be7b2f8ef4 100644
--- a/ja/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/ja/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -215,7 +215,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ja/frames_multicopter/holybro_s500_v2_pixhawk4.md b/ja/frames_multicopter/holybro_s500_v2_pixhawk4.md
index f42dedff1f96..890a5d803852 100644
--- a/ja/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/ja/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -292,7 +292,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ja/frames_multicopter/holybro_x500V2_pixhawk5x.md b/ja/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 087e2f9f788f..5a5b4bbbccd1 100644
--- a/ja/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/ja/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ja/frames_multicopter/holybro_x500_pixhawk4.md b/ja/frames_multicopter/holybro_x500_pixhawk4.md
index 532648d9ffbf..1b42c704378e 100644
--- a/ja/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/ja/frames_multicopter/holybro_x500_pixhawk4.md
@@ -236,7 +236,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ja/frames_multicopter/holybro_x500v2_pixhawk6c.md b/ja/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ffaed21b7227..45b136168dfe 100644
--- a/ja/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/ja/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ja/frames_multicopter/index.md b/ja/frames_multicopter/index.md
index cb4e1e6df92d..2dd819878b16 100644
--- a/ja/frames_multicopter/index.md
+++ b/ja/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Videos
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 with Distance Sensor and RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/ja/frames_multicopter/omnicopter.md b/ja/frames_multicopter/omnicopter.md
index 93f45a69791a..849ed4eb5b61 100644
--- a/ja/frames_multicopter/omnicopter.md
+++ b/ja/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/ja/frames_multicopter/qav_r_5_kiss_esc_racer.md b/ja/frames_multicopter/qav_r_5_kiss_esc_racer.md
index 61c045e83f6e..56a4393ec499 100644
--- a/ja/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/ja/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame. I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/ja/frames_plane/index.md b/ja/frames_plane/index.md
index 826ea09b9197..842d60301d86 100644
--- a/ja/frames_plane/index.md
+++ b/ja/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Videos
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/ja/frames_plane/reptile_dragon_2.md b/ja/frames_plane/reptile_dragon_2.md
index 2173b08b1783..c1353e728d65 100644
--- a/ja/frames_plane/reptile_dragon_2.md
+++ b/ja/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/ja/frames_plane/turbo_timber_evolution.md b/ja/frames_plane/turbo_timber_evolution.md
index f7a2e78ba583..e473239f2fac 100644
--- a/ja/frames_plane/turbo_timber_evolution.md
+++ b/ja/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/ja/frames_plane/wing_wing_z84.md b/ja/frames_plane/wing_wing_z84.md
index f6fcaeea0ecc..6c735dc5217f 100644
--- a/ja/frames_plane/wing_wing_z84.md
+++ b/ja/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/ja/frames_rover/ackermann_rover.md b/ja/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/ja/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/ja/frames_rover/aion_r1.md b/ja/frames_rover/aion_r1.md
index a1f90422d637..621522acfc41 100644
--- a/ja/frames_rover/aion_r1.md
+++ b/ja/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/ja/frames_rover/differential_rover.md b/ja/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/ja/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/ja/frames_rover/index.md b/ja/frames_rover/index.md
index d77ade6d7aad..21af0009e8ca 100644
--- a/ja/frames_rover/index.md
+++ b/ja/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## Videos
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/ja/frames_rover/rover_position_control.md b/ja/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/ja/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/ja/frames_rover/traxxas_stampede.md b/ja/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 317808febda9..000000000000
--- a/ja/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms. We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community. The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Parts List
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
-* [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
-* [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## Assembly
-
-The assembly consists of a wooden frame on which all the autopilot parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate. For this, two supports were 3D printed. The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## Output Connections
-
-| PWM Output | Actuator |
-| ---------- | -------------------- |
-| MAIN2 | Steering servo |
-| MAIN4 | Throttle (ESC input) |
-
-::: info As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Configuration
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-The main rover-specific configuration is setting the correct frame:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. Select the [Airframe](../config/airframe.md) tab.
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Usage
-
-At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution. Failing to do so will cause the rover to continuously spin around a waypoint.
-:::
-
-A correct mission setup looks as follows:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Video
-
-
diff --git a/ja/frames_sub/bluerov2.md b/ja/frames_sub/bluerov2.md
index bbb2d18d2e86..25d37f2568b4 100644
--- a/ja/frames_sub/bluerov2.md
+++ b/ja/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/ja/frames_sub/index.md b/ja/frames_sub/index.md
index 6b73e7cabe7d..74c11dd1acf4 100644
--- a/ja/frames_sub/index.md
+++ b/ja/frames_sub/index.md
@@ -30,6 +30,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/ja/frames_vtol/index.md b/ja/frames_vtol/index.md
index 4f6e6b3bee4d..56e91484ee5c 100644
--- a/ja/frames_vtol/index.md
+++ b/ja/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ja/frames_vtol/standardvtol.md b/ja/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/ja/frames_vtol/standardvtol.md
+++ b/ja/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ja/frames_vtol/tailsitter.md b/ja/frames_vtol/tailsitter.md
index 71eefa11dd84..dc4c784df662 100644
--- a/ja/frames_vtol/tailsitter.md
+++ b/ja/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/ja/frames_vtol/tiltrotor.md b/ja/frames_vtol/tiltrotor.md
index 1d07a55451c7..91282554f0da 100644
--- a/ja/frames_vtol/tiltrotor.md
+++ b/ja/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/ja/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/ja/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index 924a77961f1c..14faea9b9233 100644
--- a/ja/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/ja/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -286,7 +286,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Support
diff --git a/ja/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/ja/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index a53412ecfc73..b508b221af06 100644
--- a/ja/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/ja/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Support
diff --git a/ja/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/ja/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 32c0a2619269..d0822b960ead 100644
--- a/ja/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/ja/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. The slot should be the length, depth and width of one 230mm square carbon tube. It should be located as indicated below.
diff --git a/ja/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/ja/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index efadfb74cb78..fe9be963aa6d 100644
--- a/ja/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/ja/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ The Caipiroshka VTOL is a slightly modified *TBS Caipirinha*.
::: info The *TBS Caipirinha* has been superseded and is no longer available. These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Parts List
diff --git a/ja/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/ja/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index f71dc16e9d70..9cbf48fba4db 100644
--- a/ja/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/ja/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@ The [E-Flite Convergence](https://youtu.be/HNedXQ_jhYo) can easily be converted
::: info The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/ja/getting_started/index.md b/ja/getting_started/index.md
deleted file mode 100644
index b036405e5a51..000000000000
--- a/ja/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# PX4のはじめかた
-
-本章では,PX4を用いて無人機を構築・飛行させるのに理解する必要のある,基本的な概念についての概要を説明します.
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[Flight Reporting](../getting_started/flight_reporting.md) — Download detailed flight logs for debugging and analysis.
diff --git a/ja/getting_started/px4_basic_concepts.md b/ja/getting_started/px4_basic_concepts.md
index 84309a8639d0..f2ab6e579017 100644
--- a/ja/getting_started/px4_basic_concepts.md
+++ b/ja/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### Outputs: Motors, Servos, Actuators
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- Arming is prevented if the vehicle is not in a "healthy" state.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- Arming is prevented if a VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/ja/getting_started/tunes.md b/ja/getting_started/tunes.md
index 92b7152d8c89..528b12572cd7 100644
--- a/ja/getting_started/tunes.md
+++ b/ja/getting_started/tunes.md
@@ -180,7 +180,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Battery Warning Fast
@@ -190,7 +190,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS Warning Slow
diff --git a/ja/getting_started/vehicle_status.md b/ja/getting_started/vehicle_status.md
index f8ff9b232028..e611b4ded44f 100644
--- a/ja/getting_started/vehicle_status.md
+++ b/ja/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4 provides vehicle-based visual (LED) and audible (Buzzer) notifications of "high level" vehicle status and readiness to fly. These notifications indicate, for example, whether or not the vehicle is properly calibrated, has an SD card, has position lock, is safe to approach, whether or not it is armed, when it is ready to fly, etc.
-In addition, PX4 provides more fine-grained information about readiness to fly in GCS notifications resulting from pre-flight checks.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-The LED, tune and GCS notifications are linked below:
+The LED, tune, and GCS notifications are linked below:
* [LED Meanings](../getting_started/led_meanings.md)
* [Tune/Sound Meanings](../getting_started/tunes.md)
-* [Preflight Checks (Internal)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/ja/gps_compass/index.md b/ja/gps_compass/index.md
index be4afc3a4287..0657a6135197 100644
--- a/ja/gps_compass/index.md
+++ b/ja/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
::: info PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## Supported GNSS
PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or Emlid protocols, or via UAVCAN.
This table contains non-RTK GNSS units (most of which also have a compass). These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/ja/gps_compass/magnetometer.md b/ja/gps_compass/magnetometer.md
index 26a164232a50..0fac602ef797 100644
--- a/ja/gps_compass/magnetometer.md
+++ b/ja/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :-----------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/ja/gps_compass/rtk_gps.md b/ja/gps_compass/rtk_gps.md
index c00f16c94a54..81af226fefc9 100644
--- a/ja/gps_compass/rtk_gps.md
+++ b/ja/gps_compass/rtk_gps.md
@@ -39,12 +39,16 @@ The RTK compatible devices below that are expected to work with PX4 (it omits di
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -52,7 +56,6 @@ Notes:
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -125,10 +128,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -167,7 +172,6 @@ You may also need to tune some parameters as the default parameters are tuned as
A second GPS receiver can be used as a backup (either RTK or non RTK). See the [EKF2 GPS Configuration](../advanced_config/tuning_the_ecl_ekf.md#gps) section.
-
diff --git a/ja/ros2/user_guide.md b/ja/ros2/user_guide.md
index 00722eeccc3e..24e36ed659ba 100644
--- a/ja/ros2/user_guide.md
+++ b/ja/ros2/user_guide.md
@@ -9,7 +9,9 @@ This topic provides an overview of the architecture and application pipeline, an
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Overview
@@ -33,14 +35,13 @@ You will normally need to start both the client and agent when using ROS 2. Note
::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## Installation & Setup
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -52,7 +53,6 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
@@ -100,15 +100,14 @@ To install ROS 2 and its dependencies:
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -119,8 +118,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -169,21 +166,25 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
@@ -192,7 +193,7 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -203,7 +204,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -220,7 +221,6 @@ The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://git
::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -249,28 +249,31 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
@@ -285,19 +288,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -307,9 +314,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -362,7 +370,6 @@ This is needed because the ROS 2 default [Quality of Service (QoS) settings](htt
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -386,9 +393,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -398,7 +405,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -416,9 +423,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -489,11 +523,11 @@ public:
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -508,7 +542,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -608,7 +642,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
```sh
@@ -627,6 +660,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -643,7 +677,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -664,7 +698,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -685,7 +719,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -714,8 +748,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -723,30 +755,50 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/ja/sensor/airspeed.md b/ja/sensor/airspeed.md
index 2a2d30af2641..144377934dd0 100644
--- a/ja/sensor/airspeed.md
+++ b/ja/sensor/airspeed.md
@@ -15,6 +15,7 @@ Recommended digital airspeed sensors include:
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/ja/sensor/barometer.md b/ja/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/ja/sensor/barometer.md
+++ b/ja/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/ja/sensor/optical_flow.md b/ja/sensor/optical_flow.md
index b707df1aa680..a059b91b9856 100644
--- a/ja/sensor/optical_flow.md
+++ b/ja/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/ja/sensor/rangefinders.md b/ja/sensor/rangefinders.md
index 2dac2cf01bb6..c0a62d419f2d 100644
--- a/ja/sensor/rangefinders.md
+++ b/ja/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. More detailed setup and configuration information is provided in the topics linked below (and sidebar).
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). More detailed setup and configuration information is provided in the topics linked below (and sidebar).
@@ -34,6 +34,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20. PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger Rangefinders
@@ -62,9 +64,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## Configuration/Setup
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -114,6 +135,13 @@ listener distance_sensor 5
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. To do this you must start the simulator using a vehicle model that includes the rangefinder.
diff --git a/ja/sensor/sfxx_lidar.md b/ja/sensor/sfxx_lidar.md
index 8331c53e6c43..d444aa093cac 100644
--- a/ja/sensor/sfxx_lidar.md
+++ b/ja/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ Connect the Lidar the autopilot I2C port as shown below (in this case, for the [
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -75,6 +75,8 @@ The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TEL
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Further Information
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/ja/sensor_bus/i2c_general.md b/ja/sensor_bus/i2c_general.md
index 6d8f043a835a..55ab6c6c476a 100644
--- a/ja/sensor_bus/i2c_general.md
+++ b/ja/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/ja/sim_airsim/index.md b/ja/sim_airsim/index.md
index 77db7a9139f4..c48094abdd7d 100644
--- a/ja/sim_airsim/index.md
+++ b/ja/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,18 +20,24 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. This limitation does not apply for AirSim because its UI is run natively in Windows.
:::
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/ja/sim_flightgear/index.md b/ja/sim_flightgear/index.md
index be320f643681..6042dff30f86 100644
--- a/ja/sim_flightgear/index.md
+++ b/ja/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/ja/sim_gazebo_classic/index.md b/ja/sim_gazebo_classic/index.md
index 1aff3235ded0..0a736d35c381 100644
--- a/ja/sim_gazebo_classic/index.md
+++ b/ja/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic is a powerful 3D simulation environment for autonomous robots tha
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -305,7 +305,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/ja/sim_gazebo_classic/multi_vehicle_simulation.md b/ja/sim_gazebo_classic/multi_vehicle_simulation.md
index 96fe423e3037..6d4d54ba6ca5 100644
--- a/ja/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/ja/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/ja/sim_gazebo_gz/index.md b/ja/sim_gazebo_gz/index.md
index 61801a941456..682844772857 100644
--- a/ja/sim_gazebo_gz/index.md
+++ b/ja/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator. It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/ja/sim_gazebo_gz/vehicles.md b/ja/sim_gazebo_gz/vehicles.md
index 822e89d32862..c9b1de257cb2 100644
--- a/ja/sim_gazebo_gz/vehicles.md
+++ b/ja/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md). Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/ja/sim_jsbsim/index.md b/ja/sim_jsbsim/index.md
index a207d9da6657..3fe19592be5a 100644
--- a/ja/sim_jsbsim/index.md
+++ b/ja/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
diff --git a/ja/sim_sih/index.md b/ja/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/ja/sim_sih/index.md
+++ b/ja/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/ja/simulation/failsafes.md b/ja/simulation/failsafes.md
index 3174e0257e69..3abdf45b68e7 100644
--- a/ja/simulation/failsafes.md
+++ b/ja/simulation/failsafes.md
@@ -37,6 +37,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Sensor/System Failure
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems. For example, this can be used to simulate absent or intermittent GPS, RC signal that has stopped or got stuck on a particular value, failure of the avoidance system, and much more.
diff --git a/ja/simulation/index.md b/ja/simulation/index.md
index 5017f7568ade..81be74fb079f 100644
--- a/ja/simulation/index.md
+++ b/ja/simulation/index.md
@@ -15,11 +15,10 @@ Information about available simulators and how to set them up are provided in th
The following simulators are supported by the PX4 core development team.
-| Simulator | Description |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
This simulator is highly recommended.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
It is easy to set up and can be used to test that your vehicle can take off, fly, land, and responds appropriately to various fail conditions (e.g. GPS failure). It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8752,6 +8753,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9377,20 +9385,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9738,34 +9746,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10588,6 +10568,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10616,6 +10652,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11069,19 +11112,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11873,13 +11917,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11958,7 +11995,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -11972,7 +12009,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -11986,14 +12023,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12014,7 +12051,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
값:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
값:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12039,14 +12076,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12223,7 +12260,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12233,7 +12270,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12617,35 +12654,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12659,7 +12696,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12673,14 +12710,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?]
-1.0
@@ -12694,21 +12731,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12722,42 +12759,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12778,28 +12815,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -13021,7 +13058,7 @@ table {
GPS_1_PROTOCOL (INT32)
-
Protocol for Main GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
값:
+
Protocol for Main GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
0: Auto detect
1: u-blox
2: MTK
@@ -13073,7 +13110,7 @@ table {
GPS_2_PROTOCOL (INT32)
-
Protocol for Secondary GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
값:
+
Protocol for Secondary GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
0: Auto detect
1: u-blox
2: MTK
@@ -13186,7 +13223,7 @@ table {
GF_ACTION (INT32)
-
Geofence violation action
Comment: Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
값:
+
Geofence violation action
Comment: Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
Values:
0: None
1: Warning
2: Hold mode
@@ -13221,7 +13258,7 @@ table {
GF_SOURCE (INT32)
-
Geofence source
Comment: Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
값:
+
Geofence source
Comment: Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
Values:
0: GPOS
1: GPS
@@ -16233,7 +16270,7 @@ table {
-
이름
설명
[Min, Max] (Incr.)
기본값
단위
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -16287,14 +16324,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -16469,7 +16506,7 @@ table {
-
이름
설명
[Min, Max] (Incr.)
기본값
단위
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -17748,7 +17785,7 @@ table {
-
이름
설명
[Min, Max] (Incr.)
기본값
단위
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -17810,6 +17847,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19561,13 +19605,6 @@ table {
이름
설명
[Min, Max] (Incr.)
기본값
단위
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19577,8 +19614,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19603,6 +19640,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19617,24 +19668,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -22062,7 +22120,7 @@ table {
IMU_INTEG_RATE (INT32)
-
IMU integration rate
Comment: The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
값:
+
IMU integration rate
Comment: The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
Values:
100: 100 Hz
200: 200 Hz
250: 250 Hz
@@ -22245,7 +22303,7 @@ table {
SENS_BOARD_ROT (INT32)
-
Board rotation
Comment: This parameter defines the rotation of the FMU board relative to the platform.
값:
+
Board rotation
Comment: This parameter defines the rotation of the FMU board relative to the platform.
Values:
0: No rotation
1: Yaw 45°
2: Yaw 90°
@@ -23327,7 +23385,7 @@ table {
SENS_MPDT9_ROT (INT32)
-
MappyDot Sensor 9 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
값:
+
MappyDot Sensor 9 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
0: No rotation
1: Yaw 45°
2: Yaw 90°
@@ -23581,7 +23639,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23734,7 +23792,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23769,6 +23827,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
값:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
값:
@@ -23790,6 +23890,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -23862,7 +23983,7 @@ table {
SER_GPS2_BAUD (INT32)
-
Baudrate for the GPS 2 Serial Port
Comment: Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
+
Baudrate for the GPS 2 Serial Port
Comment: Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
값:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -23952,7 +24073,7 @@ table {
SER_RC_BAUD (INT32)
-
Baudrate for the Radio Controller Serial Port
Comment: Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
값:
+
Baudrate for the Radio Controller Serial Port
Comment: Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24057,7 +24178,7 @@ table {
SER_TEL3_BAUD (INT32)
-
Baudrate for the TELEM 3 Serial Port
Comment: Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
+
Baudrate for the TELEM 3 Serial Port
Comment: Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
값:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24286,22 +24407,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
@@ -24501,7 +24622,7 @@ table {
SYS_FAC_CAL_MODE (INT32)
-
Enable factory calibration mode
Comment: If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
값:
+
Enable factory calibration mode
Comment: If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
Values:
0: Disabled
1: All sensors
2: All sensors except mag
@@ -24557,7 +24678,7 @@ table {
SYS_HITL (INT32)
-
Enable HITL/SIH mode on next boot
Comment: While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
값:
+
Enable HITL/SIH mode on next boot
Comment: While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
Values:
-1: external HITL
0: HITL and SIH disabled
1: HITL enabled
diff --git a/ko/advanced_config/prearm_arm_disarm.md b/ko/advanced_config/prearm_arm_disarm.md
index 841f42ffdebc..95b5024ccb6f 100644
--- a/ko/advanced_config/prearm_arm_disarm.md
+++ b/ko/advanced_config/prearm_arm_disarm.md
@@ -32,16 +32,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
시동/제동 매개변수는 [매개변수 참고 > 명령](../advanced_config/parameter_reference.md#commander) 에서 찾을 수 있습니다(`COM_ARM_*` 과 `COM_DISARM_*`으로 검색).
:::
-
-
-## 시동 제스쳐
+## Arming/Disarming Gestures {#arm_disarm_gestures}
기본적으로, 기체는 무선조종장치의 추진 제어 스틱과 방위 제어 스틱을 움직인 후 잠깐 동안 또는 1초 동안 상태를 유지하면 시동을 걸거나 시동을 해제할 수 있습니다.
- **시동:** 스로틀 최소, 요 최대
- **시동 해제 :** 스로틀 최소, 요 최소
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **모드 2**:
- _Arm:_ Left stick to bottom right.
@@ -50,15 +48,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-필요한 보류 시간은 [COM_RC_ARM_HYST](#COM_RC_ARM_HYST)에서 설정합니다.
-
-| 매개변수 | 설명 |
-| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | 시동과 시동 해제가 발생하기 전에 RC 스틱이 시동/시동 해제 위치에 있어야하는 시간 (기본값 : 1 초). |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| 매개변수 | 설명 |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | 시동과 시동 해제가 발생하기 전에 RC 스틱이 시동/시동 해제 위치에 있어야하는 시간 (기본값 : 1 초). |
-## 시동 스위치
+## 시동 스위치 {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures). 시동 해제 (시동 해제시) 또는 시동 해제 (시동시)를 위하여([명목상](#COM_RC_ARM_HYST)) 1초 동안 버튼을 누르고 있어야 합니다.
@@ -89,16 +87,16 @@ A two-position switch can also be used for arming/disarming, where the respectiv
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/ko/airframes/airframe_reference.md b/ko/airframes/airframe_reference.md
index 4f20f93eede7..a0555880fda4 100644
--- a/ko/airframes/airframe_reference.md
+++ b/ko/airframes/airframe_reference.md
@@ -595,21 +595,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/ko/assembly/_assembly.md b/ko/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/ko/assembly/_assembly.md
+++ b/ko/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/ko/assembly/assembly_fw.md b/ko/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/ko/assembly/assembly_fw.md
+++ b/ko/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/ko/assembly/assembly_mc.md b/ko/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/ko/assembly/assembly_mc.md
+++ b/ko/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/ko/assembly/assembly_vtol.md b/ko/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/ko/assembly/assembly_vtol.md
+++ b/ko/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/ko/can/index.md b/ko/can/index.md
index fa45eaa14488..cdaf5e392740 100644
--- a/ko/can/index.md
+++ b/ko/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/ko/complete_vehicles_mc/betafpv_beta75x.md b/ko/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/ko/complete_vehicles_mc/betafpv_beta75x.md
+++ b/ko/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/ko/complete_vehicles_mc/crazyflie2.md b/ko/complete_vehicles_mc/crazyflie2.md
index b73077a8283d..1aaa6679ea90 100644
--- a/ko/complete_vehicles_mc/crazyflie2.md
+++ b/ko/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/ko/complete_vehicles_mc/crazyflie21.md b/ko/complete_vehicles_mc/crazyflie21.md
index 99e211363dd8..d805a563eaca 100644
--- a/ko/complete_vehicles_mc/crazyflie21.md
+++ b/ko/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/ko/complete_vehicles_mc/nanomind110.md b/ko/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/ko/complete_vehicles_mc/nanomind110.md
+++ b/ko/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/ko/computer_vision/collision_prevention.md b/ko/computer_vision/collision_prevention.md
index e02d59ebf011..8ab560e3a9ad 100644
--- a/ko/computer_vision/collision_prevention.md
+++ b/ko/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | 기체가 센서 범위 외부의 방향으로 이동할 수 있도록 하려면 1로 설정합니다 (기본값은 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
## 알고리즘 설명
모든 센서의 데이터는 기체 주변의 36 개 섹터의 내부 표현으로 통합되며, 각 섹터에는 센서 데이터와 마지막 관찰 시점에 대한 정보 또는 해당 섹터에 대한 데이터를 사용할 수 없다는 표시가 포함됩니다. 기체가 특정 방향으로 이동하도록 명령을 받으면, 해당 방향의 반구에있는 모든 섹터를 확인하여 이동으로 인하여 기체가 장애물에 더 가까워 지는지 확인합니다. 그러한 경우에는, 차량 속도가 제한됩니다.
@@ -57,8 +55,6 @@ Configure collision prevention by [setting the following parameters](../advanced
명령된 섹터에 인접한 섹터가 상당한 여백 만큼 '더 나은' 경우, 요청된 입력 방향은 [CP_GUIDE_ANG](#CP_GUIDE_ANG)에 지정된 각도까지 수정할 수 있습니다. 이는 장애물에 걸리지 않고 장애물 주변으로 차량을 '안내'하기 위하여 사용자 입력을 미세 조정하는 데 도움이 됩니다.
-
-
### 범위 데이터 손실
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. 이렇게하면 xy의 속도 설정값이 0이 됩니다. After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -69,9 +65,7 @@ If the autopilot does not receive range data from any sensor for longer than 0.5
[CP_GO_NO_DATA = 1](#CP_GO_NO_DATA)을 활성화시에는 주의하여야 합니다. 간혹, 기체가 센서 범위 외부로 벗어날 수 있습니다. 여러 센서 중 하나라도 연결이 끊어지면 결함이있는 센서의 영역이 무시되어, 제약없이 이동할 수 있습니다.
:::
-
-
-### CP_DELAY 지연 튜닝
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. 두 지연 소스 모두 [CP_DELAY](#CP_DELAY) 매개변수를 사용하여 튜닝됩니다.
@@ -83,9 +77,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
장애물에 접근시 기체 속도가 진동하면 (즉, 감속, 가속, 감속), 지연이 너무 높게 설정됩니다.
:::
-
-
-### CP_GUIDE_ANG 가이던스 튜닝
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
차량, 환경 유형 및 조종사의 기술에 따라 각기 다른 가이던스가 필요할 수 있습니다. [CP_GUIDE_ANG](#CP_GUIDE_ANG) 매개 변수를 0으로 설정하면 안내가 비활성화되어 기체가 명령된 방향으로만 정확하게 이동합니다. 이 매개 변수를 높이면 기체가 장애물을 피할 수 있는 최적의 방향을 선택할 수 있으므로 좁은 틈새를 더 쉽게 통과하고 물체를 돌아 다니는 동안 최소 거리를 정확하게 유지할 수 있습니다.
@@ -96,9 +88,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
단 하나의 거리 센서만 전방을 향하고 있는 상태에서 기체가 '고착'된 느낌이 드는 경우, 이는 정보 부족으로 인하여 가이던스가 방향을 안전하게 조정할 수 없기 때문일 수 있습니다.
:::
-
-
-## PX4 거리 센서
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -146,9 +136,7 @@ The obstacle overlay in QGC will look like this:
[기능 PR](https://github.com/PX4/PX4-Autopilot/pull/12179)에서 필요한 수정 사항을 확인할 수 있습니다. 변경 사항에 기여하여 주십시오!
:::
-
-
-## 보조 컴퓨터 설정
+## Companion Setup {#companion}
보조 컴퓨터 또는 외부 센서를 사용하는 경우 장애물이 감지된 시기와 위치를 반영하는 [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) 메시지 스트림을 제공하여야 합니다.
@@ -164,9 +152,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo. In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## 가제보 설정
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/ko/computer_vision/obstacle_avoidance.md b/ko/computer_vision/obstacle_avoidance.md
index 0ad7dea5679c..412fe3193b81 100644
--- a/ko/computer_vision/obstacle_avoidance.md
+++ b/ko/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
장애물 회피는 [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID)를 1로 [설정](../advanced_config/parameters.md)하여 PX4 내에서 활성화됩니다.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
:::note
`COM_OBS_AVOID`는 [안전 착륙](../computer_vision/safe_landing.md) 및 PX4 [경로 계획 오프 보드 인터페이스](../computer_vision/path_planning_interface.md) (추적 인터페이스)를 사용하는 기타 기능을 활성화하여 외부 경로 계획 서비스를 PX4와 통합합니다.
:::
diff --git a/ko/computer_vision/path_planning_interface.md b/ko/computer_vision/path_planning_interface.md
index 86e0bc555dc0..85b23932d336 100644
--- a/ko/computer_vision/path_planning_interface.md
+++ b/ko/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# 경로 계획 인터페이스
-PX4는 보조 컴퓨터의 경로 계획 서비스 통합을 위하여 여러 가지 MAVLink 인터페이스를 사용합니다 (임무 수행 장애물 회피, [안전 착륙](../computer_vision/safe_landing.md) 및 향후 개발 서비스 포함).
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
+
+- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
-- 두 개의 [MAVLink 경로 계획 프로토콜](https://mavlink.io/en/services/trajectory.html) 인터페이스가 있습니다.
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS) : PX4에서 *희망 경로* 전송에 사용됨. 경로계획 소프트웨어에서 *계획 경로*에 대한 설정점 스트림을 PX4에 전송할 수 있습니다.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER)는 (또는) 경로계획 소프트웨어에서 PX4에 *계획 경로*를 베지어 곡선으로 전송할 수 있습니다. 곡선은 주어진 기간 동안 기체의 (이동) 위치 설정치를 나타냅니다.
-- [HEARTBEAT/연결 프로토콜](https://mavlink.io/en/services/heartbeat.html)은 "작동중"임을 감지합니다.
+
+- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) 및 [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE)는 각각 기체의 로컬 위치와 고도를 전송합니다.
[COM_OBS_AVOID = 1](../advanced_config/parameter_reference.md#COM_OBS_AVOID)인 경우 PX4에서 자동 모드 (착륙, 이륙, 보류, 임무, 복귀)에서 경로 계획이 활성화됩니다. 이러한 모드에서 경로 계획 소프트웨어는 PX4에 설정값을 제공할 것으로 예상됩니다. 소프트웨어가 특정 비행 모드를 지원할 수없는 경우 기체의 설정값을 미러링하여야 합니다.
diff --git a/ko/computer_vision/safe_landing.md b/ko/computer_vision/safe_landing.md
index 2855cf361528..8c065c09270a 100644
--- a/ko/computer_vision/safe_landing.md
+++ b/ko/computer_vision/safe_landing.md
@@ -33,9 +33,7 @@ Companion-side setup and configuration is provided in the [PX4/PX4-Avoidance](ht
구성 정보에는 다양한 카메라, 차량 크기 및 착륙 여부를 결정하는 높이에 대한 안전 착륙을 설정 방법이 포함하고 있습니다.
-
-
-## 안전 착륙 인터페이스
+## Safe Landing Interface {#interface}
PX4는 [임무중 장애물 회피](../computer_vision/obstacle_avoidance.md#mission_mode), [안전 착륙](../computer_vision/safe_landing.md) 및 향후 서비스를 포함하여 보조 컴퓨터의 경로 계획 서비스를 통합하기 위하여 [경로 계획 오프 보드 인터페이스](../computer_vision/path_planning_interface.md)를 사용합니다.
diff --git a/ko/concept/flight_tasks.md b/ko/concept/flight_tasks.md
index 68c8bd443371..c96811e4868b 100644
--- a/ko/concept/flight_tasks.md
+++ b/ko/concept/flight_tasks.md
@@ -172,10 +172,14 @@ The console will continuously display: `INFO [FlightTaskMyTask] FlightTaskMyTask
PX4 v1.9의 비행 모드 작동 방식 설명(Dennis Mannhart, Matthias Grob).
-@[유투브](https://youtu.be/-dkQG8YLffc)
+
+
+
### 센서에서 모터에 이르는 멀티콥터 제어 개요(PX4 가상 개발자 회의 2020)
-@[유투브](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). [슬라이드는 이 PDF을 참고하십시오.](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - 슬라이드 9와 12가 관련이 있습니다.
diff --git a/ko/config/autotune.md b/ko/config/_autotune.md
similarity index 52%
rename from ko/config/autotune.md
rename to ko/config/_autotune.md
index 40fe8b8c464c..45e0aaafca6b 100644
--- a/ko/config/autotune.md
+++ b/ko/config/_autotune.md
@@ -1,63 +1,79 @@
-# 자동 튜닝
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
+
+# Auto-tuning (Fixed-Wing)
+
+
-자동 튜닝은 안정적이고 반응성은 높은 비행에 탁월한 컨트롤러인 PX4의 속도와 자세를 자동으로 튜닝합니다(다른 튜닝은 "선택 사항"에 가깝습니다). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+자동 튜닝은 안정적이고 반응성은 높은 비행에 탁월한 컨트롤러인 PX4의 속도와 자세를 자동으로 튜닝합니다(다른 튜닝은 "선택 사항"에 가깝습니다).
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
:::warning
-비행 중에 자동 튜닝이 수행됩니다. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
+Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- 기체가 [자동 튜닝을 할 만큼 충분히 안정적인지](#pre-tuning-test) 테스트합니다.
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## 사전 튜닝 테스트
The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. 비행 구역이 깨끗하고 공간이 충분한 지 확인하기 위하여, 일반적인 비행 전 안전 점검을 실시합니다.
-1. 이륙 및 시험 준비
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. RC 송신기 롤 스틱을 사용하여 기체를 몇 도만 기울여 다음 기동을 수행하십시오. _좌회전 > 오른쪽 롤 > 중심_ (전체 기동은 약 3초가 소요됩니다). 기체는 2번의 진동 이내에서 안정화되어야 합니다.
1. 각각의 시도에서 더 큰 진폭으로 기울이면서 기동을 반복합니다. 기체가 ~20도에서 2번의 진동 내에서 안정화될 수 있으면 다음 단계로 이동합니다.
1. 피치 축에서 동일한 동작을 반복합니다. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
The test steps are:
1. [사전 튜닝 테스트](#pre-tuning-test)를 수행합니다.
-1. RC를 사용하여 이륙 및 테스트 준비합니다:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). 안전한 거리와 지상에서 4~20m에서 기체를 호버링하십시오.
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 선회 비행합니다.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ 안전한 거리와 지상에서 4~20m에서 기체를 호버링하십시오.
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ 이렇게 하면 비행기가 일정한 고도와 속도로 원을 그리며 선회 비행합니다.
+
1. Enable autotune.
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
+
+
- 1. QGroundControl에서 메뉴(**차량 설정 > PID 조정**)를 클릭합니다.
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![튜닝 설정 > 자동 튜닝 활성화](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,60 +82,99 @@ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-win
1. 경고 팝업을 읽고 **확인**을 클릭하여 튜닝을 시작합니다.
1. 드론은 먼저 빠른 롤 동작을 수행한 후 피치 및 요 동작을 수행합니다. 진행률은 _자동 조정_ 버튼 옆의 진행률 표시줄에 표시됩니다.
-1. 튜닝 적용:
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ 그런 다음, PX4는 4초 테스트를 실행하고 문제가 감지되면 튜닝 작업의 이전 상태로 복원합니다.
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). 그런 다음, PX4는 4초 테스트를 실행하고 문제가 감지되면 튜닝 작업의 이전 상태로 복원합니다.
- - **멀티콥터:** 새로운 조정 매개변수를 적용을 위하여 수동으로 착륙하고 시동을 해제합니다. 주의하여 이륙하고 차량이 안정성을 수동으로 테스트하십시오.
-
-1. 강한 진동이 발생하면, 즉시 착륙하고 아래 [문제 해결](#troubleshooting) 섹션의 지침을 따르십시오.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). 그러나 직선으로 비행하면서 테스트를 실행하면 더 큰 튜닝 안전 영역이 필요하며, 더 좋은 튜닝 결과를 보장하지 않습니다.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ 그러나 직선으로 비행하면서 테스트를 실행하면 더 큰 튜닝 안전 영역이 필요하며, 더 좋은 튜닝 결과를 보장하지 않습니다.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## 문제 해결
-#### 자동 튜닝 시작전에 테스트 기동시 드론이 진동합니다.
+### Drone oscillates when performing the pre-tuning test
+
+
+
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
+
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-- 느린 진동(초당 1회 또는 더 느린 진동): 이는 종종 대형 플랫폼에서 발생하며 자세 루프가 속도 루프에 비해 너무 빠르기 때문입니다.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- 빠른 진동(초당 1회 이상): 이는 속도 루프의 이득이 너무 높기 때문입니다.
- - **멀티콥터:** 0.02씩 `MC_[ROLL|PITCH|YAW]RATE_K` 감소
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
-#### 자동 튜닝 실패
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-#### 드론이 자동 튜닝 후 진동합니다.
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
-#### 여전히 정상 작동하지 않는 경우:
+
-Attempt manual tuning using the appropriate guides:
+### 자동 튜닝 실패
-- [Multicopter PID 튜닝 가이드](../config_mc/pid_tuning_guide_multicopter_basic.md)(수동/간단)
-- [Multicopter PID 튜닝 가이드](../config_mc/pid_tuning_guide_multicopter.md)(고급/상세)
-- [고정익 PID 튜닝 가이드](../config_fw/pid_tuning_guide_fixedwing.md)
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### 드론이 자동 튜닝 후 진동합니다.
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### 여전히 정상 작동하지 않는 경우:
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
+
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: 게인이 적용되지 않습니다. 자동 튜닝의 결과를 직접적으로 사용하지 않은 체로 검사하는 경우에 사용합니다.
- `1`: 무장 해제 후 게인을 적용합니다(멀티콥터의 경우 기본값). 이후, 조종자는 주의하여 이륙하면서 튜닝 결과를 테스트할 수 있습니다.
-- `2`: 즉시 적용됩니다(고정익의 경우 기본값). 새로운 튜닝이 적용되고, 교란이 컨트롤러로 전송된 후, 다음 4초 동안 안정성이 모니터링됩니다. 제어 루프가 불안정한 경우, 제어 게인을 즉시 이전 값으로 복원합니다. 테스트를 통과하면, 조종자는 새로운 튜닝 결과를 사용할 수 있습니다.
+- `2`: apply immediately (default for fixed-wings). 새로운 튜닝이 적용되고, 교란이 컨트롤러로 전송된 후, 다음 4초 동안 안정성이 모니터링됩니다. 제어 루프가 불안정한 경우, 제어 게인을 즉시 이전 값으로 복원합니다. 테스트를 통과하면, 조종자는 새로운 튜닝 결과를 사용할 수 있습니다.
+
+
-### Enable/Disable Autotune Switch (Fixed-Wing)
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -127,17 +182,19 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
-- 비트 `0`: 롤(기본값)
-- 비트 `1`: 피치(기본값)
-- 비트 `2`: 요
+- bit `0`: roll (default)
+- bit `1`: pitch (default)
+- bit `2`: yaw
+
+
## 개발자 SDK
@@ -162,7 +219,7 @@ Automatic tuning works well for the multicopter and fixed-wing vehicle configura
The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
### 자주 묻는 질문
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
-## 참고 항목:
+
+
+## See also
+
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
diff --git a/ko/config/autotune_fw.md b/ko/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/ko/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ko/config/autotune_mc.md b/ko/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/ko/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ko/config/autotune_vtol.md b/ko/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/ko/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/ko/config/battery.md b/ko/config/battery.md
index 7e503d2b2abd..b41f65648bbe 100644
--- a/ko/config/battery.md
+++ b/ko/config/battery.md
@@ -141,7 +141,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
기본 구성 (부하 보상 없음 등)을 사용하는 경우에는이 설정이 필요하지 않습니다.
:::
-[전류 기반 부하 보상](#current_based_load_compensation) 또는 [전류 통합](#current_integration)을 사용하는 경우 전압 분배기 당 암페어를 보정하여야 합니다.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -153,72 +153,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## 부하 보상을 통한 전압 기반 추정
-:::note
-부하 보상값을 적절하게 설정하면 배터리 용량 추정의 전압이 훨씬 더 안정적이고 상하강 비행시 값의 변화가 줄어듭니다.
-:::
-
-부하 보상은 [기본 설정](#basic_settings)을 사용할 때 발생하는 전압/예상 용량의 측정값 변동에 대응하려고 합니다. This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-:::note
-부하 보상을 사용하려면 [기본 설정](#basic_settings)을 사용하여 설정합니다. The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4는 아래 두개의 매개변수 중 하나를 [설정](../advanced_config/parameters.md)하여 활성화되는 두 가지 부하 보상 방법을 지원합니다.
-
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [전류 기반 부하 보상](#current_based_load_compensation) (권장).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [추력 기반 부하 보상](#thrust_based_load_compensation).
-
-
-
-### 전류 기반 부하 보상 (권장 방식)
-
-이 부하 보상 방법은 부하를 결정하기 위해 전류를 측정합니다. [추력 기반 부하 보상](#thrust_based_load_compensation)보다 훨씬 정확하지만 전류 센서가 필요합니다.
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-이 기능을 활성화하려면:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-배터리의 내부 저항을 측정 할 수있는 LiPo 충전기가 있습니다.
-일반적인 값은 셀당 5mΩ이지만 방전 전류 등급, 수명 및 셀 상태에 따라 달라질 수 있습니다.
-:::
-
-1. 기본 설정 화면에서 [전압 분배기당 전류값](#current_divider)을 보정하여야 합니다.
-
-
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-### 추력 기반 부하 보상
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). 기본 설정 화면에서 [전압 분배기당 전류값](#current_divider)을 보정하여야 합니다.
-이 부하 보상 방법은 모터에 할당된 총 추력을 기준으로 부하를 추정합니다.
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. 차량에 전류 센서가있는 경우에는 [전류 기반 부하 보상](#current_based_load_compensation) 방법을 사용하십시오.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-이 기능을 활성화하려면:
-
-1. 매개변수 [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP)를 최대 추력 부하에서 셀에 표시되는 전압 강하량으로 설정합니다.
-
## 전류 통합과 융합된 전압 기반 추정
-:::note
-이것은 상대적인 배터리 소모량을 측정하는 가장 정확한 방법입니다.
-부팅시마다 새로 충전한 배터리를 정확하게 설정하면, 추정 품질이 스마트 배터리의 품질과 비슷해질 것입니다 (이론적으로 정확한 잔여 비행 시간 추정이 가능합니다).
-:::
+This method is the most accurate way to measure relative battery consumption. 부팅시마다 새로 충전한 배터리를 정확하게 설정하면, 추정 품질이 스마트 배터리의 품질과 비슷해질 것입니다 (이론적으로 정확한 잔여 비행 시간 추정이 가능합니다).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. 전류를 정확하게 측정할 수있는 장치가 필요합니다.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. 전류를 정확하게 측정할 수있는 장치가 필요합니다.
이 기능을 활성화하려면:
-1. 먼저 [전류 기반 부하 보상](#current_based_load_compensation)을 사용하여 정확한 전압 추정을 설정합니다.
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
[전압 분배기 당 전류](#current_divider) 설정 보정 포함.
:::
-1. 매개변수 [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY)를 라벨에 인쇄된 배터리 용량의 약 90 %로 설정합니다.
+2. 매개변수 [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY)를 라벨에 인쇄된 배터리 용량의 약 90 %로 설정합니다.
:::note
부하 보상값을 적절하게 설정하면 배터리 용량 추정의 전압이 훨씬 더 안정적이며 상하강 비행시 값의 변화가 적습니다.
diff --git a/ko/config/flight_mode.md b/ko/config/flight_mode.md
index 6bafdbaa3c3a..f5b70381600e 100644
--- a/ko/config/flight_mode.md
+++ b/ko/config/flight_mode.md
@@ -82,7 +82,7 @@ FrSky Taranis에서 이 프로세스는 두 개의 실제 스위치 위치의
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/ko/config/index.md b/ko/config/index.md
index e33c5a409c89..70cd623a4a82 100644
--- a/ko/config/index.md
+++ b/ko/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## 영상 가이드
[유투브](https://youtu.be/91VGmdSlbo4)
-@설정에 대한 도움이 필요한 경우 [QGroundControl 지원 포럼 ](https://discuss.px4.io//c/qgroundcontrol/qgroundcontrol-usage)에서 도움을 요청할 수 있습니다
+
## 지원
diff --git a/ko/config/safety.md b/ko/config/safety.md
index 40fbd20601e1..f284e8489867 100644
--- a/ko/config/safety.md
+++ b/ko/config/safety.md
@@ -2,9 +2,15 @@
PX4에는 문제 발생시에 기체를 보호하고 복구하는 다양한 안전장치들을 제공합니다.
-- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. 기타는 [매개 변수](#other-safety-settings)를 통하여 설정합니다.
+- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](../advanced_config/parameters.md).
- 리모콘의 [안전 스위치](#emergency-switches)를 사용하여 문제 발생시 즉시 모터를 중지하거나 기체를 원위치로 복귀시킬 수 있습니다.
+## QGroundControl 안전 설정
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## 안전장치 기능
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action. This gives the user time to notice what is happening and override the failsafe if needed. In most cases this can be done by using RC or a GCS to switch modes (note that during the failsafe-hold, moving the RC sticks does not trigger an override).
@@ -27,32 +33,67 @@ If multiple failsafes are triggered, the more severe action is taken. For exampl
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl 안전 설정
+### 복귀 설정
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
+
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![안전 - 귀한 설정 (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
+
+### 착륙 모드 설정
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
-### 배터리 부족 안전장치
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![안전 - 착륙 모드 설정(QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
-하나 이상의 배터리의 용량이 레벨값 아래로 떨어지면 배터리 부족 안전 장치가 작동합니다.
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![안전 - 배터리 (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-가장 일반적인 설정은 위와 같이 값과 작업을 설정하는 것입니다 (`경고 > 페일 세이프 > 긴급` 사용). 이 설정을 사용하면 안전 장치가 경고를 표시한 다음 원위치로 귀환하며, 용량이 일정 수준 아래로 떨어지면 최종적으로 착륙합니다.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+설정에 관련된 기본 매개변수는 다음과 같습니다.
+
+| 설정 | 매개변수 | 설명 |
+| ------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
+| 안전장치 동작 | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| 배터리 경고 수준 | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | 경고 (또는 기타 조치)에 대한 용량을 백분율로 설정합니다. |
+| 배터리 안정장치 수준 | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | 귀환 조치 (또는 단일 조치가 선택된 경우 다른 조치)에 대한 용량에 대한 백분율. |
+| 배터리 비상 수준 | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | 즉시 착륙시의 용량의 백분율. |
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+### Flight Time Failsafes
+
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
설정에 관련된 기본 매개변수는 다음과 같습니다.
-| 설정 | 매개변수 | 설명 |
-| ------------------------------------ | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
-| 안전장치 동작 | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | 용량이 [배터리 안전장치 동작 수준](#BAT_CRIT_THR) 아래로 내려가면 경고, 귀환 또는 착륙, 또는 경고, 귀환, 아래의 각 수준 설정에 따라 착륙합니다. |
-| 배터리 경고 수준 | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | 경고 (또는 기타 조치)에 대한 용량을 백분율로 설정합니다. |
-| 배터리 안정장치 수준 | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | 귀환 조치 (또는 단일 조치가 선택된 경우 다른 조치)에 대한 용량에 대한 백분율. |
-| 배터리 비상 수준 | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | 즉시 착륙시의 용량의 백분율. |
+| 설정 | 매개변수 | 설명 |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,25 +108,25 @@ Additional (and underlying) parameter settings are shown below.
| 매개변수 | 설정 | 설명 |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | 안전장치 동작 | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC 손실 예외 | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### 데이터 연결불량 안전장치
+## 데이터 연결불량 안전장치
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
![안전 - 데이터 링크 손실 (QGC)](../../assets/qgc/setup/safety/safety_data_link_loss.png)
-설정에 관련된 기본 매개변수는 다음과 같습니다.
+The settings and underlying parameters are shown below.
| 설정 | 매개변수 | 설명 |
| -------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------- |
| 데이터 연결불량 시간 초과 | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | 데이터 연결이 끊어진 후 안전 장치가 동작하기 전까지의 시간입니다. |
| 안전장치 동작 | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence 안전장치
+## Geofence 안전장치
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -115,46 +156,9 @@ The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimet
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| 비행 종료용 회로 차단기 | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | 비행 종료 작업을 활성화/비활성화합니다 (기본적으로 비활성화 됨). |
-### 복귀 설정
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. 이 섹션에서는 귀환 후 착륙/배회 동작을 설정 방법에 대하여 설명합니다.
+## Position (GNSS) Loss Failsafe
-![안전 - 귀한 설정 (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-설정 기본 매개변수는 다음과 같습니다:
-
-| 설정 | 매개변수 | 설명 |
-| ---------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| 고도 상승 | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | 기체은 귀환을 위해이 최소 높이 (아래에있는 경우)까지 상승합니다. |
-| 기본 동작 | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| 정지비행 고도 | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | 귀환시 배회를 선택하면 기체의 유지 고도를 설정할 수 있습니다. |
-| 정지비행 시간 | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | 배회후 착륙이 선택하면 기체의 정지 비행 시간을 설정합니다. |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). 음수이면 기체는 즉시 착륙합니다. 더 자세한 정보는 [복귀 모드](../flight_modes/return.md)를 참고하십시오.
-:::
-
-### 착륙 모드 설정
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). 이 섹션에서는 착륙후 기체의 자동 시동 방법과 시간 설정 방법을 설명합니다. 멀티콥터에서만 하강 속도를 추가로 설정할 수 있습니다.
-
-![안전 - 착륙 모드 설정(QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-설정 기본 매개변수는 다음과 같습니다:
-
-| 설정 | 매개변수 | 설명 |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------- |
-| 착륙후 시동 꺼기 | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | 착륙후 시동을 끄려면 확인란을 선택합니다. 값은 0 이상으로 1초 미만의 값도 설정할 수 있습니다. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## 기타 안전 장치 설정
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### 위치(GPS) 손실 안전 장치
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
실패 동작은 RC 제어 여부 (및 고도 정보)에 따라 [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL)에 의해 결정됩니다.
@@ -177,9 +181,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). 비활성화 하려면 0으로 설정하십시오. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | 선회 비행시 고정 롤/뱅크 각도. |
-### 오프 보드 안전 장치
+## 오프 보드 안전 장치
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. RC 연결을 사용 여부에 따라 다른 안전 장치의 작동을 지정할 수 있습니다.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). RC 연결을 사용 여부에 따라 다른 안전 장치의 작동을 지정할 수 있습니다.
관련된 매개 변수는 다음과 같습니다.
@@ -188,13 +192,7 @@ The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while und
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | 오프 보드 단락이후 안전장치 동작 지연 여부 설정. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | RC를 사용할 수있는 경우 비상 안전조치 : 위치 모드, 고도 모드, 수동 모드, 귀환 모드, 착륙 모드, 대기 모드. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### 교통 회피 안전 장치
+## 교통 회피 안전 장치
교통 회피 안전 장치를 사용하면 PX4가 미션 중에 transponders 데이터(예 : [ADSB transponder](../advanced_features/traffic_avoidance_adsb.md)에서)에 응답할 수 있습니다.
@@ -204,7 +202,7 @@ As these are not strictly speaking "failsafes" they are documented in [Mission M
| ------------------------------------------------------------------------------ | ----------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | 비상 안전 장치를 설정합니다 : 비활성화, 경고, 귀환 모드, 착륙 모드. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -223,6 +221,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| 매개변수 | 설명 |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## 고장 감지기
고장 감지기를 사용하여 차량의 예기치 않게 전복되거나 외부의 고장 감지 시스템에 따른 보호 조치를 할 수 있습니다.
@@ -264,6 +272,12 @@ The failure detector is active in all vehicle types and modes, except for those
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | AUX5 또는 MAIN5 (보드에 따라 다름)에서 PWM 입력을 활성화하여 외부 자동 작동 시스템 (ATS)에서 안전 장치를 연결합니다. 기본값 : 비활성화 됨. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | 안전장치 연결을 위한 외부 자동 작동 시스템의 PWM 임계치입니다. 기본값: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## 비상 스위치
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -303,9 +317,11 @@ The arm/disarm switch immediately disarms (stop) motors for those [flight modes]
귀환 스위치를 사용하여 즉시 [귀환 모드](../flight_modes/return.md)로 전환합니다.
-## 기타 안전 설정
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### 자동 비시동 제한 시간
+### Auto-Disarming Timeouts
이륙 속도가 너무 느리거나, 착륙 후 기체의 시동을 자동으로 꺼기 위하여 시간 제한을 설정할 수 있습니다(기체의 시동을 꺼면 모터의 전원이 제거되므로 프로펠러가 동작하지 않습니다).
@@ -316,6 +332,22 @@ The arm/disarm switch immediately disarms (stop) motors for those [flight modes]
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | 착륙후 자동 시동 꺼기 대기 시간 |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | 기체가 이륙이 너무 더딘 경우 자동 시동 꺼기 대기 시간 |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## 추가 정보
- [QGroundControl 사용 설명서 > 안전 설정](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/ko/config_fw/index.md b/ko/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/ko/config_fw/index.md
+++ b/ko/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/ko/config_fw/pid_tuning_guide_fixedwing.md b/ko/config_fw/pid_tuning_guide_fixedwing.md
index 44821b2ddbe3..3d968cac2d39 100644
--- a/ko/config_fw/pid_tuning_guide_fixedwing.md
+++ b/ko/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
-::: info [Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
## Preconditions
diff --git a/ko/config_mc/index.md b/ko/config_mc/index.md
index 378944a92526..6f9bb407a758 100644
--- a/ko/config_mc/index.md
+++ b/ko/config_mc/index.md
@@ -102,16 +102,19 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/ko/config_mc/pid_tuning_guide_multicopter.md b/ko/config_mc/pid_tuning_guide_multicopter.md
index b5e9417ec339..3a1a0b404a74 100644
--- a/ko/config_mc/pid_tuning_guide_multicopter.md
+++ b/ko/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
PX4 컨트롤러의 튜닝 방법에 대한 자세한 정보를 제공합니다.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles *around the hover thrust point*, as the approach described is intuitive, easy, and fast. 이것은 대부분의 기체에 필요합니다.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. 이것은 대부분의 기체에 필요합니다.
:::
호버 추력 지점 주변의 튜닝이 충분하지 않을 때 이 가이드를 사용하십시오 (예 : 더 높은 추력에서 비선형성 및 진동이 방생하는 기체). 기본 튜닝을 충분히 이해하는 것이 [airmode](#airmode-mixer-saturation) 설정 사용법을 이해하는데 유용합니다.
diff --git a/ko/config_mc/pid_tuning_guide_multicopter_basic.md b/ko/config_mc/pid_tuning_guide_multicopter_basic.md
index 39912182aa1a..6eb8a1cedca1 100644
--- a/ko/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/ko/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -2,7 +2,8 @@
이 튜토리얼은 모든 [멀티콥터 설정](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo 등)에 대해 PX4에서 PID 루프를 조정하는 방법을 설명합니다.
-비교적 작은 하드웨어와 어셈블리 변경이 최적의 비행 튜닝 게인에 영향을 미치므로, 새로운 기체 설정에 튜닝이 권장됩니다. 예를 들어, 새로운 ESC 또는 모터에는 다른 튜닝 게인이 필요합니다.
+:::tip
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. 예를 들어, 새로운 ESC 또는 모터에는 다른 튜닝 게인이 필요합니다.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. 모든 새 차량 설정이 _최고의_ 성능을 얻을 수 있도록 조정하는 것이 좋습니다. 상대적으로 작은 하드웨어와 조립품 변경이 최적의 비행을 위해 필요한 조정 이득에 영향을 줄 수 있기 때문입니다. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/ko/contribute/docs.md b/ko/contribute/docs.md
index b0872ee789a9..fbb6c3c638b0 100644
--- a/ko/contribute/docs.md
+++ b/ko/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## 어디에서 변경 사항을 추가합니까?
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/ko/debug/gdb_hardfault.md b/ko/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/ko/debug/gdb_hardfault.md
+++ b/ko/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/ko/dev_airframes/adding_a_new_frame.md b/ko/dev_airframes/adding_a_new_frame.md
index 3e464a07f31f..02d915422183 100644
--- a/ko/dev_airframes/adding_a_new_frame.md
+++ b/ko/dev_airframes/adding_a_new_frame.md
@@ -302,10 +302,9 @@ For a new frame belonging to an existing group, you don't need to do anything mo
구성 파일에 지정될 매개변수를 조정하는 방법을 설명합니다.
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/ko/dev_setup/building_px4.md b/ko/dev_setup/building_px4.md
index 9263d2bfb7e8..26eaa859e54a 100644
--- a/ko/dev_setup/building_px4.md
+++ b/ko/dev_setup/building_px4.md
@@ -181,7 +181,7 @@ The `region 'flash' overflowed by XXXX bytes` error indicates that the firmware
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. In this case, install the version specified in the [Developer Toolchain](../dev_setup/dev_env.md) instructions.
-MacOS는 실행 중인 모든 프로세스에서 기본적으로 최대 256개의 열린 파일을 허용합니다. PX4 빌드 시스템은 많은 수의 파일을 오픈하므로, 이 갯수를 초과할 수 있습니다.
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. PX4 빌드 시스템은 많은 수의 파일을 오픈하므로, 이 갯수를 초과할 수 있습니다.
### macOS: 열린 파일이 너무 많음 오류
diff --git a/ko/dev_setup/dev_env_linux_ubuntu.md b/ko/dev_setup/dev_env_linux_ubuntu.md
index 4c1b1a584b4d..49f6342ca20f 100644
--- a/ko/dev_setup/dev_env_linux_ubuntu.md
+++ b/ko/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/ko/dev_setup/dev_env_mac.md b/ko/dev_setup/dev_env_mac.md
index 9ae756d1fd65..ffc8d972d996 100644
--- a/ko/dev_setup/dev_env_mac.md
+++ b/ko/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@
## 영상 가이드
-@[유투브](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/ko/dev_setup/qtcreator.md b/ko/dev_setup/qtcreator.md
index 106320b64e98..78e922b99ace 100644
--- a/ko/dev_setup/qtcreator.md
+++ b/ko/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt Creator는 클릭 가능한 기호, 전체 코드베이스의 자동 완성,
아래 비디오는 사용 방법을 보여줍니다.
-@[유투브](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE 설정
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-설정이 종료되었습니다. Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+설정이 종료되었습니다. Start _Qt Creator_ and then set up the project to build.
-@[유투브](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/ko/dronecan/ark_flow.md b/ko/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/ko/dronecan/ark_flow.md
+++ b/ko/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/ko/dronecan/escs.md b/ko/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/ko/dronecan/escs.md
+++ b/ko/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/ko/dronecan/index.md b/ko/dronecan/index.md
index 4f819530a620..7289f73e7ac8 100644
--- a/ko/dronecan/index.md
+++ b/ko/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/ko/dronecan/raccoonlab_nodes.md b/ko/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/ko/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ko/dronecan/raccoonlab_power.md b/ko/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/ko/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ko/dronecan/sapog.md b/ko/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/ko/dronecan/sapog.md
+++ b/ko/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/ko/features_mc/index.md b/ko/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/ko/features_mc/index.md
+++ b/ko/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/ko/flight_controller/airlink.md b/ko/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/ko/flight_controller/airlink.md
+++ b/ko/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/ko/flight_controller/autopilot_pixhawk_standard.md b/ko/flight_controller/autopilot_pixhawk_standard.md
index 6a35d2faa850..1f6b85c1e411 100644
--- a/ko/flight_controller/autopilot_pixhawk_standard.md
+++ b/ko/flight_controller/autopilot_pixhawk_standard.md
@@ -12,6 +12,7 @@
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/ko/flight_controller/index.md b/ko/flight_controller/index.md
index b5c51bb932e3..98796988b610 100644
--- a/ko/flight_controller/index.md
+++ b/ko/flight_controller/index.md
@@ -33,6 +33,7 @@ This section provides information about how to choose the flight controller, mou
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [제조사지원 자동항법장치](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/ko/flight_controller/pixhawk.md b/ko/flight_controller/pixhawk.md
index 098fdb7004e4..5f170f9c3298 100644
--- a/ko/flight_controller/pixhawk.md
+++ b/ko/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ mRo Pixhawk 주문:
- 3.3 및 6.6V ADC 입력
- 내부 microUSB 포트 및 외부 microUSB 포트 확장
-@[유투브](https://youtu.be/gCCC5A-Bvv4)
+
### 전력 시스템 및 보호
diff --git a/ko/flight_controller/raccoonlab_fmu6x.md b/ko/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/ko/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/ko/flight_modes_fw/acro.md b/ko/flight_modes_fw/acro.md
index 575e2dc21d36..2e7793f0f0ca 100644
--- a/ko/flight_modes_fw/acro.md
+++ b/ko/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ Roll-pitch-yaw stick inputs are translated to angular rate commands that are sta
## Parameters
-| Parameter | Description |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/ko/flight_modes_fw/takeoff.md b/ko/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/ko/flight_modes_fw/takeoff.md
+++ b/ko/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/ko/flight_modes_mc/follow_me.md b/ko/flight_modes_mc/follow_me.md
index 882861970fcc..3c0c780c327b 100644
--- a/ko/flight_modes_mc/follow_me.md
+++ b/ko/flight_modes_mc/follow_me.md
@@ -42,14 +42,14 @@ Users can adjust the follow angle, height and distance using an RC controller as
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode. If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
:::warning
-**Follow-me mode** does not implement any type of obstacle avoidance. 이 모드를 사용시에는 특별한 주의가 필요합니다.
+**Follow-me mode** does not implement any type of obstacle avoidance. Special care must be taken when this mode is used.
:::
The following flight precautions should be observed:
@@ -65,7 +65,7 @@ The following flight precautions should be observed:
![Follow-me QGC Example](../../assets/flight_modes/followme_qgc_example.jpg)
-_Follow Me_ mode is supported using _QGroundControl_ as a target on ground station hardware that has a GPS module. 권장 구성은 텔레메트리를 사용하는 USB OTG 지원 Android 장치입니다.
+_Follow Me_ mode is supported using _QGroundControl_ as a target on ground station hardware that has a GPS module. The recommended configuration is a USB OTG-capable Android device with two telemetry radios.
To setup _Follow Me_ mode:
@@ -83,7 +83,7 @@ To setup _Follow Me_ mode:
At this point you can start moving, and the drone will be following you.
-이 모드는 다음 Android 장치에서 테스트되었습니다.
+The mode has been tested on the following Android devices:
- Galaxy S10
- - 넥서스 5 - Nexus 7 태블릿
@@ -149,7 +149,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## 알려진 이슈들
diff --git a/ko/flight_modes_mc/mission.md b/ko/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/ko/flight_modes_mc/mission.md
+++ b/ko/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/ko/flight_modes_mc/position.md b/ko/flight_modes_mc/position.md
index 4b845369ec13..5f390d035389 100644
--- a/ko/flight_modes_mc/position.md
+++ b/ko/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
-Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
+Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/ko/flight_modes_rover/index.md b/ko/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/ko/flight_modes_rover/index.md
+++ b/ko/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/ko/flying/pre_flight_checks.md b/ko/flying/pre_flight_checks.md
index ab6f89516872..14ef3a79acd8 100644
--- a/ko/flying/pre_flight_checks.md
+++ b/ko/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# 센서와 추정기 비행 사전 점검
+# QGroundControl Flight-Readiness Status
-PX4는 비행전에 센서들의 품질과 추정기를 체크하여 시동과 비행에 충분한 위치 추정 가능 여부를 확인합니다. 사전 검사 여부는 [ COM*ARM*](../advanced_config/parameter_reference.md#commander) 매개변수에 저장됩니다.
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-모든 비행전 오류는 *QGroundControl*의 `PREFLIGHT FAIL` 메시지로 보고됩니다. [로그](../getting_started/flight_reporting.md)의 `estimator_status.gps_check_fail_flags` 메시지는 정확하지 않은 GPS 데이터를 나타냅니다.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-아래 섹션에서는 오류, 원인, 해결 방법 및 비행사전검사와 관련된 매개 변수를 설명합니다.
+## Flight Readiness Status
-## EKF 비행 사전 검사와 오류 메시지
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-다음 오류 (관련 검사 및 매개 변수 포함)는 [EKF](../advanced_config/tuning_the_ecl_ekf.md)에 의하여 보고되고, *QGroundControl*에 전송됩니다.
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* 이 오류는 IMU와 높이 측정 데이터가 불일치시에 발생합니다.
-* 가속계와 자이로를 보정하고 기체를 재부팅하십시오. 오류가 계속 발생하면, 고도 센서에 문제가 있는 지 확인하십시오.
-* 검사는 [ COM_ARM_EKF_HGT ](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) 매개변수에 의해 제어됩니다.
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* 이 오류는 IMU와 GPS 속도 측정 데이터가 불일치시에 발생합니다.
-* 비현실적인 데이터 점프에 대한 GPS 속도 데이터를 확인합니다. GPS 품질이 정상이면, 가속 센서와 자이로를 보정후에 차량을 재부팅하십시오.
-* 검사는 [ COM_ARM_EKF_VEL ](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) 매개변수에 의해 제어됩니다.
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* 이 오류는 IMU와 위치 측정 데이터(GPS 또는 외부 비전)가 불일치시에 발생합니다.
-* 비현실적인 데이터 점프에 대한 위치 센서 데이터를 확인하십시오. 데이터 품질이 정상이면, 가속 센서와 자이로를 보정후에 차량을 재부팅하십시오.
-* 검사는 [ COM_ARM_EKF_POS ](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) 매개변수에 의해 제어됩니다.
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF 비행 사전 검사와 오류 메시지
-* 이 오류는 자이로에서 추정된 요 각도와 자력계 또는 외부 비전 시스템의 요 각도의 불일치시에 발생합니다.
-* IMU 데이터에서 큰 요 속도 오프셋을 확인하고 자력계 정렬 및 교정을 확인하십시오.
-* 검사는 [ COM_ARM_EKF_YAW ](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) 매개변수에 의해 제어됩니다.
-* 기본값 0.5는 내비게이션 편 요각과 자기 편 요각 (자 기계 또는 외부 비전) 간의 차이가 EKF에서 허용하는 최대치의 50 %를 넘지 않도록 허용하고, 비행 시작시 오류 증가에 대한 약간의 여유를 제공합니다.
-* 요 자이로의 오프셋이 크거나 자기 간섭 또는 자력계 보정이 불량한 상태에서 차량을 이동하거나 회전하면 실패할 수 있습니다.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### 사전 확인 실패 : EKF 높은 IMU 액셀 바이어스 :
@@ -44,7 +52,7 @@ PX4는 비행전에 센서들의 품질과 추정기를 체크하여 시동과
-EKF IMU 가속 바이어스는 IMU 센서에서 보고한 측정된 가속도와 EKF2 추정기에서 보고한 예상 가속도 간의 차이입니다(IMU, GNSS, 유량 센서 등을 포함한 여러 소스의 위치 및/또는 속도 데이터를 융합합니다). 이 바이어스는 센서가 켜져 있을 때("켜기 바이어스") 그리고 시간이 지남에 따라 노이즈 및 온도 차이("실행 바이어스")로 인해 변경될 수 있습니다. 숫자는 일반적으로 매우 작아(0에 가까움) 다른 소스의 측정이 모두 가속도에 동의함을 나타냅니다.
+EKF IMU 가속 바이어스는 IMU 센서에서 보고한 측정된 가속도와 EKF2 추정기에서 보고한 예상 가속도 간의 차이입니다(IMU, GNSS, 유량 센서 등을 포함한 여러 소스의 위치 및/또는 속도 데이터를 융합합니다). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). 숫자는 일반적으로 매우 작아(0에 가까움) 다른 소스의 측정이 모두 가속도에 동의함을 나타냅니다.
경고는 바이어스가 임의의 임계값보다 높다는 것을 나타냅니다(기체 이륙 불가). 가속도계 또는 열 보정이 필요하다는 신호일 가능성이 높습니다.
@@ -63,47 +71,45 @@ EKF IMU 가속 바이어스는 IMU 센서에서 보고한 측정된 가속도와
추정기 성능이 향상될 수 있는 데이터가 있는 경우에만 시도합니다.
:::
-| 매개변수 | 설명 |
-| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | EKF가 추정할 수 있는 최대 바이어스 값(이 값을 초과하면 바이어스가 잘리고 EKF는 자체 재설정을 시도하며 다중 EKF 시스템에서 작동하는 IMU가 있는 더 건강한 EKF로 전환할 수도 있음). 자동 조종 장치는 비행 전 점검 및 이륙 방지 동안 추정된 편향이 이 매개변수의 75%를 초과하는 경우 "높은 가속 편향"을 보고합니다. 0.4m/s2의 현재 값은 이미 상당히 높으며, 이를 높이면 자동조종장치가 문제를 감지할 가능성이 줄어듭니다. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | 초기 바이어스 불확실성(완벽하게 보정된 경우 센서의 "켜기 바이어스"와 관련됨). 일부 사용자는 센서가 잘 보정되어 있고 켜기 바이어스가 작다는 것을 알고 있으면 이 값을 줄이고 싶어할 수 있습니다. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | 가속도계의 예상되는 "실행 중 바이어스(in-run bias)" 또는 "바이어스가 초당 얼마나 빨리 변경될 것으로 예상합니까?" 기본적으로 이 값은 온도 변화로 인한 드리프트를 포함할 만큼 충분히 큽니다. IMU가 온도 보정된 경우 사용자는 이 매개변수를 줄이기를 원할 수 있습니다. |
-| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | 추정자가 가속도 편향을 학습하려고 시도하는 최대 가속도입니다. 이는 추정자가 비선형성 및 스케일 팩터 오류로 인한 편향을 학습하는 것을 방지하기 위한 것입니다. (거의 어떤 사용자도 자신이 하는 일을 정말로 알고 있는 경우를 제외하고는 해당 매개변수를 변경할 필요가 없습니다.) |
-
+| 매개변수 | 설명 |
+| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | EKF가 추정할 수 있는 최대 바이어스 값(이 값을 초과하면 바이어스가 잘리고 EKF는 자체 재설정을 시도하며 다중 EKF 시스템에서 작동하는 IMU가 있는 더 건강한 EKF로 전환할 수도 있음). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. 0.4m/s2의 현재 값은 이미 상당히 높으며, 이를 높이면 자동조종장치가 문제를 감지할 가능성이 줄어듭니다. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). 일부 사용자는 센서가 잘 보정되어 있고 켜기 바이어스가 작다는 것을 알고 있으면 이 값을 줄이고 싶어할 수 있습니다. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". 기본적으로 이 값은 온도 변화로 인한 드리프트를 포함할 만큼 충분히 큽니다. IMU가 온도 보정된 경우 사용자는 이 매개변수를 줄이기를 원할 수 있습니다. |
+| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | 추정자가 가속도 편향을 학습하려고 시도하는 최대 가속도입니다. 이는 추정자가 비선형성 및 스케일 팩터 오류로 인한 편향을 학습하는 것을 방지하기 위한 것입니다. (거의 어떤 사용자도 자신이 하는 일을 정말로 알고 있는 경우를 제외하고는 해당 매개변수를 변경할 필요가 없습니다.) |
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* 이 오류는 EKF에 의해 추정 된 IMU 자이로 바이어스가 과도할 때 발생합니다.
-* 이 경우 과도하다는 것은 바이어스 추정치가 10deg/s(구성된 제한의 절반, 20deg/s로 하드코딩됨)를 초과함을 의미합니다.
+- 이 오류는 EKF에 의해 추정 된 IMU 자이로 바이어스가 과도할 때 발생합니다.
+- 이 경우 과도하다는 것은 바이어스 추정치가 10deg/s(구성된 제한의 절반, 20deg/s로 하드코딩됨)를 초과함을 의미합니다.
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* 이 오류 메시지는 다른 IMU의 가속 측정 불일치시에 발생합니다.
-* 이 검사는 IMU가 두 개 이상인 보드에만 적용됩니다.
-* 검사는 [ COM_ARM_IMU_ACC ](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) 매개변수에 의해 제어됩니다.
+- 이 오류 메시지는 다른 IMU의 가속 측정 불일치시에 발생합니다.
+- 이 검사는 IMU가 두 개 이상인 보드에만 적용됩니다.
+- 검사는 [ COM_ARM_IMU_ACC ](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) 매개변수에 의해 제어됩니다.
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* 이 오류 메시지는 다른 IMU의 각속도 측정 불일치시에 발생합니다.
-* 이 검사는 IMU가 두 개 이상인 보드에만 적용됩니다.
-* 검사는 [ COM_ARM_IMU_GYR ](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) 매개변수에 의해 제어됩니다.
+- 이 오류 메시지는 다른 IMU의 각속도 측정 불일치시에 발생합니다.
+- 이 검사는 IMU가 두 개 이상인 보드에만 적용됩니다.
+- 검사는 [ COM_ARM_IMU_GYR ](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) 매개변수에 의해 제어됩니다.
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* 이 오류 메시지는 다른 나침반 센서의 측정 차이가 과도한 경우에 생성됩니다.
-* 잘못된 교정, 방향 또는 자기 간섭을 나타냅니다.
-* 이 검사는 두 개 이상의 나침반이 연결된 경우에만 해당됩니다.
-* 검사는 [ COM_ARM_MAG_ANG ](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) 매개변수에 의해 제어됩니다.
+- 이 오류 메시지는 다른 나침반 센서의 측정 차이가 과도한 경우에 생성됩니다.
+- 잘못된 교정, 방향 또는 자기 간섭을 나타냅니다.
+- 이 검사는 두 개 이상의 나침반이 연결된 경우에만 해당됩니다.
+- 검사는 [ COM_ARM_MAG_ANG ](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) 매개변수에 의해 제어됩니다.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* 이 오류 메시지는 수평 GPS 속도, 자기 편 요각, 수직 GPS 속도 또는 수직 위치 센서 (기본적으로 Baro이지만 비표준 매개 변수가 사용되는 경우 거리 측정기 또는 GPS 일 수 있음)의 혁신 크기가 과도한 경우 발생합니다. 혁신은 관성 항법 계산에 의한 예측치와 센서 측정치의 차이입니다.
-* 사용자는 로그 파일에서 혁신 수준을 확인하여 원인을 파악하여야합니다. `ekf2_innovations` 메시지에서 찾을 수 있습니다. 일반적으로 많이 일어나는 문제들은 아래와 같습니다.
- * 워밍업시 IMU 드리프트. 자동 조종 장치를 다시 시작하면 문제를 해결할 수 있습니다. IMU 가속도와 및 자이로 보정이 필요할 수 있습니다.
- * 차량 움직임과 관련된 인접 자기 간섭. 이동중인 차량을 해결하고 대기 중이거나 전원을 다시 켜십시오.
- * 차량 움직임과 관련된 잘못된 자력계 보정. 재보정으로 문제를 해결하십시오.
- * 시작시 초기 충격 또는 빠른 움직임으로 인해 관성 탐색 솔루션이 잘못되었습니다. 차량을 다시 시작하고, 처음 5 초 동안 움직임을 최소화하여 문제를 해결하십시오.
-
+- 이 오류 메시지는 수평 GPS 속도, 자기 편 요각, 수직 GPS 속도 또는 수직 위치 센서 (기본적으로 Baro이지만 비표준 매개 변수가 사용되는 경우 거리 측정기 또는 GPS 일 수 있음)의 혁신 크기가 과도한 경우 발생합니다. 혁신은 관성 항법 계산에 의한 예측치와 센서 측정치의 차이입니다.
+- 사용자는 로그 파일에서 혁신 수준을 확인하여 원인을 파악하여야합니다. `ekf2_innovations` 메시지에서 찾을 수 있습니다. 일반적으로 많이 일어나는 문제들은 아래와 같습니다.
+ - 워밍업시 IMU 드리프트. 자동 조종 장치를 다시 시작하면 문제를 해결할 수 있습니다. IMU 가속도와 및 자이로 보정이 필요할 수 있습니다.
+ - 차량 움직임과 관련된 인접 자기 간섭. 이동중인 차량을 해결하고 대기 중이거나 전원을 다시 켜십시오.
+ - 차량 움직임과 관련된 잘못된 자력계 보정. 재보정으로 문제를 해결하십시오.
+ - 시작시 초기 충격 또는 빠른 움직임으로 인해 관성 탐색 솔루션이 잘못되었습니다. 차량을 다시 시작하고, 처음 5 초 동안 움직임을 최소화하여 문제를 해결하십시오.
## 기타 매개 변수:
@@ -112,6 +118,6 @@ EKF IMU 가속 바이어스는 IMU 센서에서 보고한 측정된 가속도와
#### COM_ARM_WO_GPS
[ COM_ARM_WO_GPS ](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) 매개변수는 전역위치 추정 없이 준비허용 여부를 제어합니다.
-- `1` (기본값) : 위치 정보가 필요하지 않은 비행 모드에 대한 위치추정 없는 준비를 *허용합니다*.
-- `0`: EKF가 글로벌 위치 추정치를 제공하고, EFK GPS 품질 검사를 통과한 경우에만 준비가 허용됩니다.
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: EKF가 글로벌 위치 추정치를 제공하고, EFK GPS 품질 검사를 통과한 경우에만 준비가 허용됩니다.
diff --git a/ko/frames_autogyro/thunderfly_auto_g2.md b/ko/frames_autogyro/thunderfly_auto_g2.md
index f1a30a7b07db..fa0d902be272 100644
--- a/ko/frames_autogyro/thunderfly_auto_g2.md
+++ b/ko/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ M3x50 고강도 나사로 만들어진 로터 축은 세 번째 부분을 통과
## 비디오
-@[유투브](https://youtu.be/YhXXSWz5wWs)
+
## 변경 사진 갤러리
diff --git a/ko/frames_multicopter/dji_f450_cuav_5nano.md b/ko/frames_multicopter/dji_f450_cuav_5nano.md
index bcd9083a408a..ec3de0f0666b 100644
--- a/ko/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/ko/frames_multicopter/dji_f450_cuav_5nano.md
@@ -204,12 +204,12 @@ First update the firmware, airframe, geometry and outputs:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 비디오
-@[유투브](https://youtu.be/b0bKNdDqVHw)
+
## 감사의 글
diff --git a/ko/frames_multicopter/dji_f450_cuav_5plus.md b/ko/frames_multicopter/dji_f450_cuav_5plus.md
index 60b6592cfcae..af367006b73a 100644
--- a/ko/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/ko/frames_multicopter/dji_f450_cuav_5plus.md
@@ -202,11 +202,11 @@ First update the firmware, airframe, geometry, and outputs:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 비디오
-@[유투브](https://youtu.be/r-IkaVpN1Ko)
+
## 감사의 글
diff --git a/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 9ac8b1bbb92f..19f1cd6a0187 100644
--- a/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/ko/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -214,7 +214,7 @@ Then perform the mandatory setup/calibration:
기체 선택은 프레임의 *기본* 자동 조종 매개 변수를 설정합니다. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 감사의 글
diff --git a/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md b/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md
index fd604cdb3e22..6de7767f1ddf 100644
--- a/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/ko/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -291,7 +291,7 @@ Then set the actuator outputs:
기체 선택은 프레임의 자유비행에 관련된 *기본*적인 매개 변수들을 설정합니다. 이 상태로도 비행이 가능하지만, 특정 기체에 관련된 변수들을 조정하는 것이 바람직합니다.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 감사의 글
diff --git a/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md b/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 1f6d4e6f1336..989bee5bef10 100644
--- a/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/ko/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 감사의 글
diff --git a/ko/frames_multicopter/holybro_x500_pixhawk4.md b/ko/frames_multicopter/holybro_x500_pixhawk4.md
index f75438d414f5..478e83b05e9b 100644
--- a/ko/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/ko/frames_multicopter/holybro_x500_pixhawk4.md
@@ -235,7 +235,7 @@ First update the firmware, airframe, and actuator mappings:
기체를 선택하면, 자율비행에 관련된 기체의 *기본*적인 매개변수들이 설정됩니다. 이 상태로도 비행이 가능하지만, 특정 기체에 관련된 변수들을 조정하는 것이 바람직합니다.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 감사의 글
diff --git a/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md b/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ffaed21b7227..45b136168dfe 100644
--- a/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/ko/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ko/frames_multicopter/index.md b/ko/frames_multicopter/index.md
index 9187f3279329..77122f5e4d8b 100644
--- a/ko/frames_multicopter/index.md
+++ b/ko/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## 비디오
-@[유투브](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
거리 센서 및 RTK GPS가 장착된 DJI Flame Wheel 450 (Pixhawk 3 Pro)
-@[유투브](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[유투브](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[유투브](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/ko/frames_multicopter/omnicopter.md b/ko/frames_multicopter/omnicopter.md
index 93f45a69791a..849ed4eb5b61 100644
--- a/ko/frames_multicopter/omnicopter.md
+++ b/ko/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/ko/frames_multicopter/qav_r_5_kiss_esc_racer.md b/ko/frames_multicopter/qav_r_5_kiss_esc_racer.md
index 41c4c283dd92..41aa935a90bd 100644
--- a/ko/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/ko/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Lumenier QAV-R 5 "FPV Racing Quadcopter는 탈착식 암이 있는 견고하고
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **비행 컨트롤러:** [Pixracer](../flight_controller/pixracer.md)
-@[유투브](https://youtu.be/wMYgqvsNEwQ)
+
![QAV 레이서 완료](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV 레이서 완료 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. 라
09:25에서 13:26 사이에이 비디오처럼 기본 센터 플레이트와 암을 조립했습니다.
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
네 개의 모터를 프레임 중앙을 향해 나오는 케이블과 함께 프레임에 장착했습니다. 각 모터에 프레임과 함께 제공되는 두 개의 긴 모터 나사를 사용하여 멀리 떨어져있는 두 개의 구멍에 삽입하였습니다.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/ko/frames_plane/index.md b/ko/frames_plane/index.md
index 6ca64f1994a3..98591b0ae181 100644
--- a/ko/frames_plane/index.md
+++ b/ko/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## 비디오
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[유투브](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/ko/frames_plane/reptile_dragon_2.md b/ko/frames_plane/reptile_dragon_2.md
index 2173b08b1783..c1353e728d65 100644
--- a/ko/frames_plane/reptile_dragon_2.md
+++ b/ko/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/ko/frames_plane/turbo_timber_evolution.md b/ko/frames_plane/turbo_timber_evolution.md
index f7a2e78ba583..e473239f2fac 100644
--- a/ko/frames_plane/turbo_timber_evolution.md
+++ b/ko/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/ko/frames_plane/wing_wing_z84.md b/ko/frames_plane/wing_wing_z84.md
index de906abaad58..d6f6c7a8594f 100644
--- a/ko/frames_plane/wing_wing_z84.md
+++ b/ko/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/ko/frames_rover/ackermann_rover.md b/ko/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/ko/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/ko/frames_rover/aion_r1.md b/ko/frames_rover/aion_r1.md
index a1f90422d637..621522acfc41 100644
--- a/ko/frames_rover/aion_r1.md
+++ b/ko/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/ko/frames_rover/differential_rover.md b/ko/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/ko/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/ko/frames_rover/index.md b/ko/frames_rover/index.md
index c83e851a10a2..21af0009e8ca 100644
--- a/ko/frames_rover/index.md
+++ b/ko/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## 비디오
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[유투브](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/ko/frames_rover/rover_position_control.md b/ko/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/ko/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/ko/frames_rover/traxxas_stampede.md b/ko/frames_rover/traxxas_stampede.md
deleted file mode 100644
index de73811df025..000000000000
--- a/ko/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-이 차량은 Pixhawk가 바퀴가 달린 플랫폼에 어떻게 사용될 수 있는지 이해하기 위해 선택되었습니다. 우리는 Traxxas 차량이 매우 인기 있고 RC 커뮤니티에서 매우 강력한 브랜드이기 때문에 사용하기로 선택하였습니다. 이 아이디어는 자동 조종 장치로 바퀴 달린 UGV를 쉽게 제어 할 수있는 플랫폼을 개발하는 것이었습니다.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## 부품 목록
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm)의 부품들은 상단 플라스틱 덮개를 제외하고 모두 사용됩니다.
-* [Pixhawk Mini (단종)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S 전원 모듈
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe 컨트롤러](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) 또는 기타 PX4 호환 리모컨
-* [Spektrum 쿼드 레이스 직렬 수신기 w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## 조립
-
-부품들을 나무판위 부착하여 조립합니다. Pixhawk 및 Flow 모듈의 경우에는 좋은 진동 방진재를 사용하는 것이 좋습니다.
-
-![스탬피드 섀시](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![나무 패널 상단](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![나무 패널 하단](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede 조립 완성](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![최종 조립 측면도](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![목재 패널 고정 장치](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-로버와 함께 제공된 클립을 사용하여 상부 플레이트를 부착하였습니다. 두 개의 지지대가 3D 인쇄되었습니다. CAD 파일은 [여기](https://github.com/PX4/px4_user_guide/raw/master/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip)에서 제공됩니다.
-
-:::warning
-훈련 모드에서 ESC를 설정하는 것을 **적극 권장**하며 (Traxxas Stampede 매뉴얼 참조) 전력을 50 %로 줄입니다.
-:::
-
-## 출력 연결
-
-| PWM 출력 | 액추에이터 |
-| ------ | -------------------- |
-| MAIN2 | 조향 서보 |
-| MAIN4 | Throttle (ESC input) |
-
-::: info As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## 설정
-
-로버는 다른 기체와 같은 방법으로 *QGroundControl*을 사용하여 설정합니다.
-
-중요한 로버 설정은 올바른 프레임을 설정하는 것입니다.
-1. *QGroundControl*의 [기본 설정](../config/README.md) 섹션으로 전환합니다.
-1. [Airframe](../config/airframe.md) 탭을 선택합니다.
-1. 목록을 아래로 스크롤하여 **Rover** 아이콘을 찾습니다.
-1. 드롭다운 목록에서 **Traxxas stampede vxl 2wd**를 선택합니다.
-
-![기체 선택](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## 사용법
-
-현재 PX4는 RC 리모컨이 연결된 경우 [MISSION](../flight_modes/mission.md) 과 MANUAL 모드만을 지원합니다. 미션 모드를 사용하려면 먼저 QGC로 차량에 새 미션을 업로드 하세요. 그런 다음 `MISSION`을 먼저 선택한 다음에 시동을 거십시오.
-
-:::warning
-일반 웨이 포인트로 만 구성된 미션을 수행하는 것이 매우 중요하며 (예 : 이륙 웨이포인트 없음 등) 올바른 실행을 위해 **모든** 웨이 포인트의 높이를 0으로 설정하여야 합니다. 그렇게 하지 않으면, 로버가 웨이 포인트 주변을 계속 회전하게 됩니다.
-:::
-
-올바른 임무 설정은 다음과 같습니다.
-
-![미션](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## 비디오
-
-
diff --git a/ko/frames_sub/bluerov2.md b/ko/frames_sub/bluerov2.md
index 12421a8edfec..dde86bdee530 100644
--- a/ko/frames_sub/bluerov2.md
+++ b/ko/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## 비디오
-@[유투브](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/ko/frames_sub/index.md b/ko/frames_sub/index.md
index 6601e248e7a4..16b617eea10b 100644
--- a/ko/frames_sub/index.md
+++ b/ko/frames_sub/index.md
@@ -29,6 +29,8 @@ This section lists fully assembled vehicles where you can update the software to
## 비디오
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/ko/frames_vtol/index.md b/ko/frames_vtol/index.md
index 10b3bce6ffbe..a89d41b032af 100644
--- a/ko/frames_vtol/index.md
+++ b/ko/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### 틸트로터
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ko/frames_vtol/standardvtol.md b/ko/frames_vtol/standardvtol.md
index 510cf59fd851..37d1b9fe0e43 100644
--- a/ko/frames_vtol/standardvtol.md
+++ b/ko/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ A **Standard VTOL** is a [VTOL](../frames_vtol/index.md) that has _completely se
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[유투브](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[유투브](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[유투브](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ko/frames_vtol/tailsitter.md b/ko/frames_vtol/tailsitter.md
index 83d9b43ca143..304d58f46984 100644
--- a/ko/frames_vtol/tailsitter.md
+++ b/ko/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ The main frame-specific differences are the motor wiring, and some aspects of tu
[UAV Works VALAQ Patrol 테일시터](https://www.valaqpatrol.com/tech-data/) - 테일시터 이륙, 전환, 착륙.
-@[유투브](https://youtu.be/pWt6uoqpPIw)
+
---
@@ -71,18 +71,14 @@ The main frame-specific differences are the motor wiring, and some aspects of tu
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[Skypull](https://www.skypull.technology/) Tethered 쿼드 테일시터 (홍보용 비디오) @[유투브](https://youtu.be/6s-Izqb_GVs)
+
+
## ### Duo
diff --git a/ko/frames_vtol/tiltrotor.md b/ko/frames_vtol/tiltrotor.md
index 5d04af6b1876..98d4b6b6bd74 100644
--- a/ko/frames_vtol/tiltrotor.md
+++ b/ko/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[유투브](https://youtu.be/E61P2f2WPNU)
+
diff --git a/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index 6e5da406324e..1c84d41e3836 100644
--- a/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/ko/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -286,7 +286,7 @@ GPS / 나침반 모듈은 기본 방향으로 날개에 이미 장착되어 있
## 비디오
-@[유투브](https://youtu.be/h7OHTigtU0s)
+
## 지원
diff --git a/ko/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/ko/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index 328d40458dd3..8a17a25e2fdb 100644
--- a/ko/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/ko/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## 비디오
-@[유투브](https://youtu.be/4K8yaa6A0ks)
-
+
## 지원
diff --git a/ko/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/ko/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 8582937b73de..feae726b8646 100644
--- a/ko/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/ko/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ For a full parts list with links to Hobbyking EU and International warehouse see
## 날개 변환
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[유투브](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. 슬롯은 230mm 정사각형 탄소 튜브 1 개의 길이, 깊이 및 너비를 유지하여야 합니다. 아래 표시된 위치에 있어야합니다.
diff --git a/ko/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/ko/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index 544ae82fc567..1d4aa9618c12 100644
--- a/ko/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/ko/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ Caipiroshka VTOL은 조금 수정된 *TBS Caipirinha*입니다.
::: info The *TBS Caipirinha* has been superseded and is no longer available. 이 지침은 업데이트된 차량 [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp)에서 *작동하여야 합니다*. 부품 목록에서 다른 여러 구성 요소도 업데이트 되었습니다.
:::
-@[유투브](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## 부품 목록
diff --git a/ko/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/ko/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index f6f934b8ce18..a48941efd0c8 100644
--- a/ko/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/ko/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@
::: info The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[유투브](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/ko/getting_started/index.md b/ko/getting_started/index.md
deleted file mode 100644
index 320f60488dda..000000000000
--- a/ko/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# PX4 자율 비행
-
-PX4를 이용한 기체 조립 방법과 조종 방법에 관한 기본 개념을 설명합니다.
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[비행 기록](../getting_started/flight_reporting.md) — 비행 기록 다운로드, 디버깅 및 분석
diff --git a/ko/getting_started/px4_basic_concepts.md b/ko/getting_started/px4_basic_concepts.md
index f4c4f3bb2089..de608cd8c2ff 100644
--- a/ko/getting_started/px4_basic_concepts.md
+++ b/ko/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### 출력 장치: 모터, 서보, 액츄에이터
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). PX4에서 무선 조종 스위치로 시동을 걸 수 있도록 설정할 수 있습니다. 또한, 지상통제국에서 시동 명령을 MAVLink로 전송할 수 있습니다.
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. PX4에서 무선 조종 스위치로 시동을 걸 수 있도록 설정할 수 있습니다. 또한, 지상통제국에서 시동 명령을 MAVLink로 전송할 수 있습니다.
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- 기체는 정상 상태가 아니면, 시동은 걸리지 않습니다.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- 수직이착륙기는 고정익 모드에서는 시동이 걸리지 않습니다([기본 설정](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/ko/getting_started/tunes.md b/ko/getting_started/tunes.md
index 411739610a75..1dc9ea3634f6 100644
--- a/ko/getting_started/tunes.md
+++ b/ko/getting_started/tunes.md
@@ -180,7 +180,7 @@
-- 배터리 부족 경고 ([사고 방지](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### 배터리 심각 경고음
@@ -190,7 +190,7 @@
-- 배터리가 매우 부족([사고 방지](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### 느린 GPS 경고
diff --git a/ko/getting_started/vehicle_status.md b/ko/getting_started/vehicle_status.md
index ccfbba3592bc..aa7505674a3d 100644
--- a/ko/getting_started/vehicle_status.md
+++ b/ko/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4는 차량 상태를 디스플레이 장치(예, LED)나 음향 장치(예, 부저)로 표시합니다. 차량 상태 정보에는 차량 보정 여부, SD 카드 장착 여부, 위치 잠금 장치 여부, 접근 안전성 여부, 시동 여부 및 비행 준비 여부 등이 포함됩니다.
-또한, PX4는 GCS의 비행전 검사 결과와 비교하여 비행 준비에 관한 세밀한 정보를 제공합니다.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-LED, 음향 및 GCS 알림에 관한 자세한 정보는 아래 링크를 참고하십시오.
+The LED, tune, and GCS notifications are linked below:
* [LED 신호의 의미](../getting_started/led_meanings.md)
* [음향의 의미](../getting_started/tunes.md)
-* [비행사전 체크(내부)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/ko/gps_compass/index.md b/ko/gps_compass/index.md
index f1d2bf676ca2..5c54de885231 100644
--- a/ko/gps_compass/index.md
+++ b/ko/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
::: info PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## 지원되는 GNSS와 나침반
PX4는 u-blox, MTK Ashtech 또는 Emlid 프로토콜 또는 UAVCAN 통신 장치에서 작동합니다.
This table contains non-RTK GNSS units (most of which also have a compass). These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| 장치 | GPS | 나침반 | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| 장치 | GPS | 나침반 | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/ko/gps_compass/magnetometer.md b/ko/gps_compass/magnetometer.md
index 26a164232a50..0fac602ef797 100644
--- a/ko/gps_compass/magnetometer.md
+++ b/ko/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :-----------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/ko/gps_compass/rtk_gps.md b/ko/gps_compass/rtk_gps.md
index 358ce32df9bf..e346e6a2190a 100644
--- a/ko/gps_compass/rtk_gps.md
+++ b/ko/gps_compass/rtk_gps.md
@@ -40,12 +40,16 @@ PX4 supports the [u-blox M8P](https://www.u-blox.com/en/product/neo-m8p), [u-blo
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
RTK GPS 설정은 *QGroundControl* [일반 설정](https://docs.qgroundcontrol.com/en/SettingsView/General.html#rtk_gps) (**SettingsView > 일반 설정 > RTK GPS **)에서 지정됩니다.
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -53,7 +57,6 @@ RTK GPS 설정은 *QGroundControl* [일반 설정](https://docs.qgroundcontrol.c
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## 포지셔닝 설정
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -126,10 +129,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -168,7 +173,6 @@ GPS 정확도를 센티미터가 아닌 미터 단위로 가정하여 기본 매
두 번째 GPS 수신기는 백업으로 사용할 수 있습니다 (RTK 또는 비 RTK). [EKF2 GPS 설정](../advanced_config/tuning_the_ecl_ekf.md#gps) 섹션을 참고하십시오.
-
diff --git a/ko/ros2/user_guide.md b/ko/ros2/user_guide.md
index 4f7a3ec7cef4..b62ce4bdb65d 100644
--- a/ko/ros2/user_guide.md
+++ b/ko/ros2/user_guide.md
@@ -9,7 +9,9 @@ This topic provides an overview of the architecture and application pipeline, an
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## 개요
@@ -33,14 +35,13 @@ You will normally need to start both the client and agent when using ROS 2. Note
::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## 설치 및 설정
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -52,7 +53,6 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
@@ -100,15 +100,14 @@ To install ROS 2 and its dependencies:
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`). 특히 `--verbose` 인수는 전체 *colcon* 빌드 출력을 보여줍니다.
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`). 특히 `--verbose` 인수는 전체 *colcon* 빌드 출력을 보여줍니다.
::::
@@ -118,8 +117,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -168,21 +165,25 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
@@ -191,7 +192,7 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -202,7 +203,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -219,7 +220,6 @@ The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://git
::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -248,28 +248,31 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
@@ -284,19 +287,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -306,9 +313,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -361,7 +369,6 @@ This is needed because the ROS 2 default [Quality of Service (QoS) settings](htt
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -385,9 +392,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -397,7 +404,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -415,9 +422,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -488,13 +522,13 @@ public:
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
-`px4_ros_com/src/advertisers` 아래의 `debug_vect_advertiser.cpp`를 예로 들면 먼저 `debug_vect` msg 헤더를 포함한 필수 헤더를 가져옵니다.
+The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
```cpp
int main(int argc, char *argv[])
@@ -507,7 +541,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -605,7 +639,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
```sh
@@ -624,6 +657,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -640,7 +674,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -661,7 +695,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -682,7 +716,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -711,8 +745,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -720,32 +752,52 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
$ git clone https://github.com/PX4/px4_ros_com.git ~/px4_ros_com_ros2/src/px4_ros_com
$ git clone https://github.com/PX4/px4_msgs.git ~/px4_ros_com_ros2/src/px4_msgs
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- $ cd ~/px4_ros_com_ros2/src/px4_ros_com/scripts
+ ::: tab foxy
+
+ ```sh
+ $ cd ~/px4_ros_com_ros2/src/px4_ros_com/scripts
$ source build_ros2_workspace.bash
- ```
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## 추가 정보
diff --git a/ko/sensor/airspeed.md b/ko/sensor/airspeed.md
index a12f7bcffafa..06ac8dca2ae9 100644
--- a/ko/sensor/airspeed.md
+++ b/ko/sensor/airspeed.md
@@ -15,6 +15,7 @@ Airspeed sensors are _highly recommended_ for fixed-wing and VTOL frames. They a
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/ko/sensor/barometer.md b/ko/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/ko/sensor/barometer.md
+++ b/ko/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/ko/sensor/optical_flow.md b/ko/sensor/optical_flow.md
index 549186dd7d0e..1e85edf61c80 100644
--- a/ko/sensor/optical_flow.md
+++ b/ko/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/ko/sensor/rangefinders.md b/ko/sensor/rangefinders.md
index 2303926af513..a277dac1e070 100644
--- a/ko/sensor/rangefinders.md
+++ b/ko/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. 보다 자세한 설정과 정보는 아래 링크(및 사이드 바)를 참고하십시오.
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). 보다 자세한 설정과 정보는 아래 링크(및 사이드 바)를 참고하십시오.
@@ -35,6 +35,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20. PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger 거리계
@@ -63,9 +65,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## 설정
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -115,6 +136,13 @@ listener distance_sensor 5
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. To do this you must start the simulator using a vehicle model that includes the rangefinder.
diff --git a/ko/sensor/sfxx_lidar.md b/ko/sensor/sfxx_lidar.md
index bf98aa4e4686..6a11f31a884c 100644
--- a/ko/sensor/sfxx_lidar.md
+++ b/ko/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ I2C 포트에 연결 가능한 모델을 위의 표를 참고하십시오.
거리계 모델과 일치하도록 [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) 매개변수를 설정후 재부팅 하십시오.
-## 직렬 설정
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## 직렬 설정 {#serial_hardware_setup}
### 하드웨어
@@ -75,6 +75,8 @@ The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TEL
그런 다음 [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) 매개변수를 거리계 모델과 일치하도록 설정하고 재부팅하십시오.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## 추가 정보
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/ko/sensor_bus/i2c_general.md b/ko/sensor_bus/i2c_general.md
index 6d8f043a835a..55ab6c6c476a 100644
--- a/ko/sensor_bus/i2c_general.md
+++ b/ko/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/ko/sim_airsim/index.md b/ko/sim_airsim/index.md
index 77db7a9139f4..c48094abdd7d 100644
--- a/ko/sim_airsim/index.md
+++ b/ko/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,18 +20,24 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. This limitation does not apply for AirSim because its UI is run natively in Windows.
:::
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/ko/sim_flightgear/index.md b/ko/sim_flightgear/index.md
index be320f643681..6042dff30f86 100644
--- a/ko/sim_flightgear/index.md
+++ b/ko/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/ko/sim_gazebo_classic/index.md b/ko/sim_gazebo_classic/index.md
index 1aff3235ded0..0a736d35c381 100644
--- a/ko/sim_gazebo_classic/index.md
+++ b/ko/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic is a powerful 3D simulation environment for autonomous robots tha
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -305,7 +305,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/ko/sim_gazebo_classic/multi_vehicle_simulation.md b/ko/sim_gazebo_classic/multi_vehicle_simulation.md
index 96fe423e3037..6d4d54ba6ca5 100644
--- a/ko/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/ko/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/ko/sim_gazebo_gz/index.md b/ko/sim_gazebo_gz/index.md
index 61801a941456..682844772857 100644
--- a/ko/sim_gazebo_gz/index.md
+++ b/ko/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator. It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/ko/sim_gazebo_gz/vehicles.md b/ko/sim_gazebo_gz/vehicles.md
index 822e89d32862..c9b1de257cb2 100644
--- a/ko/sim_gazebo_gz/vehicles.md
+++ b/ko/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md). Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/ko/sim_jsbsim/index.md b/ko/sim_jsbsim/index.md
index a207d9da6657..3fe19592be5a 100644
--- a/ko/sim_jsbsim/index.md
+++ b/ko/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
diff --git a/ko/sim_sih/index.md b/ko/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/ko/sim_sih/index.md
+++ b/ko/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/ko/simulation/failsafes.md b/ko/simulation/failsafes.md
index 94291fb13a03..05fc28d98182 100644
--- a/ko/simulation/failsafes.md
+++ b/ko/simulation/failsafes.md
@@ -36,6 +36,8 @@ The _RC Link Loss_ failsafe (unavailability of data from a remote control) is en
비행 중에 [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT)를 변경하여 용량 회복을 테스트하여 부정확한 배터리 상태 추정 또는 기내 충전 기술을 시뮬레이션할 수 있습니다.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## 센서/시스템 장애
[고장 주입](../debug/failure_injection.md)은 많은 센서와 시스템의 여러가지 오류를 시뮬레이션합니다. GPS가 없거나 간헐적으로 발생하는 경우, 특정 값에서 멈추거나 멈추는 RC 신호, 회피 시스템의 오류 등을 시뮬레이션 할 수 있습니다.
diff --git a/ko/simulation/index.md b/ko/simulation/index.md
index 53e120f54006..590abf8f47bf 100644
--- a/ko/simulation/index.md
+++ b/ko/simulation/index.md
@@ -15,11 +15,10 @@ PX4 supports both _Software In the Loop (SITL)_ simulation, where the flight sta
The following simulators are supported by the PX4 core development team.
-| 시뮬레이터 | 설명 |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
이 시뮬레이터를 적극 권장합니다.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
물체 회피와 컴퓨터 비전 테스트에 매우 적합한 강력한 3D 시뮬레이션 환경입니다. [다중 차량시뮬레이션](../simulation/multi-vehicle-simulation.md)에도 사용할 수 있으며 일반적으로 차량 제어 자동화를 위한 도구 모음인 [ROS](../simulation/ros_interface.md)와 함께 사용됩니다.
물체 회피와 컴퓨터 비전 테스트에 매우 적합한 강력한 3D 시뮬레이션 환경입니다. [다중 차량시뮬레이션](../simulation/multi-vehicle-simulation.md)에도 사용할 수 있으며 일반적으로 차량 제어 자동화를 위한 도구 모음인 [ROS](../simulation/ros_interface.md)와 함께 사용됩니다.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
설정이 간단하며, 기체가 이륙, 비행, 착륙할 수 있으며, 다양한 장애 조건(예: GPS 장애)에 적절하게 반응 여부를 테스트할 수 있습니다. It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
물체 회피와 컴퓨터 비전 테스트에 매우 적합한 강력한 3D 시뮬레이션 환경입니다. [다중 차량시뮬레이션](../simulation/multi-vehicle-simulation.md)에도 사용할 수 있으며 일반적으로 차량 제어 자동화를 위한 도구 모음인 [ROS](../simulation/ros_interface.md)와 함께 사용됩니다.
물체 회피와 컴퓨터 비전 테스트에 매우 적합한 강력한 3D 시뮬레이션 환경입니다. [다중 차량시뮬레이션](../simulation/multi-vehicle-simulation.md)에도 사용할 수 있으며 일반적으로 차량 제어 자동화를 위한 도구 모음인 [ROS](../simulation/ros_interface.md)와 함께 사용됩니다.
?For VTOLs the type switches between Multirotor and Fixed Wing
Parameters
Conditions
Mode requirements
Control links
Battery
Other
Failure detector
Output
Failsafe action:
User takeover active:
Console output (debug):
\ No newline at end of file
+Failsafe State Machine
Downloading...
Failsafe State Machine Simulation
State
?For VTOLs the type switches between Multirotor and Fixed Wing
Parameters
Conditions
Mode requirements
Control links
Battery
Other
Failure detector
Output
Failsafe action:
User takeover active:
Console output (debug):
\ No newline at end of file
diff --git a/public/config/failsafe/index.js b/public/config/failsafe/index.js
index adaa8eadc403..0c946500151c 100644
--- a/public/config/failsafe/index.js
+++ b/public/config/failsafe/index.js
@@ -1 +1 @@
-var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="index.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["v"];updateMemoryViews();wasmTable=wasmExports["B"];addOnInit(wasmExports["w"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __abort_js=()=>{abort("")};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var validateThis=(this_,classType,humanName)=>{if(!(this_ instanceof Object)){throwBindingError(`${humanName} with invalid "this": ${this_}`)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`)}if(!this_.$$.ptr){throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`)}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)};var __embind_register_class_property=(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],classType=>{classType=classType[0];var humanName=`${classType.name}.${fieldName}`;var desc={get(){throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])}else{desc.set=v=>throwBindingError(humanName+" is a read-only property")}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],types=>{var getterReturnType=types[0];var desc={get(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,fromWireType:fromWireType,toWireType:toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>2]}registerType(rawType,{name:name,fromWireType:value=>{var length=HEAPU32[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};var _emscripten_date_now=()=>Date.now();var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var wasmImports={f:___cxa_throw,q:__abort_js,p:__embind_register_bigint,m:__embind_register_bool,l:__embind_register_class,h:__embind_register_class_constructor,e:__embind_register_class_function,a:__embind_register_class_property,t:__embind_register_emval,k:__embind_register_float,c:__embind_register_function,d:__embind_register_integer,b:__embind_register_memory_view,j:__embind_register_std_string,g:__embind_register_std_wstring,n:__embind_register_void,s:__emscripten_memcpy_js,o:__emval_take_value,u:_emscripten_date_now,r:_emscripten_resize_heap,i:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["w"])();var _param_get=Module["_param_get"]=(a0,a1)=>(_param_get=Module["_param_get"]=wasmExports["x"])(a0,a1);var _param_set_used=Module["_param_set_used"]=a0=>(_param_set_used=Module["_param_set_used"]=wasmExports["y"])(a0);var __Znwm=Module["__Znwm"]=a0=>(__Znwm=Module["__Znwm"]=wasmExports["z"])(a0);var __ZdlPvm=Module["__ZdlPvm"]=(a0,a1)=>(__ZdlPvm=Module["__ZdlPvm"]=wasmExports["A"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["C"])(a0);var __ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=a0=>(__ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=wasmExports["D"])(a0);var ___cxa_allocate_exception=Module["___cxa_allocate_exception"]=a0=>(___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["E"])(a0);var __ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=a0=>(__ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=wasmExports["F"])(a0);var __ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=a0=>(__ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=wasmExports["G"])(a0);var __ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=a0=>(__ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=wasmExports["H"])(a0);var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=()=>(___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["I"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["J"])(a0);var __ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=a0=>(__ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=wasmExports["K"])(a0);var _free=a0=>(_free=wasmExports["L"])(a0);var _getTempRet0=Module["_getTempRet0"]=()=>(_getTempRet0=Module["_getTempRet0"]=wasmExports["M"])();var _setTempRet0=Module["_setTempRet0"]=a0=>(_setTempRet0=Module["_setTempRet0"]=wasmExports["N"])(a0);var __ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=()=>(__ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=wasmExports["O"])();var __Znam=Module["__Znam"]=a0=>(__Znam=Module["__Znam"]=wasmExports["P"])(a0);var __ZdlPv=Module["__ZdlPv"]=a0=>(__ZdlPv=Module["__ZdlPv"]=wasmExports["Q"])(a0);var __ZdaPv=Module["__ZdaPv"]=a0=>(__ZdaPv=Module["__ZdaPv"]=wasmExports["R"])(a0);var __ZdaPvm=Module["__ZdaPvm"]=(a0,a1)=>(__ZdaPvm=Module["__ZdaPvm"]=wasmExports["S"])(a0,a1);var __ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=(a0,a1)=>(__ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=wasmExports["T"])(a0,a1);var __ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=(a0,a1)=>(__ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=wasmExports["U"])(a0,a1);var __ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=(a0,a1)=>(__ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=wasmExports["V"])(a0,a1);var __ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=wasmExports["W"])(a0,a1,a2);var __ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=(a0,a1)=>(__ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=wasmExports["X"])(a0,a1);var __ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=wasmExports["Y"])(a0,a1,a2);var __ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=a0=>(__ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=wasmExports["Z"])(a0);var __ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=a0=>(__ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=wasmExports["_"])(a0);var __ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=a0=>(__ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=wasmExports["$"])(a0);var __ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=()=>(__ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=wasmExports["aa"])();var __ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=()=>(__ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=wasmExports["ba"])();var __ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=()=>(__ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=wasmExports["ca"])();var __ZSt9terminatev=Module["__ZSt9terminatev"]=()=>(__ZSt9terminatev=Module["__ZSt9terminatev"]=wasmExports["da"])();var ___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=()=>(___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=wasmExports["ea"])();var ___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=a0=>(___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=wasmExports["fa"])(a0);var ___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=()=>(___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=wasmExports["ga"])();var ___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=()=>(___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=wasmExports["ha"])();var ___cxa_free_exception=Module["___cxa_free_exception"]=a0=>(___cxa_free_exception=Module["___cxa_free_exception"]=wasmExports["ia"])(a0);var ___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=(a0,a1,a2)=>(___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=wasmExports["ja"])(a0,a1,a2);var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=()=>(___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["ka"])();var ___dynamic_cast=Module["___dynamic_cast"]=(a0,a1,a2,a3)=>(___dynamic_cast=Module["___dynamic_cast"]=wasmExports["la"])(a0,a1,a2,a3);var __ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=a0=>(__ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=wasmExports["ma"])(a0);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["na"])(a0);var __ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=a0=>(__ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=wasmExports["oa"])(a0);var __ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=a0=>(__ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=wasmExports["pa"])(a0);var __ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=a0=>(__ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=wasmExports["qa"])(a0);var __ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=a0=>(__ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=wasmExports["ra"])(a0);var __ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=a0=>(__ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=wasmExports["sa"])(a0);var __ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=a0=>(__ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=wasmExports["ta"])(a0);var __ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=a0=>(__ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=wasmExports["ua"])(a0);var __ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=a0=>(__ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=wasmExports["va"])(a0);var __ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=a0=>(__ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=wasmExports["wa"])(a0);var __ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=a0=>(__ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=wasmExports["xa"])(a0);var __ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=a0=>(__ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=wasmExports["ya"])(a0);var __ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=a0=>(__ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=wasmExports["za"])(a0);var __ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=a0=>(__ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=wasmExports["Aa"])(a0);var __ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=a0=>(__ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=wasmExports["Ba"])(a0);var __ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=a0=>(__ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=wasmExports["Ca"])(a0);var __ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=a0=>(__ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=wasmExports["Da"])(a0);var __ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=a0=>(__ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=wasmExports["Ea"])(a0);var __ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=a0=>(__ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=wasmExports["Fa"])(a0);var __ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=a0=>(__ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=wasmExports["Ga"])(a0);var __ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=a0=>(__ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=wasmExports["Ha"])(a0);var __ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=a0=>(__ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=wasmExports["Ia"])(a0);var __ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=a0=>(__ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=wasmExports["Ja"])(a0);var __ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=a0=>(__ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=wasmExports["Ka"])(a0);var __ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=a0=>(__ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=wasmExports["La"])(a0);var __ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=a0=>(__ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=wasmExports["Ma"])(a0);var __ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=a0=>(__ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=wasmExports["Na"])(a0);var __ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=a0=>(__ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=wasmExports["Oa"])(a0);var __ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=a0=>(__ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=wasmExports["Pa"])(a0);var __ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=a0=>(__ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=wasmExports["Qa"])(a0);var __ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=a0=>(__ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=wasmExports["Ra"])(a0);var __ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=a0=>(__ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=wasmExports["Sa"])(a0);var __ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=a0=>(__ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=wasmExports["Ta"])(a0);var __ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=a0=>(__ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=wasmExports["Ua"])(a0);var __ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=a0=>(__ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=wasmExports["Va"])(a0);var __ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=a0=>(__ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=wasmExports["Wa"])(a0);var __ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=a0=>(__ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=wasmExports["Xa"])(a0);var __ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=a0=>(__ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=wasmExports["Ya"])(a0);var __ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=a0=>(__ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=wasmExports["Za"])(a0);var __ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=a0=>(__ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=wasmExports["_a"])(a0);var __ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=a0=>(__ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=wasmExports["$a"])(a0);var __ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=a0=>(__ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=wasmExports["ab"])(a0);var __ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=a0=>(__ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=wasmExports["bb"])(a0);var __ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=a0=>(__ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=wasmExports["cb"])(a0);var __ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=a0=>(__ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=wasmExports["db"])(a0);var __ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=a0=>(__ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=wasmExports["eb"])(a0);var __ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=a0=>(__ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=wasmExports["fb"])(a0);var __ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=a0=>(__ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=wasmExports["gb"])(a0);var __ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=a0=>(__ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=wasmExports["hb"])(a0);var __ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=a0=>(__ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=wasmExports["ib"])(a0);var __ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=a0=>(__ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=wasmExports["jb"])(a0);var __ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=a0=>(__ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=wasmExports["kb"])(a0);var __ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=a0=>(__ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=wasmExports["lb"])(a0);var __ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=a0=>(__ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=wasmExports["mb"])(a0);var __ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=a0=>(__ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=wasmExports["nb"])(a0);var __ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=a0=>(__ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=wasmExports["ob"])(a0);var __ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=a0=>(__ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=wasmExports["pb"])(a0);var __ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=a0=>(__ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=wasmExports["qb"])(a0);var __ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=a0=>(__ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=wasmExports["rb"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sb"])(a0,a1,a2,a3,a4);var __ZTIPK16failsafe_flags_s=Module["__ZTIPK16failsafe_flags_s"]=46864;var __ZTIP16failsafe_flags_s=Module["__ZTIP16failsafe_flags_s"]=46848;var __ZTI16failsafe_flags_s=Module["__ZTI16failsafe_flags_s"]=46840;var __ZTIb=Module["__ZTIb"]=29896;var __ZTIh=Module["__ZTIh"]=30052;var __ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=47020;var __ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=47004;var __ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=46952;var __ZTISt12length_error=Module["__ZTISt12length_error"]=32012;var __ZTVSt12length_error=Module["__ZTVSt12length_error"]=31972;var __ZTISt20bad_array_new_length=Module["__ZTISt20bad_array_new_length"]=31784;var __ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=46940;var __ZTISt12out_of_range=Module["__ZTISt12out_of_range"]=32064;var __ZTVSt12out_of_range=Module["__ZTVSt12out_of_range"]=32024;var __ZTVN10__cxxabiv117__class_type_infoE=Module["__ZTVN10__cxxabiv117__class_type_infoE"]=31284;var __ZTVN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTVN10__cxxabiv121__vmi_class_type_infoE"]=31416;var __ZTVN10__cxxabiv120__si_class_type_infoE=Module["__ZTVN10__cxxabiv120__si_class_type_infoE"]=31324;var __ZTS16failsafe_flags_s=Module["__ZTS16failsafe_flags_s"]=27559;var __ZTSP16failsafe_flags_s=Module["__ZTSP16failsafe_flags_s"]=27578;var __ZTVN10__cxxabiv119__pointer_type_infoE=Module["__ZTVN10__cxxabiv119__pointer_type_infoE"]=31536;var __ZTSPK16failsafe_flags_s=Module["__ZTSPK16failsafe_flags_s"]=27598;var __ZTIi=Module["__ZTIi"]=30260;var __ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=27647;var __ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27714;var __ZTIv=Module["__ZTIv"]=29788;var __ZTIf=Module["__ZTIf"]=30732;var __ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27812;var __ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27899;var __ZTIm=Module["__ZTIm"]=30416;var __ZTIc=Module["__ZTIc"]=3e4;var __ZTIa=Module["__ZTIa"]=30104;var __ZTIs=Module["__ZTIs"]=30156;var __ZTIt=Module["__ZTIt"]=30208;var __ZTIj=Module["__ZTIj"]=30312;var __ZTIl=Module["__ZTIl"]=30364;var __ZTIx=Module["__ZTIx"]=30468;var __ZTIy=Module["__ZTIy"]=30520;var __ZTId=Module["__ZTId"]=30784;var __ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=28120;var __ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=28192;var __ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=28268;var __ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28344;var __ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=28056;var __ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=28128;var __ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=28200;var __ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28276;var __ZTVSt11logic_error=Module["__ZTVSt11logic_error"]=31796;var __ZTVSt9exception=Module["__ZTVSt9exception"]=31632;var __ZTVSt13runtime_error=Module["__ZTVSt13runtime_error"]=31816;var __ZTISt9exception=Module["__ZTISt9exception"]=31668;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=47320;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=47316;var ___cxa_new_handler=Module["___cxa_new_handler"]=49532;var __ZTIN10__cxxabiv116__shim_type_infoE=Module["__ZTIN10__cxxabiv116__shim_type_infoE"]=29396;var __ZTIN10__cxxabiv117__class_type_infoE=Module["__ZTIN10__cxxabiv117__class_type_infoE"]=29444;var __ZTIN10__cxxabiv117__pbase_type_infoE=Module["__ZTIN10__cxxabiv117__pbase_type_infoE"]=29492;var __ZTIDn=Module["__ZTIDn"]=29840;var __ZTIN10__cxxabiv119__pointer_type_infoE=Module["__ZTIN10__cxxabiv119__pointer_type_infoE"]=29540;var __ZTIN10__cxxabiv120__function_type_infoE=Module["__ZTIN10__cxxabiv120__function_type_infoE"]=29592;var __ZTIN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTIN10__cxxabiv129__pointer_to_member_type_infoE"]=29652;var __ZTSN10__cxxabiv116__shim_type_infoE=Module["__ZTSN10__cxxabiv116__shim_type_infoE"]=29360;var __ZTISt9type_info=Module["__ZTISt9type_info"]=32332;var __ZTSN10__cxxabiv117__class_type_infoE=Module["__ZTSN10__cxxabiv117__class_type_infoE"]=29408;var __ZTSN10__cxxabiv117__pbase_type_infoE=Module["__ZTSN10__cxxabiv117__pbase_type_infoE"]=29456;var __ZTSN10__cxxabiv119__pointer_type_infoE=Module["__ZTSN10__cxxabiv119__pointer_type_infoE"]=29504;var __ZTSN10__cxxabiv120__function_type_infoE=Module["__ZTSN10__cxxabiv120__function_type_infoE"]=29552;var __ZTSN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTSN10__cxxabiv129__pointer_to_member_type_infoE"]=29604;var __ZTVN10__cxxabiv116__shim_type_infoE=Module["__ZTVN10__cxxabiv116__shim_type_infoE"]=29676;var __ZTVN10__cxxabiv123__fundamental_type_infoE=Module["__ZTVN10__cxxabiv123__fundamental_type_infoE"]=29704;var __ZTIN10__cxxabiv123__fundamental_type_infoE=Module["__ZTIN10__cxxabiv123__fundamental_type_infoE"]=29772;var __ZTSN10__cxxabiv123__fundamental_type_infoE=Module["__ZTSN10__cxxabiv123__fundamental_type_infoE"]=29732;var __ZTSv=Module["__ZTSv"]=29784;var __ZTSPv=Module["__ZTSPv"]=29796;var __ZTIPv=Module["__ZTIPv"]=29800;var __ZTSPKv=Module["__ZTSPKv"]=29816;var __ZTIPKv=Module["__ZTIPKv"]=29820;var __ZTSDn=Module["__ZTSDn"]=29836;var __ZTSPDn=Module["__ZTSPDn"]=29848;var __ZTIPDn=Module["__ZTIPDn"]=29852;var __ZTSPKDn=Module["__ZTSPKDn"]=29868;var __ZTIPKDn=Module["__ZTIPKDn"]=29876;var __ZTSb=Module["__ZTSb"]=29892;var __ZTSPb=Module["__ZTSPb"]=29904;var __ZTIPb=Module["__ZTIPb"]=29908;var __ZTSPKb=Module["__ZTSPKb"]=29924;var __ZTIPKb=Module["__ZTIPKb"]=29928;var __ZTSw=Module["__ZTSw"]=29944;var __ZTIw=Module["__ZTIw"]=29948;var __ZTSPw=Module["__ZTSPw"]=29956;var __ZTIPw=Module["__ZTIPw"]=29960;var __ZTSPKw=Module["__ZTSPKw"]=29976;var __ZTIPKw=Module["__ZTIPKw"]=29980;var __ZTSc=Module["__ZTSc"]=29996;var __ZTSPc=Module["__ZTSPc"]=30008;var __ZTIPc=Module["__ZTIPc"]=30012;var __ZTSPKc=Module["__ZTSPKc"]=30028;var __ZTIPKc=Module["__ZTIPKc"]=30032;var __ZTSh=Module["__ZTSh"]=30048;var __ZTSPh=Module["__ZTSPh"]=30060;var __ZTIPh=Module["__ZTIPh"]=30064;var __ZTSPKh=Module["__ZTSPKh"]=30080;var __ZTIPKh=Module["__ZTIPKh"]=30084;var __ZTSa=Module["__ZTSa"]=30100;var __ZTSPa=Module["__ZTSPa"]=30112;var __ZTIPa=Module["__ZTIPa"]=30116;var __ZTSPKa=Module["__ZTSPKa"]=30132;var __ZTIPKa=Module["__ZTIPKa"]=30136;var __ZTSs=Module["__ZTSs"]=30152;var __ZTSPs=Module["__ZTSPs"]=30164;var __ZTIPs=Module["__ZTIPs"]=30168;var __ZTSPKs=Module["__ZTSPKs"]=30184;var __ZTIPKs=Module["__ZTIPKs"]=30188;var __ZTSt=Module["__ZTSt"]=30204;var __ZTSPt=Module["__ZTSPt"]=30216;var __ZTIPt=Module["__ZTIPt"]=30220;var __ZTSPKt=Module["__ZTSPKt"]=30236;var __ZTIPKt=Module["__ZTIPKt"]=30240;var __ZTSi=Module["__ZTSi"]=30256;var __ZTSPi=Module["__ZTSPi"]=30268;var __ZTIPi=Module["__ZTIPi"]=30272;var __ZTSPKi=Module["__ZTSPKi"]=30288;var __ZTIPKi=Module["__ZTIPKi"]=30292;var __ZTSj=Module["__ZTSj"]=30308;var __ZTSPj=Module["__ZTSPj"]=30320;var __ZTIPj=Module["__ZTIPj"]=30324;var __ZTSPKj=Module["__ZTSPKj"]=30340;var __ZTIPKj=Module["__ZTIPKj"]=30344;var __ZTSl=Module["__ZTSl"]=30360;var __ZTSPl=Module["__ZTSPl"]=30372;var __ZTIPl=Module["__ZTIPl"]=30376;var __ZTSPKl=Module["__ZTSPKl"]=30392;var __ZTIPKl=Module["__ZTIPKl"]=30396;var __ZTSm=Module["__ZTSm"]=30412;var __ZTSPm=Module["__ZTSPm"]=30424;var __ZTIPm=Module["__ZTIPm"]=30428;var __ZTSPKm=Module["__ZTSPKm"]=30444;var __ZTIPKm=Module["__ZTIPKm"]=30448;var __ZTSx=Module["__ZTSx"]=30464;var __ZTSPx=Module["__ZTSPx"]=30476;var __ZTIPx=Module["__ZTIPx"]=30480;var __ZTSPKx=Module["__ZTSPKx"]=30496;var __ZTIPKx=Module["__ZTIPKx"]=30500;var __ZTSy=Module["__ZTSy"]=30516;var __ZTSPy=Module["__ZTSPy"]=30528;var __ZTIPy=Module["__ZTIPy"]=30532;var __ZTSPKy=Module["__ZTSPKy"]=30548;var __ZTIPKy=Module["__ZTIPKy"]=30552;var __ZTSn=Module["__ZTSn"]=30568;var __ZTIn=Module["__ZTIn"]=30572;var __ZTSPn=Module["__ZTSPn"]=30580;var __ZTIPn=Module["__ZTIPn"]=30584;var __ZTSPKn=Module["__ZTSPKn"]=30600;var __ZTIPKn=Module["__ZTIPKn"]=30604;var __ZTSo=Module["__ZTSo"]=30620;var __ZTIo=Module["__ZTIo"]=30624;var __ZTSPo=Module["__ZTSPo"]=30632;var __ZTIPo=Module["__ZTIPo"]=30636;var __ZTSPKo=Module["__ZTSPKo"]=30652;var __ZTIPKo=Module["__ZTIPKo"]=30656;var __ZTSDh=Module["__ZTSDh"]=30672;var __ZTIDh=Module["__ZTIDh"]=30676;var __ZTSPDh=Module["__ZTSPDh"]=30684;var __ZTIPDh=Module["__ZTIPDh"]=30688;var __ZTSPKDh=Module["__ZTSPKDh"]=30704;var __ZTIPKDh=Module["__ZTIPKDh"]=30712;var __ZTSf=Module["__ZTSf"]=30728;var __ZTSPf=Module["__ZTSPf"]=30740;var __ZTIPf=Module["__ZTIPf"]=30744;var __ZTSPKf=Module["__ZTSPKf"]=30760;var __ZTIPKf=Module["__ZTIPKf"]=30764;var __ZTSd=Module["__ZTSd"]=30780;var __ZTSPd=Module["__ZTSPd"]=30792;var __ZTIPd=Module["__ZTIPd"]=30796;var __ZTSPKd=Module["__ZTSPKd"]=30812;var __ZTIPKd=Module["__ZTIPKd"]=30816;var __ZTSe=Module["__ZTSe"]=30832;var __ZTIe=Module["__ZTIe"]=30836;var __ZTSPe=Module["__ZTSPe"]=30844;var __ZTIPe=Module["__ZTIPe"]=30848;var __ZTSPKe=Module["__ZTSPKe"]=30864;var __ZTIPKe=Module["__ZTIPKe"]=30868;var __ZTSg=Module["__ZTSg"]=30884;var __ZTIg=Module["__ZTIg"]=30888;var __ZTSPg=Module["__ZTSPg"]=30896;var __ZTIPg=Module["__ZTIPg"]=30900;var __ZTSPKg=Module["__ZTSPKg"]=30916;var __ZTIPKg=Module["__ZTIPKg"]=30920;var __ZTSDu=Module["__ZTSDu"]=30936;var __ZTIDu=Module["__ZTIDu"]=30940;var __ZTSPDu=Module["__ZTSPDu"]=30948;var __ZTIPDu=Module["__ZTIPDu"]=30952;var __ZTSPKDu=Module["__ZTSPKDu"]=30968;var __ZTIPKDu=Module["__ZTIPKDu"]=30976;var __ZTSDs=Module["__ZTSDs"]=30992;var __ZTIDs=Module["__ZTIDs"]=30996;var __ZTSPDs=Module["__ZTSPDs"]=31004;var __ZTIPDs=Module["__ZTIPDs"]=31008;var __ZTSPKDs=Module["__ZTSPKDs"]=31024;var __ZTIPKDs=Module["__ZTIPKDs"]=31032;var __ZTSDi=Module["__ZTSDi"]=31048;var __ZTIDi=Module["__ZTIDi"]=31052;var __ZTSPDi=Module["__ZTSPDi"]=31060;var __ZTIPDi=Module["__ZTIPDi"]=31064;var __ZTSPKDi=Module["__ZTSPKDi"]=31080;var __ZTIPKDi=Module["__ZTIPKDi"]=31088;var __ZTVN10__cxxabiv117__array_type_infoE=Module["__ZTVN10__cxxabiv117__array_type_infoE"]=31104;var __ZTIN10__cxxabiv117__array_type_infoE=Module["__ZTIN10__cxxabiv117__array_type_infoE"]=31168;var __ZTSN10__cxxabiv117__array_type_infoE=Module["__ZTSN10__cxxabiv117__array_type_infoE"]=31132;var __ZTVN10__cxxabiv120__function_type_infoE=Module["__ZTVN10__cxxabiv120__function_type_infoE"]=31180;var __ZTVN10__cxxabiv116__enum_type_infoE=Module["__ZTVN10__cxxabiv116__enum_type_infoE"]=31208;var __ZTIN10__cxxabiv116__enum_type_infoE=Module["__ZTIN10__cxxabiv116__enum_type_infoE"]=31272;var __ZTSN10__cxxabiv116__enum_type_infoE=Module["__ZTSN10__cxxabiv116__enum_type_infoE"]=31236;var __ZTIN10__cxxabiv120__si_class_type_infoE=Module["__ZTIN10__cxxabiv120__si_class_type_infoE"]=31404;var __ZTSN10__cxxabiv120__si_class_type_infoE=Module["__ZTSN10__cxxabiv120__si_class_type_infoE"]=31364;var __ZTIN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTIN10__cxxabiv121__vmi_class_type_infoE"]=31496;var __ZTSN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTSN10__cxxabiv121__vmi_class_type_infoE"]=31456;var __ZTVN10__cxxabiv117__pbase_type_infoE=Module["__ZTVN10__cxxabiv117__pbase_type_infoE"]=31508;var __ZTVN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTVN10__cxxabiv129__pointer_to_member_type_infoE"]=31564;var __ZTVSt9bad_alloc=Module["__ZTVSt9bad_alloc"]=31592;var __ZTVSt20bad_array_new_length=Module["__ZTVSt20bad_array_new_length"]=31612;var __ZTISt9bad_alloc=Module["__ZTISt9bad_alloc"]=31744;var __ZTSSt9exception=Module["__ZTSSt9exception"]=31652;var __ZTVSt13bad_exception=Module["__ZTVSt13bad_exception"]=31676;var __ZTISt13bad_exception=Module["__ZTISt13bad_exception"]=31716;var __ZTSSt13bad_exception=Module["__ZTSSt13bad_exception"]=31696;var __ZTSSt9bad_alloc=Module["__ZTSSt9bad_alloc"]=31728;var __ZTSSt20bad_array_new_length=Module["__ZTSSt20bad_array_new_length"]=31756;var __ZTISt11logic_error=Module["__ZTISt11logic_error"]=31892;var __ZTISt13runtime_error=Module["__ZTISt13runtime_error"]=32132;var __ZTVSt12domain_error=Module["__ZTVSt12domain_error"]=31836;var __ZTISt12domain_error=Module["__ZTISt12domain_error"]=31904;var __ZTSSt12domain_error=Module["__ZTSSt12domain_error"]=31856;var __ZTSSt11logic_error=Module["__ZTSSt11logic_error"]=31873;var __ZTVSt16invalid_argument=Module["__ZTVSt16invalid_argument"]=31916;var __ZTISt16invalid_argument=Module["__ZTISt16invalid_argument"]=31960;var __ZTSSt16invalid_argument=Module["__ZTSSt16invalid_argument"]=31936;var __ZTSSt12length_error=Module["__ZTSSt12length_error"]=31992;var __ZTSSt12out_of_range=Module["__ZTSSt12out_of_range"]=32044;var __ZTVSt11range_error=Module["__ZTVSt11range_error"]=32076;var __ZTISt11range_error=Module["__ZTISt11range_error"]=32144;var __ZTSSt11range_error=Module["__ZTSSt11range_error"]=32096;var __ZTSSt13runtime_error=Module["__ZTSSt13runtime_error"]=32112;var __ZTVSt14overflow_error=Module["__ZTVSt14overflow_error"]=32156;var __ZTISt14overflow_error=Module["__ZTISt14overflow_error"]=32196;var __ZTSSt14overflow_error=Module["__ZTSSt14overflow_error"]=32176;var __ZTVSt15underflow_error=Module["__ZTVSt15underflow_error"]=32208;var __ZTISt15underflow_error=Module["__ZTISt15underflow_error"]=32248;var __ZTSSt15underflow_error=Module["__ZTSSt15underflow_error"]=32228;var __ZTVSt8bad_cast=Module["__ZTVSt8bad_cast"]=32260;var __ZTVSt10bad_typeid=Module["__ZTVSt10bad_typeid"]=32280;var __ZTISt8bad_cast=Module["__ZTISt8bad_cast"]=32352;var __ZTISt10bad_typeid=Module["__ZTISt10bad_typeid"]=32380;var __ZTVSt9type_info=Module["__ZTVSt9type_info"]=32300;var __ZTSSt9type_info=Module["__ZTSSt9type_info"]=32316;var __ZTSSt8bad_cast=Module["__ZTSSt8bad_cast"]=32340;var __ZTSSt10bad_typeid=Module["__ZTSSt10bad_typeid"]=32364;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
+var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="index.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["v"];updateMemoryViews();wasmTable=wasmExports["B"];addOnInit(wasmExports["w"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __abort_js=()=>{abort("")};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var validateThis=(this_,classType,humanName)=>{if(!(this_ instanceof Object)){throwBindingError(`${humanName} with invalid "this": ${this_}`)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`)}if(!this_.$$.ptr){throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`)}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)};var __embind_register_class_property=(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],classType=>{classType=classType[0];var humanName=`${classType.name}.${fieldName}`;var desc={get(){throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])}else{desc.set=v=>throwBindingError(humanName+" is a read-only property")}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],types=>{var getterReturnType=types[0];var desc={get(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,fromWireType:fromWireType,toWireType:toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>2]}registerType(rawType,{name:name,fromWireType:value=>{var length=HEAPU32[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};var _emscripten_date_now=()=>Date.now();var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var wasmImports={f:___cxa_throw,q:__abort_js,p:__embind_register_bigint,m:__embind_register_bool,l:__embind_register_class,h:__embind_register_class_constructor,e:__embind_register_class_function,a:__embind_register_class_property,t:__embind_register_emval,k:__embind_register_float,c:__embind_register_function,d:__embind_register_integer,b:__embind_register_memory_view,j:__embind_register_std_string,g:__embind_register_std_wstring,n:__embind_register_void,s:__emscripten_memcpy_js,o:__emval_take_value,u:_emscripten_date_now,r:_emscripten_resize_heap,i:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["w"])();var _param_get=Module["_param_get"]=(a0,a1)=>(_param_get=Module["_param_get"]=wasmExports["x"])(a0,a1);var _param_set_used=Module["_param_set_used"]=a0=>(_param_set_used=Module["_param_set_used"]=wasmExports["y"])(a0);var __Znwm=Module["__Znwm"]=a0=>(__Znwm=Module["__Znwm"]=wasmExports["z"])(a0);var __ZdlPvm=Module["__ZdlPvm"]=(a0,a1)=>(__ZdlPvm=Module["__ZdlPvm"]=wasmExports["A"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["C"])(a0);var __ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=a0=>(__ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=wasmExports["D"])(a0);var ___cxa_allocate_exception=Module["___cxa_allocate_exception"]=a0=>(___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["E"])(a0);var __ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=a0=>(__ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=wasmExports["F"])(a0);var __ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=a0=>(__ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=wasmExports["G"])(a0);var __ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=a0=>(__ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=wasmExports["H"])(a0);var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=()=>(___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["I"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["J"])(a0);var __ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=a0=>(__ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=wasmExports["K"])(a0);var _free=a0=>(_free=wasmExports["L"])(a0);var _getTempRet0=Module["_getTempRet0"]=()=>(_getTempRet0=Module["_getTempRet0"]=wasmExports["M"])();var _setTempRet0=Module["_setTempRet0"]=a0=>(_setTempRet0=Module["_setTempRet0"]=wasmExports["N"])(a0);var __ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=()=>(__ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=wasmExports["O"])();var __Znam=Module["__Znam"]=a0=>(__Znam=Module["__Znam"]=wasmExports["P"])(a0);var __ZdlPv=Module["__ZdlPv"]=a0=>(__ZdlPv=Module["__ZdlPv"]=wasmExports["Q"])(a0);var __ZdaPv=Module["__ZdaPv"]=a0=>(__ZdaPv=Module["__ZdaPv"]=wasmExports["R"])(a0);var __ZdaPvm=Module["__ZdaPvm"]=(a0,a1)=>(__ZdaPvm=Module["__ZdaPvm"]=wasmExports["S"])(a0,a1);var __ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=(a0,a1)=>(__ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=wasmExports["T"])(a0,a1);var __ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=(a0,a1)=>(__ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=wasmExports["U"])(a0,a1);var __ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=(a0,a1)=>(__ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=wasmExports["V"])(a0,a1);var __ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=wasmExports["W"])(a0,a1,a2);var __ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=(a0,a1)=>(__ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=wasmExports["X"])(a0,a1);var __ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=wasmExports["Y"])(a0,a1,a2);var __ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=a0=>(__ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=wasmExports["Z"])(a0);var __ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=a0=>(__ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=wasmExports["_"])(a0);var __ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=a0=>(__ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=wasmExports["$"])(a0);var __ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=()=>(__ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=wasmExports["aa"])();var __ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=()=>(__ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=wasmExports["ba"])();var __ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=()=>(__ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=wasmExports["ca"])();var __ZSt9terminatev=Module["__ZSt9terminatev"]=()=>(__ZSt9terminatev=Module["__ZSt9terminatev"]=wasmExports["da"])();var ___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=()=>(___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=wasmExports["ea"])();var ___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=a0=>(___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=wasmExports["fa"])(a0);var ___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=()=>(___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=wasmExports["ga"])();var ___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=()=>(___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=wasmExports["ha"])();var ___cxa_free_exception=Module["___cxa_free_exception"]=a0=>(___cxa_free_exception=Module["___cxa_free_exception"]=wasmExports["ia"])(a0);var ___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=(a0,a1,a2)=>(___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=wasmExports["ja"])(a0,a1,a2);var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=()=>(___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["ka"])();var ___dynamic_cast=Module["___dynamic_cast"]=(a0,a1,a2,a3)=>(___dynamic_cast=Module["___dynamic_cast"]=wasmExports["la"])(a0,a1,a2,a3);var __ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=a0=>(__ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=wasmExports["ma"])(a0);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["na"])(a0);var __ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=a0=>(__ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=wasmExports["oa"])(a0);var __ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=a0=>(__ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=wasmExports["pa"])(a0);var __ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=a0=>(__ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=wasmExports["qa"])(a0);var __ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=a0=>(__ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=wasmExports["ra"])(a0);var __ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=a0=>(__ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=wasmExports["sa"])(a0);var __ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=a0=>(__ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=wasmExports["ta"])(a0);var __ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=a0=>(__ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=wasmExports["ua"])(a0);var __ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=a0=>(__ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=wasmExports["va"])(a0);var __ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=a0=>(__ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=wasmExports["wa"])(a0);var __ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=a0=>(__ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=wasmExports["xa"])(a0);var __ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=a0=>(__ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=wasmExports["ya"])(a0);var __ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=a0=>(__ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=wasmExports["za"])(a0);var __ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=a0=>(__ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=wasmExports["Aa"])(a0);var __ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=a0=>(__ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=wasmExports["Ba"])(a0);var __ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=a0=>(__ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=wasmExports["Ca"])(a0);var __ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=a0=>(__ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=wasmExports["Da"])(a0);var __ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=a0=>(__ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=wasmExports["Ea"])(a0);var __ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=a0=>(__ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=wasmExports["Fa"])(a0);var __ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=a0=>(__ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=wasmExports["Ga"])(a0);var __ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=a0=>(__ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=wasmExports["Ha"])(a0);var __ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=a0=>(__ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=wasmExports["Ia"])(a0);var __ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=a0=>(__ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=wasmExports["Ja"])(a0);var __ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=a0=>(__ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=wasmExports["Ka"])(a0);var __ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=a0=>(__ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=wasmExports["La"])(a0);var __ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=a0=>(__ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=wasmExports["Ma"])(a0);var __ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=a0=>(__ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=wasmExports["Na"])(a0);var __ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=a0=>(__ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=wasmExports["Oa"])(a0);var __ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=a0=>(__ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=wasmExports["Pa"])(a0);var __ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=a0=>(__ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=wasmExports["Qa"])(a0);var __ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=a0=>(__ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=wasmExports["Ra"])(a0);var __ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=a0=>(__ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=wasmExports["Sa"])(a0);var __ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=a0=>(__ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=wasmExports["Ta"])(a0);var __ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=a0=>(__ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=wasmExports["Ua"])(a0);var __ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=a0=>(__ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=wasmExports["Va"])(a0);var __ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=a0=>(__ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=wasmExports["Wa"])(a0);var __ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=a0=>(__ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=wasmExports["Xa"])(a0);var __ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=a0=>(__ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=wasmExports["Ya"])(a0);var __ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=a0=>(__ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=wasmExports["Za"])(a0);var __ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=a0=>(__ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=wasmExports["_a"])(a0);var __ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=a0=>(__ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=wasmExports["$a"])(a0);var __ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=a0=>(__ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=wasmExports["ab"])(a0);var __ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=a0=>(__ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=wasmExports["bb"])(a0);var __ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=a0=>(__ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=wasmExports["cb"])(a0);var __ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=a0=>(__ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=wasmExports["db"])(a0);var __ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=a0=>(__ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=wasmExports["eb"])(a0);var __ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=a0=>(__ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=wasmExports["fb"])(a0);var __ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=a0=>(__ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=wasmExports["gb"])(a0);var __ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=a0=>(__ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=wasmExports["hb"])(a0);var __ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=a0=>(__ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=wasmExports["ib"])(a0);var __ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=a0=>(__ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=wasmExports["jb"])(a0);var __ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=a0=>(__ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=wasmExports["kb"])(a0);var __ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=a0=>(__ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=wasmExports["lb"])(a0);var __ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=a0=>(__ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=wasmExports["mb"])(a0);var __ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=a0=>(__ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=wasmExports["nb"])(a0);var __ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=a0=>(__ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=wasmExports["ob"])(a0);var __ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=a0=>(__ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=wasmExports["pb"])(a0);var __ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=a0=>(__ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=wasmExports["qb"])(a0);var __ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=a0=>(__ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=wasmExports["rb"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sb"])(a0,a1,a2,a3,a4);var __ZTIPK16failsafe_flags_s=Module["__ZTIPK16failsafe_flags_s"]=46960;var __ZTIP16failsafe_flags_s=Module["__ZTIP16failsafe_flags_s"]=46944;var __ZTI16failsafe_flags_s=Module["__ZTI16failsafe_flags_s"]=46936;var __ZTIb=Module["__ZTIb"]=29960;var __ZTIh=Module["__ZTIh"]=30116;var __ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=47116;var __ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=47100;var __ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=47048;var __ZTISt12length_error=Module["__ZTISt12length_error"]=32076;var __ZTVSt12length_error=Module["__ZTVSt12length_error"]=32036;var __ZTISt20bad_array_new_length=Module["__ZTISt20bad_array_new_length"]=31848;var __ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=47036;var __ZTISt12out_of_range=Module["__ZTISt12out_of_range"]=32128;var __ZTVSt12out_of_range=Module["__ZTVSt12out_of_range"]=32088;var __ZTVN10__cxxabiv117__class_type_infoE=Module["__ZTVN10__cxxabiv117__class_type_infoE"]=31348;var __ZTVN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTVN10__cxxabiv121__vmi_class_type_infoE"]=31480;var __ZTVN10__cxxabiv120__si_class_type_infoE=Module["__ZTVN10__cxxabiv120__si_class_type_infoE"]=31388;var __ZTS16failsafe_flags_s=Module["__ZTS16failsafe_flags_s"]=27630;var __ZTSP16failsafe_flags_s=Module["__ZTSP16failsafe_flags_s"]=27649;var __ZTVN10__cxxabiv119__pointer_type_infoE=Module["__ZTVN10__cxxabiv119__pointer_type_infoE"]=31600;var __ZTSPK16failsafe_flags_s=Module["__ZTSPK16failsafe_flags_s"]=27669;var __ZTIi=Module["__ZTIi"]=30324;var __ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=27718;var __ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27785;var __ZTIv=Module["__ZTIv"]=29852;var __ZTIf=Module["__ZTIf"]=30796;var __ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27883;var __ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27970;var __ZTIm=Module["__ZTIm"]=30480;var __ZTIc=Module["__ZTIc"]=30064;var __ZTIa=Module["__ZTIa"]=30168;var __ZTIs=Module["__ZTIs"]=30220;var __ZTIt=Module["__ZTIt"]=30272;var __ZTIj=Module["__ZTIj"]=30376;var __ZTIl=Module["__ZTIl"]=30428;var __ZTIx=Module["__ZTIx"]=30532;var __ZTIy=Module["__ZTIy"]=30584;var __ZTId=Module["__ZTId"]=30848;var __ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=28192;var __ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=28264;var __ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=28340;var __ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28416;var __ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=28128;var __ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=28200;var __ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=28272;var __ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28348;var __ZTVSt11logic_error=Module["__ZTVSt11logic_error"]=31860;var __ZTVSt9exception=Module["__ZTVSt9exception"]=31696;var __ZTVSt13runtime_error=Module["__ZTVSt13runtime_error"]=31880;var __ZTISt9exception=Module["__ZTISt9exception"]=31732;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=47416;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=47412;var ___cxa_new_handler=Module["___cxa_new_handler"]=49628;var __ZTIN10__cxxabiv116__shim_type_infoE=Module["__ZTIN10__cxxabiv116__shim_type_infoE"]=29460;var __ZTIN10__cxxabiv117__class_type_infoE=Module["__ZTIN10__cxxabiv117__class_type_infoE"]=29508;var __ZTIN10__cxxabiv117__pbase_type_infoE=Module["__ZTIN10__cxxabiv117__pbase_type_infoE"]=29556;var __ZTIDn=Module["__ZTIDn"]=29904;var __ZTIN10__cxxabiv119__pointer_type_infoE=Module["__ZTIN10__cxxabiv119__pointer_type_infoE"]=29604;var __ZTIN10__cxxabiv120__function_type_infoE=Module["__ZTIN10__cxxabiv120__function_type_infoE"]=29656;var __ZTIN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTIN10__cxxabiv129__pointer_to_member_type_infoE"]=29716;var __ZTSN10__cxxabiv116__shim_type_infoE=Module["__ZTSN10__cxxabiv116__shim_type_infoE"]=29424;var __ZTISt9type_info=Module["__ZTISt9type_info"]=32396;var __ZTSN10__cxxabiv117__class_type_infoE=Module["__ZTSN10__cxxabiv117__class_type_infoE"]=29472;var __ZTSN10__cxxabiv117__pbase_type_infoE=Module["__ZTSN10__cxxabiv117__pbase_type_infoE"]=29520;var __ZTSN10__cxxabiv119__pointer_type_infoE=Module["__ZTSN10__cxxabiv119__pointer_type_infoE"]=29568;var __ZTSN10__cxxabiv120__function_type_infoE=Module["__ZTSN10__cxxabiv120__function_type_infoE"]=29616;var __ZTSN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTSN10__cxxabiv129__pointer_to_member_type_infoE"]=29668;var __ZTVN10__cxxabiv116__shim_type_infoE=Module["__ZTVN10__cxxabiv116__shim_type_infoE"]=29740;var __ZTVN10__cxxabiv123__fundamental_type_infoE=Module["__ZTVN10__cxxabiv123__fundamental_type_infoE"]=29768;var __ZTIN10__cxxabiv123__fundamental_type_infoE=Module["__ZTIN10__cxxabiv123__fundamental_type_infoE"]=29836;var __ZTSN10__cxxabiv123__fundamental_type_infoE=Module["__ZTSN10__cxxabiv123__fundamental_type_infoE"]=29796;var __ZTSv=Module["__ZTSv"]=29848;var __ZTSPv=Module["__ZTSPv"]=29860;var __ZTIPv=Module["__ZTIPv"]=29864;var __ZTSPKv=Module["__ZTSPKv"]=29880;var __ZTIPKv=Module["__ZTIPKv"]=29884;var __ZTSDn=Module["__ZTSDn"]=29900;var __ZTSPDn=Module["__ZTSPDn"]=29912;var __ZTIPDn=Module["__ZTIPDn"]=29916;var __ZTSPKDn=Module["__ZTSPKDn"]=29932;var __ZTIPKDn=Module["__ZTIPKDn"]=29940;var __ZTSb=Module["__ZTSb"]=29956;var __ZTSPb=Module["__ZTSPb"]=29968;var __ZTIPb=Module["__ZTIPb"]=29972;var __ZTSPKb=Module["__ZTSPKb"]=29988;var __ZTIPKb=Module["__ZTIPKb"]=29992;var __ZTSw=Module["__ZTSw"]=30008;var __ZTIw=Module["__ZTIw"]=30012;var __ZTSPw=Module["__ZTSPw"]=30020;var __ZTIPw=Module["__ZTIPw"]=30024;var __ZTSPKw=Module["__ZTSPKw"]=30040;var __ZTIPKw=Module["__ZTIPKw"]=30044;var __ZTSc=Module["__ZTSc"]=30060;var __ZTSPc=Module["__ZTSPc"]=30072;var __ZTIPc=Module["__ZTIPc"]=30076;var __ZTSPKc=Module["__ZTSPKc"]=30092;var __ZTIPKc=Module["__ZTIPKc"]=30096;var __ZTSh=Module["__ZTSh"]=30112;var __ZTSPh=Module["__ZTSPh"]=30124;var __ZTIPh=Module["__ZTIPh"]=30128;var __ZTSPKh=Module["__ZTSPKh"]=30144;var __ZTIPKh=Module["__ZTIPKh"]=30148;var __ZTSa=Module["__ZTSa"]=30164;var __ZTSPa=Module["__ZTSPa"]=30176;var __ZTIPa=Module["__ZTIPa"]=30180;var __ZTSPKa=Module["__ZTSPKa"]=30196;var __ZTIPKa=Module["__ZTIPKa"]=30200;var __ZTSs=Module["__ZTSs"]=30216;var __ZTSPs=Module["__ZTSPs"]=30228;var __ZTIPs=Module["__ZTIPs"]=30232;var __ZTSPKs=Module["__ZTSPKs"]=30248;var __ZTIPKs=Module["__ZTIPKs"]=30252;var __ZTSt=Module["__ZTSt"]=30268;var __ZTSPt=Module["__ZTSPt"]=30280;var __ZTIPt=Module["__ZTIPt"]=30284;var __ZTSPKt=Module["__ZTSPKt"]=30300;var __ZTIPKt=Module["__ZTIPKt"]=30304;var __ZTSi=Module["__ZTSi"]=30320;var __ZTSPi=Module["__ZTSPi"]=30332;var __ZTIPi=Module["__ZTIPi"]=30336;var __ZTSPKi=Module["__ZTSPKi"]=30352;var __ZTIPKi=Module["__ZTIPKi"]=30356;var __ZTSj=Module["__ZTSj"]=30372;var __ZTSPj=Module["__ZTSPj"]=30384;var __ZTIPj=Module["__ZTIPj"]=30388;var __ZTSPKj=Module["__ZTSPKj"]=30404;var __ZTIPKj=Module["__ZTIPKj"]=30408;var __ZTSl=Module["__ZTSl"]=30424;var __ZTSPl=Module["__ZTSPl"]=30436;var __ZTIPl=Module["__ZTIPl"]=30440;var __ZTSPKl=Module["__ZTSPKl"]=30456;var __ZTIPKl=Module["__ZTIPKl"]=30460;var __ZTSm=Module["__ZTSm"]=30476;var __ZTSPm=Module["__ZTSPm"]=30488;var __ZTIPm=Module["__ZTIPm"]=30492;var __ZTSPKm=Module["__ZTSPKm"]=30508;var __ZTIPKm=Module["__ZTIPKm"]=30512;var __ZTSx=Module["__ZTSx"]=30528;var __ZTSPx=Module["__ZTSPx"]=30540;var __ZTIPx=Module["__ZTIPx"]=30544;var __ZTSPKx=Module["__ZTSPKx"]=30560;var __ZTIPKx=Module["__ZTIPKx"]=30564;var __ZTSy=Module["__ZTSy"]=30580;var __ZTSPy=Module["__ZTSPy"]=30592;var __ZTIPy=Module["__ZTIPy"]=30596;var __ZTSPKy=Module["__ZTSPKy"]=30612;var __ZTIPKy=Module["__ZTIPKy"]=30616;var __ZTSn=Module["__ZTSn"]=30632;var __ZTIn=Module["__ZTIn"]=30636;var __ZTSPn=Module["__ZTSPn"]=30644;var __ZTIPn=Module["__ZTIPn"]=30648;var __ZTSPKn=Module["__ZTSPKn"]=30664;var __ZTIPKn=Module["__ZTIPKn"]=30668;var __ZTSo=Module["__ZTSo"]=30684;var __ZTIo=Module["__ZTIo"]=30688;var __ZTSPo=Module["__ZTSPo"]=30696;var __ZTIPo=Module["__ZTIPo"]=30700;var __ZTSPKo=Module["__ZTSPKo"]=30716;var __ZTIPKo=Module["__ZTIPKo"]=30720;var __ZTSDh=Module["__ZTSDh"]=30736;var __ZTIDh=Module["__ZTIDh"]=30740;var __ZTSPDh=Module["__ZTSPDh"]=30748;var __ZTIPDh=Module["__ZTIPDh"]=30752;var __ZTSPKDh=Module["__ZTSPKDh"]=30768;var __ZTIPKDh=Module["__ZTIPKDh"]=30776;var __ZTSf=Module["__ZTSf"]=30792;var __ZTSPf=Module["__ZTSPf"]=30804;var __ZTIPf=Module["__ZTIPf"]=30808;var __ZTSPKf=Module["__ZTSPKf"]=30824;var __ZTIPKf=Module["__ZTIPKf"]=30828;var __ZTSd=Module["__ZTSd"]=30844;var __ZTSPd=Module["__ZTSPd"]=30856;var __ZTIPd=Module["__ZTIPd"]=30860;var __ZTSPKd=Module["__ZTSPKd"]=30876;var __ZTIPKd=Module["__ZTIPKd"]=30880;var __ZTSe=Module["__ZTSe"]=30896;var __ZTIe=Module["__ZTIe"]=30900;var __ZTSPe=Module["__ZTSPe"]=30908;var __ZTIPe=Module["__ZTIPe"]=30912;var __ZTSPKe=Module["__ZTSPKe"]=30928;var __ZTIPKe=Module["__ZTIPKe"]=30932;var __ZTSg=Module["__ZTSg"]=30948;var __ZTIg=Module["__ZTIg"]=30952;var __ZTSPg=Module["__ZTSPg"]=30960;var __ZTIPg=Module["__ZTIPg"]=30964;var __ZTSPKg=Module["__ZTSPKg"]=30980;var __ZTIPKg=Module["__ZTIPKg"]=30984;var __ZTSDu=Module["__ZTSDu"]=31e3;var __ZTIDu=Module["__ZTIDu"]=31004;var __ZTSPDu=Module["__ZTSPDu"]=31012;var __ZTIPDu=Module["__ZTIPDu"]=31016;var __ZTSPKDu=Module["__ZTSPKDu"]=31032;var __ZTIPKDu=Module["__ZTIPKDu"]=31040;var __ZTSDs=Module["__ZTSDs"]=31056;var __ZTIDs=Module["__ZTIDs"]=31060;var __ZTSPDs=Module["__ZTSPDs"]=31068;var __ZTIPDs=Module["__ZTIPDs"]=31072;var __ZTSPKDs=Module["__ZTSPKDs"]=31088;var __ZTIPKDs=Module["__ZTIPKDs"]=31096;var __ZTSDi=Module["__ZTSDi"]=31112;var __ZTIDi=Module["__ZTIDi"]=31116;var __ZTSPDi=Module["__ZTSPDi"]=31124;var __ZTIPDi=Module["__ZTIPDi"]=31128;var __ZTSPKDi=Module["__ZTSPKDi"]=31144;var __ZTIPKDi=Module["__ZTIPKDi"]=31152;var __ZTVN10__cxxabiv117__array_type_infoE=Module["__ZTVN10__cxxabiv117__array_type_infoE"]=31168;var __ZTIN10__cxxabiv117__array_type_infoE=Module["__ZTIN10__cxxabiv117__array_type_infoE"]=31232;var __ZTSN10__cxxabiv117__array_type_infoE=Module["__ZTSN10__cxxabiv117__array_type_infoE"]=31196;var __ZTVN10__cxxabiv120__function_type_infoE=Module["__ZTVN10__cxxabiv120__function_type_infoE"]=31244;var __ZTVN10__cxxabiv116__enum_type_infoE=Module["__ZTVN10__cxxabiv116__enum_type_infoE"]=31272;var __ZTIN10__cxxabiv116__enum_type_infoE=Module["__ZTIN10__cxxabiv116__enum_type_infoE"]=31336;var __ZTSN10__cxxabiv116__enum_type_infoE=Module["__ZTSN10__cxxabiv116__enum_type_infoE"]=31300;var __ZTIN10__cxxabiv120__si_class_type_infoE=Module["__ZTIN10__cxxabiv120__si_class_type_infoE"]=31468;var __ZTSN10__cxxabiv120__si_class_type_infoE=Module["__ZTSN10__cxxabiv120__si_class_type_infoE"]=31428;var __ZTIN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTIN10__cxxabiv121__vmi_class_type_infoE"]=31560;var __ZTSN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTSN10__cxxabiv121__vmi_class_type_infoE"]=31520;var __ZTVN10__cxxabiv117__pbase_type_infoE=Module["__ZTVN10__cxxabiv117__pbase_type_infoE"]=31572;var __ZTVN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTVN10__cxxabiv129__pointer_to_member_type_infoE"]=31628;var __ZTVSt9bad_alloc=Module["__ZTVSt9bad_alloc"]=31656;var __ZTVSt20bad_array_new_length=Module["__ZTVSt20bad_array_new_length"]=31676;var __ZTISt9bad_alloc=Module["__ZTISt9bad_alloc"]=31808;var __ZTSSt9exception=Module["__ZTSSt9exception"]=31716;var __ZTVSt13bad_exception=Module["__ZTVSt13bad_exception"]=31740;var __ZTISt13bad_exception=Module["__ZTISt13bad_exception"]=31780;var __ZTSSt13bad_exception=Module["__ZTSSt13bad_exception"]=31760;var __ZTSSt9bad_alloc=Module["__ZTSSt9bad_alloc"]=31792;var __ZTSSt20bad_array_new_length=Module["__ZTSSt20bad_array_new_length"]=31820;var __ZTISt11logic_error=Module["__ZTISt11logic_error"]=31956;var __ZTISt13runtime_error=Module["__ZTISt13runtime_error"]=32196;var __ZTVSt12domain_error=Module["__ZTVSt12domain_error"]=31900;var __ZTISt12domain_error=Module["__ZTISt12domain_error"]=31968;var __ZTSSt12domain_error=Module["__ZTSSt12domain_error"]=31920;var __ZTSSt11logic_error=Module["__ZTSSt11logic_error"]=31937;var __ZTVSt16invalid_argument=Module["__ZTVSt16invalid_argument"]=31980;var __ZTISt16invalid_argument=Module["__ZTISt16invalid_argument"]=32024;var __ZTSSt16invalid_argument=Module["__ZTSSt16invalid_argument"]=32e3;var __ZTSSt12length_error=Module["__ZTSSt12length_error"]=32056;var __ZTSSt12out_of_range=Module["__ZTSSt12out_of_range"]=32108;var __ZTVSt11range_error=Module["__ZTVSt11range_error"]=32140;var __ZTISt11range_error=Module["__ZTISt11range_error"]=32208;var __ZTSSt11range_error=Module["__ZTSSt11range_error"]=32160;var __ZTSSt13runtime_error=Module["__ZTSSt13runtime_error"]=32176;var __ZTVSt14overflow_error=Module["__ZTVSt14overflow_error"]=32220;var __ZTISt14overflow_error=Module["__ZTISt14overflow_error"]=32260;var __ZTSSt14overflow_error=Module["__ZTSSt14overflow_error"]=32240;var __ZTVSt15underflow_error=Module["__ZTVSt15underflow_error"]=32272;var __ZTISt15underflow_error=Module["__ZTISt15underflow_error"]=32312;var __ZTSSt15underflow_error=Module["__ZTSSt15underflow_error"]=32292;var __ZTVSt8bad_cast=Module["__ZTVSt8bad_cast"]=32324;var __ZTVSt10bad_typeid=Module["__ZTVSt10bad_typeid"]=32344;var __ZTISt8bad_cast=Module["__ZTISt8bad_cast"]=32416;var __ZTISt10bad_typeid=Module["__ZTISt10bad_typeid"]=32444;var __ZTVSt9type_info=Module["__ZTVSt9type_info"]=32364;var __ZTSSt9type_info=Module["__ZTSSt9type_info"]=32380;var __ZTSSt8bad_cast=Module["__ZTSSt8bad_cast"]=32404;var __ZTSSt10bad_typeid=Module["__ZTSSt10bad_typeid"]=32428;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
diff --git a/public/config/failsafe/index.wasm b/public/config/failsafe/index.wasm
index c89a2be7bc2a..ccba38411406 100755
Binary files a/public/config/failsafe/index.wasm and b/public/config/failsafe/index.wasm differ
diff --git a/public/config/failsafe/parameters.json b/public/config/failsafe/parameters.json
index 11f44c5da9ab..566f67e05de1 100644
--- a/public/config/failsafe/parameters.json
+++ b/public/config/failsafe/parameters.json
@@ -1 +1 @@
-{"parameters": [{"category": "Standard", "default": 75, "group": "UAVCAN Motor Parameters", "longDesc": "Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.", "max": 250, "min": 10, "name": "ctl_bw", "shortDesc": "Speed controller bandwidth", "type": "Int32", "units": "Hz"}, {"category": "Standard", "default": 1, "group": "UAVCAN Motor Parameters", "longDesc": "Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.", "max": 1, "min": 0, "name": "ctl_dir", "shortDesc": "Reverse direction", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "UAVCAN Motor Parameters", "longDesc": "Speed (RPM) controller gain. Determines controller\n aggressiveness; units are amp-seconds per radian. Systems with\n higher rotational inertia (large props) will need gain increased;\n systems with low rotational inertia (small props) may need gain\n decreased. Higher values result in faster response, but may result\n in oscillation and excessive overshoot. Lower values result in a\n slower, smoother response.", "max": 1.0, "min": 0.0, "name": "ctl_gain", "shortDesc": "Speed (RPM) controller gain", "type": "Float", "units": "C/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.5, "group": "UAVCAN Motor Parameters", "longDesc": "Idle speed (e Hz)", "max": 100.0, "min": 0.0, "name": "ctl_hz_idle", "shortDesc": "Idle speed (e Hz)", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 25, "group": "UAVCAN Motor Parameters", "longDesc": "Spin-up rate (e Hz/s)", "max": 1000, "min": 5, "name": "ctl_start_rate", "shortDesc": "Spin-up rate (e Hz/s)", "type": "Int32", "units": "1/s^2"}, {"category": "Standard", "default": 0, "group": "UAVCAN Motor Parameters", "longDesc": "Index of this ESC in throttle command messages.", "max": 15, "min": 0, "name": "esc_index", "shortDesc": "Index of this ESC in throttle command messages.", "type": "Int32"}, {"category": "Standard", "default": 20034, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status ID", "max": 1000000, "min": 1, "name": "id_ext_status", "shortDesc": "Extended status ID", "type": "Int32"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status interval (\u00b5s)", "max": 1000000, "min": 0, "name": "int_ext_status", "shortDesc": "Extended status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "ESC status interval (\u00b5s)", "max": 1000000, "name": "int_status", "shortDesc": "ESC status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 3, "default": 12.0, "group": "UAVCAN Motor Parameters", "longDesc": "Motor current limit in amps. This determines the maximum\n current controller setpoint, as well as the maximum allowable\n current setpoint slew rate. This value should generally be set to\n the continuous current rating listed in the motor\u2019s specification\n sheet, or set equal to the motor\u2019s specified continuous power\n divided by the motor voltage limit.", "max": 80.0, "min": 1.0, "name": "mot_i_max", "shortDesc": "Motor current limit in amps", "type": "Float", "units": "A"}, {"category": "Standard", "default": 2300, "group": "UAVCAN Motor Parameters", "longDesc": "Motor Kv in RPM per volt. This can be taken from the motor\u2019s\n specification sheet; accuracy will help control performance but\n some deviation from the specified value is acceptable.", "max": 4000, "min": 0, "name": "mot_kv", "shortDesc": "Motor Kv in RPM per volt", "type": "Int32", "units": "rpm/V"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor inductance in henries. This is measured on start-up.", "name": "mot_ls", "shortDesc": "READ ONLY: Motor inductance in henries.", "type": "Float", "units": "H"}, {"category": "Standard", "default": 14, "group": "UAVCAN Motor Parameters", "longDesc": "Number of motor poles. Used to convert mechanical speeds to\n electrical speeds. This number should be taken from the motor\u2019s\n specification sheet.", "max": 40, "min": 2, "name": "mot_num_poles", "shortDesc": "Number of motor poles.", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor resistance in ohms. This is measured on start-up. When\n tuning a new motor, check that this value is approximately equal\n to the value shown in the motor\u2019s specification sheet.", "name": "mot_rs", "shortDesc": "READ ONLY: Motor resistance in ohms", "type": "Float", "units": "Ohm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "UAVCAN Motor Parameters", "longDesc": "Acceleration limit (V)", "max": 1.0, "min": 0.01, "name": "mot_v_accel", "shortDesc": "Acceleration limit (V)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 3, "default": 14.8, "group": "UAVCAN Motor Parameters", "longDesc": "Motor voltage limit in volts. The current controller\u2019s\n commanded voltage will never exceed this value. Note that this may\n safely be above the nominal voltage of the motor; to determine the\n actual motor voltage limit, divide the motor\u2019s rated power by the\n motor current limit.", "min": 0.0, "name": "mot_v_max", "shortDesc": "Motor voltage limit in volts", "type": "Float", "units": "V"}, {"category": "Standard", "default": 2, "group": "UAVCAN GNSS", "longDesc": "Dynamic model used in the GNSS positioning engine. 0 \u2013\n Automotive, 1 \u2013 Sea, 2 \u2013 Airborne.\n ", "max": 2, "min": 0, "name": "gnss.dyn_model", "shortDesc": "GNSS dynamic model", "type": "Int32", "values": [{"description": "Automotive", "value": 0}, {"description": "Sea", "value": 1}, {"description": "Airborne", "value": 2}]}, {"category": "Standard", "default": 1, "group": "UAVCAN GNSS", "longDesc": "Broadcast the old (deprecated) GNSS fix message\n uavcan.equipment.gnss.Fix alongside the new alternative\n uavcan.equipment.gnss.Fix2. It is recommended to\n disable this feature to reduce the CAN bus traffic.\n ", "max": 1, "min": 0, "name": "gnss.old_fix_msg", "shortDesc": "Broadcast old GNSS fix message", "type": "Int32", "values": [{"description": "Fix2", "value": 0}, {"description": "Fix and Fix2", "value": 1}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the dimensionality of\n the GNSS solution is less than this value. 3 for the full (3D)\n solution, 2 for planar (2D) solution, 1 for time-only solution,\n 0 disables the feature.\n ", "max": 3, "min": 0, "name": "gnss.warn_dimens", "shortDesc": "device health warning", "type": "Int32", "values": [{"description": "disables the feature", "value": 0}, {"description": "time-only solution", "value": 1}, {"description": "planar (2D) solution", "value": 2}, {"description": "full (3D) solution", "value": 3}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "name": "gnss.warn_sats", "shortDesc": "", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "max": 1000000, "min": 0, "name": "uavcan.pubp-pres", "shortDesc": "", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets first 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \". Example \"PX4 \" -> 1347957792 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_1", "rebootRequired": true, "shortDesc": "First 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets second 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \" only. Example \"TEST\" -> 1413829460 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_2", "rebootRequired": true, "shortDesc": "Second 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets the vehicle emergency state", "max": 6, "min": 0, "name": "ADSB_EMERGC", "rebootRequired": true, "shortDesc": "ADSB-Out Emergency State", "type": "Int32", "values": [{"description": "NoEmergency", "value": 0}, {"description": "General", "value": 1}, {"description": "Medical", "value": 2}, {"description": "LowFuel", "value": 3}, {"description": "NoCommunications", "value": 4}, {"description": "Interference", "value": 5}, {"description": "Downed", "value": 6}]}, {"category": "Standard", "default": 14, "group": "ADSB", "longDesc": "Configure the emitter type of the vehicle.", "max": 15, "min": 0, "name": "ADSB_EMIT_TYPE", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Emitter Type", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "Light", "value": 1}, {"description": "Small", "value": 2}, {"description": "Large", "value": 3}, {"description": "HighVortex", "value": 4}, {"description": "Heavy", "value": 5}, {"description": "Performance", "value": 6}, {"description": "Rotorcraft", "value": 7}, {"description": "RESERVED", "value": 8}, {"description": "Glider", "value": 9}, {"description": "LightAir", "value": 10}, {"description": "Parachute", "value": 11}, {"description": "UltraLight", "value": 12}, {"description": "RESERVED", "value": 13}, {"description": "UAV", "value": 14}, {"description": "Space", "value": 15}, {"description": "RESERVED", "value": 16}, {"description": "EmergencySurf", "value": 17}, {"description": "ServiceSurf", "value": 18}, {"description": "PointObstacle", "value": 19}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS lataral offset encoding", "max": 7, "min": 0, "name": "ADSB_GPS_OFF_LAT", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lat", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "LatLeft2M", "value": 1}, {"description": "LatLeft4M", "value": 2}, {"description": "LatLeft6M", "value": 3}, {"description": "LatRight0M", "value": 4}, {"description": "LatRight2M", "value": 5}, {"description": "LatRight4M", "value": 6}, {"description": "LatRight6M", "value": 7}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS longitudinal offset encoding", "max": 1, "min": 0, "name": "ADSB_GPS_OFF_LON", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lon", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "AppliedBySensor", "value": 1}]}, {"category": "Standard", "default": 1194684, "group": "ADSB", "longDesc": "Defines the ICAO ID of the vehicle", "max": 16777215, "min": -1, "name": "ADSB_ICAO_ID", "rebootRequired": true, "shortDesc": "ADSB-Out ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "This vehicle is always tracked. Use 0 to disable.", "max": 16777215, "min": 0, "name": "ADSB_ICAO_SPECL", "rebootRequired": true, "shortDesc": "ADSB-In Special ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Enable Identification of Position feature", "name": "ADSB_IDENT", "rebootRequired": true, "shortDesc": "ADSB-Out Ident Configuration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "ADSB", "longDesc": "Report the length and width of the vehicle in meters. In most cases, use '1' for the smallest vehicle size.", "max": 15, "min": 0, "name": "ADSB_LEN_WIDTH", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Size Configuration", "type": "Int32", "values": [{"description": "SizeUnknown", "value": 0}, {"description": "Len15_Wid23", "value": 1}, {"description": "Len25_Wid28", "value": 2}, {"description": "Len25_Wid34", "value": 3}, {"description": "Len35_Wid33", "value": 4}, {"description": "Len35_Wid38", "value": 5}, {"description": "Len45_Wid39", "value": 6}, {"description": "Len45_Wid45", "value": 7}, {"description": "Len55_Wid45", "value": 8}, {"description": "Len55_Wid52", "value": 9}, {"description": "Len65_Wid59", "value": 10}, {"description": "Len65_Wid67", "value": 11}, {"description": "Len75_Wid72", "value": 12}, {"description": "Len75_Wid80", "value": 13}, {"description": "Len85_Wid80", "value": 14}, {"description": "Len85_Wid90", "value": 15}]}, {"category": "Standard", "default": 25, "group": "ADSB", "longDesc": "Change number of targets to track", "max": 50, "min": 0, "name": "ADSB_LIST_MAX", "rebootRequired": true, "shortDesc": "ADSB-In Vehicle List Size", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Informs ADSB vehicles of this vehicle's max speed capability", "max": 6, "min": 0, "name": "ADSB_MAX_SPEED", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Max Speed", "type": "Int32", "values": [{"description": "UnknownMaxSpeed", "value": 0}, {"description": "75Kts", "value": 1}, {"description": "150Kts", "value": 2}, {"description": "300Kts", "value": 3}, {"description": "600Kts", "value": 4}, {"description": "1200Kts", "value": 5}, {"description": "Over1200Kts", "value": 6}]}, {"category": "Standard", "default": 1200, "group": "ADSB", "longDesc": "This parameter defines the squawk code. Value should be between 0000 and 7777.", "max": 7777, "min": 0, "name": "ADSB_SQUAWK", "rebootRequired": true, "shortDesc": "ADSB-Out squawk code configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC1", "shortDesc": "SIM Channel 1 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC10", "shortDesc": "SIM Channel 10 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC11", "shortDesc": "SIM Channel 11 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC12", "shortDesc": "SIM Channel 12 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC13", "shortDesc": "SIM Channel 13 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC14", "shortDesc": "SIM Channel 14 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC15", "shortDesc": "SIM Channel 15 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC16", "shortDesc": "SIM Channel 16 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC2", "shortDesc": "SIM Channel 2 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC3", "shortDesc": "SIM Channel 3 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC4", "shortDesc": "SIM Channel 4 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC5", "shortDesc": "SIM Channel 5 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC6", "shortDesc": "SIM Channel 6 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC7", "shortDesc": "SIM Channel 7 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC8", "shortDesc": "SIM Channel 8 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC9", "shortDesc": "SIM Channel 9 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"bitmask": [{"description": "SIM Channel 1", "index": 0}, {"description": "SIM Channel 2", "index": 1}, {"description": "SIM Channel 3", "index": 2}, {"description": "SIM Channel 4", "index": 3}, {"description": "SIM Channel 5", "index": 4}, {"description": "SIM Channel 6", "index": 5}, {"description": "SIM Channel 7", "index": 6}, {"description": "SIM Channel 8", "index": 7}, {"description": "SIM Channel 9", "index": 8}, {"description": "SIM Channel 10", "index": 9}, {"description": "SIM Channel 11", "index": 10}, {"description": "SIM Channel 12", "index": 11}, {"description": "SIM Channel 13", "index": 12}, {"description": "SIM Channel 14", "index": 13}, {"description": "SIM Channel 15", "index": 14}, {"description": "SIM Channel 16", "index": 15}], "category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Allows to reverse the output range for each channel. Note: this is only useful for servos.", "max": 65535, "min": 0, "name": "PWM_MAIN_REV", "shortDesc": "Reverse Output Range for SIM", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_BETA_GATE", "shortDesc": "Gate size for sideslip angle fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Airspeed Validator", "longDesc": "Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 1.0, "min": 0.0, "name": "ASPD_BETA_NOISE", "shortDesc": "Wind estimator sideslip measurement noise", "type": "Float", "units": "rad"}, {"bitmask": [{"description": "Only data missing check (triggers if more than 1s no data)", "index": 0}, {"description": "Data stuck (triggers if data is exactly constant for 2s in FW mode)", "index": 1}, {"description": "Innovation check (see ASPD_FS_INNOV)", "index": 2}, {"description": "Load factor check (triggers if measurement is below stall speed)", "index": 3}, {"description": "First principle check (airspeed change vs. throttle and pitch)", "index": 4}], "category": "Standard", "default": 7, "group": "Airspeed Validator", "longDesc": "Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY > 0.", "max": 31, "min": 0, "name": "ASPD_DO_CHECKS", "shortDesc": "Enable checks on airspeed sensors", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Airspeed Validator", "longDesc": "If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.", "name": "ASPD_FALLBACK_GW", "shortDesc": "Enable fallback to sensor-less airspeed estimation", "type": "Int32", "values": [{"description": "Disable fallback to sensor-less estimation", "value": 0}, {"description": "Enable fallback to sensor-less estimation", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Airspeed Validator", "longDesc": "Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.", "min": 0.0, "name": "ASPD_FP_T_WINDOW", "shortDesc": "First principle airspeed check time window", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Airspeed Validator", "longDesc": "This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.", "max": 10.0, "min": 0.5, "name": "ASPD_FS_INNOV", "shortDesc": "Airspeed failure innovation threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Airspeed Validator", "longDesc": "This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.", "max": 50.0, "min": 0.0, "name": "ASPD_FS_INTEG", "shortDesc": "Airspeed failure innovation integral threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Airspeed Validator", "longDesc": "Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.", "min": -1.0, "name": "ASPD_FS_T_START", "shortDesc": "Airspeed failsafe start delay", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Airspeed Validator", "longDesc": "Delay before stopping use of airspeed sensor if checks indicate sensor is bad.", "min": 0.0, "name": "ASPD_FS_T_STOP", "shortDesc": "Airspeed failsafe stop delay", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "name": "ASPD_PRIMARY", "rebootRequired": true, "shortDesc": "Index or primary airspeed measurement source", "type": "Int32", "values": [{"description": "Groundspeed minus windspeed", "value": 0}, {"description": "First airspeed sensor", "value": 1}, {"description": "Second airspeed sensor", "value": 2}, {"description": "Third airspeed sensor", "value": 3}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the first airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_1", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 1", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the second airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_2", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 2", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the third airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_3", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 3", "type": "Float", "volatile": true}, {"category": "Standard", "default": 2, "group": "Airspeed Validator", "name": "ASPD_SCALE_APPLY", "shortDesc": "Controls when to apply the new estimated airspeed scale(s)", "type": "Int32", "values": [{"description": "Do not automatically apply the estimated scale", "value": 0}, {"description": "Apply the estimated scale after disarm", "value": 1}, {"description": "Apply the estimated scale in air", "value": 2}]}, {"category": "Standard", "decimalPlaces": 5, "default": 0.0001, "group": "Airspeed Validator", "longDesc": "Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.", "max": 0.1, "min": 0.0, "name": "ASPD_SCALE_NSD", "shortDesc": "Wind estimator true airspeed scale process noise spectral density", "type": "Float", "units": "1/s/sqrt(Hz)"}, {"category": "Standard", "default": 4, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_TAS_GATE", "shortDesc": "Gate size for true airspeed fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "Airspeed Validator", "longDesc": "True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 4.0, "min": 0.0, "name": "ASPD_TAS_NOISE", "shortDesc": "Wind estimator true airspeed measurement noise", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.55, "group": "Airspeed Validator", "longDesc": "The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty is below this value.", "max": 5.0, "min": 0.001, "name": "ASPD_WERR_THR", "shortDesc": "Horizontal wind uncertainty threshold for synthetic airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Airspeed Validator", "longDesc": "Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "ASPD_WIND_NSD", "shortDesc": "Wind estimator wind process noise spectral density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "name": "ATT_ACC_COMP", "shortDesc": "Acceleration compensation based on GPS velocity", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Attitude Q estimator", "max": 2.0, "min": 0.0, "name": "ATT_BIAS_MAX", "shortDesc": "Gyro bias limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "longDesc": "Enable standalone quaternion based attitude estimator.", "name": "ATT_EN", "shortDesc": "standalone attitude estimator enable (unsupported)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "longDesc": "Set to 1 to use heading estimate from vision. Set to 2 to use heading from motion capture.", "max": 2, "min": 0, "name": "ATT_EXT_HDG_M", "shortDesc": "External heading usage mode (from Motion capture/Vision)", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Vision", "value": 1}, {"description": "Motion Capture", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Attitude Q estimator", "longDesc": "This parameter is not used in normal operation, as the declination is looked up based on the GPS coordinates of the vehicle.", "name": "ATT_MAG_DECL", "shortDesc": "Magnetic declination, in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 1, "group": "Attitude Q estimator", "name": "ATT_MAG_DECL_A", "shortDesc": "Automatic GPS based declination compensation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_ACC", "shortDesc": "Complimentary filter accelerometer weight", "type": "Float"}, {"category": "Standard", "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_EXT_HDG", "shortDesc": "Complimentary filter external heading weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_GYRO_BIAS", "shortDesc": "Complimentary filter gyroscope bias weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "longDesc": "Set to 0 to avoid using the magnetometer.", "max": 1.0, "min": 0.0, "name": "ATT_W_MAG", "shortDesc": "Complimentary filter magnetometer weight", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.", "name": "FW_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "Apply the new gains in air", "value": 2}]}, {"bitmask": [{"description": "roll", "index": 0}, {"description": "pitch", "index": 1}, {"description": "yaw", "index": 2}], "category": "Standard", "default": 3, "group": "Autotune", "longDesc": "Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw", "max": 7, "min": 1, "name": "FW_AT_AXES", "shortDesc": "Tuning axes selection", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.", "max": 6, "min": 0, "name": "FW_AT_MAN_AUX", "shortDesc": "Enable/disable auto tuning using an RC AUX input", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Aux1", "value": 1}, {"description": "Aux2", "value": 2}, {"description": "Aux3", "value": 3}, {"description": "Aux4", "value": 4}, {"description": "Aux5", "value": 5}, {"description": "Aux6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio", "name": "FW_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Autotune", "longDesc": "This parameter scales the signal sent to the rate controller during system identification.", "max": 6.0, "min": 0.1, "name": "FW_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Autotune", "longDesc": "Can be set lower or higher than the end frequency", "max": 30.0, "min": 0.1, "name": "FW_AT_SYSID_F0", "shortDesc": "Start frequency of the injected signal", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "Autotune", "longDesc": "Can be set lower or higher than the start frequency", "max": 30.0, "min": 0.1, "name": "FW_AT_SYSID_F1", "shortDesc": "End frequency of the injected signal", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 0, "default": 10.0, "group": "Autotune", "longDesc": "Duration of the input signal sent on each axis during system identification", "max": 120.0, "min": 5.0, "name": "FW_AT_SYSID_TIME", "shortDesc": "Maneuver time for each axis", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "Type of signal used during system identification to excite the system.", "name": "FW_AT_SYSID_TYPE", "shortDesc": "Input signal type", "type": "Int32", "values": [{"description": "Step", "value": 0}, {"description": "Linear sine sweep", "value": 1}, {"description": "Logarithmic sine sweep", "value": 2}]}, {"category": "Standard", "default": 1, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.", "name": "MC_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "WARNING Apply the new gains in air", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Autotune", "name": "MC_AT_EN", "shortDesc": "Multicopter autotune module enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.14, "group": "Autotune", "max": 0.5, "min": 0.01, "name": "MC_AT_RISE_TIME", "shortDesc": "Desired angular rate closed-loop rise time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio", "name": "MC_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Autotune", "max": 6.0, "min": 0.1, "name": "MC_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 1 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT1_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 1 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT1_N_CELLS", "rebootRequired": true, "shortDesc": "Number of cells for battery 1", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT1_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 1", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT1_SOURCE", "rebootRequired": true, "shortDesc": "Battery 1 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT1_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT1_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 2 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT2_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 2 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT2_N_CELLS", "rebootRequired": true, "shortDesc": "Number of cells for battery 2", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT2_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 2", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": -1, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT2_SOURCE", "rebootRequired": true, "shortDesc": "Battery 2 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT2_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT2_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 3 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT3_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 3 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT3_N_CELLS", "rebootRequired": true, "shortDesc": "Number of cells for battery 3", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT3_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 3", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": -1, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT3_SOURCE", "rebootRequired": true, "shortDesc": "Battery 3 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT3_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT3_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "default": 15.0, "group": "Battery Calibration", "increment": 0.1, "longDesc": "This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.", "max": 500.0, "min": 0.0, "name": "BAT_AVRG_CURRENT", "shortDesc": "Expected battery current in flight", "type": "Float", "units": "A"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.07, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.", "max": 0.25, "min": 0.05, "name": "BAT_CRIT_THR", "shortDesc": "Critical threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.", "max": 0.1, "min": 0.03, "name": "BAT_EMERGEN_THR", "shortDesc": "Emergency threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.", "max": 0.5, "min": 0.12, "name": "BAT_LOW_THR", "shortDesc": "Low threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time the trigger needs to pulled high or low.", "max": 3000.0, "min": 0.1, "name": "TRIG_ACT_TIME", "rebootRequired": true, "shortDesc": "Camera trigger activation time", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "Camera trigger", "increment": 1.0, "longDesc": "Sets the distance at which to trigger the camera.", "min": 0.0, "name": "TRIG_DISTANCE", "rebootRequired": true, "shortDesc": "Camera trigger distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 4, "group": "Camera trigger", "longDesc": "Selects the trigger interface", "name": "TRIG_INTERFACE", "rebootRequired": true, "shortDesc": "Camera trigger Interface", "type": "Int32", "values": [{"description": "GPIO", "value": 1}, {"description": "Seagull MAP2 (over PWM)", "value": 2}, {"description": "MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)", "value": 3}, {"description": "Generic PWM (IR trigger, servo)", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time between two consecutive trigger events", "max": 10000.0, "min": 4.0, "name": "TRIG_INTERVAL", "rebootRequired": true, "shortDesc": "Camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Camera trigger", "longDesc": "This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.", "max": 10000.0, "min": 1.0, "name": "TRIG_MIN_INTERVA", "rebootRequired": true, "shortDesc": "Minimum camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "Camera trigger", "max": 4, "min": 0, "name": "TRIG_MODE", "rebootRequired": true, "shortDesc": "Camera trigger mode", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Time based, on command", "value": 1}, {"description": "Time based, always on", "value": 2}, {"description": "Distance based, always on", "value": 3}, {"description": "Distance based, on command (Survey mode)", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Camera trigger", "longDesc": "This parameter sets the polarity of the trigger (0 = active low, 1 = active high )", "max": 1, "min": 0, "name": "TRIG_POLARITY", "rebootRequired": true, "shortDesc": "Camera trigger polarity", "type": "Int32", "values": [{"description": "Active low", "value": 0}, {"description": "Active high", "value": 1}]}, {"category": "Standard", "default": 1500, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_NEUTRAL", "rebootRequired": true, "shortDesc": "PWM neutral output on trigger pin", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 1900, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_SHOOT", "rebootRequired": true, "shortDesc": "PWM output to trigger shot", "type": "Int32", "units": "us"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.", "max": 782097, "min": 0, "name": "CBRK_BUZZER", "rebootRequired": true, "shortDesc": "Circuit breaker for disabling buzzer", "type": "Int32"}, {"category": "Developer", "default": 121212, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.", "max": 121212, "min": 0, "name": "CBRK_FLIGHTTERM", "rebootRequired": true, "shortDesc": "Circuit breaker for flight termination", "type": "Int32"}, {"category": "Developer", "default": 22027, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 22027, "min": 0, "name": "CBRK_IO_SAFETY", "shortDesc": "Circuit breaker for IO safety", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 894281, "min": 0, "name": "CBRK_SUPPLY_CHK", "shortDesc": "Circuit breaker for power supply check", "type": "Int32"}, {"category": "Developer", "default": 197848, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 197848 will disable the USB connected 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.", "max": 197848, "min": 0, "name": "CBRK_USB_CHK", "shortDesc": "Circuit breaker for USB link check", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 159753, "min": 0, "name": "CBRK_VTOLARMING", "shortDesc": "Circuit breaker for arming in fixed-wing mode check", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.", "max": 3, "min": 0, "name": "COM_ACT_FAIL_ACT", "shortDesc": "Set the actuator failure failsafe mode", "type": "Int32", "values": [{"description": "Warning only", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Land mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.", "name": "COM_ARMABLE", "shortDesc": "Flag to allow arming", "type": "Int32", "values": [{"description": "Disallow arming", "value": 0}, {"description": "Allow arming", "value": 1}]}, {"category": "Standard", "default": 10, "group": "Commander", "longDesc": "Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_ID", "shortDesc": "Arm authorizer system id", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_MET", "shortDesc": "Arm authorization method", "type": "Int32", "values": [{"description": "one arm", "value": 0}, {"description": "two step arm", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "By default off. The default allows to arm the vehicle without a arm authorization.", "name": "COM_ARM_AUTH_REQ", "shortDesc": "Require arm authorization to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_TO", "shortDesc": "Arm authorization timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Commander", "increment": 0.01, "longDesc": "Additional battery level check that only allows arming if the state of charge of the emptiest connected battery is above this value. A value of 0 disables the check.", "max": 0.9, "min": 0.0, "name": "COM_ARM_BAT_MIN", "shortDesc": "Minimum battery level for arming", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.", "name": "COM_ARM_CHK_ESCS", "shortDesc": "Enable checks on ESCs that report telemetry", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_HGT", "shortDesc": "Maximum EKF height innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_POS", "shortDesc": "Maximum EKF position innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_VEL", "shortDesc": "Maximum EKF velocity innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_YAW", "shortDesc": "Maximum EKF yaw innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.", "name": "COM_ARM_HFLT_CHK", "shortDesc": "Enable FMU SD card hardfault detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_IMU_ACC", "shortDesc": "Maximum accelerometer inconsistency between IMU units that will allow arming", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Commander", "increment": 0.01, "max": 0.3, "min": 0.02, "name": "COM_ARM_IMU_GYR", "shortDesc": "Maximum rate gyro inconsistency between IMU units that will allow arming", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 60, "group": "Commander", "longDesc": "Set -1 to disable the check.", "max": 180, "min": 3, "name": "COM_ARM_MAG_ANG", "shortDesc": "Maximum magnetic field inconsistency between units that will allow arming", "type": "Int32", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)", "name": "COM_ARM_MAG_STR", "shortDesc": "Enable mag strength preflight check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Deny arming", "value": 1}, {"description": "Warning only", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The default allows to arm the vehicle without a valid mission.", "name": "COM_ARM_MIS_REQ", "shortDesc": "Require valid mission to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_ODID", "shortDesc": "Enable Drone ID system detection and health check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce Open Drone ID system presence", "value": 2}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_SDCARD", "shortDesc": "Enable FMU SD card detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce SD card presence", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.", "name": "COM_ARM_SWISBTN", "shortDesc": "Arm switch is a momentary button", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "name": "COM_ARM_WO_GPS", "shortDesc": "Allow arming without GPS", "type": "Int32", "values": [{"description": "Require GPS lock to arm", "value": 0}, {"description": "Allow arming without GPS", "value": 1}]}, {"category": "Standard", "default": 95.0, "group": "Commander", "increment": 1.0, "longDesc": "The check fails if the CPU load is above this threshold for 2s. A negative value disables the check.", "max": 100.0, "min": -1.0, "name": "COM_CPU_MAX", "shortDesc": "Maximum allowed CPU load to still arm", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.", "name": "COM_DISARM_LAND", "shortDesc": "Time-out for auto disarm after landing", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "0: Disallow disarming when not landed 1: Allow disarming in multicopter flight in modes where the thrust is directly controlled by thr throttle stick e.g. Stabilized, Acro", "name": "COM_DISARM_MAN", "shortDesc": "Allow disarming via switch/stick/button on multicopters in manual thrust modes", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.", "name": "COM_DISARM_PRFLT", "shortDesc": "Time-out for auto disarm if not taking off", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10, "group": "Commander", "increment": 1, "longDesc": "After this amount of seconds without datalink, the GCS connection lost mode triggers", "max": 300, "min": 5, "name": "COM_DL_LOSS_T", "shortDesc": "GCS connection loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Commander", "longDesc": "Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control via the stick override feature (see COM_RC_OVERRIDE). Afterwards the configured failsafe action is triggered and the user may use stick override. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).", "max": 25.0, "min": 0.0, "name": "COM_FAIL_ACT_T", "shortDesc": "Delay between failsafe condition triggered and failsafe reaction", "type": "Float", "units": "s"}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.", "min": 0, "name": "COM_FLIGHT_UUID", "shortDesc": "Next flight UUID", "type": "Int32", "volatile": true}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE1", "shortDesc": "Mode slot 1", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE2", "shortDesc": "Mode slot 2", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE3", "shortDesc": "Mode slot 3", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE4", "shortDesc": "Mode slot 4", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE5", "shortDesc": "Mode slot 5", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE6", "shortDesc": "Mode slot 6", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": 3, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when the remaining flight time is below the estimated time it takes to reach the RTL destination.", "name": "COM_FLTT_LOW_ACT", "shortDesc": "Remaining flight time low failsafe", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Return", "value": 3}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).", "name": "COM_FLT_PROFILE", "shortDesc": "User Flight Profile", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Pro User", "value": 100}, {"description": "Flight Tester", "value": 200}, {"description": "Developer", "value": 300}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.", "min": -1, "name": "COM_FLT_TIME_MAX", "shortDesc": "Maximum allowed flight time", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Force safety when the vehicle disarms", "name": "COM_FORCE_SAFETY", "shortDesc": "Enable force safety", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 120, "group": "Commander", "longDesc": "After this amount of seconds without datalink the data link lost mode triggers", "max": 3600, "min": 60, "name": "COM_HLDL_LOSS_T", "shortDesc": "High Latency Datalink loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false", "max": 60, "min": 0, "name": "COM_HLDL_REG_T", "shortDesc": "High Latency Datalink regain time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set home position automatically if possible.", "name": "COM_HOME_EN", "rebootRequired": true, "shortDesc": "Home position enabled", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.", "name": "COM_HOME_IN_AIR", "shortDesc": "Allows setting the home position after takeoff", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.", "name": "COM_IMB_PROP_ACT", "shortDesc": "Imbalanced propeller failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Warning", "value": 0}, {"description": "Return", "value": 1}, {"description": "Land", "value": 2}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.1, "max": 30.0, "min": 0.0, "name": "COM_KILL_DISARM", "shortDesc": "Timeout value for disarming when kill switch is engaged", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Commander", "longDesc": "A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.", "max": 5.0, "min": -1.0, "name": "COM_LKDOWN_TKO", "shortDesc": "Timeout for detecting a failure after takeoff", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.", "name": "COM_LOW_BAT_ACT", "shortDesc": "Battery failsafe mode", "type": "Int32", "values": [{"description": "Warning", "value": 0}, {"description": "Land mode", "value": 2}, {"description": "Return at critical level, land at emergency level", "value": 3}]}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE0_HASH", "shortDesc": "External mode identifier 0", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE1_HASH", "shortDesc": "External mode identifier 1", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE2_HASH", "shortDesc": "External mode identifier 2", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE3_HASH", "shortDesc": "External mode identifier 3", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE4_HASH", "shortDesc": "External mode identifier 4", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE5_HASH", "shortDesc": "External mode identifier 5", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE6_HASH", "shortDesc": "External mode identifier 6", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE7_HASH", "shortDesc": "External mode identifier 7", "type": "Int32", "volatile": true}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "If set, enables the actuator test interface via MAVLink (ACTUATOR_TEST), that allows spinning the motors and moving the servos for testing purposes.", "name": "COM_MOT_TEST_EN", "shortDesc": "Enable Actuator Testing", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.01, "max": 60.0, "min": 0.0, "name": "COM_OBC_LOSS_T", "shortDesc": "Time-out to wait when onboard computer connection is lost before warning about loss connection", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.", "name": "COM_OBL_RC_ACT", "shortDesc": "Set offboard loss failsafe mode", "type": "Int32", "values": [{"description": "Position mode", "value": 0}, {"description": "Altitude mode", "value": 1}, {"description": "Manual", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Land mode", "value": 4}, {"description": "Hold mode", "value": 5}, {"description": "Terminate", "value": 6}, {"description": "Disarm", "value": 7}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_OBS_AVOID", "shortDesc": "Flag to enable obstacle avoidance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Commander", "increment": 0.01, "longDesc": "See COM_OBL_RC_ACT to configure action.", "max": 60.0, "min": 0.0, "name": "COM_OF_LOSS_T", "shortDesc": "Time-out to wait when offboard connection is lost before triggering offboard lost action", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_PARACHUTE", "shortDesc": "Expect and require a healthy MAVLink parachute system", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.", "name": "COM_POSCTL_NAVL", "shortDesc": "Position control navigation loss response", "type": "Int32", "values": [{"description": "Altitude/Manual", "value": 0}, {"description": "Land/Descend", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.", "max": 100, "min": 1, "name": "COM_POS_FS_DELAY", "shortDesc": "Loss of position failsafe activation delay", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "longDesc": "This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation). Set to -1 to disable.", "max": 400.0, "min": -1.0, "name": "COM_POS_FS_EPH", "shortDesc": "Horizontal position error threshold", "type": "Float", "units": "m"}, {"category": "Standard", "default": -1.0, "group": "Commander", "longDesc": "Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.", "max": 1000.0, "min": -1.0, "name": "COM_POS_LOW_EPH", "shortDesc": "EPH threshold for RTL", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.", "max": 4, "min": 0, "name": "COM_POWER_COUNT", "shortDesc": "Required number of redundant power modules", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.", "name": "COM_PREARM_MODE", "shortDesc": "Condition to enter prearmed mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Safety button", "value": 1}, {"description": "Always", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_QC_ACT", "shortDesc": "Set command after a quadchute", "type": "Int32", "values": [{"description": "Warning only", "value": -1}, {"description": "Return mode", "value": 0}, {"description": "Land mode", "value": 1}, {"description": "Hold mode", "value": 2}]}, {"category": "Standard", "default": 95.0, "group": "Commander", "increment": 1.0, "longDesc": "The check fails if the RAM usage is above this threshold. A negative value disables the check.", "max": 100.0, "min": -1.0, "name": "COM_RAM_MAX", "shortDesc": "Maximum allowed RAM usage to pass checks", "type": "Float", "units": "%"}, {"bitmask": [{"description": "Mission", "index": 0}, {"description": "Hold", "index": 1}, {"description": "Offboard", "index": 2}], "category": "Standard", "default": 0, "group": "Commander", "longDesc": "Specify modes in which RC loss is ignored and the failsafe action not triggered.", "max": 31, "min": 0, "name": "COM_RCL_EXCEPT", "shortDesc": "RC loss exceptions", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Commander", "longDesc": "The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.", "max": 1500, "min": 100, "name": "COM_RC_ARM_HYST", "shortDesc": "RC input arm/disarm command duration", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 3, "group": "Commander", "longDesc": "A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.", "max": 4, "min": 0, "name": "COM_RC_IN_MODE", "shortDesc": "RC control input mode", "type": "Int32", "values": [{"description": "RC Transmitter only", "value": 0}, {"description": "Joystick only", "value": 1}, {"description": "RC and Joystick with fallback", "value": 2}, {"description": "RC or Joystick keep first", "value": 3}, {"description": "Stick input disabled", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Commander", "increment": 0.1, "longDesc": "The time in seconds without a new setpoint from RC or Joystick, after which the connection is considered lost. This must be kept short as the vehicle will use the last supplied setpoint until the timeout triggers.", "max": 35.0, "min": 0.0, "name": "COM_RC_LOSS_T", "shortDesc": "Manual control loss timeout", "type": "Float", "units": "s"}, {"bitmask": [{"description": "Enable override during auto modes (except for in critical battery reaction)", "index": 0}, {"description": "Enable override during offboard mode", "index": 1}], "category": "Standard", "default": 1, "group": "Commander", "longDesc": "When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode.", "max": 3, "min": 0, "name": "COM_RC_OVERRIDE", "shortDesc": "Enable RC stick override of auto and/or offboard modes", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 30.0, "group": "Commander", "increment": 0.05, "longDesc": "If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.", "max": 80.0, "min": 5.0, "name": "COM_RC_STICK_OV", "shortDesc": "RC stick override threshold", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground", "max": 30.0, "min": 0.0, "name": "COM_SPOOLUP_TIME", "shortDesc": "Enforced delay between arming and further navigation", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The mode transition after TAKEOFF has completed successfully.", "name": "COM_TAKEOFF_ACT", "shortDesc": "Action after TAKEOFF has been accepted", "type": "Int32", "values": [{"description": "Hold", "value": 0}, {"description": "Mission (if valid)", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Allows to start the vehicle by throwing it into the air.", "name": "COM_THROW_EN", "shortDesc": "Enable throw-start", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "increment": 0.1, "longDesc": "When the throw launch is enabled, the drone will only arm after this speed is exceeded before detecting the freefall. This is a safety feature to ensure the drone does not turn on after accidental drop or a rapid movement before the throw. Set to 0 to disable.", "min": 0.0, "name": "COM_THROW_SPEED", "shortDesc": "Minimum speed for the throw start", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "longDesc": "This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).", "min": 0.0, "name": "COM_VEL_FS_EVH", "shortDesc": "Horizontal velocity error threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "Wind speed threshold above which an automatic failsafe action is triggered. Failsafe action can be specified with COM_WIND_MAX_ACT.", "min": -1.0, "name": "COM_WIND_MAX", "shortDesc": "High wind speed failsafe threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when a wind speed above the specified threshold is detected. See COM_WIND_MAX to set the failsafe threshold. If enabled, it is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible.", "name": "COM_WIND_MAX_ACT", "shortDesc": "High wind failsafe mode", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold", "value": 2}, {"description": "Return", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.", "min": -1.0, "name": "COM_WIND_WARN", "shortDesc": "Wind speed warning threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.", "max": 6, "min": 0, "name": "NAV_DLL_ACT", "shortDesc": "Set GCS connection loss failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.", "max": 6, "min": 1, "name": "NAV_RCL_ACT", "shortDesc": "Set RC loss failsafe mode", "type": "Int32", "values": [{"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ABIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU accelerometer switch-on bias", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU accelerometer vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the accel bias estimates.", "max": 200.0, "min": 20.0, "name": "EKF2_ABL_ACCLIM", "shortDesc": "Maximum IMU accel magnitude that allows IMU bias learning", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU angular rate vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the accel bias estimates.", "max": 20.0, "min": 2.0, "name": "EKF2_ABL_GYRLIM", "shortDesc": "Maximum IMU gyro angular rate magnitude that allows IMU bias learning", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "EKF2", "longDesc": "The ekf accel bias states will be limited to within a range equivalent to +- of this value.", "max": 0.8, "min": 0.0, "name": "EKF2_ABL_LIM", "shortDesc": "Accelerometer bias learning limit", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.", "max": 1.0, "min": 0.1, "name": "EKF2_ABL_TAU", "shortDesc": "Accel bias learning inhibit time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.003, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_ACC_B_NOISE", "shortDesc": "Process noise for IMU accelerometer bias prediction", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.35, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_ACC_NOISE", "shortDesc": "Accelerometer noise for covariance prediction", "type": "Float", "units": "m/s^2"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}], "category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion", "max": 3, "min": 0, "name": "EKF2_AGP_CTRL", "shortDesc": "Aux global position (AGP) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AGP_DELAY", "rebootRequired": true, "shortDesc": "Aux global position estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_AGP_GATE", "shortDesc": "Gate size for aux global position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.9, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_AGP_NOISE", "shortDesc": "Measurement noise for aux global position measurements", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ANGERR_INIT", "rebootRequired": true, "shortDesc": "1-sigma tilt angle uncertainty after gravity vector alignment", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "longDesc": "Airspeed data is fused for wind estimation if above this threshold. Set to 0 to disable airspeed fusion. For reliable wind estimation both sideslip (see EKF2_FUSE_BETA) and airspeed fusion should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode).", "min": 0.0, "name": "EKF2_ARSP_THR", "shortDesc": "Airspeed fusion threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "max": 50.0, "min": 5.0, "name": "EKF2_ASPD_MAX", "shortDesc": "Maximum airspeed used for baro static pressure compensation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_ASP_DELAY", "rebootRequired": true, "shortDesc": "Airspeed measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AVEL_DELAY", "rebootRequired": true, "shortDesc": "Auxiliary Velocity Estimate delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).", "name": "EKF2_BARO_CTRL", "shortDesc": "Barometric sensor height aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_BARO_DELAY", "rebootRequired": true, "shortDesc": "Barometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BARO_GATE", "shortDesc": "Gate size for barometric and GPS height fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.5, "group": "EKF2", "max": 15.0, "min": 0.01, "name": "EKF2_BARO_NOISE", "shortDesc": "Measurement noise for barometric altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_X", "shortDesc": "X-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_Y", "shortDesc": "Y-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BETA_GATE", "shortDesc": "Gate size for synthetic sideslip fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_BETA_NOISE", "shortDesc": "Noise for synthetic sideslip fusion", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "use geo_lookup declination", "index": 0}, {"description": "save EKF2_MAG_DECL on disarm", "index": 1}], "category": "Standard", "default": 3, "group": "EKF2", "longDesc": "Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms.", "max": 3, "min": 0, "name": "EKF2_DECL_TYPE", "rebootRequired": true, "shortDesc": "Integer bitmask controlling handling of magnetic declination", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 200.0, "group": "EKF2", "longDesc": "Defines the delay between the current time and the delayed-time horizon. This value should be at least as large as the largest EKF2_XXX_DELAY parameter.", "max": 1000.0, "min": 0.0, "name": "EKF2_DELAY_MAX", "rebootRequired": true, "shortDesc": "Maximum delay of all the aiding sensors", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.", "name": "EKF2_DRAG_CTRL", "shortDesc": "Multirotor wind estimation selection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.5, "group": "EKF2", "longDesc": "Used by the multi-rotor specific drag force model. Increasing this makes the multi-rotor wind estimates adjust more slowly.", "max": 10.0, "min": 0.5, "name": "EKF2_DRAG_NOISE", "shortDesc": "Specific drag force observation noise variance", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_EAS_NOISE", "shortDesc": "Measurement noise for airspeed fusion", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "EKF2", "name": "EKF2_EN", "shortDesc": "EKF2 enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.05, "name": "EKF2_EVA_NOISE", "shortDesc": "Measurement noise for vision angle measurements", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVP_GATE", "shortDesc": "Gate size for vision position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_EVP_NOISE", "shortDesc": "Measurement noise for vision position measurements", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVV_GATE", "shortDesc": "Gate size for vision velocity estimate fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_EVV_NOISE", "shortDesc": "Measurement noise for vision velocity measurements", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Yaw", "index": 3}], "category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw", "max": 15, "min": 0, "name": "EKF2_EV_CTRL", "shortDesc": "External vision (EV) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_EV_DELAY", "rebootRequired": true, "shortDesc": "Vision Position Estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,", "name": "EKF2_EV_NOISE_MD", "shortDesc": "External vision (EV) noise mode", "type": "Int32", "values": [{"description": "EV reported variance (parameter lower bound)", "value": 0}, {"description": "EV noise parameters", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_X", "shortDesc": "X position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_Y", "shortDesc": "Y position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_Z", "shortDesc": "Z position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0, "group": "EKF2", "longDesc": "External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.", "max": 100, "min": 0, "name": "EKF2_EV_QMIN", "shortDesc": "External vision (EV) minimum quality (optional)", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "For reliable wind estimation both sideslip and airspeed fusion (see EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported for tailsitters.", "name": "EKF2_FUSE_BETA", "shortDesc": "Enable synthetic sideslip fusion", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 0.2, "min": 0.0, "name": "EKF2_GBIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU gyro switch-on bias", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "EKF2", "longDesc": "Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ > 0.", "max": 10.0, "min": 0.0, "name": "EKF2_GND_EFF_DZ", "shortDesc": "Baro deadzone range for height fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "EKF2", "longDesc": "Sets the maximum distance to the ground level where negative baro innovations are expected.", "max": 5.0, "min": 0.0, "name": "EKF2_GND_MAX_HGT", "shortDesc": "Height above ground level for ground effect zone", "type": "Float", "units": "m"}, {"bitmask": [{"description": "Min sat count (EKF2_REQ_NSATS)", "index": 0}, {"description": "Max PDOP (EKF2_REQ_PDOP)", "index": 1}, {"description": "Max horizontal position error (EKF2_REQ_EPH)", "index": 2}, {"description": "Max vertical position error (EKF2_REQ_EPV)", "index": 3}, {"description": "Max speed error (EKF2_REQ_SACC)", "index": 4}, {"description": "Max horizontal position rate (EKF2_REQ_HDRIFT)", "index": 5}, {"description": "Max vertical position rate (EKF2_REQ_VDRIFT)", "index": 6}, {"description": "Max horizontal speed (EKF2_REQ_HDRIFT)", "index": 7}, {"description": "Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)", "index": 8}], "category": "Standard", "default": 245, "group": "EKF2", "longDesc": "Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT", "max": 511, "min": 0, "name": "EKF2_GPS_CHECK", "shortDesc": "Integer bitmask controlling GPS checks", "type": "Int32"}, {"bitmask": [{"description": "Lon/lat", "index": 0}, {"description": "Altitude", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Dual antenna heading", "index": 3}], "category": "Standard", "default": 7, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion", "max": 15, "min": 0, "name": "EKF2_GPS_CTRL", "shortDesc": "GNSS sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 110.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_GPS_DELAY", "rebootRequired": true, "shortDesc": "GPS measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_X", "shortDesc": "X position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_Y", "shortDesc": "Y position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_Z", "shortDesc": "Z position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_P_GATE", "shortDesc": "Gate size for GNSS position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 10.0, "min": 0.01, "name": "EKF2_GPS_P_NOISE", "shortDesc": "Measurement noise for GNSS position", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_V_GATE", "shortDesc": "Gate size for GNSS velocity fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 5.0, "min": 0.01, "name": "EKF2_GPS_V_NOISE", "shortDesc": "Measurement noise for GNSS velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "EKF2", "max": 10.0, "min": 0.1, "name": "EKF2_GRAV_NOISE", "shortDesc": "Accelerometer measurement noise for gravity based observations", "type": "Float", "units": "g0"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "EKF2", "longDesc": "If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.", "max": 100.0, "min": 0.0, "name": "EKF2_GSF_TAS", "shortDesc": "Default value of true airspeed used in EKF-GSF AHRS calculation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "EKF2", "longDesc": "The ekf gyro bias states will be limited to within a range equivalent to +- of this value.", "max": 0.4, "min": 0.0, "name": "EKF2_GYR_B_LIM", "shortDesc": "Gyro bias learning limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_GYR_B_NOISE", "shortDesc": "Process noise for IMU rate gyro bias prediction", "type": "Float", "units": "rad/s^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.015, "group": "EKF2", "max": 0.1, "min": 0.0001, "name": "EKF2_GYR_NOISE", "shortDesc": "Rate gyro noise for covariance prediction", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.6, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_HDG_GATE", "shortDesc": "Gate size for heading fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_HEAD_NOISE", "shortDesc": "Measurement noise for magnetic heading fusion", "type": "Float", "units": "rad"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.", "name": "EKF2_HGT_REF", "rebootRequired": true, "shortDesc": "Determines the reference source of height data used by the EKF", "type": "Int32", "values": [{"description": "Barometric pressure", "value": 0}, {"description": "GPS", "value": 1}, {"description": "Range sensor", "value": 2}, {"description": "Vision", "value": 3}]}, {"bitmask": [{"description": "Gyro Bias", "index": 0}, {"description": "Accel Bias", "index": 1}, {"description": "Gravity vector fusion", "index": 2}], "category": "Standard", "default": 7, "group": "EKF2", "max": 7, "min": 0, "name": "EKF2_IMU_CTRL", "shortDesc": "IMU control", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_X", "shortDesc": "X position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_Y", "shortDesc": "Y position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_Z", "shortDesc": "Z position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "EKF2", "name": "EKF2_LOG_VERBOSE", "shortDesc": "Verbose logging", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "The heading is assumed to be observable when the body acceleration is greater than this parameter when a global position/velocity aiding source is active.", "max": 5.0, "min": 0.0, "name": "EKF2_MAG_ACCLIM", "shortDesc": "Horizontal acceleration threshold used for heading observability check", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.0001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_B_NOISE", "shortDesc": "Process noise for body magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"bitmask": [{"description": "Strength (EKF2_MAG_CHK_STR)", "index": 0}, {"description": "Inclination (EKF2_MAG_CHK_INC)", "index": 1}, {"description": "Wait for WMM", "index": 2}], "category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Bitmask to set which check is used to decide whether the magnetometer data is valid. If GNSS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance. Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Magnetic field strength. Set tolerance using EKF2_MAG_CHK_STR 1 : Magnetic field inclination. Set tolerance using EKF2_MAG_CHK_INC 2 : Wait for GNSS to find the theoretical strength and inclination using the WMM", "max": 7, "min": 0, "name": "EKF2_MAG_CHECK", "shortDesc": "Magnetic field strength test selection", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field inclination to pass the check.", "max": 90.0, "min": 0.0, "name": "EKF2_MAG_CHK_INC", "shortDesc": "Magnetic field inclination check tolerance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field strength to pass the check.", "max": 1.0, "min": 0.0, "name": "EKF2_MAG_CHK_STR", "shortDesc": "Magnetic field strength check tolerance", "type": "Float", "units": "gauss"}, {"category": "System", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "name": "EKF2_MAG_DECL", "shortDesc": "Magnetic declination", "type": "Float", "units": "deg", "volatile": true}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_MAG_DELAY", "rebootRequired": true, "shortDesc": "Magnetometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_E_NOISE", "shortDesc": "Process noise for earth magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_MAG_GATE", "shortDesc": "Gate size for magnetometer XYZ component fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "max": 1.0, "min": 0.001, "name": "EKF2_MAG_NOISE", "shortDesc": "Measurement noise for magnetometer 3-axis fusion", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GNSS velocity measurements to align the yaw angle. If set to 'Init' the magnetometer is only used to initalize the heading.", "name": "EKF2_MAG_TYPE", "rebootRequired": true, "shortDesc": "Type of magnetometer fusion", "type": "Int32", "values": [{"description": "Automatic", "value": 0}, {"description": "Magnetic heading", "value": 1}, {"description": "None", "value": 5}, {"description": "Init", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.", "max": 1.0, "min": 0.0, "name": "EKF2_MCOEF", "shortDesc": "Propeller momentum drag coefficient for multi-rotor wind estimation", "type": "Float", "units": "1/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.", "min": 0.01, "name": "EKF2_MIN_RNG", "shortDesc": "Expected range finder reading when on ground", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_IMU", "rebootRequired": true, "shortDesc": "Multi-EKF IMUs", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_MAG", "rebootRequired": true, "shortDesc": "Multi-EKF Magnetometers", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "max": 50.0, "min": 0.5, "name": "EKF2_NOAID_NOISE", "shortDesc": "Measurement noise for non-aiding position hold", "type": "Float", "units": "m"}, {"category": "Standard", "default": 5000000, "group": "EKF2", "longDesc": "Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid", "max": 10000000, "min": 500000, "name": "EKF2_NOAID_TOUT", "shortDesc": "Maximum inertial dead-reckoning time", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Enable optical flow fusion.", "name": "EKF2_OF_CTRL", "shortDesc": "Optical flow aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Assumes measurement is timestamped at trailing edge of integration period", "max": 300.0, "min": 0.0, "name": "EKF2_OF_DELAY", "rebootRequired": true, "shortDesc": "Optical flow measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_OF_GATE", "shortDesc": "Gate size for optical flow fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "Measurement noise for the optical flow sensor when it's reported quality metric is at the minimum", "min": 0.05, "name": "EKF2_OF_N_MAX", "shortDesc": "Optical flow maximum noise", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "longDesc": "Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum", "min": 0.05, "name": "EKF2_OF_N_MIN", "shortDesc": "Optical flow minimum noise", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_X", "shortDesc": "X position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_Y", "shortDesc": "Y position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_Z", "shortDesc": "Z position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Optical Flow data will only be used in air if the sensor reports a quality metric >= EKF2_OF_QMIN", "max": 255, "min": 0, "name": "EKF2_OF_QMIN", "shortDesc": "In air optical flow minimum quality", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Optical Flow data will only be used on the ground if the sensor reports a quality metric >= EKF2_OF_QMIN_GND", "max": 255, "min": 0, "name": "EKF2_OF_QMIN_GND", "shortDesc": "On ground optical flow minimum quality", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XN", "shortDesc": "Static pressure position error coefficient for the negative X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XP", "shortDesc": "Static pressure position error coefficient for the positive X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YN", "shortDesc": "Pressure position error coefficient for the negative Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YP", "shortDesc": "Pressure position error coefficient for the positive Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_Z", "shortDesc": "Static pressure position error coefficient for the Z axis", "type": "Float"}, {"category": "Standard", "default": 10000, "group": "EKF2", "longDesc": "EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.", "max": 20000, "min": 1000, "name": "EKF2_PREDICT_US", "shortDesc": "EKF prediction period", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPH", "shortDesc": "Required EPH to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPV", "shortDesc": "Required EPV to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "longDesc": "Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.", "min": 0.1, "name": "EKF2_REQ_GPS_H", "rebootRequired": true, "shortDesc": "Required GPS health time on startup", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_REQ_HDRIFT", "shortDesc": "Maximum horizontal drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 6, "group": "EKF2", "max": 12, "min": 4, "name": "EKF2_REQ_NSATS", "shortDesc": "Required satellite count to use GPS", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "EKF2", "max": 5.0, "min": 1.5, "name": "EKF2_REQ_PDOP", "shortDesc": "Maximum PDOP to use GPS", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_REQ_SACC", "shortDesc": "Required speed accuracy to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 1.5, "min": 0.1, "name": "EKF2_REQ_VDRIFT", "shortDesc": "Maximum vertical drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 5.0, "group": "EKF2", "longDesc": "If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 10.0, "min": 1.0, "name": "EKF2_RNG_A_HMAX", "shortDesc": "Maximum height above ground allowed for conditional range aid mode", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_A_IGATE", "shortDesc": "Gate size used for innovation consistency checks for range aid fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 2.0, "min": 0.1, "name": "EKF2_RNG_A_VMAX", "shortDesc": "Maximum horizontal velocity allowed for conditional range aid mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in \"conditional\" mode. Conditional mode: This enables the range finder to be used during low speed (< EKF2_RNG_A_VMAX) and low altitude (< EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.", "name": "EKF2_RNG_CTRL", "shortDesc": "Range sensor height aiding", "type": "Int32", "values": [{"description": "Disable range fusion", "value": 0}, {"description": "Enabled (conditional mode)", "value": 1}, {"description": "Enabled", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_RNG_DELAY", "rebootRequired": true, "shortDesc": "Range finder measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_RNG_GATE", "shortDesc": "Gate size for range finder fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_K_GATE", "shortDesc": "Gate size used for range finder kinematic consistency check", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.01, "name": "EKF2_RNG_NOISE", "shortDesc": "Measurement noise for range finder fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "max": 0.75, "min": -0.75, "name": "EKF2_RNG_PITCH", "shortDesc": "Range sensor pitch offset", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_X", "shortDesc": "X position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_Y", "shortDesc": "Y position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_Z", "shortDesc": "Z position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_QLTY_T", "shortDesc": "Minumum range validity period", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0.05, "group": "EKF2", "longDesc": "Specifies the increase in range finder noise with range.", "max": 0.2, "min": 0.0, "name": "EKF2_RNG_SFE", "shortDesc": "Range finder range dependent noise scaler", "type": "Float", "units": "m/m"}, {"category": "Standard", "default": 0.2, "group": "EKF2", "longDesc": "EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.", "name": "EKF2_SEL_ERR_RED", "shortDesc": "Selector error reduce threshold", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.", "name": "EKF2_SEL_IMU_ACC", "shortDesc": "Selector acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 15.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_ANG", "shortDesc": "Selector angular threshold", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 7.0, "group": "EKF2", "longDesc": "EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.", "name": "EKF2_SEL_IMU_RAT", "shortDesc": "Selector angular rate threshold", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 2.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_VEL", "shortDesc": "Selector angular threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.", "name": "EKF2_SYNT_MAG_Z", "shortDesc": "Enable synthetic magnetometer Z component measurement", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_TAS_GATE", "shortDesc": "Gate size for TAS fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "longDesc": "Controls how tightly the output track the EKF states", "max": 1.0, "min": 0.1, "name": "EKF2_TAU_POS", "shortDesc": "Output predictor position time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "max": 1.0, "name": "EKF2_TAU_VEL", "shortDesc": "Time constant of the velocity output prediction and smoothing filter", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "min": 0.0, "name": "EKF2_TERR_GRAD", "shortDesc": "Magnitude of terrain gradient", "type": "Float", "units": "m/m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "min": 0.5, "name": "EKF2_TERR_NOISE", "shortDesc": "Terrain altitude process noise", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "longDesc": "When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "EKF2_WIND_NSD", "shortDesc": "Process noise spectral density for wind velocity prediction", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.", "name": "EV_TSK_RC_LOSS", "rebootRequired": true, "shortDesc": "RC Loss Alarm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -", "name": "EV_TSK_STAT_DIS", "rebootRequired": true, "shortDesc": "Status Display", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization but without altitude control", "max": 90.0, "min": 0.0, "name": "FW_MAN_P_MAX", "shortDesc": "Maximum manual pitch angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 45.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization", "max": 90.0, "min": 0.0, "name": "FW_MAN_R_MAX", "shortDesc": "Maximum manual roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. It is added to the yaw rate setpoint generated by the controller for turn coordination.", "min": 0.0, "name": "FW_MAN_YR_MAX", "shortDesc": "Maximum manually added yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.", "max": 90.0, "min": -90.0, "name": "FW_PSP_OFF", "shortDesc": "Pitch setpoint offset (pitch at level flight)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_NEG", "shortDesc": "Maximum negative / down pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_POS", "shortDesc": "Maximum positive / up pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_P_TC", "shortDesc": "Attitude pitch time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 70.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_R_RMAX", "shortDesc": "Maximum roll rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_R_TC", "shortDesc": "Attitude Roll Time Constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "FW_SPOILERS_LND", "shortDesc": "Spoiler landing setting", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Attitude Control", "increment": 0.05, "max": 10.0, "min": 0.0, "name": "FW_WR_FF", "shortDesc": "Wheel steering rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This gain defines how much control response will result out of a steady state error. It trims any constant error.", "max": 10.0, "min": 0.0, "name": "FW_WR_I", "shortDesc": "Wheel steering rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_WR_IMAX", "shortDesc": "Wheel steering rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This defines how much the wheel steering input will be commanded depending on the current body angular rate error.", "max": 10.0, "min": 0.0, "name": "FW_WR_P", "shortDesc": "Wheel steering rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Attitude Control", "longDesc": "Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.", "name": "FW_W_EN", "shortDesc": "Enable wheel steering controller", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This limits the maximum wheel steering rate the controller will output (in degrees per second).", "max": 90.0, "min": 0.0, "name": "FW_W_RMAX", "shortDesc": "Maximum wheel steering rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_Y_RMAX", "shortDesc": "Maximum yaw rate setpoint", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Abort if terrain is not found (only applies to mission landings)", "index": 0}, {"description": "Abort if terrain times out (after a first successful measurement)", "index": 1}], "category": "Standard", "default": 3, "group": "FW Auto Landing", "longDesc": "Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)", "max": 3, "min": 0, "name": "FW_LND_ABORT", "shortDesc": "Bit mask to set the automatic landing abort conditions", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.", "min": -1.0, "name": "FW_LND_AIRSPD", "shortDesc": "Landing airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.", "max": 15.0, "min": 1.0, "name": "FW_LND_ANG", "shortDesc": "Maximum landing slope angle", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Auto Landing", "longDesc": "Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.", "name": "FW_LND_EARLYCFG", "shortDesc": "Early landing configuration deployment", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude", "min": 0.0, "name": "FW_LND_FLALT", "shortDesc": "Landing flare altitude (relative to landing altitude)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Maximum pitch during landing flare.", "max": 45.0, "min": 0.0, "name": "FW_LND_FL_PMAX", "shortDesc": "Flare, maximum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Minimum pitch during landing flare.", "max": 15.0, "min": -5.0, "name": "FW_LND_FL_PMIN", "shortDesc": "Flare, minimum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)", "max": 2.0, "min": 0.0, "name": "FW_LND_FL_SINK", "shortDesc": "Landing flare sink rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude", "max": 5.0, "min": 0.1, "name": "FW_LND_FL_TIME", "shortDesc": "Landing flare time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 2, "group": "FW Auto Landing", "longDesc": "Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).", "max": 2, "min": 0, "name": "FW_LND_NUDGE", "shortDesc": "Landing touchdown nudging option", "type": "Int32", "values": [{"description": "Disable nudging", "value": 0}, {"description": "Nudge approach angle", "value": 1}, {"description": "Nudge approach path", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Auto Landing", "increment": 1.0, "max": 10.0, "min": 0.0, "name": "FW_LND_TD_OFF", "shortDesc": "Maximum lateral position offset for the touchdown point", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).", "max": 5.0, "min": -1.0, "name": "FW_LND_TD_TIME", "shortDesc": "Landing touchdown time (since flare start)", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.", "max": 1.0, "min": 0.2, "name": "FW_LND_THRTC_SC", "shortDesc": "Altitude time constant factor for landing", "type": "Float", "units": ""}, {"category": "Standard", "default": 1, "group": "FW Auto Landing", "longDesc": "This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.", "max": 2, "min": 0, "name": "FW_LND_USETER", "shortDesc": "Use terrain estimation during landing", "type": "Int32", "values": [{"description": "Disable the terrain estimate", "value": 0}, {"description": "Use the terrain estimate to trigger the flare (only)", "value": 1}, {"description": "Calculate landing glide slope relative to the terrain estimate", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Geometry", "increment": 1.0, "longDesc": "This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (> 0m)", "min": 0.0, "name": "FW_WING_HEIGHT", "shortDesc": "Height (AGL) of the wings when the aircraft is on the ground", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Geometry", "increment": 0.1, "longDesc": "This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)", "min": 0.1, "name": "FW_WING_SPAN", "shortDesc": "The aircraft's wing span (length from tip to tip)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "FW Launch detection", "increment": 0.05, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "max": 5.0, "min": 0.0, "name": "FW_LAUN_AC_T", "shortDesc": "Trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "min": 0.0, "name": "FW_LAUN_AC_THLD", "shortDesc": "Trigger acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 0, "group": "FW Launch detection", "longDesc": "Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Not compatible with runway takeoff.", "name": "FW_LAUN_DETCN_ON", "shortDesc": "Fixed-wing launch detection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Start the motor(s) this amount of seconds after launch is detected.", "max": 10.0, "min": 0.0, "name": "FW_LAUN_MOT_DEL", "shortDesc": "Motor delay", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Damping ratio of the NPFG control law.", "max": 1.0, "min": 0.1, "name": "NPFG_DAMPING", "shortDesc": "NPFG damping ratio", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_EN_MIN_GSP", "shortDesc": "Enable minimum forward ground speed maintaining excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW NPFG Control", "increment": 0.5, "longDesc": "The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.", "max": 10.0, "min": 0.0, "name": "NPFG_GSP_MAX_TK", "shortDesc": "Maximum, minimum forward ground speed for track keeping in excess wind", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.", "name": "NPFG_LB_PERIOD", "shortDesc": "Enable automatic lower bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Period of the NPFG control law.", "max": 100.0, "min": 1.0, "name": "NPFG_PERIOD", "shortDesc": "NPFG period", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.", "max": 10.0, "min": 1.0, "name": "NPFG_PERIOD_SF", "shortDesc": "Period safety factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW NPFG Control", "increment": 0.05, "longDesc": "Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.", "max": 2.0, "min": 0.0, "name": "NPFG_ROLL_TC", "shortDesc": "Roll time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.32, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.", "max": 1.0, "min": 0.1, "name": "NPFG_SW_DST_MLT", "shortDesc": "NPFG switch distance multiplier", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_TRACK_KEEP", "shortDesc": "Enable track keeping excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Adapts period to maintain track keeping in variable winds and path curvature.", "name": "NPFG_UB_PERIOD", "shortDesc": "Enable automatic upper bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Disabling this parameter further disables all other airspeed incrementation options.", "name": "NPFG_WIND_REG", "shortDesc": "Enable wind excess regulation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "FW Path Control", "increment": 1.0, "longDesc": "The maximum change in roll angle setpoint per second. This limit is applied in all Auto modes, plus manual Position and Altitude modes.", "min": 0.0, "name": "FW_PN_R_SLEW_MAX", "shortDesc": "Path navigation roll slew rate limit", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)", "index": 0}, {"description": "Enable airspeed setpoint via sticks in altitude and position flight mode", "index": 1}], "category": "Standard", "default": 2, "group": "FW Path Control", "longDesc": "Applies in manual Position and Altitude flight modes.", "max": 3, "min": 0, "name": "FW_POS_STK_CONF", "shortDesc": "Custom stick configuration", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Path Control", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 65.0, "min": 35.0, "name": "FW_R_LIM", "shortDesc": "Maximum roll angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Path Control", "increment": 0.5, "max": 30.0, "min": -5.0, "name": "FW_TKO_PITCH_MIN", "shortDesc": "Minimum pitch during takeoff", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The maximal airspeed (calibrated airspeed) the user is able to command.", "min": 0.5, "name": "FW_AIRSPD_MAX", "shortDesc": "Maximum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).", "min": 0.5, "name": "FW_AIRSPD_MIN", "shortDesc": "Minimum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.", "min": 0.5, "name": "FW_AIRSPD_STALL", "shortDesc": "Stall Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve. This value corresponds to the trim airspeed with the default load factor (level flight, default weight).", "min": 0.5, "name": "FW_AIRSPD_TRIM", "shortDesc": "Trim (Cruise) Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "FW Performance", "increment": 1.0, "longDesc": "Altitude in standard atmosphere at which the vehicle in normal configuration (WEIGHT_BASE) is still able to achieve a maximum climb rate of 0.5m/s at maximum throttle (FW_THR_MAX). Used to compensate for air density in FW_T_CLMB_MAX. Set negative to disable.", "min": -1.0, "name": "FW_SERVICE_CEIL", "shortDesc": "Service ceiling", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at maximum airspeed FW_AIRSPD_MAX Set to 0 to disable mapping of airspeed to trim throttle.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MAX", "shortDesc": "Throttle at max airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at minimum airspeed FW_AIRSPD_MIN Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MIN", "shortDesc": "Throttle at min airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at FW_AIRSPD_TRIM", "max": 1.0, "min": 0.0, "name": "FW_THR_TRIM", "shortDesc": "Trim throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the maximum calibrated climb rate that the aircraft can achieve with the throttle set to FW_THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.", "max": 15.0, "min": 1.0, "name": "FW_T_CLMB_MAX", "shortDesc": "Maximum climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the minimum calibrated sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.", "max": 5.0, "min": 1.0, "name": "FW_T_SINK_MIN", "shortDesc": "Minimum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_BASE", "shortDesc": "Vehicle base weight", "type": "Float", "units": "kg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.1, "longDesc": "This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_GROSS", "shortDesc": "Vehicle gross weight", "type": "Float", "units": "kg"}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_X_MAX", "shortDesc": "Acro body roll max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.", "name": "FW_ACRO_YAW_EN", "shortDesc": "Enable yaw rate controller in Acro", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Y_MAX", "shortDesc": "Acro body pitch max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 45.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Z_MAX", "shortDesc": "Acro body yaw max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 1, "group": "FW Rate Control", "longDesc": "This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)", "name": "FW_ARSP_SCALE_EN", "shortDesc": "Enable airspeed scaling", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.", "name": "FW_BAT_SCALE_EN", "shortDesc": "Enable throttle scale by battery level", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMAX", "shortDesc": "Pitch trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMIN", "shortDesc": "Pitch trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMAX", "shortDesc": "Roll trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMIN", "shortDesc": "Roll trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMAX", "shortDesc": "Yaw trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMIN", "shortDesc": "Yaw trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_LND_SCL", "shortDesc": "Flaps setting during landing", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_TO_SCL", "shortDesc": "Flaps setting during take-off", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_P_SC", "shortDesc": "Manual pitch scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "max": 1.0, "min": 0.0, "name": "FW_MAN_R_SC", "shortDesc": "Manual roll scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_Y_SC", "shortDesc": "Manual yaw scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "longDesc": "Pitch rate differential gain.", "max": 10.0, "min": 0.0, "name": "FW_PR_D", "shortDesc": "Pitch rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_PR_FF", "shortDesc": "Pitch rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_I", "shortDesc": "Pitch rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_PR_IMAX", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.08, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_P", "shortDesc": "Pitch rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This gain can be used to counteract the \"adverse yaw\" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.", "min": 0.0, "name": "FW_RLL_TO_YAW_FF", "shortDesc": "Roll control to yaw control feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_D", "shortDesc": "Roll rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output.", "max": 10.0, "min": 0.0, "name": "FW_RR_FF", "shortDesc": "Roll rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW Rate Control", "increment": 0.01, "max": 10.0, "min": 0.0, "name": "FW_RR_I", "shortDesc": "Roll rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_RR_IMAX", "shortDesc": "Roll integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_P", "shortDesc": "Roll rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "Chose source for manual setting of spoilers in manual flight modes.", "name": "FW_SPOILERS_MAN", "shortDesc": "Spoiler input in manual flight", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Flaps channel", "value": 1}, {"description": "Aux1", "value": 2}]}, {"category": "Standard", "default": 1, "group": "FW Rate Control", "longDesc": "If set to 1, the airspeed measurement data, if valid, is used in the following controllers: - Rate controller: output scaling - Attitude controller: coordinated turn controller - Position controller: airspeed setpoint tracking, takeoff logic - VTOL: transition logic", "name": "FW_USE_AIRSPD", "shortDesc": "Use airspeed for control", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_D", "shortDesc": "Yaw rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_YR_FF", "shortDesc": "Yaw rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.1, "group": "FW Rate Control", "increment": 0.5, "max": 10.0, "min": 0.0, "name": "FW_YR_I", "shortDesc": "Yaw rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_YR_IMAX", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_P", "shortDesc": "Yaw rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.", "max": 40.0, "min": 0.0, "name": "FW_GND_SPD_MIN", "shortDesc": "Minimum groundspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 60.0, "min": 0.0, "name": "FW_P_LIM_MAX", "shortDesc": "Maximum pitch angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 0.0, "min": -60.0, "name": "FW_P_LIM_MIN", "shortDesc": "Minimum pitch angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "This is the minimum throttle while on the ground (\"landed\") in auto modes.", "max": 0.4, "min": 0.0, "name": "FW_THR_IDLE", "shortDesc": "Idle throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.", "max": 1.0, "min": 0.0, "name": "FW_THR_MAX", "shortDesc": "Throttle limit max", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.", "max": 1.0, "min": 0.0, "name": "FW_THR_MIN", "shortDesc": "Throttle limit min", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Maximum slew rate for the commanded throttle", "max": 1.0, "min": 0.0, "name": "FW_THR_SLEW_MAX", "shortDesc": "Throttle max slew rate", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW TECS", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.", "min": -1.0, "name": "FW_TKO_AIRSPD", "shortDesc": "Takeoff Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_ALT_TC", "shortDesc": "Altitude error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "FW TECS", "increment": 0.01, "longDesc": "In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.", "max": 15.0, "min": 0.5, "name": "FW_T_CLMB_R_SP", "shortDesc": "Default target climbrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "FW TECS", "longDesc": "Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.", "min": -1.0, "name": "FW_T_F_ALT_ERR", "shortDesc": "Fast descend: minimum altitude error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW TECS", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_T_HRATE_FF", "shortDesc": "Height rate feed forward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.05, "longDesc": "Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.", "max": 2.0, "min": 0.0, "name": "FW_T_I_GAIN_PIT", "shortDesc": "Integrator gain pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.1, "max": 2.0, "min": 0.0, "name": "FW_T_PTCH_DAMP", "shortDesc": "Pitch damping gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.", "max": 20.0, "min": 0.0, "name": "FW_T_RLL2THR", "shortDesc": "Roll -> Throttle feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "max": 3.0, "min": 0.5, "name": "FW_T_SEB_R_FF", "shortDesc": "Specific total energy balance rate feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This sets the maximum descent rate that the controller will use.", "max": 15.0, "min": 1.0, "name": "FW_T_SINK_MAX", "shortDesc": "Maximum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "FW TECS", "increment": 0.01, "longDesc": "In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.", "max": 15.0, "min": 0.5, "name": "FW_T_SINK_R_SP", "shortDesc": "Default target sinkrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW TECS", "increment": 1.0, "longDesc": "Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.", "max": 2.0, "min": 0.0, "name": "FW_T_SPDWEIGHT", "shortDesc": "Speed <--> Altitude priority", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "For the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_DEV_STD", "shortDesc": "Airspeed rate measurement standard deviation", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_PRC_STD", "shortDesc": "Process noise standard deviation for the airspeed rate", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "For the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_STD", "shortDesc": "Airspeed measurement standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW TECS", "increment": 0.01, "longDesc": "This filter is applied to the specific total energy rate used for throttle damping.", "max": 2.0, "min": 0.0, "name": "FW_T_STE_R_TC", "shortDesc": "Specific total energy rate first order filter time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_TAS_TC", "shortDesc": "True airspeed error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW TECS", "increment": 0.01, "longDesc": "This is the damping gain for the throttle demand loop.", "max": 1.0, "min": 0.0, "name": "FW_T_THR_DAMPING", "shortDesc": "Throttle damping factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.02, "group": "FW TECS", "increment": 0.005, "longDesc": "Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.", "max": 1.0, "min": 0.0, "name": "FW_T_THR_INTEG", "shortDesc": "Integrator gain throttle", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.", "max": 10.0, "min": 1.0, "name": "FW_T_VERT_ACC", "shortDesc": "Maximum vertical acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.", "min": 0.0, "name": "FW_WIND_ARSP_SC", "shortDesc": "Wind-based airspeed scaling factor", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.", "name": "FD_ACT_EN", "rebootRequired": true, "shortDesc": "Enable Actuator Failure check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Failure Detector", "increment": 1.0, "longDesc": "Motor failure triggers only below this current value", "max": 50.0, "min": 0.0, "name": "FD_ACT_MOT_C2T", "shortDesc": "Motor Failure Current/Throttle Threshold", "type": "Float", "units": "A/%"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Failure Detector", "increment": 0.01, "longDesc": "Motor failure triggers only above this throttle value.", "max": 1.0, "min": 0.0, "name": "FD_ACT_MOT_THR", "shortDesc": "Motor Failure Throttle Threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 100, "group": "Failure Detector", "increment": 100, "longDesc": "Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.", "max": 10000, "min": 10, "name": "FD_ACT_MOT_TOUT", "shortDesc": "Motor Failure Time Threshold", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.", "name": "FD_ESCS_EN", "shortDesc": "Enable checks on ESCs that report their arming state", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Failure Detector", "longDesc": "Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_EN", "rebootRequired": true, "shortDesc": "Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1900, "group": "Failure Detector", "longDesc": "External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_TRIG", "shortDesc": "The PWM threshold from external automatic trigger system for engaging failsafe", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_P", "shortDesc": "FailureDetector Max Pitch", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_P_TTRI", "shortDesc": "Pitch failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_R", "shortDesc": "FailureDetector Max Roll", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_R_TTRI", "shortDesc": "Roll failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Failure Detector", "increment": 1, "longDesc": "Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.", "max": 1000, "min": 0, "name": "FD_IMB_PROP_THR", "shortDesc": "Imbalanced propeller check threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 1000.0, "group": "FlightTaskOrbit", "increment": 0.5, "max": 10000.0, "min": 1.0, "name": "MC_ORBIT_RAD_MAX", "shortDesc": "Maximum radius of orbit", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Follow target", "longDesc": "Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.", "name": "FLW_TGT_ALT_M", "shortDesc": "Altitude control mode", "type": "Int32", "values": [{"description": "2D Tracking: Maintain constant altitude relative to home and track XY position only", "value": 0}, {"description": "2D + Terrain: Maintain constant altitude relative to terrain below and track XY position", "value": 1}, {"description": "3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)", "value": 2}]}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "The distance in meters to follow the target at", "min": 1.0, "name": "FLW_TGT_DST", "shortDesc": "Distance to follow target from", "type": "Float", "units": "m"}, {"category": "Standard", "default": 180.0, "group": "Follow target", "longDesc": "Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -> 120) in the range to gracefully handle the out of range.", "max": 180.0, "min": -180.0, "name": "FLW_TGT_FA", "shortDesc": "Follow Angle setting in degrees", "type": "Float"}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "Following height above the target", "min": 8.0, "name": "FLW_TGT_HT", "shortDesc": "Follow target height", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Follow target", "longDesc": "This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.", "max": 20.0, "min": 0.0, "name": "FLW_TGT_MAX_VEL", "shortDesc": "Maximum tangential velocity setting for generating the follow orbit trajectory", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Follow target", "longDesc": "lower values increase the responsiveness to changing position, but also ignore less noise", "max": 1.0, "min": 0.0, "name": "FLW_TGT_RS", "shortDesc": "Responsiveness to target movement in Target Estimator", "type": "Float"}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}, {"description": "NAVIC", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC", "max": 63, "min": 0, "name": "GPS_1_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Primary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 7, "min": 0, "name": "GPS_1_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Main GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}]}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}, {"description": "NAVIC", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC", "max": 63, "min": 0, "name": "GPS_2_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Secondary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 6, "min": 0, "name": "GPS_2_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Secondary GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.", "max": 2, "min": 0, "name": "GPS_DUMP_COMM", "shortDesc": "Log GPS communication data", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Full communication", "value": 1}, {"description": "RTCM output (PPK)", "value": 2}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.", "name": "GPS_SAT_INFO", "rebootRequired": true, "shortDesc": "Enable sat info (if available)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 230400, "group": "GPS", "longDesc": "Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.", "min": 0, "name": "GPS_UBX_BAUD2", "rebootRequired": true, "shortDesc": "u-blox F9P UART2 Baudrate", "type": "Int32", "units": "B/s"}, {"bitmask": [{"description": "Enable I2C input protocol UBX", "index": 0}, {"description": "Enable I2C input protocol NMEA", "index": 1}, {"description": "Enable I2C input protocol RTCM3X", "index": 2}, {"description": "Enable I2C output protocol UBX", "index": 3}, {"description": "Enable I2C output protocol NMEA", "index": 4}, {"description": "Enable I2C output protocol RTCM3X", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "max": 32, "min": 0, "name": "GPS_UBX_CFG_INTF", "rebootRequired": true, "shortDesc": "u-blox protocol configuration for interfaces", "type": "Int32"}, {"category": "Standard", "default": 7, "group": "GPS", "longDesc": "u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.", "max": 9, "min": 0, "name": "GPS_UBX_DYNMODEL", "rebootRequired": true, "shortDesc": "u-blox GPS dynamic platform model", "type": "Int32", "values": [{"description": "stationary", "value": 2}, {"description": "automotive", "value": 4}, {"description": "airborne with <1g acceleration", "value": 6}, {"description": "airborne with <2g acceleration", "value": 7}, {"description": "airborne with <4g acceleration", "value": 8}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.", "max": 1, "min": 0, "name": "GPS_UBX_MODE", "rebootRequired": true, "shortDesc": "u-blox GPS Mode", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)", "value": 1}, {"description": "Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)", "value": 2}, {"description": "Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 3}, {"description": "Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 4}, {"description": "Rover with Static Base on UART2 (similar to Default, except coming in on UART2)", "value": 5}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "GPS", "longDesc": "Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary, or Septentrio Mosaic Aux) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).", "max": 360.0, "min": 0.0, "name": "GPS_YAW_OFFSET", "rebootRequired": true, "shortDesc": "Heading/Yaw offset for dual antenna GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Geofence", "longDesc": "Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.", "max": 5, "min": 0, "name": "GF_ACTION", "shortDesc": "Geofence violation action", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land mode", "value": 5}]}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum horizontal distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_HOR_DIST", "shortDesc": "Max horizontal distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum vertical distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_VER_DIST", "shortDesc": "Max vertical distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "WARNING: This experimental feature may cause flyaways. Use at your own risk. Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).", "name": "GF_PREDICT", "shortDesc": "[EXPERIMENTAL] Use Pre-emptive geofence triggering", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS", "max": 1, "min": 0, "name": "GF_SOURCE", "shortDesc": "Geofence source", "type": "Int32", "values": [{"description": "GPOS", "value": 0}, {"description": "GPS", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines which mixer implementation to use. Some are generic, while others are specifically fit to a certain vehicle with a fixed set of actuators. 'Custom' should only be used if noting else can be used.", "name": "CA_AIRFRAME", "shortDesc": "Airframe selection", "type": "Int32", "values": [{"description": "Multirotor", "value": 0}, {"description": "Fixed-wing", "value": 1}, {"description": "Standard VTOL", "value": 2}, {"description": "Tiltrotor VTOL", "value": 3}, {"description": "Tailsitter VTOL", "value": 4}, {"description": "Rover (Ackermann)", "value": 5}, {"description": "Rover (Differential)", "value": 6}, {"description": "Motors (6DOF)", "value": 7}, {"description": "Multirotor with Tilt", "value": 8}, {"description": "Custom", "value": 9}, {"description": "Helicopter (tail ESC)", "value": 10}, {"description": "Helicopter (tail Servo)", "value": 11}, {"description": "Helicopter (Coaxial)", "value": 12}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "This is used to specify how to handle motor failures reported by failure detector.", "name": "CA_FAILURE_MODE", "shortDesc": "Motor failure handling mode", "type": "Int32", "values": [{"description": "Ignore", "value": 0}, {"description": "Remove first failed motor from effectiveness", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": -0.05, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 0 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C0", "shortDesc": "Collective pitch curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0725, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 1 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C1", "shortDesc": "Collective pitch curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 2 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C2", "shortDesc": "Collective pitch curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.325, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 3 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C3", "shortDesc": "Collective pitch curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.45, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 4 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C4", "shortDesc": "Collective pitch curve at position 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 0.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C0", "shortDesc": "Throttle curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 1.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C1", "shortDesc": "Throttle curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 2.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C2", "shortDesc": "Throttle curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 3.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C3", "shortDesc": "Throttle curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 4.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C4", "shortDesc": "Throttle curve at position 4", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Default configuration is for a clockwise turning main rotor and positive thrust of the tail rotor is expected to rotate the vehicle clockwise. Set this parameter to true if the tail rotor provides thrust in counter-clockwise direction which is mostly the case when the main rotor turns counter-clockwise.", "name": "CA_HELI_YAW_CCW", "shortDesc": "Main rotor turns counter-clockwise", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to specify which collective pitch command results in the least amount of rotor drag. This is used to increase the accuracy of the yaw drag torque compensation based on collective pitch by aligning the lowest rotor drag with zero compensation. For symmetric profile blades this is the command that results in exactly 0\u00b0 collective blade angle. For lift profile blades this is typically a command resulting in slightly negative collective blade angle. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_O", "shortDesc": "Offset for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the collective pitch command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_S", "shortDesc": "Scale for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the throttle command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_TH_S * throttle", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_TH_S", "shortDesc": "Scale for yaw compensation based on throttle", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Geometry", "longDesc": "Selects the algorithm and desaturation method. If set to Automtic, the selection is based on the airframe (CA_AIRFRAME).", "name": "CA_METHOD", "shortDesc": "Control allocation method", "type": "Int32", "values": [{"description": "Pseudo-inverse with output clipping", "value": 0}, {"description": "Pseudo-inverse with sequential desaturation technique", "value": 1}, {"description": "Automatic", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R0_SLEW", "shortDesc": "Motor 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R10_SLEW", "shortDesc": "Motor 10 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R11_SLEW", "shortDesc": "Motor 11 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R1_SLEW", "shortDesc": "Motor 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R2_SLEW", "shortDesc": "Motor 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R3_SLEW", "shortDesc": "Motor 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R4_SLEW", "shortDesc": "Motor 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R5_SLEW", "shortDesc": "Motor 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R6_SLEW", "shortDesc": "Motor 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R7_SLEW", "shortDesc": "Motor 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R8_SLEW", "shortDesc": "Motor 8 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R9_SLEW", "shortDesc": "Motor 9 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AX", "shortDesc": "Axis of rotor 0 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AY", "shortDesc": "Axis of rotor 0 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AZ", "shortDesc": "Axis of rotor 0 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR0_CT", "shortDesc": "Thrust coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR0_KM", "shortDesc": "Moment coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PX", "shortDesc": "Position of rotor 0 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PY", "shortDesc": "Position of rotor 0 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PZ", "shortDesc": "Position of rotor 0 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR0_TILT", "shortDesc": "Rotor 0 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AX", "shortDesc": "Axis of rotor 10 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AY", "shortDesc": "Axis of rotor 10 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AZ", "shortDesc": "Axis of rotor 10 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR10_CT", "shortDesc": "Thrust coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR10_KM", "shortDesc": "Moment coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PX", "shortDesc": "Position of rotor 10 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PY", "shortDesc": "Position of rotor 10 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PZ", "shortDesc": "Position of rotor 10 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR10_TILT", "shortDesc": "Rotor 10 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AX", "shortDesc": "Axis of rotor 11 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AY", "shortDesc": "Axis of rotor 11 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AZ", "shortDesc": "Axis of rotor 11 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR11_CT", "shortDesc": "Thrust coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR11_KM", "shortDesc": "Moment coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PX", "shortDesc": "Position of rotor 11 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PY", "shortDesc": "Position of rotor 11 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PZ", "shortDesc": "Position of rotor 11 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR11_TILT", "shortDesc": "Rotor 11 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AX", "shortDesc": "Axis of rotor 1 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AY", "shortDesc": "Axis of rotor 1 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AZ", "shortDesc": "Axis of rotor 1 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR1_CT", "shortDesc": "Thrust coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR1_KM", "shortDesc": "Moment coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PX", "shortDesc": "Position of rotor 1 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PY", "shortDesc": "Position of rotor 1 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PZ", "shortDesc": "Position of rotor 1 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR1_TILT", "shortDesc": "Rotor 1 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AX", "shortDesc": "Axis of rotor 2 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AY", "shortDesc": "Axis of rotor 2 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AZ", "shortDesc": "Axis of rotor 2 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR2_CT", "shortDesc": "Thrust coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR2_KM", "shortDesc": "Moment coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PX", "shortDesc": "Position of rotor 2 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PY", "shortDesc": "Position of rotor 2 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PZ", "shortDesc": "Position of rotor 2 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR2_TILT", "shortDesc": "Rotor 2 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AX", "shortDesc": "Axis of rotor 3 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AY", "shortDesc": "Axis of rotor 3 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AZ", "shortDesc": "Axis of rotor 3 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR3_CT", "shortDesc": "Thrust coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR3_KM", "shortDesc": "Moment coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PX", "shortDesc": "Position of rotor 3 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PY", "shortDesc": "Position of rotor 3 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PZ", "shortDesc": "Position of rotor 3 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR3_TILT", "shortDesc": "Rotor 3 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AX", "shortDesc": "Axis of rotor 4 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AY", "shortDesc": "Axis of rotor 4 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AZ", "shortDesc": "Axis of rotor 4 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR4_CT", "shortDesc": "Thrust coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR4_KM", "shortDesc": "Moment coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PX", "shortDesc": "Position of rotor 4 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PY", "shortDesc": "Position of rotor 4 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PZ", "shortDesc": "Position of rotor 4 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR4_TILT", "shortDesc": "Rotor 4 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AX", "shortDesc": "Axis of rotor 5 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AY", "shortDesc": "Axis of rotor 5 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AZ", "shortDesc": "Axis of rotor 5 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR5_CT", "shortDesc": "Thrust coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR5_KM", "shortDesc": "Moment coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PX", "shortDesc": "Position of rotor 5 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PY", "shortDesc": "Position of rotor 5 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PZ", "shortDesc": "Position of rotor 5 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR5_TILT", "shortDesc": "Rotor 5 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AX", "shortDesc": "Axis of rotor 6 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AY", "shortDesc": "Axis of rotor 6 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AZ", "shortDesc": "Axis of rotor 6 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR6_CT", "shortDesc": "Thrust coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR6_KM", "shortDesc": "Moment coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PX", "shortDesc": "Position of rotor 6 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PY", "shortDesc": "Position of rotor 6 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PZ", "shortDesc": "Position of rotor 6 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR6_TILT", "shortDesc": "Rotor 6 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AX", "shortDesc": "Axis of rotor 7 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AY", "shortDesc": "Axis of rotor 7 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AZ", "shortDesc": "Axis of rotor 7 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR7_CT", "shortDesc": "Thrust coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR7_KM", "shortDesc": "Moment coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PX", "shortDesc": "Position of rotor 7 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PY", "shortDesc": "Position of rotor 7 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PZ", "shortDesc": "Position of rotor 7 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR7_TILT", "shortDesc": "Rotor 7 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AX", "shortDesc": "Axis of rotor 8 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AY", "shortDesc": "Axis of rotor 8 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AZ", "shortDesc": "Axis of rotor 8 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR8_CT", "shortDesc": "Thrust coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR8_KM", "shortDesc": "Moment coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PX", "shortDesc": "Position of rotor 8 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PY", "shortDesc": "Position of rotor 8 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PZ", "shortDesc": "Position of rotor 8 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR8_TILT", "shortDesc": "Rotor 8 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AX", "shortDesc": "Axis of rotor 9 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AY", "shortDesc": "Axis of rotor 9 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AZ", "shortDesc": "Axis of rotor 9 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR9_CT", "shortDesc": "Thrust coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR9_KM", "shortDesc": "Moment coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PX", "shortDesc": "Position of rotor 9 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PY", "shortDesc": "Position of rotor 9 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PZ", "shortDesc": "Position of rotor 9 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR9_TILT", "shortDesc": "Rotor 9 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_ROTOR_COUNT", "shortDesc": "Total number of rotors", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}, {"description": "9", "value": 9}, {"description": "10", "value": 10}, {"description": "11", "value": 11}, {"description": "12", "value": 12}]}, {"bitmask": [{"description": "Motor 1", "index": 0}, {"description": "Motor 2", "index": 1}, {"description": "Motor 3", "index": 2}, {"description": "Motor 4", "index": 3}, {"description": "Motor 5", "index": 4}, {"description": "Motor 6", "index": 5}, {"description": "Motor 7", "index": 6}, {"description": "Motor 8", "index": 7}, {"description": "Motor 9", "index": 8}, {"description": "Motor 10", "index": 9}, {"description": "Motor 11", "index": 10}, {"description": "Motor 12", "index": 11}], "category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Configure motors to be bidirectional/reversible. Note that the output driver needs to support this as well.", "max": 4095, "min": 0, "name": "CA_R_REV", "shortDesc": "Bidirectional/Reversible motors", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG0", "shortDesc": "Angle for swash plate servo 0", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 140.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG1", "shortDesc": "Angle for swash plate servo 1", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 220.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG2", "shortDesc": "Angle for swash plate servo 2", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG3", "shortDesc": "Angle for swash plate servo 3", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L0", "shortDesc": "Arm length for swash plate servo 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L1", "shortDesc": "Arm length for swash plate servo 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L2", "shortDesc": "Arm length for swash plate servo 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L3", "shortDesc": "Arm length for swash plate servo 3", "type": "Float"}, {"category": "Standard", "default": 3, "group": "Geometry", "name": "CA_SP0_COUNT", "shortDesc": "Number of swash plates servos", "type": "Int32", "values": [{"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV0_SLEW", "shortDesc": "Servo 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV1_SLEW", "shortDesc": "Servo 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV2_SLEW", "shortDesc": "Servo 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV3_SLEW", "shortDesc": "Servo 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV4_SLEW", "shortDesc": "Servo 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV5_SLEW", "shortDesc": "Servo 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV6_SLEW", "shortDesc": "Servo 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV7_SLEW", "shortDesc": "Servo 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_FLAP", "shortDesc": "Control Surface 0 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_SPOIL", "shortDesc": "Control Surface 0 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_TRIM", "shortDesc": "Control Surface 0 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_P", "shortDesc": "Control Surface 0 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_R", "shortDesc": "Control Surface 0 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_Y", "shortDesc": "Control Surface 0 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS0_TYPE", "shortDesc": "Control Surface 0 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_FLAP", "shortDesc": "Control Surface 1 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_SPOIL", "shortDesc": "Control Surface 1 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_TRIM", "shortDesc": "Control Surface 1 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_P", "shortDesc": "Control Surface 1 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_R", "shortDesc": "Control Surface 1 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_Y", "shortDesc": "Control Surface 1 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS1_TYPE", "shortDesc": "Control Surface 1 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_FLAP", "shortDesc": "Control Surface 2 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_SPOIL", "shortDesc": "Control Surface 2 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_TRIM", "shortDesc": "Control Surface 2 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_P", "shortDesc": "Control Surface 2 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_R", "shortDesc": "Control Surface 2 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_Y", "shortDesc": "Control Surface 2 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS2_TYPE", "shortDesc": "Control Surface 2 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_FLAP", "shortDesc": "Control Surface 3 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_SPOIL", "shortDesc": "Control Surface 3 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_TRIM", "shortDesc": "Control Surface 3 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_P", "shortDesc": "Control Surface 3 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_R", "shortDesc": "Control Surface 3 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_Y", "shortDesc": "Control Surface 3 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS3_TYPE", "shortDesc": "Control Surface 3 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_FLAP", "shortDesc": "Control Surface 4 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_SPOIL", "shortDesc": "Control Surface 4 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_TRIM", "shortDesc": "Control Surface 4 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_P", "shortDesc": "Control Surface 4 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_R", "shortDesc": "Control Surface 4 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_Y", "shortDesc": "Control Surface 4 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS4_TYPE", "shortDesc": "Control Surface 4 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_FLAP", "shortDesc": "Control Surface 5 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_SPOIL", "shortDesc": "Control Surface 5 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_TRIM", "shortDesc": "Control Surface 5 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_P", "shortDesc": "Control Surface 5 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_R", "shortDesc": "Control Surface 5 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_Y", "shortDesc": "Control Surface 5 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS5_TYPE", "shortDesc": "Control Surface 5 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_FLAP", "shortDesc": "Control Surface 6 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_SPOIL", "shortDesc": "Control Surface 6 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_TRIM", "shortDesc": "Control Surface 6 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_P", "shortDesc": "Control Surface 6 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_R", "shortDesc": "Control Surface 6 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_Y", "shortDesc": "Control Surface 6 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS6_TYPE", "shortDesc": "Control Surface 6 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_FLAP", "shortDesc": "Control Surface 7 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_SPOIL", "shortDesc": "Control Surface 7 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_TRIM", "shortDesc": "Control Surface 7 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_P", "shortDesc": "Control Surface 7 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_R", "shortDesc": "Control Surface 7 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_Y", "shortDesc": "Control Surface 7 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS7_TYPE", "shortDesc": "Control Surface 7 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS_COUNT", "shortDesc": "Total number of Control Surfaces", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL0_CT", "shortDesc": "Tilt 0 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MAXA", "shortDesc": "Tilt Servo 0 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MINA", "shortDesc": "Tilt Servo 0 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL0_TD", "shortDesc": "Tilt Servo 0 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL1_CT", "shortDesc": "Tilt 1 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MAXA", "shortDesc": "Tilt Servo 1 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MINA", "shortDesc": "Tilt Servo 1 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL1_TD", "shortDesc": "Tilt Servo 1 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL2_CT", "shortDesc": "Tilt 2 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MAXA", "shortDesc": "Tilt Servo 2 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MINA", "shortDesc": "Tilt Servo 2 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL2_TD", "shortDesc": "Tilt Servo 2 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL3_CT", "shortDesc": "Tilt 3 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MAXA", "shortDesc": "Tilt Servo 3 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MINA", "shortDesc": "Tilt Servo 3 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL3_TD", "shortDesc": "Tilt Servo 3 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_TL_COUNT", "shortDesc": "Total number of Tilt Servos", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 10.0, "min": 1.0, "name": "HTE_ACC_GATE", "shortDesc": "Gate size for acceleration fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 1.0, "min": 0.0, "name": "HTE_HT_ERR_INIT", "shortDesc": "1-sigma initial hover thrust uncertainty", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0036, "group": "Hover Thrust Estimator", "longDesc": "Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.", "max": 1.0, "min": 0.0001, "name": "HTE_HT_NOISE", "shortDesc": "Hover thrust process noise", "type": "Float", "units": "normalized_thrust/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Hover Thrust Estimator", "longDesc": "Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).", "max": 0.4, "min": 0.01, "name": "HTE_THR_RANGE", "shortDesc": "Max deviation from MPC_THR_HOVER", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.", "max": 20.0, "min": 1.0, "name": "HTE_VXY_THR", "shortDesc": "Horizontal velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.", "max": 10.0, "min": 1.0, "name": "HTE_VZ_THR", "shortDesc": "Vertical velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.0, "group": "Land Detector", "longDesc": "Maximum airspeed allowed in the landed state", "max": 20.0, "min": 2.0, "name": "LNDFW_AIRSPD_MAX", "shortDesc": "Fixed-wing land detector: Max airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Land Detector", "longDesc": "Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.", "min": 0.1, "name": "LNDFW_TRIG_TIME", "rebootRequired": true, "shortDesc": "Fixed-wing land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).", "max": 10.0, "min": 0.5, "name": "LNDFW_VEL_XY_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Maximum vertical velocity allowed in the landed state.", "max": 20.0, "min": 0.1, "name": "LNDFW_VEL_Z_MAX", "shortDesc": "Fixed-wing land detector: Max vertiacal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 8.0, "group": "Land Detector", "longDesc": "Maximum horizontal (x,y body axes) acceleration allowed in the landed state", "max": 15.0, "min": 2.0, "name": "LNDFW_XYACC_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Land Detector", "longDesc": "The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.", "min": -1.0, "name": "LNDMC_ALT_GND", "shortDesc": "Ground effect altitude for multicopters", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "Land Detector", "longDesc": "Maximum allowed angular velocity around each axis allowed in the landed state.", "name": "LNDMC_ROT_MAX", "shortDesc": "Multicopter max rotation", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.", "max": 10.0, "min": 0.1, "name": "LNDMC_TRIG_TIME", "shortDesc": "Multicopter land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state", "name": "LNDMC_XY_VEL_MAX", "shortDesc": "Multicopter max horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "Land Detector", "longDesc": "Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.", "min": 0.0, "name": "LNDMC_Z_VEL_MAX", "shortDesc": "Multicopter vertical velocity threshold", "type": "Float", "units": "m/s"}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_HI", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_LO", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "Landing Target Estimator", "longDesc": "Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection", "min": 0.01, "name": "LTEST_ACC_UNC", "shortDesc": "Acceleration uncertainty", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.005, "group": "Landing Target Estimator", "longDesc": "Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.", "name": "LTEST_MEAS_UNC", "shortDesc": "Landing target measurement uncertainty", "type": "Float", "units": "tan(rad)^2"}, {"category": "Standard", "default": 0, "group": "Landing Target Estimator", "longDesc": "Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving: The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.", "max": 1, "min": 0, "name": "LTEST_MODE", "shortDesc": "Landing target mode", "type": "Int32", "values": [{"description": "Moving", "value": 0}, {"description": "Stationary", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target position in x and y direction", "min": 0.001, "name": "LTEST_POS_UNC_IN", "shortDesc": "Initial landing target position uncertainty", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target x measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_X", "shortDesc": "Scale factor for sensor measurements in sensor x axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target y measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_Y", "shortDesc": "Scale factor for sensor measurements in sensor y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_X", "rebootRequired": true, "shortDesc": "X Position of IRLOCK in body frame (forward)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Y", "rebootRequired": true, "shortDesc": "Y Position of IRLOCK in body frame (right)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Z", "rebootRequired": true, "shortDesc": "Z Position of IRLOCK in body frame (downward)", "type": "Float", "units": "m"}, {"category": "Standard", "default": 2, "group": "Landing Target Estimator", "longDesc": "Default orientation of Yaw 90\u00b0", "max": 40, "min": -1, "name": "LTEST_SENS_ROT", "rebootRequired": true, "shortDesc": "Rotation of IRLOCK sensor relative to airframe", "type": "Int32", "values": [{"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target velocity in x and y directions", "min": 0.001, "name": "LTEST_VEL_UNC_IN", "shortDesc": "Initial landing target velocity uncertainty", "type": "Float", "units": "(m/s)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.012, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_XY", "shortDesc": "Accelerometer xy noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.02, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_Z", "shortDesc": "Accelerometer z noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_BAR_Z", "shortDesc": "Barometric presssure altitude z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Local Position Estimator", "name": "LPE_EN", "shortDesc": "Local position estimator enable (unsupported)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPH_MAX", "shortDesc": "Max EPH allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPV_MAX", "shortDesc": "Max EPV allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Local Position Estimator", "longDesc": "By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable", "max": 1, "min": 0, "name": "LPE_FAKE_ORIGIN", "shortDesc": "Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow)", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 2.0, "min": 0.0, "name": "LPE_FGYRO_HP", "shortDesc": "Flow gyro high pass filter cut off frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_FLW_OFF_Z", "shortDesc": "Optical flow z offset from center", "type": "Float", "units": "m"}, {"category": "Standard", "default": 150, "group": "Local Position Estimator", "max": 255, "min": 0, "name": "LPE_FLW_QMIN", "shortDesc": "Optical flow minimum quality threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_R", "shortDesc": "Optical flow rotation (roll/pitch) noise gain", "type": "Float", "units": "m/s/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_FLW_RR", "shortDesc": "Optical flow angular velocity noise gain", "type": "Float", "units": "m/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.3, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_SCALE", "shortDesc": "Optical flow scale", "type": "Float", "units": "m"}, {"bitmask": [{"description": "fuse GPS, requires GPS for alt. init", "index": 0}, {"description": "fuse optical flow", "index": 1}, {"description": "fuse vision position", "index": 2}, {"description": "fuse landing target", "index": 3}, {"description": "fuse land detector", "index": 4}, {"description": "pub agl as lpos down", "index": 5}, {"description": "flow gyro compensation", "index": 6}, {"description": "fuse baro", "index": 7}], "category": "Standard", "default": 145, "group": "Local Position Estimator", "longDesc": "Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)", "max": 255, "min": 0, "name": "LPE_FUSION", "shortDesc": "Integer bitmask controlling data fusion", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.29, "group": "Local Position Estimator", "max": 0.4, "min": 0.0, "name": "LPE_GPS_DELAY", "shortDesc": "GPS delay compensaton", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "longDesc": "EPV used if greater than this value.", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VXY", "shortDesc": "GPS xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VZ", "shortDesc": "GPS z velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.01, "name": "LPE_GPS_XY", "shortDesc": "Minimum GPS xy standard deviation, uses reported EPH if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 200.0, "min": 0.01, "name": "LPE_GPS_Z", "shortDesc": "Minimum GPS z standard deviation, uses reported EPV if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 10.0, "min": 0.01, "name": "LPE_LAND_VXY", "shortDesc": "Land detector xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 10.0, "min": 0.001, "name": "LPE_LAND_Z", "shortDesc": "Land detector z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 47.397742, "group": "Local Position Estimator", "max": 90.0, "min": -90.0, "name": "LPE_LAT", "shortDesc": "Local origin latitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_LDR_OFF_Z", "shortDesc": "Lidar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_LDR_Z", "shortDesc": "Lidar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 8.545594, "group": "Local Position Estimator", "max": 180.0, "min": -180.0, "name": "LPE_LON", "shortDesc": "Local origin longitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0001, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_LT_COV", "shortDesc": "Minimum landing target standard covariance, uses reported covariance if greater", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_B", "shortDesc": "Accel bias propagation noise density", "type": "Float", "units": "m/s^3/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_P", "shortDesc": "Position propagation noise density", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_T", "shortDesc": "Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001)", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_V", "shortDesc": "Velocity propagation noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_SNR_OFF_Z", "shortDesc": "Sonar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_SNR_Z", "shortDesc": "Sonar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Local Position Estimator", "longDesc": "Used to calculate increased terrain random walk nosie due to movement.", "max": 100.0, "min": 0.0, "name": "LPE_T_MAX_GRADE", "shortDesc": "Terrain maximum percent grade, hilly/outdoor (100 = 45 deg), flat/Indoor (0 = 0 deg)", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0001, "name": "LPE_VIC_P", "shortDesc": "Vicon position standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Set to zero to enable automatic compensation from measurement timestamps", "max": 0.1, "min": 0.0, "name": "LPE_VIS_DELAY", "shortDesc": "Vision delay compensation", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VIS_XY", "shortDesc": "Vision xy standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_VIS_Z", "shortDesc": "Vision z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.3, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VXY_PUB", "shortDesc": "Required velocity xy standard deviation to publish position", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Local Position Estimator", "max": 1000.0, "min": 5.0, "name": "LPE_X_LP", "shortDesc": "Cut frequency for state publication", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.3, "name": "LPE_Z_PUB", "shortDesc": "Required z standard deviation to publish altitude/ terrain", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_0_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 0", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_0_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 0", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_0_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 0, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_0_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 0", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_0_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 0", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_0_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1200, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_0_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 0", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 14550, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected remote port will be set and used in MAVLink instance 0.", "name": "MAV_0_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 14556, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected udp port will be set and used in MAVLink instance 0.", "name": "MAV_0_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_1_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 1", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_1_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 1", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_1_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 1, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_1_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 1", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_1_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 1", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_1_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_1_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 1", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected remote port will be set and used in MAVLink instance 1.", "name": "MAV_1_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected udp port will be set and used in MAVLink instance 1.", "name": "MAV_1_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_2_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 2", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_2_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 2", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_2_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 2, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_2_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 2", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_2_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 2", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_2_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_2_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 2", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected remote port will be set and used in MAVLink instance 2.", "name": "MAV_2_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected udp port will be set and used in MAVLink instance 2.", "name": "MAV_2_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_COMP_ID", "rebootRequired": true, "shortDesc": "MAVLink component ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode", "name": "MAV_FWDEXTSP", "shortDesc": "Forward external setpoint messages", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.", "name": "MAV_HASH_CHK_EN", "shortDesc": "Parameter hash check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.", "name": "MAV_HB_FORW_EN", "shortDesc": "Heartbeat message forwarding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "name": "MAV_PROTO_VER", "shortDesc": "MAVLink protocol version", "type": "Int32", "values": [{"description": "Default to 1, switch to 2 if GCS sends version 2", "value": 0}, {"description": "Always use version 1", "value": 1}, {"description": "Always use version 2", "value": 2}]}, {"category": "Standard", "default": 5, "group": "MAVLink", "longDesc": "If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.", "max": 250, "min": 1, "name": "MAV_RADIO_TOUT", "shortDesc": "Timeout in seconds for the RADIO_STATUS reports coming in", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio", "max": 240, "min": -1, "name": "MAV_SIK_RADIO_ID", "shortDesc": "MAVLink SiK Radio ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_SYS_ID", "rebootRequired": true, "shortDesc": "MAVLink system ID", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "max": 22, "min": 0, "name": "MAV_TYPE", "shortDesc": "MAVLink airframe type", "type": "Int32", "values": [{"description": "Generic micro air vehicle", "value": 0}, {"description": "Fixed wing aircraft", "value": 1}, {"description": "Quadrotor", "value": 2}, {"description": "Coaxial helicopter", "value": 3}, {"description": "Normal helicopter with tail rotor", "value": 4}, {"description": "Airship, controlled", "value": 7}, {"description": "Free balloon, uncontrolled", "value": 8}, {"description": "Ground rover", "value": 10}, {"description": "Surface vessel, boat, ship", "value": 11}, {"description": "Submarine", "value": 12}, {"description": "Hexarotor", "value": 13}, {"description": "Octorotor", "value": 14}, {"description": "Tricopter", "value": 15}, {"description": "VTOL Two-rotor Tailsitter", "value": 19}, {"description": "VTOL Quad-rotor Tailsitter", "value": 20}, {"description": "VTOL Tiltrotor", "value": 21}, {"description": "VTOL Standard (separate fixed rotors for hover and cruise flight)", "value": 22}, {"description": "VTOL Tailsitter", "value": 23}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If set to 1 incoming HIL GPS messages are parsed.", "name": "MAV_USEHILGPS", "shortDesc": "Use/Accept HIL GPS message even if not in HIL mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Magnetometer Bias Estimator", "longDesc": "This enables continuous calibration of the magnetometers before takeoff using gyro data.", "name": "MBE_ENABLE", "rebootRequired": true, "shortDesc": "Enable online mag bias calibration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 18.0, "group": "Magnetometer Bias Estimator", "increment": 0.1, "longDesc": "Increase to make the estimator more responsive Decrease to make the estimator more robust to noise", "max": 100.0, "min": 0.1, "name": "MBE_LEARN_GAIN", "shortDesc": "Mag bias estimator learning gain", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Manual Control", "longDesc": "This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.", "name": "MAN_ARM_GESTURE", "shortDesc": "Enable arm/disarm stick gesture", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Manual Control", "longDesc": "The timeout for holding the left stick to the lower left and the right stick to the lower right at the same time until the gesture kills the actuators one-way. A negative value disables the feature.", "max": 15.0, "min": -1.0, "name": "MAN_KILL_GEST_T", "shortDesc": "Trigger time for kill stick gesture", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.", "max": 3600, "min": 0, "name": "FW_GPSF_LT", "shortDesc": "GPS failure loiter time", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "Mission", "increment": 0.5, "longDesc": "Roll angle in GPS failure loiter mode.", "max": 30.0, "min": 0.0, "name": "FW_GPSF_R", "shortDesc": "GPS failure fixed roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 10000.0, "group": "Mission", "increment": 100.0, "longDesc": "Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.", "max": 10000.0, "min": -1.0, "name": "MIS_DIST_1WP", "shortDesc": "Maximal horizontal distance from current position to first waypoint", "type": "Float", "units": "m"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.", "min": 0, "name": "MIS_LND_ABRT_ALT", "shortDesc": "Landing abort min altitude", "type": "Int32", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.", "max": 1, "min": 0, "name": "MIS_MNT_YAW_CTL", "shortDesc": "Enable yaw control of the mount. (Only affects multicopters and ROI mission items)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Enable", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "increment": 1.0, "min": 0.0, "name": "MIS_PD_TO", "shortDesc": "Timeout for a successful payload deployment acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "Mission", "increment": 0.5, "longDesc": "This is the relative altitude the system will take off to if not otherwise specified.", "min": 0.0, "name": "MIS_TAKEOFF_ALT", "shortDesc": "Default take-off altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.", "name": "MIS_TKO_LAND_REQ", "shortDesc": "Mission takeoff/landing required", "type": "Int32", "values": [{"description": "No requirements", "value": 0}, {"description": "Require a takeoff", "value": 1}, {"description": "Require a landing", "value": 2}, {"description": "Require a takeoff and a landing", "value": 3}, {"description": "Require both a takeoff and a landing, or neither", "value": 4}, {"description": "Same as previous when landed, in-air require landing only if no valid VTOL approach is present", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Mission", "increment": 1.0, "max": 90.0, "min": 0.0, "name": "MIS_YAW_ERR", "shortDesc": "Max yaw error in degrees needed for waypoint heading acceptance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 1.0, "longDesc": "If set > 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.", "max": 20.0, "min": -1.0, "name": "MIS_YAW_TMT", "shortDesc": "Time in seconds we wait on reaching target heading at a waypoint if it is forced", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mission", "max": 4, "min": 0, "name": "MPC_YAW_MODE", "shortDesc": "Heading behavior in autonomous modes", "type": "Int32", "values": [{"description": "towards waypoint", "value": 0}, {"description": "towards home", "value": 1}, {"description": "away from home", "value": 2}, {"description": "along trajectory", "value": 3}, {"description": "towards waypoint (yaw first)", "value": 4}, {"description": "yaw fixed", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.", "max": 200.0, "min": 0.05, "name": "NAV_ACC_RAD", "shortDesc": "Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "name": "NAV_FORCE_VT", "shortDesc": "Force VTOL mode takeoff and land", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "longDesc": "Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALTL_RAD", "shortDesc": "FW Altitude Acceptance Radius before a landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for fixedwing altitude.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALT_RAD", "shortDesc": "FW Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 80.0, "group": "Mission", "increment": 0.5, "longDesc": "Default value of loiter radius in FW mode (e.g. for Loiter mode).", "max": 1000.0, "min": 25.0, "name": "NAV_LOITER_RAD", "shortDesc": "Loiter radius (FW only)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.8, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for multicopter altitude.", "max": 200.0, "min": 0.05, "name": "NAV_MC_ALT_RAD", "shortDesc": "MC Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 0.5, "longDesc": "This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint (\"Go to\"). Set to a negative value to disable.", "min": -1.0, "name": "NAV_MIN_LTR_ALT", "shortDesc": "Minimum Loiter altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "longDesc": "Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders", "name": "NAV_TRAFF_AVOID", "shortDesc": "Set traffic avoidance mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warn only", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Position Hold mode", "value": 4}]}, {"category": "Standard", "default": 500.0, "group": "Mission", "longDesc": "Defines a crosstrack horizontal distance", "min": 500.0, "name": "NAV_TRAFF_A_HOR", "shortDesc": "Set NAV TRAFFIC AVOID horizontal distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 500.0, "group": "Mission", "max": 500.0, "min": 10.0, "name": "NAV_TRAFF_A_VER", "shortDesc": "Set NAV TRAFFIC AVOID vertical distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 60, "group": "Mission", "longDesc": "Minimum acceptable time until collsion. Assumes constant speed over 3d distance.", "max": 900000000, "min": 1, "name": "NAV_TRAFF_COLL_T", "shortDesc": "Estimated time until collision", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mixer Output", "longDesc": "The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.", "name": "MC_AIRMODE", "shortDesc": "Multicopter air-mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Roll/Pitch", "value": 1}, {"description": "Roll/Pitch/Yaw", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.", "max": 2, "min": 0, "name": "MNT_DO_STAB", "shortDesc": "Stabilize the mount", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Stabilize all axis", "value": 1}, {"description": "Stabilize yaw for absolute/lock mode.", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MAX", "shortDesc": "Pitch maximum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MIN", "shortDesc": "Pitch minimum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_PITCH", "shortDesc": "Auxiliary channel to control pitch (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_ROLL", "shortDesc": "Auxiliary channel to control roll (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_YAW", "shortDesc": "Auxiliary channel to control yaw (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 154, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.", "name": "MNT_MAV_COMPID", "shortDesc": "Mavlink Component ID of the mount", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.", "name": "MNT_MAV_SYSID", "shortDesc": "Mavlink System ID of the mount", "type": "Int32"}, {"category": "Standard", "default": -1, "group": "Mount", "longDesc": "This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.", "max": 4, "min": -1, "name": "MNT_MODE_IN", "rebootRequired": true, "shortDesc": "Mount input mode", "type": "Int32", "values": [{"description": "DISABLED", "value": -1}, {"description": "Auto (RC and MAVLink gimbal protocol v2)", "value": 0}, {"description": "RC", "value": 1}, {"description": "MAVLINK_ROI (protocol v1, to be deprecated)", "value": 2}, {"description": "MAVLINK_DO_MOUNT (protocol v1, to be deprecated)", "value": 3}, {"description": "MAVlink gimbal protocol v2", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.", "max": 2, "min": 0, "name": "MNT_MODE_OUT", "rebootRequired": true, "shortDesc": "Mount output mode", "type": "Int32", "values": [{"description": "AUX", "value": 0}, {"description": "MAVLink gimbal protocol v1", "value": 1}, {"description": "MAVLink gimbal protocol v2", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_PITCH", "shortDesc": "Offset for pitch channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_ROLL", "shortDesc": "Offset for roll channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_YAW", "shortDesc": "Offset for yaw channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_PITCH", "shortDesc": "Range of pitch channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_ROLL", "shortDesc": "Range of roll channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 360.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_YAW", "shortDesc": "Range of yaw channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-pitch rate..pitch rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_PITCH", "shortDesc": "Angular pitch rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-yaw rate..yaw rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_YAW", "shortDesc": "Angular yaw rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 1, "group": "Mount", "max": 1, "min": 0, "name": "MNT_RC_IN_MODE", "shortDesc": "Input mode for RC gimbal input", "type": "Int32", "values": [{"description": "Angle", "value": 0}, {"description": "Angular rate", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO", "shortDesc": "Acro mode roll, pitch expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO_Y", "shortDesc": "Acro mode yaw expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_P_MAX", "shortDesc": "Acro mode maximum pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_R_MAX", "shortDesc": "Acro mode maximum roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPO", "shortDesc": "Acro mode roll, pitch super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPOY", "shortDesc": "Acro mode yaw super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_Y_MAX", "shortDesc": "Acro mode maximum yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_PITCHRATE_MAX", "shortDesc": "Max pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_PITCH_P", "shortDesc": "Pitch P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_ROLLRATE_MAX", "shortDesc": "Max roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_ROLL_P", "shortDesc": "Roll P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 200.0, "group": "Multicopter Attitude Control", "increment": 5.0, "max": 1800.0, "min": 0.0, "name": "MC_YAWRATE_MAX", "shortDesc": "Max yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.8, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 5.0, "min": 0.0, "name": "MC_YAW_P", "shortDesc": "Yaw P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.", "max": 1.0, "min": 0.0, "name": "MC_YAW_WEIGHT", "shortDesc": "Yaw weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": 60.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the acceleration of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_ACC", "shortDesc": "Maximum yaw acceleration in autonomous modes", "type": "Float", "units": "deg/s^2"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the rate of change of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_MAX", "shortDesc": "Maximum yaw rate in autonomous modes", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0.4, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 1.0, "min": 0.0, "name": "CP_DELAY", "shortDesc": "Average delay of the range sensor message plus the tracking delay of the position controller in seconds", "type": "Float", "units": "s"}, {"category": "Standard", "default": -1.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value", "max": 15.0, "min": -1.0, "name": "CP_DIST", "shortDesc": "Minimum distance the vehicle should keep to all obstacles", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "name": "CP_GO_NO_DATA", "shortDesc": "Boolean to allow moving into directions where there is no sensor data (outside FOV)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 30.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 90.0, "min": 0.0, "name": "CP_GUIDE_ANG", "shortDesc": "Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "longDesc": "Setting this parameter to 0 disables the filter", "max": 2.0, "min": 0.0, "name": "MC_MAN_TILT_TAU", "shortDesc": "Manual tilt input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Multicopter Position Control", "longDesc": "Set to decouple tilt from vertical acceleration.", "name": "MPC_ACC_DECOUPLE", "shortDesc": "Acceleration to tilt coupling", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_DOWN_MAX", "shortDesc": "Maximum downwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When piloting manually, this parameter is only used in MPC_POS_MODE 4.", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR", "shortDesc": "Acceleration for autonomous and for manual modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 not used, use MPC_ACC_HOR instead", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR_MAX", "shortDesc": "Maximum horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_UP_MAX", "shortDesc": "Maximum upwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 2, "group": "Multicopter Position Control", "longDesc": "Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.", "max": 2, "min": 0, "name": "MPC_ALT_MODE", "shortDesc": "Altitude reference mode", "type": "Int32", "values": [{"description": "Altitude following", "value": 0}, {"description": "Terrain following", "value": 1}, {"description": "Terrain hold", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Does not apply to manual throttle and direct attitude piloting by stick.", "max": 1.0, "min": 0.0, "name": "MPC_HOLD_DZ", "shortDesc": "Deadzone for sticks in manual piloted modes", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.8, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_POS_MODE 0 or MPC_ALT_MODE 2", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_XY", "shortDesc": "Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_ALT_MODE 1", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_Z", "shortDesc": "Maximum vertical velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions but also limited agility.", "max": 80.0, "min": 1.0, "name": "MPC_JERK_AUTO", "shortDesc": "Jerk limit in autonomous modes", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 0, "default": 8.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother motions but limits agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Only used with smooth MPC_POS_MODE 3 and 4.", "max": 500.0, "min": 0.5, "name": "MPC_JERK_MAX", "shortDesc": "Maximum horizontal and vertical jerk in Position/Altitude mode", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to a value between \"MPC_Z_VEL_MAX_DN\" (or \"MPC_Z_V_AUTO_DN\") and \"MPC_LAND_SPEED\" Value needs to be higher than \"MPC_LAND_ALT2\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT1", "shortDesc": "Altitude for 1. step of slow landing (descend)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_SPEED\" Value needs to be lower than \"MPC_LAND_ALT1\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT2", "shortDesc": "Altitude for 2. step of slow landing (landing)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_CRWL\", if LIDAR available. No effect if LIDAR not available", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT3", "shortDesc": "Altitude for 3. step of slow landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.3, "group": "Multicopter Position Control", "longDesc": "Used below MPC_LAND_ALT3 if distance sensor data is availabe.", "min": 0.1, "name": "MPC_LAND_CRWL", "shortDesc": "Land crawl descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 1000.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When nudging is enabled (see MPC_LAND_RC_HELP), this controls the maximum allowed horizontal displacement from the original landing point.", "min": 0.0, "name": "MPC_LAND_RADIUS", "shortDesc": "User assisted landing radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Using stick input the vehicle can be moved horizontally and yawed. The descend speed is amended: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).", "max": 1, "min": 0, "name": "MPC_LAND_RC_HELP", "shortDesc": "Enable nudging based on user input during autonomous land routine", "type": "Int32", "values": [{"description": "Nudging disabled", "value": 0}, {"description": "Nudging enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Multicopter Position Control", "min": 0.6, "name": "MPC_LAND_SPEED", "shortDesc": "Landing descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The value is mapped to the lowest throttle stick position in Stabilized mode. Too low collective thrust leads to loss of roll/pitch/yaw torque control authority. Airmode is used to keep torque authority with zero thrust (see MC_AIRMODE).", "max": 1.0, "min": 0.0, "name": "MPC_MANTHR_MIN", "shortDesc": "Minimum collective thrust in Stabilized mode", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 35.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 70.0, "min": 1.0, "name": "MPC_MAN_TILT_MAX", "shortDesc": "Maximal tilt angle in Stabilized or Altitude mode", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 150.0, "group": "Multicopter Position Control", "increment": 10.0, "max": 400.0, "min": 0.0, "name": "MPC_MAN_Y_MAX", "shortDesc": "Max manual yaw rate for Stabilized, Altitude, Position mode", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Not used in Stabilized mode Setting this parameter to 0 disables the filter", "max": 5.0, "min": 0.0, "name": "MPC_MAN_Y_TAU", "shortDesc": "Manual yaw rate input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "default": 4, "group": "Multicopter Position Control", "longDesc": "The supported sub-modes are: 0 Sticks directly map to velocity setpoints without smoothing. Also applies to vertical direction and Altitude mode. Useful for velocity control tuning. 3 Sticks map to velocity but with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). 4 Sticks map to acceleration and there's a virtual brake drag", "name": "MPC_POS_MODE", "shortDesc": "Position/Altitude mode variant", "type": "Int32", "values": [{"description": "Direct velocity", "value": 0}, {"description": "Smoothed velocity", "value": 3}, {"description": "Acceleration based", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "This parameter defines how the throttle stick input is mapped to collective thrust in Stabilized mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, then 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.", "name": "MPC_THR_CURVE", "shortDesc": "Thrust curve mapping in Stabilized Mode", "type": "Int32", "values": [{"description": "Rescale to hover thrust", "value": 0}, {"description": "No Rescale", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Mapped to center throttle stick in Stabilized mode (see MPC_THR_CURVE). Used for initialization of the hover thrust estimator (see MPC_USE_HTE). The estimated hover thrust is used as base for zero vertical acceleration in altitude control. The hover thrust is important for land detection to work correctly.", "max": 0.8, "min": 0.1, "name": "MPC_THR_HOVER", "shortDesc": "Vertical thrust required to hover", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Limit allowed thrust e.g. for indoor test of overpowered vehicle.", "max": 1.0, "min": 0.0, "name": "MPC_THR_MAX", "shortDesc": "Maximum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.12, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Too low thrust leads to loss of roll/pitch/yaw torque control authority. With airmode enabled this parameters can be set to 0 while still keeping torque authority (see MC_AIRMODE).", "max": 0.5, "min": 0.05, "name": "MPC_THR_MIN", "shortDesc": "Minimum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Margin that is kept for horizontal control when higher priority vertical thrust is saturated. To avoid completely starving horizontal control with high vertical error.", "max": 0.5, "min": 0.0, "name": "MPC_THR_XY_MARG", "shortDesc": "Horizontal thrust margin", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity or acceleration controlled modes. Any higher value is truncated.", "max": 89.0, "min": 20.0, "name": "MPC_TILTMAX_AIR", "shortDesc": "Maximum tilt angle in air", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Tighter tilt limit during takeoff to avoid tip over.", "max": 89.0, "min": 5.0, "name": "MPC_TILTMAX_LND", "shortDesc": "Maximum tilt during inital takeoff ramp", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 3.0, "group": "Multicopter Position Control", "longDesc": "Increasing this value will make climb rate controlled takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp", "max": 5.0, "min": 0.0, "name": "MPC_TKO_RAMP_T", "shortDesc": "Smooth takeoff ramp time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.5, "group": "Multicopter Position Control", "max": 5.0, "min": 1.0, "name": "MPC_TKO_SPEED", "shortDesc": "Takeoff climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "Multicopter Position Control", "longDesc": "Disable to use the fixed parameter MPC_THR_HOVER Enable to use the hover thrust estimator", "name": "MPC_USE_HTE", "shortDesc": "Hover thrust estimator", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VELD_LP", "shortDesc": "Velocity derivative low pass cutoff frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_LP", "shortDesc": "Velocity low pass cutoff frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Must be smaller than MPC_XY_VEL_MAX. The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.", "max": 20.0, "min": 3.0, "name": "MPC_VEL_MANUAL", "shortDesc": "Maximum horizontal velocity setpoint in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_BACK", "shortDesc": "Maximum backward velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_SIDE", "shortDesc": "Maximum sideways velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_NF_BW", "shortDesc": "Velocity notch filter bandwidth", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "The center frequency for the 2nd order notch filter on the velocity. A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_NF_FRQ", "shortDesc": "Velocity notch filter frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "e.g. in Missions, RTL, Goto if the waypoint does not specify differently", "max": 20.0, "min": 3.0, "name": "MPC_XY_CRUISE", "shortDesc": "Default horizontal velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.", "max": 10.0, "min": 0.1, "name": "MPC_XY_ERR_MAX", "shortDesc": "Maximum horizontal error allowed by the trajectory generator", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_XY_MAN_EXPO", "shortDesc": "Manual position control stick exponential curve sensitivity", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.95, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 2.0, "min": 0.0, "name": "MPC_XY_P", "shortDesc": "Proportional gain for horizontal position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.1, "max": 1.0, "min": 0.1, "name": "MPC_XY_TRAJ_P", "shortDesc": "Proportional gain for horizontal trajectory position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.", "max": 20.0, "min": -20.0, "name": "MPC_XY_VEL_ALL", "shortDesc": "Overall Horizontal Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.1, "name": "MPC_XY_VEL_D_ACC", "shortDesc": "Differential gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as correction acceleration in m/s^2 per m velocity integral Allows to eliminate steady state errors in disturbances like wind.", "max": 60.0, "min": 0.0, "name": "MPC_XY_VEL_I_ACC", "shortDesc": "Integral gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity controlled modes. Any higher value is truncated.", "max": 20.0, "min": 0.0, "name": "MPC_XY_VEL_MAX", "shortDesc": "Maximum horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.8, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 5.0, "min": 1.2, "name": "MPC_XY_VEL_P_ACC", "shortDesc": "Proportional gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_YAW_EXPO", "shortDesc": "Manual control stick yaw rotation exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_Z_MAN_EXPO", "shortDesc": "Manual control stick vertical exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 1.5, "min": 0.1, "name": "MPC_Z_P", "shortDesc": "Proportional gain for vertical position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.", "max": 8.0, "min": -3.0, "name": "MPC_Z_VEL_ALL", "shortDesc": "Overall Vertical Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.0, "name": "MPC_Z_VEL_D_ACC", "shortDesc": "Differential gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m velocity integral", "max": 3.0, "min": 0.2, "name": "MPC_Z_VEL_I_ACC", "shortDesc": "Integral gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 4.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_DN", "shortDesc": "Maximum descent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_UP", "shortDesc": "Maximum ascent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 15.0, "min": 2.0, "name": "MPC_Z_VEL_P_ACC", "shortDesc": "Proportional gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manual modes and offboard, see MPC_Z_VEL_MAX_DN", "max": 4.0, "min": 0.5, "name": "MPC_Z_V_AUTO_DN", "shortDesc": "Descent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manually controlled modes and offboard see MPC_Z_VEL_MAX_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_V_AUTO_UP", "shortDesc": "Ascent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": -0.4, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.", "max": 1.0, "min": -1.0, "name": "SYS_VEHICLE_RESP", "shortDesc": "Responsiveness", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "name": "WV_EN", "shortDesc": "Enable weathervane", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Multicopter Position Control", "max": 5.0, "min": 0.0, "name": "WV_ROLL_MIN", "shortDesc": "Minimum roll angle setpoint for weathervane controller to demand a yaw-rate", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 90.0, "group": "Multicopter Position Control", "max": 120.0, "min": 0.0, "name": "WV_YRATE_MAX", "shortDesc": "Maximum yawrate the weathervane controller is allowed to demand", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_HVEL", "shortDesc": "Default horizontal velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_VVEL", "shortDesc": "Default vertical velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 1.0, "name": "MC_SLOW_DEF_YAWR", "shortDesc": "Default yaw rate limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_HVEL", "shortDesc": "Manual input mapped to scale horizontal velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_VVEL", "shortDesc": "Manual input mapped to scale vertical velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_YAWR", "shortDesc": "Manual input mapped to scale yaw rate in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_HVEL", "shortDesc": "Horizontal velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_VVEL", "shortDesc": "Vertical velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this rate.", "min": 1.0, "name": "MC_SLOW_MIN_YAWR", "shortDesc": "Yaw rate lower limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.", "name": "MC_BAT_SCALE_EN", "shortDesc": "Battery power level scaler", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_PITCHRATE_D", "shortDesc": "Pitch rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_PITCHRATE_FF", "shortDesc": "Pitch rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_PITCHRATE_I", "shortDesc": "Pitch rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_PITCHRATE_K", "shortDesc": "Pitch rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.01, "name": "MC_PITCHRATE_P", "shortDesc": "Pitch rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.", "min": 0.0, "name": "MC_PR_INT_LIM", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "max": 0.01, "min": 0.0, "name": "MC_ROLLRATE_D", "shortDesc": "Roll rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_ROLLRATE_FF", "shortDesc": "Roll rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_ROLLRATE_I", "shortDesc": "Roll rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_ROLLRATE_K", "shortDesc": "Roll rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.5, "min": 0.01, "name": "MC_ROLLRATE_P", "shortDesc": "Roll rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.", "min": 0.0, "name": "MC_RR_INT_LIM", "shortDesc": "Roll rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_YAWRATE_D", "shortDesc": "Yaw rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_YAWRATE_FF", "shortDesc": "Yaw rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_YAWRATE_I", "shortDesc": "Yaw rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.0, "name": "MC_YAWRATE_K", "shortDesc": "Yaw rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.0, "name": "MC_YAWRATE_P", "shortDesc": "Yaw rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.", "min": 0.0, "name": "MC_YR_INT_LIM", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "default": 0, "group": "OSD", "longDesc": "Controls the vertical position of the crosshair display. Resolution is limited by OSD to 15 discrete values. Negative values will display the crosshairs below the horizon", "max": 8, "min": -8, "name": "OSD_CH_HEIGHT", "shortDesc": "OSD Crosshairs Height", "type": "Int32"}, {"category": "Standard", "default": 500, "group": "OSD", "longDesc": "Amount of time in milliseconds to dwell at the beginning of the display, when scrolling.", "max": 10000, "min": 100, "name": "OSD_DWELL_TIME", "shortDesc": "OSD Dwell Time (ms)", "type": "Int32"}, {"category": "Standard", "default": 3, "group": "OSD", "longDesc": "Minimum security of log level to display on the OSD.", "name": "OSD_LOG_LEVEL", "shortDesc": "OSD Warning Level", "type": "Int32"}, {"category": "Standard", "default": 125, "group": "OSD", "longDesc": "Scroll rate in milliseconds for OSD messages longer than available character width. This is lower-bounded by the nominal loop rate of this module.", "max": 1000, "min": 100, "name": "OSD_SCROLL_RATE", "shortDesc": "OSD Scroll Rate (ms)", "type": "Int32"}, {"bitmask": [{"description": "CRAFT_NAME", "index": 0}, {"description": "DISARMED", "index": 1}, {"description": "GPS_LAT", "index": 2}, {"description": "GPS_LON", "index": 3}, {"description": "GPS_SATS", "index": 4}, {"description": "GPS_SPEED", "index": 5}, {"description": "HOME_DIST", "index": 6}, {"description": "HOME_DIR", "index": 7}, {"description": "MAIN_BATT_VOLTAGE", "index": 8}, {"description": "CURRENT_DRAW", "index": 9}, {"description": "MAH_DRAWN", "index": 10}, {"description": "RSSI_VALUE", "index": 11}, {"description": "ALTITUDE", "index": 12}, {"description": "NUMERICAL_VARIO", "index": 13}, {"description": "(unused) FLYMODE", "index": 14}, {"description": "(unused) ESC_TMP", "index": 15}, {"description": "(unused) PITCH_ANGLE", "index": 16}, {"description": "(unused) ROLL_ANGLE", "index": 17}, {"description": "CROSSHAIRS", "index": 18}, {"description": "AVG_CELL_VOLTAGE", "index": 19}, {"description": "(unused) HORIZON_SIDEBARS", "index": 20}, {"description": "POWER", "index": 21}], "category": "Standard", "default": 16383, "group": "OSD", "longDesc": "Configure / toggle support display options.", "max": 4194303, "min": 0, "name": "OSD_SYMBOLS", "shortDesc": "OSD Symbol Selection", "type": "Int32"}, {"category": "Standard", "default": 0.0, "group": "PWM Outputs", "longDesc": "Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.", "min": 0.0, "name": "MOT_SLEW_MAX", "shortDesc": "Minimum motor rise time (slew rate limit)", "type": "Float", "units": "s/(1000*PWM)"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "PWM Outputs", "increment": 0.1, "longDesc": "Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.", "max": 1.0, "min": 0.0, "name": "THR_MDL_FAC", "shortDesc": "Thrust to motor control signal model parameter", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "name": "PD_GRIPPER_EN", "rebootRequired": true, "shortDesc": "Enable Gripper actuation in Payload Deliverer", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 3.0, "group": "Payload Deliverer", "longDesc": "Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action", "min": 0.0, "name": "PD_GRIPPER_TO", "shortDesc": "Timeout for successful gripper actuation acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "max": 0, "min": -1, "name": "PD_GRIPPER_TYPE", "shortDesc": "Type of Gripper (Servo, etc.)", "type": "Int32", "values": [{"description": "Undefined", "value": -1}, {"description": "Servo", "value": 0}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Precision Land", "increment": 0.5, "longDesc": "Time after which the landing target is considered lost without any new measurements.", "max": 50.0, "min": 0.0, "name": "PLD_BTOUT", "shortDesc": "Landing Target Timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Precision Land", "increment": 0.1, "longDesc": "Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.", "max": 10.0, "min": 0.0, "name": "PLD_FAPPR_ALT", "shortDesc": "Final approach altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Precision Land", "increment": 0.1, "longDesc": "Start descending if closer above landing target than this.", "max": 10.0, "min": 0.0, "name": "PLD_HACC_RAD", "shortDesc": "Horizontal acceptance radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 3, "group": "Precision Land", "longDesc": "Maximum number of times to search for the landing target if it is lost during the precision landing.", "max": 100, "min": 0, "name": "PLD_MAX_SRCH", "shortDesc": "Maximum number of search attempts", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Altitude above home to which to climb when searching for the landing target.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_ALT", "shortDesc": "Search altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Time allowed to search for the landing target before falling back to normal landing.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_TOUT", "shortDesc": "Search timeout", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC10_DZ", "shortDesc": "RC channel 10 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC10_MAX", "shortDesc": "RC channel 10 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC10_MIN", "shortDesc": "RC channel 10 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC10_REV", "shortDesc": "RC channel 10 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC10_TRIM", "shortDesc": "RC channel 10 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC11_DZ", "shortDesc": "RC channel 11 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC11_MAX", "shortDesc": "RC channel 11 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC11_MIN", "shortDesc": "RC channel 11 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC11_REV", "shortDesc": "RC channel 11 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC11_TRIM", "shortDesc": "RC channel 11 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC12_DZ", "shortDesc": "RC channel 12 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC12_MAX", "shortDesc": "RC channel 12 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC12_MIN", "shortDesc": "RC channel 12 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC12_REV", "shortDesc": "RC channel 12 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC12_TRIM", "shortDesc": "RC channel 12 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC13_DZ", "shortDesc": "RC channel 13 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC13_MAX", "shortDesc": "RC channel 13 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC13_MIN", "shortDesc": "RC channel 13 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC13_REV", "shortDesc": "RC channel 13 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC13_TRIM", "shortDesc": "RC channel 13 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC14_DZ", "shortDesc": "RC channel 14 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC14_MAX", "shortDesc": "RC channel 14 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC14_MIN", "shortDesc": "RC channel 14 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC14_REV", "shortDesc": "RC channel 14 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC14_TRIM", "shortDesc": "RC channel 14 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC15_DZ", "shortDesc": "RC channel 15 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC15_MAX", "shortDesc": "RC channel 15 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC15_MIN", "shortDesc": "RC channel 15 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC15_REV", "shortDesc": "RC channel 15 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC15_TRIM", "shortDesc": "RC channel 15 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC16_DZ", "shortDesc": "RC channel 16 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC16_MAX", "shortDesc": "RC channel 16 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC16_MIN", "shortDesc": "RC channel 16 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC16_REV", "shortDesc": "RC channel 16 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC16_TRIM", "shortDesc": "RC channel 16 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC17_DZ", "shortDesc": "RC channel 17 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC17_MAX", "shortDesc": "RC channel 17 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC17_MIN", "shortDesc": "RC channel 17 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC17_REV", "shortDesc": "RC channel 17 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC17_TRIM", "shortDesc": "RC channel 17 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC18_DZ", "shortDesc": "RC channel 18 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC18_MAX", "shortDesc": "RC channel 18 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC18_MIN", "shortDesc": "RC channel 18 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC18_REV", "shortDesc": "RC channel 18 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC18_TRIM", "shortDesc": "RC channel 18 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC1_DZ", "shortDesc": "RC channel 1 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for RC channel 1", "max": 2200.0, "min": 1500.0, "name": "RC1_MAX", "shortDesc": "RC channel 1 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for RC channel 1", "max": 1500.0, "min": 800.0, "name": "RC1_MIN", "shortDesc": "RC channel 1 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC1_REV", "shortDesc": "RC channel 1 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC1_TRIM", "shortDesc": "RC channel 1 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC2_DZ", "shortDesc": "RC channel 2 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC2_MAX", "shortDesc": "RC channel 2 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC2_MIN", "shortDesc": "RC channel 2 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC2_REV", "shortDesc": "RC channel 2 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC2_TRIM", "shortDesc": "RC channel 2 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC3_DZ", "shortDesc": "RC channel 3 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC3_MAX", "shortDesc": "RC channel 3 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC3_MIN", "shortDesc": "RC channel 3 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC3_REV", "shortDesc": "RC channel 3 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC3_TRIM", "shortDesc": "RC channel 3 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC4_DZ", "shortDesc": "RC channel 4 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC4_MAX", "shortDesc": "RC channel 4 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC4_MIN", "shortDesc": "RC channel 4 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC4_REV", "shortDesc": "RC channel 4 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC4_TRIM", "shortDesc": "RC channel 4 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC5_DZ", "shortDesc": "RC channel 5 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC5_MAX", "shortDesc": "RC channel 5 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC5_MIN", "shortDesc": "RC channel 5 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC5_REV", "shortDesc": "RC channel 5 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC5_TRIM", "shortDesc": "RC channel 5 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC6_DZ", "shortDesc": "RC channel 6 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC6_MAX", "shortDesc": "RC channel 6 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC6_MIN", "shortDesc": "RC channel 6 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC6_REV", "shortDesc": "RC channel 6 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC6_TRIM", "shortDesc": "RC channel 6 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC7_DZ", "shortDesc": "RC channel 7 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC7_MAX", "shortDesc": "RC channel 7 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC7_MIN", "shortDesc": "RC channel 7 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC7_REV", "shortDesc": "RC channel 7 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC7_TRIM", "shortDesc": "RC channel 7 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC8_DZ", "shortDesc": "RC channel 8 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC8_MAX", "shortDesc": "RC channel 8 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC8_MIN", "shortDesc": "RC channel 8 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC8_REV", "shortDesc": "RC channel 8 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC8_TRIM", "shortDesc": "RC channel 8 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC9_DZ", "shortDesc": "RC channel 9 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC9_MAX", "shortDesc": "RC channel 9 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC9_MIN", "shortDesc": "RC channel 9 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC9_REV", "shortDesc": "RC channel 9 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC9_TRIM", "shortDesc": "RC channel 9 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.", "max": 18, "min": 0, "name": "RC_CHAN_CNT", "shortDesc": "RC channel count", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).", "max": 2200, "min": 0, "name": "RC_FAILS_THR", "shortDesc": "Failsafe channel PWM threshold", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera pitch", "max": 18, "min": 0, "name": "RC_MAP_AUX1", "shortDesc": "AUX1 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera roll", "max": 18, "min": 0, "name": "RC_MAP_AUX2", "shortDesc": "AUX2 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera azimuth / yaw", "max": 18, "min": 0, "name": "RC_MAP_AUX3", "shortDesc": "AUX3 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX4", "shortDesc": "AUX4 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX5", "shortDesc": "AUX5 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX6", "shortDesc": "AUX6 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_ENG_MOT", "shortDesc": "RC channel to engage the main motor (for helicopters)", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.", "max": 18, "min": 0, "name": "RC_MAP_FAILSAFE", "shortDesc": "Failsafe channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM1", "shortDesc": "PARAM1 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM2", "shortDesc": "PARAM2 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM3", "shortDesc": "PARAM3 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_PITCH", "shortDesc": "Pitch control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_ROLL", "shortDesc": "Roll control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_THROTTLE", "shortDesc": "Throttle control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_YAW", "shortDesc": "Yaw control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.", "max": 18, "min": 0, "name": "RC_RSSI_PWM_CHAN", "shortDesc": "PWM input channel that provides RSSI", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 2000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MAX", "shortDesc": "Max input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MIN", "shortDesc": "Min input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_PITCH", "shortDesc": "Pitch trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_ROLL", "shortDesc": "Roll trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_YAW", "shortDesc": "Yaw trim", "type": "Float"}, {"category": "Standard", "default": 0.75, "group": "Radio Switches", "longDesc": "0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
th negative : true when channel
The rover starts to cut the corner earlier.", "max": 100.0, "min": 1.0, "name": "RA_ACC_RAD_GAIN", "shortDesc": "Tuning parameter for corner cutting", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).", "max": 100.0, "min": 0.1, "name": "RA_ACC_RAD_MAX", "shortDesc": "Maximum acceptance radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "Lower value -> More aggressive controller (beware overshoot/oscillations)", "max": 100.0, "min": 0.1, "name": "RA_LOOKAHD_GAIN", "shortDesc": "Tuning parameter for the pure pursuit controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "This is the maximum crosstrack error before the controller starts targeting the current waypoint rather then the path between the previous and next waypoint.", "max": 100.0, "min": 0.1, "name": "RA_LOOKAHD_MAX", "shortDesc": "Maximum lookahead distance for the pure pursuit controller", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Ackermann", "increment": 0.01, "max": 100.0, "min": 0.1, "name": "RA_LOOKAHD_MIN", "shortDesc": "Minimum lookahead distance for the pure pursuit controller", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.", "max": 100.0, "min": -1.0, "name": "RA_MAX_SPEED", "shortDesc": "Speed the rover drives at maximum throttle", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5236, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "The maximum angle that the rover can steer", "max": 1.5708, "min": 0.1, "name": "RA_MAX_STR_ANG", "shortDesc": "Maximum steering angle", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Rover Ackermann", "increment": 0.01, "max": 100.0, "min": 0.1, "name": "RA_MISS_VEL_DEF", "shortDesc": "Default rover velocity during a mission", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "Lower value -> More velocity reduction during cornering", "max": 100.0, "min": 0.1, "name": "RA_MISS_VEL_GAIN", "shortDesc": "Tuning parameter for the velocity reduction during cornering", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Ackermann", "increment": 0.01, "longDesc": "The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)", "max": 100.0, "min": 0.1, "name": "RA_MISS_VEL_MIN", "shortDesc": "Minimum rover velocity during a mission", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Ackermann", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RA_SPEED_I", "shortDesc": "Integral gain for ground speed controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Ackermann", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RA_SPEED_P", "shortDesc": "Proportional gain for ground speed controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "Rover Ackermann", "increment": 0.001, "longDesc": "Distance from the front to the rear axle", "max": 100.0, "min": 0.001, "name": "RA_WHEEL_BASE", "shortDesc": "Wheel base", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "RDD_ANG_SCALE", "shortDesc": "Manual angular velocity scale", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_I_ANG_VEL", "shortDesc": "Integral gain for angular velocity controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_I_SPEED", "shortDesc": "Integral gain for ground speed controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Rover Differential Drive", "increment": 0.01, "longDesc": "Maximum acceleration is used to limit the acceleration of the rover", "max": 100.0, "min": 0.0, "name": "RDD_MAX_ACCEL", "shortDesc": "Maximum acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Rover Differential Drive", "increment": 0.01, "longDesc": "Limit for forwards acc/deceleration change.", "max": 100.0, "min": 0.0, "name": "RDD_MAX_JERK", "shortDesc": "Maximum jerk", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_P_ANG_VEL", "shortDesc": "Proportional gain for angular velocity controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_P_HEADING", "shortDesc": "Proportional gain for heading controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_P_SPEED", "shortDesc": "Proportional gain for speed controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Rover Differential Drive", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "RDD_SPEED_SCALE", "shortDesc": "Manual speed scale", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "Rover Differential Drive", "increment": 0.001, "longDesc": "Distance from the center of the right wheel to the center of the left wheel", "max": 100.0, "min": 0.001, "name": "RDD_WHEEL_BASE", "shortDesc": "Wheel base", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Rover Differential Drive", "increment": 0.001, "longDesc": "Size of the wheel, half the diameter of the wheel", "max": 100.0, "min": 0.001, "name": "RDD_WHEEL_RADIUS", "shortDesc": "Wheel radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Rover Differential Drive", "increment": 0.01, "max": 100.0, "min": 0.0, "name": "RDD_WHEEL_SPEED", "shortDesc": "Maximum wheel speed", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.75, "group": "Rover Position Control", "increment": 0.05, "longDesc": "Damping factor for L1 control.", "max": 0.9, "min": 0.6, "name": "GND_L1_DAMPING", "shortDesc": "L1 damping", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Rover Position Control", "increment": 0.1, "longDesc": "This is the distance at which the next waypoint is activated. This should be set to about 2-4x of GND_WHEEL_BASE and not smaller than one meter (due to GPS accuracy).", "max": 50.0, "min": 1.0, "name": "GND_L1_DIST", "shortDesc": "L1 distance", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Rover Position Control", "increment": 0.5, "longDesc": "This is the L1 distance and defines the tracking point ahead of the rover it's following. Use values around 2-5m for a 0.3m wheel base. Tuning instructions: Shorten slowly during tuning until response is sharp without oscillation.", "max": 50.0, "min": 0.5, "name": "GND_L1_PERIOD", "shortDesc": "L1 period", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 150.0, "group": "Rover Position Control", "max": 400.0, "min": 0.0, "name": "GND_MAN_Y_MAX", "shortDesc": "Max manual yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.7854, "group": "Rover Position Control", "increment": 0.01, "longDesc": "At a control output of 0, the steering wheels are at 0 radians. At a control output of 1, the steering wheels are at GND_MAX_ANG radians.", "max": 3.14159, "min": 0.0, "name": "GND_MAX_ANG", "shortDesc": "Maximum turn angle for Ackerman steering", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Rover Position Control", "increment": 0.005, "longDesc": "This is the derivative gain for the speed closed loop controller", "max": 50.0, "min": 0.0, "name": "GND_SPEED_D", "shortDesc": "Speed proportional gain", "type": "Float", "units": "%m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Rover Position Control", "increment": 0.005, "longDesc": "This is the integral gain for the speed closed loop controller", "max": 50.0, "min": 0.0, "name": "GND_SPEED_I", "shortDesc": "Speed Integral gain", "type": "Float", "units": "%m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Rover Position Control", "increment": 0.005, "longDesc": "This is the maxim value the integral can reach to prevent wind-up.", "max": 50.0, "min": 0.005, "name": "GND_SPEED_IMAX", "shortDesc": "Speed integral maximum value", "type": "Float", "units": "%m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Rover Position Control", "increment": 0.5, "max": 40.0, "min": 0.0, "name": "GND_SPEED_MAX", "shortDesc": "Maximum ground speed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 2.0, "group": "Rover Position Control", "increment": 0.005, "longDesc": "This is the proportional gain for the speed closed loop controller", "max": 50.0, "min": 0.005, "name": "GND_SPEED_P", "shortDesc": "Speed proportional gain", "type": "Float", "units": "%m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Rover Position Control", "increment": 0.005, "longDesc": "This is a gain to map the speed control output to the throttle linearly.", "max": 50.0, "min": 0.005, "name": "GND_SPEED_THR_SC", "shortDesc": "Speed to throttle scaler", "type": "Float", "units": "%m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Rover Position Control", "increment": 0.5, "max": 40.0, "min": 0.0, "name": "GND_SPEED_TRIM", "shortDesc": "Trim ground speed", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "Rover Position Control", "longDesc": "This allows the user to choose between closed loop gps speed or open loop cruise throttle speed", "max": 1, "min": 0, "name": "GND_SP_CTRL_MODE", "shortDesc": "Control mode for speed", "type": "Int32", "values": [{"description": "open loop control", "value": 0}, {"description": "close the loop with gps speed", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Rover Position Control", "increment": 0.01, "longDesc": "This is the throttle setting required to achieve the desired cruise speed. 10% is ok for a traxxas stampede vxl with ESC set to training mode", "max": 1.0, "min": 0.0, "name": "GND_THR_CRUISE", "shortDesc": "Cruise throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Rover Position Control", "increment": 0.01, "longDesc": "This is the maximum throttle % that can be used by the controller. For a Traxxas stampede vxl with the ESC set to training, 30 % is enough", "max": 1.0, "min": 0.0, "name": "GND_THR_MAX", "shortDesc": "Throttle limit max", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Rover Position Control", "increment": 0.01, "longDesc": "This is the minimum throttle % that can be used by the controller. Set to 0 for rover", "max": 1.0, "min": 0.0, "name": "GND_THR_MIN", "shortDesc": "Throttle limit min", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.31, "group": "Rover Position Control", "increment": 0.01, "longDesc": "A value of 0.31 is typical for 1/10 RC cars.", "min": 0.0, "name": "GND_WHEEL_BASE", "shortDesc": "Distance from front axle to rear axle", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Runway Takeoff", "longDesc": "0: airframe heading when takeoff is initiated 1: position control along runway direction (bearing defined from vehicle position on takeoff initiation to MAV_CMD_TAKEOFF position defined by operator)", "max": 1, "min": 0, "name": "RWTO_HDG", "shortDesc": "Specifies which heading should be held during the runway takeoff ground roll", "type": "Int32", "values": [{"description": "Airframe", "value": 0}, {"description": "Runway", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Runway Takeoff", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "RWTO_MAX_THR", "shortDesc": "Max throttle during runway takeoff", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Runway Takeoff", "increment": 0.1, "max": 100.0, "min": 1.0, "name": "RWTO_NPFG_PERIOD", "shortDesc": "NPFG period while steering on runway", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Runway Takeoff", "longDesc": "This is useful when map, GNSS, or yaw errors on ground are misaligned with what the operator intends for takeoff course. Particularly useful for skinny runways or if the wheel servo is a bit off trim.", "name": "RWTO_NUDGE", "shortDesc": "Enable use of yaw stick for nudging the wheel during runway ground roll", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Runway Takeoff", "increment": 0.5, "longDesc": "A taildragger with steerable wheel might need to pitch up a little to keep its wheel on the ground before airspeed to takeoff is reached.", "max": 20.0, "min": -10.0, "name": "RWTO_PSP", "shortDesc": "Pitch setpoint during taxi / before takeoff rotation airspeed is reached", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Runway Takeoff", "increment": 0.1, "max": 15.0, "min": 1.0, "name": "RWTO_RAMP_TIME", "shortDesc": "Throttle ramp up time for runway takeoff", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Runway Takeoff", "increment": 0.1, "longDesc": "The calibrated airspeed threshold during the takeoff ground roll when the plane should start rotating (pitching up). Must be less than the takeoff airspeed, will otherwise be capped at the takeoff airpeed (see FW_TKO_AIRSPD). If set <= 0.0, defaults to 0.9 * takeoff airspeed (see FW_TKO_AIRSPD)", "min": -1.0, "name": "RWTO_ROT_AIRSPD", "shortDesc": "Takeoff rotation airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Runway Takeoff", "increment": 0.1, "longDesc": "This is the time desired to linearly ramp in takeoff pitch constraints during the takeoff rotation", "min": 0.1, "name": "RWTO_ROT_TIME", "shortDesc": "Takeoff rotation time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Runway Takeoff", "name": "RWTO_TKOFF", "shortDesc": "Runway takeoff with landing gear", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 2, "group": "SD Logging", "longDesc": "Selects the algorithm used for logfile encryption", "name": "SDLOG_ALGORITHM", "shortDesc": "Logfile Encryption algorithm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "XChaCha20", "value": 2}, {"description": "AES", "value": 3}]}, {"category": "Standard", "default": 0, "group": "SD Logging", "longDesc": "When enabled, logging will not start from boot if battery power is not detected (e.g. powered via USB on a test bench). This prevents extraneous flight logs from being created during bench testing. Note that this only applies to log-from-boot modes. This has no effect on arm-based modes.", "name": "SDLOG_BOOT_BAT", "shortDesc": "Battery-only Logging", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "SD Logging", "longDesc": "If there are more log directories than this value, the system will delete the oldest directories during startup. In addition, the system will delete old logs if there is not enough free space left. The minimum amount is 300 MB. If this is set to 0, old directories will only be removed if the free space falls below the minimum. Note: this does not apply to mission log files.", "max": 1000, "min": 0, "name": "SDLOG_DIRS_MAX", "rebootRequired": true, "shortDesc": "Maximum number of log directories to keep", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "SD Logging", "longDesc": "If the logfile is encrypted using a symmetric key algorithm, the used encryption key is generated at logging start and stored on the sdcard RSA2048 encrypted using this key.", "max": 255, "min": 0, "name": "SDLOG_EXCH_KEY", "shortDesc": "Logfile Encryption key exchange key", "type": "Int32"}, {"category": "Standard", "default": 2, "group": "SD Logging", "longDesc": "Selects the key in keystore, used for encrypting the log. When using a symmetric encryption algorithm, the key is generated at logging start and kept stored in this index. For symmetric algorithms, the key is volatile and valid only for the duration of logging. The key is stored in encrypted format on the sdcard alongside the logfile, using an RSA2048 key defined by the SDLOG_EXCHANGE_KEY", "max": 255, "min": 0, "name": "SDLOG_KEY", "shortDesc": "Logfile Encryption key index", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "SD Logging", "longDesc": "If enabled, a small additional \"mission\" log file will be written to the SD card. The log contains just those messages that are useful for tasks like generating flight statistics and geotagging. The different modes can be used to further reduce the logged data (and thus the log file size). For example, choose geotagging mode to only log data required for geotagging. Note that the normal/full log is still created, and contains all the data in the mission log (and more).", "name": "SDLOG_MISSION", "rebootRequired": true, "shortDesc": "Mission Log", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "All mission messages", "value": 1}, {"description": "Geotagging messages", "value": 2}]}, {"category": "Standard", "default": 0, "group": "SD Logging", "longDesc": "Determines when to start and stop logging. By default, logging is started when arming the system, and stopped when disarming.", "name": "SDLOG_MODE", "rebootRequired": true, "shortDesc": "Logging Mode", "type": "Int32", "values": [{"description": "disabled", "value": -1}, {"description": "when armed until disarm (default)", "value": 0}, {"description": "from boot until disarm", "value": 1}, {"description": "from boot until shutdown", "value": 2}, {"description": "depending on AUX1 RC channel", "value": 3}, {"description": "from 1st armed until shutdown", "value": 4}]}, {"bitmask": [{"description": "Default set (general log analysis)", "index": 0}, {"description": "Estimator replay (EKF2)", "index": 1}, {"description": "Thermal calibration", "index": 2}, {"description": "System identification", "index": 3}, {"description": "High rate", "index": 4}, {"description": "Debug", "index": 5}, {"description": "Sensor comparison", "index": 6}, {"description": "Computer Vision and Avoidance", "index": 7}, {"description": "Raw FIFO high-rate IMU (Gyro)", "index": 8}, {"description": "Raw FIFO high-rate IMU (Accel)", "index": 9}, {"description": "Mavlink tunnel message logging", "index": 10}], "category": "Standard", "default": 1, "group": "SD Logging", "longDesc": "This integer bitmask controls the set and rates of logged topics. The default allows for general log analysis while keeping the log file size reasonably small. Enabling multiple sets leads to higher bandwidth requirements and larger log files. Set bits true to enable: 0 : Default set (used for general log analysis) 1 : Full rate estimator (EKF2) replay topics 2 : Topics for thermal calibration (high rate raw IMU and Baro sensor data) 3 : Topics for system identification (high rate actuator control and IMU data) 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators) 5 : Debugging topics (debug_*.msg topics, for custom code) 6 : Topics for sensor comparison (low rate raw IMU, Baro and magnetometer data) 7 : Topics for computer vision and collision avoidance 8 : Raw FIFO high-rate IMU (Gyro) 9 : Raw FIFO high-rate IMU (Accel) 10: Logging of mavlink tunnel message (useful for payload communication debugging)", "max": 2047, "min": 0, "name": "SDLOG_PROFILE", "rebootRequired": true, "shortDesc": "Logging topic profile (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "SD Logging", "longDesc": "the difference in hours and minutes from Coordinated Universal Time (UTC) for a your place and date. for example, In case of South Korea(UTC+09:00), UTC offset is 540 min (9*60) refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets", "max": 1000, "min": -1000, "name": "SDLOG_UTC_OFFSET", "shortDesc": "UTC offset (unit: min)", "type": "Int32", "units": "min"}, {"category": "Standard", "default": 1, "group": "SD Logging", "longDesc": "If set to 1, add an ID to the log, which uniquely identifies the vehicle", "name": "SDLOG_UUID", "shortDesc": "Log UUID", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 60.0, "group": "SITL", "increment": 1.0, "max": 86400.0, "min": 1.0, "name": "SIM_BAT_DRAIN", "shortDesc": "Simulator Battery drain interval", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "SITL", "longDesc": "Enable or disable the internal battery simulation. This is useful when the battery is simulated externally and interfaced with PX4 through MAVLink for example.", "name": "SIM_BAT_ENABLE", "shortDesc": "Simulator Battery enabled", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 50.0, "group": "SITL", "increment": 0.1, "longDesc": "Can be used to alter the battery level during SITL- or HITL-simulation on the fly. Particularly useful for testing different low-battery behaviour.", "max": 100.0, "min": 0.0, "name": "SIM_BAT_MIN_PCT", "shortDesc": "Simulator Battery minimal percentage", "type": "Float", "units": "%"}, {"category": "System", "decimalPlaces": 3, "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the accelerometer this calibration applies to.", "name": "CAL_ACC0_ID", "shortDesc": "Accelerometer 0 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": -1, "group": "Sensor Calibration", "name": "CAL_ACC0_PRIO", "shortDesc": "Accelerometer 0 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_ACC0_ROT", "shortDesc": "Accelerometer 0 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC0_XOFF", "shortDesc": "Accelerometer 0 X-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC0_XSCALE", "shortDesc": "Accelerometer 0 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC0_YOFF", "shortDesc": "Accelerometer 0 Y-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC0_YSCALE", "shortDesc": "Accelerometer 0 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC0_ZOFF", "shortDesc": "Accelerometer 0 Z-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC0_ZSCALE", "shortDesc": "Accelerometer 0 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the accelerometer this calibration applies to.", "name": "CAL_ACC1_ID", "shortDesc": "Accelerometer 1 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": -1, "group": "Sensor Calibration", "name": "CAL_ACC1_PRIO", "shortDesc": "Accelerometer 1 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_ACC1_ROT", "shortDesc": "Accelerometer 1 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC1_XOFF", "shortDesc": "Accelerometer 1 X-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC1_XSCALE", "shortDesc": "Accelerometer 1 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC1_YOFF", "shortDesc": "Accelerometer 1 Y-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC1_YSCALE", "shortDesc": "Accelerometer 1 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC1_ZOFF", "shortDesc": "Accelerometer 1 Z-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC1_ZSCALE", "shortDesc": "Accelerometer 1 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the accelerometer this calibration applies to.", "name": "CAL_ACC2_ID", "shortDesc": "Accelerometer 2 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": -1, "group": "Sensor Calibration", "name": "CAL_ACC2_PRIO", "shortDesc": "Accelerometer 2 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_ACC2_ROT", "shortDesc": "Accelerometer 2 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC2_XOFF", "shortDesc": "Accelerometer 2 X-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC2_XSCALE", "shortDesc": "Accelerometer 2 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC2_YOFF", "shortDesc": "Accelerometer 2 Y-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC2_YSCALE", "shortDesc": "Accelerometer 2 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC2_ZOFF", "shortDesc": "Accelerometer 2 Z-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC2_ZSCALE", "shortDesc": "Accelerometer 2 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the accelerometer this calibration applies to.", "name": "CAL_ACC3_ID", "shortDesc": "Accelerometer 3 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": -1, "group": "Sensor Calibration", "name": "CAL_ACC3_PRIO", "shortDesc": "Accelerometer 3 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_ACC3_ROT", "shortDesc": "Accelerometer 3 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC3_XOFF", "shortDesc": "Accelerometer 3 X-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC3_XSCALE", "shortDesc": "Accelerometer 3 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC3_YOFF", "shortDesc": "Accelerometer 3 Y-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC3_YSCALE", "shortDesc": "Accelerometer 3 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_ACC3_ZOFF", "shortDesc": "Accelerometer 3 Z-axis offset", "type": "Float", "units": "m/s^2", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_ACC3_ZSCALE", "shortDesc": "Accelerometer 3 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the barometer this calibration applies to.", "name": "CAL_BARO0_ID", "shortDesc": "Barometer 0 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_BARO0_OFF", "shortDesc": "Barometer 0 offset", "type": "Float", "volatile": true}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_BARO0_PRIO", "shortDesc": "Barometer 0 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the barometer this calibration applies to.", "name": "CAL_BARO1_ID", "shortDesc": "Barometer 1 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_BARO1_OFF", "shortDesc": "Barometer 1 offset", "type": "Float", "volatile": true}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_BARO1_PRIO", "shortDesc": "Barometer 1 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the barometer this calibration applies to.", "name": "CAL_BARO2_ID", "shortDesc": "Barometer 2 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_BARO2_OFF", "shortDesc": "Barometer 2 offset", "type": "Float", "volatile": true}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_BARO2_PRIO", "shortDesc": "Barometer 2 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the barometer this calibration applies to.", "name": "CAL_BARO3_ID", "shortDesc": "Barometer 3 calibration device ID", "type": "Int32"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_BARO3_OFF", "shortDesc": "Barometer 3 offset", "type": "Float", "volatile": true}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_BARO3_PRIO", "shortDesc": "Barometer 3 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the gyroscope this calibration applies to.", "name": "CAL_GYRO0_ID", "shortDesc": "Gyroscope 0 calibration device ID", "type": "Int32"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_GYRO0_PRIO", "shortDesc": "Gyroscope 0 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_GYRO0_ROT", "shortDesc": "Gyroscope 0 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO0_XOFF", "shortDesc": "Gyroscope 0 X-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO0_YOFF", "shortDesc": "Gyroscope 0 Y-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO0_ZOFF", "shortDesc": "Gyroscope 0 Z-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the gyroscope this calibration applies to.", "name": "CAL_GYRO1_ID", "shortDesc": "Gyroscope 1 calibration device ID", "type": "Int32"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_GYRO1_PRIO", "shortDesc": "Gyroscope 1 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_GYRO1_ROT", "shortDesc": "Gyroscope 1 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO1_XOFF", "shortDesc": "Gyroscope 1 X-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO1_YOFF", "shortDesc": "Gyroscope 1 Y-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO1_ZOFF", "shortDesc": "Gyroscope 1 Z-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the gyroscope this calibration applies to.", "name": "CAL_GYRO2_ID", "shortDesc": "Gyroscope 2 calibration device ID", "type": "Int32"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_GYRO2_PRIO", "shortDesc": "Gyroscope 2 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_GYRO2_ROT", "shortDesc": "Gyroscope 2 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO2_XOFF", "shortDesc": "Gyroscope 2 X-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO2_YOFF", "shortDesc": "Gyroscope 2 Y-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO2_ZOFF", "shortDesc": "Gyroscope 2 Z-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the gyroscope this calibration applies to.", "name": "CAL_GYRO3_ID", "shortDesc": "Gyroscope 3 calibration device ID", "type": "Int32"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_GYRO3_PRIO", "shortDesc": "Gyroscope 3 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero.", "max": 40, "min": -1, "name": "CAL_GYRO3_ROT", "shortDesc": "Gyroscope 3 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO3_XOFF", "shortDesc": "Gyroscope 3 X-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO3_YOFF", "shortDesc": "Gyroscope 3 Y-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_GYRO3_ZOFF", "shortDesc": "Gyroscope 3 Z-axis offset", "type": "Float", "units": "rad/s", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the magnetometer this calibration applies to.", "name": "CAL_MAG0_ID", "shortDesc": "Magnetometer 0 calibration device ID", "type": "Int32"}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG0_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG0_PITCH", "shortDesc": "Magnetometer 0 Custom Euler Pitch Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_MAG0_PRIO", "shortDesc": "Magnetometer 0 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG0_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG0_ROLL", "shortDesc": "Magnetometer 0 Custom Euler Roll Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to \"Custom Euler Angle\" to define the rotation using CAL_MAG0_ROLL, CAL_MAG0_PITCH and CAL_MAG0_YAW.", "max": 100, "min": -1, "name": "CAL_MAG0_ROT", "shortDesc": "Magnetometer 0 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}, {"description": "Custom Euler Angle", "value": 100}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG0_XCOMP", "shortDesc": "Magnetometer 0 X Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_XODIAG", "shortDesc": "Magnetometer 0 X-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_XOFF", "shortDesc": "Magnetometer 0 X-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG0_XSCALE", "shortDesc": "Magnetometer 0 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG0_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG0_YAW", "shortDesc": "Magnetometer 0 Custom Euler Yaw Angle", "type": "Float", "units": "deg"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG0_YCOMP", "shortDesc": "Magnetometer 0 Y Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_YODIAG", "shortDesc": "Magnetometer 0 Y-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_YOFF", "shortDesc": "Magnetometer 0 Y-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG0_YSCALE", "shortDesc": "Magnetometer 0 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG0_ZCOMP", "shortDesc": "Magnetometer 0 Z Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_ZODIAG", "shortDesc": "Magnetometer 0 Z-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG0_ZOFF", "shortDesc": "Magnetometer 0 Z-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG0_ZSCALE", "shortDesc": "Magnetometer 0 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the magnetometer this calibration applies to.", "name": "CAL_MAG1_ID", "shortDesc": "Magnetometer 1 calibration device ID", "type": "Int32"}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG1_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG1_PITCH", "shortDesc": "Magnetometer 1 Custom Euler Pitch Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_MAG1_PRIO", "shortDesc": "Magnetometer 1 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG1_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG1_ROLL", "shortDesc": "Magnetometer 1 Custom Euler Roll Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to \"Custom Euler Angle\" to define the rotation using CAL_MAG1_ROLL, CAL_MAG1_PITCH and CAL_MAG1_YAW.", "max": 100, "min": -1, "name": "CAL_MAG1_ROT", "shortDesc": "Magnetometer 1 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}, {"description": "Custom Euler Angle", "value": 100}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG1_XCOMP", "shortDesc": "Magnetometer 1 X Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_XODIAG", "shortDesc": "Magnetometer 1 X-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_XOFF", "shortDesc": "Magnetometer 1 X-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG1_XSCALE", "shortDesc": "Magnetometer 1 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG1_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG1_YAW", "shortDesc": "Magnetometer 1 Custom Euler Yaw Angle", "type": "Float", "units": "deg"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG1_YCOMP", "shortDesc": "Magnetometer 1 Y Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_YODIAG", "shortDesc": "Magnetometer 1 Y-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_YOFF", "shortDesc": "Magnetometer 1 Y-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG1_YSCALE", "shortDesc": "Magnetometer 1 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG1_ZCOMP", "shortDesc": "Magnetometer 1 Z Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_ZODIAG", "shortDesc": "Magnetometer 1 Z-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG1_ZOFF", "shortDesc": "Magnetometer 1 Z-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG1_ZSCALE", "shortDesc": "Magnetometer 1 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the magnetometer this calibration applies to.", "name": "CAL_MAG2_ID", "shortDesc": "Magnetometer 2 calibration device ID", "type": "Int32"}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG2_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG2_PITCH", "shortDesc": "Magnetometer 2 Custom Euler Pitch Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_MAG2_PRIO", "shortDesc": "Magnetometer 2 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG2_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG2_ROLL", "shortDesc": "Magnetometer 2 Custom Euler Roll Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to \"Custom Euler Angle\" to define the rotation using CAL_MAG2_ROLL, CAL_MAG2_PITCH and CAL_MAG2_YAW.", "max": 100, "min": -1, "name": "CAL_MAG2_ROT", "shortDesc": "Magnetometer 2 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}, {"description": "Custom Euler Angle", "value": 100}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG2_XCOMP", "shortDesc": "Magnetometer 2 X Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_XODIAG", "shortDesc": "Magnetometer 2 X-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_XOFF", "shortDesc": "Magnetometer 2 X-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG2_XSCALE", "shortDesc": "Magnetometer 2 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG2_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG2_YAW", "shortDesc": "Magnetometer 2 Custom Euler Yaw Angle", "type": "Float", "units": "deg"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG2_YCOMP", "shortDesc": "Magnetometer 2 Y Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_YODIAG", "shortDesc": "Magnetometer 2 Y-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_YOFF", "shortDesc": "Magnetometer 2 Y-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG2_YSCALE", "shortDesc": "Magnetometer 2 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG2_ZCOMP", "shortDesc": "Magnetometer 2 Z Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_ZODIAG", "shortDesc": "Magnetometer 2 Z-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG2_ZOFF", "shortDesc": "Magnetometer 2 Z-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG2_ZSCALE", "shortDesc": "Magnetometer 2 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "longDesc": "Device ID of the magnetometer this calibration applies to.", "name": "CAL_MAG3_ID", "shortDesc": "Magnetometer 3 calibration device ID", "type": "Int32"}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG3_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG3_PITCH", "shortDesc": "Magnetometer 3 Custom Euler Pitch Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "name": "CAL_MAG3_PRIO", "shortDesc": "Magnetometer 3 priority", "type": "Int32", "values": [{"description": "Uninitialized", "value": -1}, {"description": "Disabled", "value": 0}, {"description": "Min", "value": 1}, {"description": "Low", "value": 25}, {"description": "Medium (Default)", "value": 50}, {"description": "High", "value": 75}, {"description": "Max", "value": 100}]}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG3_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG3_ROLL", "shortDesc": "Magnetometer 3 Custom Euler Roll Angle", "type": "Float", "units": "deg"}, {"category": "System", "default": -1, "group": "Sensor Calibration", "longDesc": "An internal sensor will force a value of -1, so a GCS should only attempt to configure the rotation if the value is greater than or equal to zero. Set to \"Custom Euler Angle\" to define the rotation using CAL_MAG3_ROLL, CAL_MAG3_PITCH and CAL_MAG3_YAW.", "max": 100, "min": -1, "name": "CAL_MAG3_ROT", "shortDesc": "Magnetometer 3 rotation relative to airframe", "type": "Int32", "values": [{"description": "Internal", "value": -1}, {"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}, {"description": "Custom Euler Angle", "value": 100}]}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between X component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG3_XCOMP", "shortDesc": "Magnetometer 3 X Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_XODIAG", "shortDesc": "Magnetometer 3 X-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_XOFF", "shortDesc": "Magnetometer 3 X-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG3_XSCALE", "shortDesc": "Magnetometer 3 X-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Setting this parameter changes CAL_MAG3_ROT to \"Custom Euler Angle\"", "max": 180.0, "min": -180.0, "name": "CAL_MAG3_YAW", "shortDesc": "Magnetometer 3 Custom Euler Yaw Angle", "type": "Float", "units": "deg"}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Y component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG3_YCOMP", "shortDesc": "Magnetometer 3 Y Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_YODIAG", "shortDesc": "Magnetometer 3 Y-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_YOFF", "shortDesc": "Magnetometer 3 Y-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG3_YSCALE", "shortDesc": "Magnetometer 3 Y-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "longDesc": "Coefficient describing linear relationship between Z component of magnetometer in body frame axis and either current or throttle depending on value of CAL_MAG_COMP_TYP. Unit for throttle-based compensation is [G] and for current-based compensation [G/kA]", "name": "CAL_MAG3_ZCOMP", "shortDesc": "Magnetometer 3 Z Axis throttle compensation", "type": "Float", "volatile": true}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_ZODIAG", "shortDesc": "Magnetometer 3 Z-axis off diagonal scale factor", "type": "Float", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 0.0, "group": "Sensor Calibration", "name": "CAL_MAG3_ZOFF", "shortDesc": "Magnetometer 3 Z-axis offset", "type": "Float", "units": "gauss", "volatile": true}, {"category": "System", "decimalPlaces": 3, "default": 1.0, "group": "Sensor Calibration", "max": 3.0, "min": 0.1, "name": "CAL_MAG3_ZSCALE", "shortDesc": "Magnetometer 3 Z-axis scaling factor", "type": "Float", "volatile": true}, {"category": "System", "default": 0, "group": "Sensor Calibration", "name": "CAL_MAG_COMP_TYP", "shortDesc": "Type of magnetometer compensation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Throttle-based compensation", "value": 1}, {"description": "Current-based compensation (battery_status instance 0)", "value": 2}, {"description": "Current-based compensation (battery_status instance 1)", "value": 3}]}, {"category": "Standard", "default": 0.0, "group": "Sensor Calibration", "longDesc": "Pick the appropriate scaling from the datasheet. this number defines the (linear) conversion from voltage to Pascal (pa). For the MPXV7002DP this is 1000. NOTE: If the sensor always registers zero, try switching the static and dynamic tubes.", "name": "SENS_DPRES_ANSC", "shortDesc": "Differential pressure sensor analog scaling", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Sensor Calibration", "longDesc": "The offset (zero-reading) in Pascal", "name": "SENS_DPRES_OFF", "shortDesc": "Differential pressure sensor offset", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Sensor Calibration", "increment": 0.1, "longDesc": "This parameter defines the maximum distance from ground at which the optical flow sensor operates reliably. The height setpoint will be limited to be no greater than this value when the navigation system is completely reliant on optical flow data and the height above ground estimate is valid. The sensor may be usable above this height, but accuracy will progressively degrade.", "max": 100.0, "min": 1.0, "name": "SENS_FLOW_MAXHGT", "shortDesc": "Maximum height above ground when reliant on optical flow", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 8.0, "group": "Sensor Calibration", "longDesc": "Optical flow data will not fused by the estimators if the magnitude of the flow rate exceeds this value and control loops will be instructed to limit ground speed such that the flow rate produced by movement over ground is less than 50% of this value.", "min": 1.0, "name": "SENS_FLOW_MAXR", "shortDesc": "Magnitude of maximum angular flow rate reliably measurable by the optical flow sensor", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.08, "group": "Sensor Calibration", "increment": 0.1, "longDesc": "This parameter defines the minimum distance from ground at which the optical flow sensor operates reliably. The sensor may be usable below this height, but accuracy will progressively reduce to loss of focus.", "max": 1.0, "min": 0.0, "name": "SENS_FLOW_MINHGT", "shortDesc": "Minimum height above ground when reliant on optical flow", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Sensors", "longDesc": "Model with Pitot CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Model without Pitot (1.5 mm tubes) CAL_AIR_TUBED_MM: Not used, 1.5 mm tubes assumed. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor. Tube Pressure Drop CAL_AIR_TUBED_MM: Diameter in mm of the pitot and tubes, must have the same diameter. CAL_AIR_TUBELEN: Length of the tubes connecting the pitot to the sensor and the static + dynamic port length of the pitot.", "name": "CAL_AIR_CMODEL", "shortDesc": "Airspeed sensor compensation model for the SDP3x", "type": "Int32", "values": [{"description": "Model with Pitot", "value": 0}, {"description": "Model without Pitot (1.5 mm tubes)", "value": 1}, {"description": "Tube Pressure Drop", "value": 2}]}, {"category": "Standard", "default": 1.5, "group": "Sensors", "max": 100.0, "min": 1.5, "name": "CAL_AIR_TUBED_MM", "shortDesc": "Airspeed sensor tube diameter. Only used for the Tube Pressure Drop Compensation", "type": "Float", "units": "mm"}, {"category": "Standard", "default": 0.2, "group": "Sensors", "longDesc": "See the CAL_AIR_CMODEL explanation on how this parameter should be set.", "max": 2.0, "min": 0.01, "name": "CAL_AIR_TUBELEN", "shortDesc": "Airspeed sensor tube length", "type": "Float", "units": "m"}, {"category": "Developer", "default": 63, "group": "Sensors", "longDesc": "Use SENS_MAG_SIDES instead", "name": "CAL_MAG_SIDES", "shortDesc": "For legacy QGC support only", "type": "Int32"}, {"category": "Standard", "default": 30.0, "group": "Sensors", "longDesc": "The cutoff frequency for the 2nd order butterworth filter on the primary accelerometer. This only affects the signal sent to the controllers, not the estimators. 0 disables the filter.", "max": 1000.0, "min": 0.0, "name": "IMU_ACCEL_CUTOFF", "rebootRequired": true, "shortDesc": "Low pass filter cutoff frequency for accel", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 30.0, "group": "Sensors", "longDesc": "The cutoff frequency for the 2nd order butterworth filter used on the time derivative of the measured angular velocity, also known as the D-term filter in the rate controller. The D-term uses the derivative of the rate and thus is the most susceptible to noise. Therefore, using a D-term filter allows to increase IMU_GYRO_CUTOFF, which leads to reduced control latency and permits to increase the P gains. A value of 0 disables the filter.", "max": 1000.0, "min": 0.0, "name": "IMU_DGYRO_CUTOFF", "rebootRequired": true, "shortDesc": "Cutoff frequency for angular acceleration (D-Term filter)", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 1, "group": "Sensors", "name": "IMU_GYRO_CAL_EN", "rebootRequired": true, "shortDesc": "IMU gyro auto calibration enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 40.0, "group": "Sensors", "longDesc": "The cutoff frequency for the 2nd order butterworth filter on the primary gyro. This only affects the angular velocity sent to the controllers, not the estimators. It applies also to the angular acceleration (D-Term filter), see IMU_DGYRO_CUTOFF. A value of 0 disables the filter.", "max": 1000.0, "min": 0.0, "name": "IMU_GYRO_CUTOFF", "rebootRequired": true, "shortDesc": "Low pass filter cutoff frequency for gyro", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 15.0, "group": "Sensors", "longDesc": "Bandwidth per notch filter when using dynamic notch filtering with ESC RPM.", "max": 30.0, "min": 5.0, "name": "IMU_GYRO_DNF_BW", "shortDesc": "IMU gyro ESC notch filter bandwidth", "type": "Float", "units": "Hz"}, {"bitmask": [{"description": "ESC RPM", "index": 0}, {"description": "FFT", "index": 1}], "category": "Standard", "default": 0, "group": "Sensors", "longDesc": "Enable bank of dynamically updating notch filters. Requires ESC RPM feedback or onboard FFT (IMU_GYRO_FFT_EN).", "max": 3, "min": 0, "name": "IMU_GYRO_DNF_EN", "shortDesc": "IMU gyro dynamic notch filtering", "type": "Int32"}, {"category": "Standard", "default": 3, "group": "Sensors", "longDesc": "ESC RPM number of harmonics (multiples of RPM) for ESC RPM dynamic notch filtering.", "max": 7, "min": 1, "name": "IMU_GYRO_DNF_HMC", "shortDesc": "IMU gyro dynamic notch filter harmonics", "type": "Int32"}, {"category": "Standard", "default": 25.0, "group": "Sensors", "longDesc": "Minimum notch filter frequency in Hz.", "name": "IMU_GYRO_DNF_MIN", "shortDesc": "IMU gyro dynamic notch filter minimum frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "Sensors", "name": "IMU_GYRO_FFT_EN", "rebootRequired": true, "shortDesc": "IMU gyro FFT enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 512, "group": "Sensors", "name": "IMU_GYRO_FFT_LEN", "rebootRequired": true, "shortDesc": "IMU gyro FFT length", "type": "Int32", "units": "Hz", "values": [{"description": "256", "value": 256}, {"description": "512", "value": 512}, {"description": "1024", "value": 1024}, {"description": "4096", "value": 4096}]}, {"category": "Standard", "default": 150.0, "group": "Sensors", "max": 1000.0, "min": 1.0, "name": "IMU_GYRO_FFT_MAX", "rebootRequired": true, "shortDesc": "IMU gyro FFT maximum frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 30.0, "group": "Sensors", "max": 1000.0, "min": 1.0, "name": "IMU_GYRO_FFT_MIN", "rebootRequired": true, "shortDesc": "IMU gyro FFT minimum frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 10.0, "group": "Sensors", "max": 30.0, "min": 1.0, "name": "IMU_GYRO_FFT_SNR", "shortDesc": "IMU gyro FFT SNR", "type": "Float"}, {"category": "Standard", "default": 20.0, "group": "Sensors", "longDesc": "The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See \"IMU_GYRO_NF0_FRQ\" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.", "max": 100.0, "min": 0.0, "name": "IMU_GYRO_NF0_BW", "rebootRequired": true, "shortDesc": "Notch filter bandwidth for gyro", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0.0, "group": "Sensors", "longDesc": "The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See \"IMU_GYRO_NF0_BW\" to set the bandwidth of the filter. A value of 0 disables the filter.", "max": 1000.0, "min": 0.0, "name": "IMU_GYRO_NF0_FRQ", "rebootRequired": true, "shortDesc": "Notch filter frequency for gyro", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 20.0, "group": "Sensors", "longDesc": "The frequency width of the stop band for the 2nd order notch filter on the primary gyro. See \"IMU_GYRO_NF1_FRQ\" to activate the filter and to set the notch frequency. Applies to both angular velocity and angular acceleration sent to the controllers.", "max": 100.0, "min": 0.0, "name": "IMU_GYRO_NF1_BW", "rebootRequired": true, "shortDesc": "Notch filter 1 bandwidth for gyro", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0.0, "group": "Sensors", "longDesc": "The center frequency for the 2nd order notch filter on the primary gyro. This filter can be enabled to avoid feedback amplification of structural resonances at a specific frequency. This only affects the signal sent to the controllers, not the estimators. Applies to both angular velocity and angular acceleration sent to the controllers. See \"IMU_GYRO_NF1_BW\" to set the bandwidth of the filter. A value of 0 disables the filter.", "max": 1000.0, "min": 0.0, "name": "IMU_GYRO_NF1_FRQ", "rebootRequired": true, "shortDesc": "Notch filter 2 frequency for gyro", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 400, "group": "Sensors", "longDesc": "The maximum rate the gyro control data (vehicle_angular_velocity) will be allowed to publish at. This is the loop rate for the rate controller and outputs. Note: sensor data is always read and filtered at the full raw rate (eg commonly 8 kHz) regardless of this setting.", "max": 2000, "min": 100, "name": "IMU_GYRO_RATEMAX", "rebootRequired": true, "shortDesc": "Gyro control data maximum publication rate (inner loop rate)", "type": "Int32", "units": "Hz", "values": [{"description": "100 Hz", "value": 100}, {"description": "250 Hz", "value": 250}, {"description": "400 Hz", "value": 400}, {"description": "800 Hz", "value": 800}, {"description": "1000 Hz", "value": 1000}, {"description": "2000 Hz", "value": 2000}]}, {"category": "Standard", "default": 200, "group": "Sensors", "longDesc": "The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).", "max": 1000, "min": 100, "name": "IMU_INTEG_RATE", "rebootRequired": true, "shortDesc": "IMU integration rate", "type": "Int32", "units": "Hz", "values": [{"description": "100 Hz", "value": 100}, {"description": "200 Hz", "value": 200}, {"description": "250 Hz", "value": 250}, {"description": "400 Hz", "value": 400}]}, {"category": "Standard", "default": 1013.25, "group": "Sensors", "max": 1500.0, "min": 500.0, "name": "SENS_BARO_QNH", "shortDesc": "QNH for barometer", "type": "Float", "units": "hPa"}, {"category": "Standard", "default": 20.0, "group": "Sensors", "longDesc": "Barometric air data maximum publication rate. This is an upper bound, actual barometric data rate is still dependent on the sensor.", "max": 200.0, "min": 1.0, "name": "SENS_BARO_RATE", "shortDesc": "Baro max rate", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "Sensors", "longDesc": "This parameter defines the rotation of the FMU board relative to the platform.", "max": 40, "min": -1, "name": "SENS_BOARD_ROT", "rebootRequired": true, "shortDesc": "Board rotation", "type": "Int32", "values": [{"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}, {"description": "Roll 180\u00b0", "value": 8}, {"description": "Roll 180\u00b0, Yaw 45\u00b0", "value": 9}, {"description": "Roll 180\u00b0, Yaw 90\u00b0", "value": 10}, {"description": "Roll 180\u00b0, Yaw 135\u00b0", "value": 11}, {"description": "Pitch 180\u00b0", "value": 12}, {"description": "Roll 180\u00b0, Yaw 225\u00b0", "value": 13}, {"description": "Roll 180\u00b0, Yaw 270\u00b0", "value": 14}, {"description": "Roll 180\u00b0, Yaw 315\u00b0", "value": 15}, {"description": "Roll 90\u00b0", "value": 16}, {"description": "Roll 90\u00b0, Yaw 45\u00b0", "value": 17}, {"description": "Roll 90\u00b0, Yaw 90\u00b0", "value": 18}, {"description": "Roll 90\u00b0, Yaw 135\u00b0", "value": 19}, {"description": "Roll 270\u00b0", "value": 20}, {"description": "Roll 270\u00b0, Yaw 45\u00b0", "value": 21}, {"description": "Roll 270\u00b0, Yaw 90\u00b0", "value": 22}, {"description": "Roll 270\u00b0, Yaw 135\u00b0", "value": 23}, {"description": "Pitch 90\u00b0", "value": 24}, {"description": "Pitch 270\u00b0", "value": 25}, {"description": "Pitch 180\u00b0, Yaw 90\u00b0", "value": 26}, {"description": "Pitch 180\u00b0, Yaw 270\u00b0", "value": 27}, {"description": "Roll 90\u00b0, Pitch 90\u00b0", "value": 28}, {"description": "Roll 180\u00b0, Pitch 90\u00b0", "value": 29}, {"description": "Roll 270\u00b0, Pitch 90\u00b0", "value": 30}, {"description": "Roll 90\u00b0, Pitch 180\u00b0", "value": 31}, {"description": "Roll 270\u00b0, Pitch 180\u00b0", "value": 32}, {"description": "Roll 90\u00b0, Pitch 270\u00b0", "value": 33}, {"description": "Roll 180\u00b0, Pitch 270\u00b0", "value": 34}, {"description": "Roll 270\u00b0, Pitch 270\u00b0", "value": 35}, {"description": "Roll 90\u00b0, Pitch 180\u00b0, Yaw 90\u00b0", "value": 36}, {"description": "Roll 90\u00b0, Yaw 270\u00b0", "value": 37}, {"description": "Roll 90\u00b0, Pitch 68\u00b0, Yaw 293\u00b0", "value": 38}, {"description": "Pitch 315\u00b0", "value": 39}, {"description": "Roll 90\u00b0, Pitch 315\u00b0", "value": 40}]}, {"category": "Standard", "default": 0.0, "group": "Sensors", "longDesc": "This parameter defines a rotational offset in degrees around the X (Roll) axis It allows the user to fine tune the board offset in the event of misalignment.", "name": "SENS_BOARD_X_OFF", "shortDesc": "Board rotation X (Roll) offset", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0.0, "group": "Sensors", "longDesc": "This parameter defines a rotational offset in degrees around the Y (Pitch) axis. It allows the user to fine tune the board offset in the event of misalignment.", "name": "SENS_BOARD_Y_OFF", "shortDesc": "Board rotation Y (Pitch) offset", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0.0, "group": "Sensors", "longDesc": "This parameter defines a rotational offset in degrees around the Z (Yaw) axis. It allows the user to fine tune the board offset in the event of misalignment.", "name": "SENS_BOARD_Z_OFF", "shortDesc": "Board rotation Z (YAW) offset", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Sensors", "max": 1, "min": 0, "name": "SENS_EN_ARSPDSIM", "rebootRequired": true, "shortDesc": "Enable simulated airspeed sensor instance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Sensors", "max": 1, "min": 0, "name": "SENS_EN_BAROSIM", "rebootRequired": true, "shortDesc": "Enable simulated barometer sensor instance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Sensors", "max": 1, "min": 0, "name": "SENS_EN_GPSSIM", "rebootRequired": true, "shortDesc": "Enable simulated GPS sinstance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Sensors", "max": 1, "min": 0, "name": "SENS_EN_MAGSIM", "rebootRequired": true, "shortDesc": "Enable simulated magnetometer sensor instance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": -1, "group": "Sensors", "name": "SENS_EN_THERMAL", "shortDesc": "Thermal control of sensor temperature", "type": "Int32", "values": [{"description": "Thermal control unavailable", "value": -1}, {"description": "Thermal control off", "value": 0}, {"description": "Thermal control enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "longDesc": "Probe for optional external I2C devices.", "name": "SENS_EXT_I2C_PRB", "shortDesc": "External I2C probe", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 70.0, "group": "Sensors", "longDesc": "Optical flow data maximum publication rate. This is an upper bound, actual optical flow data rate is still dependent on the sensor.", "max": 200.0, "min": 1.0, "name": "SENS_FLOW_RATE", "rebootRequired": true, "shortDesc": "Optical flow max rate", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "Sensors", "longDesc": "This parameter defines the yaw rotation of the optical flow relative to the vehicle body frame. Zero rotation is defined as X on flow board pointing towards front of vehicle.", "name": "SENS_FLOW_ROT", "shortDesc": "Optical flow rotation", "type": "Int32", "values": [{"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}]}, {"bitmask": [{"description": "use speed accuracy", "index": 0}, {"description": "use hpos accuracy", "index": 1}, {"description": "use vpos accuracy", "index": 2}], "category": "Standard", "default": 7, "group": "Sensors", "longDesc": "Set bits in the following positions to set which GPS accuracy metrics will be used to calculate the blending weight. Set to zero to disable and always used first GPS instance. 0 : Set to true to use speed accuracy 1 : Set to true to use horizontal position accuracy 2 : Set to true to use vertical position accuracy", "max": 7, "min": 0, "name": "SENS_GPS_MASK", "shortDesc": "Multi GPS Blending Control Mask", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Sensors", "longDesc": "When no blending is active, this defines the preferred GPS receiver instance. The GPS selection logic waits until the primary receiver is available to send data to the EKF even if a secondary instance is already available. The secondary instance is then only used if the primary one times out. To have an equal priority of all the instances, set this parameter to -1 and the best receiver will be used. This parameter has no effect if blending is active.", "max": 1, "min": -1, "name": "SENS_GPS_PRIME", "shortDesc": "Multi GPS primary instance", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Sensors", "longDesc": "Sets the longest time constant that will be applied to the calculation of GPS position and height offsets used to correct data from multiple GPS data for steady state position differences.", "max": 100.0, "min": 1.0, "name": "SENS_GPS_TAU", "shortDesc": "Multi GPS Blending Time Constant", "type": "Float", "units": "s"}, {"category": "System", "default": 1, "group": "Sensors", "longDesc": "Automatically initialize IMU (accel/gyro) calibration from bias estimates if available.", "name": "SENS_IMU_AUTOCAL", "shortDesc": "IMU auto calibration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "longDesc": "Notify the user if the IMU is clipping", "name": "SENS_IMU_CLPNOTI", "shortDesc": "IMU notify clipping", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "name": "SENS_IMU_MODE", "rebootRequired": true, "shortDesc": "Sensors hub IMU mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Publish primary IMU selection", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "longDesc": "For systems with an external barometer, this should be set to false to make sure that the external is used.", "name": "SENS_INT_BARO_EN", "rebootRequired": true, "shortDesc": "Enable internal barometers", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "longDesc": "Automatically initialize magnetometer calibration from bias estimate if available.", "name": "SENS_MAG_AUTOCAL", "shortDesc": "Magnetometer auto calibration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Sensors", "longDesc": "During calibration attempt to automatically determine the rotation of external magnetometers.", "name": "SENS_MAG_AUTOROT", "shortDesc": "Automatically set external rotations", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "Sensors", "name": "SENS_MAG_MODE", "rebootRequired": true, "shortDesc": "Sensors hub mag mode", "type": "Int32", "values": [{"description": "Publish all magnetometers", "value": 0}, {"description": "Publish primary magnetometer", "value": 1}]}, {"category": "Standard", "default": 15.0, "group": "Sensors", "longDesc": "Magnetometer data maximum publication rate. This is an upper bound, actual magnetometer data rate is still dependent on the sensor.", "max": 200.0, "min": 1.0, "name": "SENS_MAG_RATE", "rebootRequired": true, "shortDesc": "Magnetometer max rate", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 63, "group": "Sensors", "longDesc": "If set to two side calibration, only the offsets are estimated, the scale calibration is left unchanged. Thus an initial six side calibration is recommended. Bits: ORIENTATION_TAIL_DOWN = 1 ORIENTATION_NOSE_DOWN = 2 ORIENTATION_LEFT = 4 ORIENTATION_RIGHT = 8 ORIENTATION_UPSIDE_DOWN = 16 ORIENTATION_RIGHTSIDE_UP = 32", "max": 63, "min": 34, "name": "SENS_MAG_SIDES", "shortDesc": "Bitfield selecting mag sides for calibration", "type": "Int32", "values": [{"description": "Two side calibration", "value": 34}, {"description": "Three side calibration", "value": 38}, {"description": "Six side calibration", "value": 63}]}, {"category": "Standard", "default": 0, "group": "Sensors", "max": 1, "min": 0, "name": "SIM_ARSPD_FAIL", "rebootRequired": true, "shortDesc": "Dynamically simulate failure of airspeed sensor instance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 4, "default": 100.0, "group": "Simulation In Hardware", "increment": 0.01, "max": 1000.0, "min": 0.0, "name": "SIH_DISTSNSR_MAX", "shortDesc": "distance sensor maximum range", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.01, "max": 10.0, "min": 0.0, "name": "SIH_DISTSNSR_MIN", "shortDesc": "distance sensor minimum range", "type": "Float", "units": "m"}, {"category": "Standard", "default": -1.0, "group": "Simulation In Hardware", "longDesc": "Absolute value superior to 10000 will disable distance sensor", "name": "SIH_DISTSNSR_OVR", "shortDesc": "if >= 0 the distance sensor measures will be overridden by this value", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IXX", "shortDesc": "Vehicle inertia about X axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IXY", "shortDesc": "Vehicle cross term inertia xy", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IXZ", "shortDesc": "Vehicle cross term inertia xz", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IYY", "shortDesc": "Vehicle inertia about Y axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IYZ", "shortDesc": "Vehicle cross term inertia yz", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IZZ", "shortDesc": "Vehicle inertia about Z axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "Physical coefficient representing the friction with air particules. The greater this value, the slower the quad will move. Drag force function of velocity: D=-KDV*V. The maximum freefall velocity can be computed as V=10*MASS/KDV [m/s]", "min": 0.0, "name": "SIH_KDV", "shortDesc": "First order drag coefficient", "type": "Float", "units": "N/(m/s)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "Physical coefficient representing the friction with air particules during rotations. The greater this value, the slower the quad will rotate. Aerodynamic moment function of body rate: Ma=-KDW*W_B. This value can be set to 0 if unknown.", "min": 0.0, "name": "SIH_KDW", "shortDesc": "First order angular damper coefficient", "type": "Float", "units": "Nm/(rad/s)"}, {"category": "Standard", "decimalPlaces": 2, "default": 489.4, "group": "Simulation In Hardware", "increment": 0.01, "longDesc": "This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 8848.0, "min": -420.0, "name": "SIH_LOC_H0", "shortDesc": "Initial AMSL ground altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 47.397742, "group": "Simulation In Hardware", "longDesc": "This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 90.0, "min": -90.0, "name": "SIH_LOC_LAT0", "shortDesc": "Initial geodetic latitude", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 8.545594, "group": "Simulation In Hardware", "longDesc": "This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 180.0, "min": -180.0, "name": "SIH_LOC_LON0", "shortDesc": "Initial geodetic longitude", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.", "min": 0.0, "name": "SIH_L_PITCH", "shortDesc": "Pitch arm length", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.", "min": 0.0, "name": "SIH_L_ROLL", "shortDesc": "Roll arm length", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Simulation In Hardware", "increment": 0.1, "longDesc": "This value can be measured by weighting the quad on a scale.", "min": 0.0, "name": "SIH_MASS", "shortDesc": "Vehicle mass", "type": "Float", "units": "kg"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.", "min": 0.0, "name": "SIH_Q_MAX", "shortDesc": "Max propeller torque", "type": "Float", "units": "Nm"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Simulation In Hardware", "increment": 0.5, "longDesc": "This is the maximum force delivered by one propeller when the motor is running at full speed. This value is usually about 5 times the mass of the quadrotor.", "min": 0.0, "name": "SIH_T_MAX", "shortDesc": "Max propeller thrust force", "type": "Float", "units": "N"}, {"category": "Standard", "default": 0.05, "group": "Simulation In Hardware", "longDesc": "the time taken for the thruster to step from 0 to 100% should be about 4 times tau", "name": "SIH_T_TAU", "shortDesc": "thruster time constant tau", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Simulation In Hardware", "name": "SIH_VEHICLE_TYPE", "rebootRequired": true, "shortDesc": "Vehicle type", "type": "Int32", "values": [{"description": "Multicopter", "value": 0}, {"description": "Fixed-Wing", "value": 1}, {"description": "Tailsitter", "value": 2}]}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_BARO_OFF_P", "shortDesc": "simulated barometer pressure offset", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_BARO_OFF_T", "shortDesc": "simulated barometer temperature offset", "type": "Float", "units": "celcius"}, {"category": "Standard", "default": 10, "group": "Simulator", "max": 50, "min": 0, "name": "SIM_GPS_USED", "shortDesc": "simulated GPS number of satellites used", "type": "Int32"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_X", "shortDesc": "simulated magnetometer X offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_Y", "shortDesc": "simulated magnetometer Y offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_Z", "shortDesc": "simulated magnetometer Z offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "Set to 1 to reset parameters on next system startup (setting defaults). Platform-specific values are used if available. RC* parameters are preserved.", "name": "SYS_AUTOCONFIG", "shortDesc": "Automatically configure default values", "type": "Int32", "values": [{"description": "Keep parameters", "value": 0}, {"description": "Reset parameters to airframe defaults", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "CHANGING THIS VALUE REQUIRES A RESTART. Defines the auto-start script used to bootstrap the system.", "max": 9999999, "min": 0, "name": "SYS_AUTOSTART", "rebootRequired": true, "shortDesc": "Auto-start script index", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled, update the bootloader on the next boot. WARNING: do not cut the power during an update process, otherwise you will have to recover using some alternative method (e.g. JTAG). Instructions: - Insert an SD card - Enable this parameter - Reboot the board (plug the power or send a reboot command) - Wait until the board comes back up (or at least 2 minutes) - If it does not come back, check the file bootlog.txt on the SD card", "name": "SYS_BL_UPDATE", "rebootRequired": true, "shortDesc": "Bootloader update", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_ACCEL", "shortDesc": "Enable auto start of accelerometer thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_BARO", "shortDesc": "Enable auto start of barometer thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_GYRO", "shortDesc": "Enable auto start of rate gyro thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 24, "group": "System", "longDesc": "A temperature increase greater than this value is required during calibration. Calibration will complete for each sensor when the temperature increase above the starting temperature exceeds the value set by SYS_CAL_TDEL. If the temperature rise is insufficient, the calibration will continue indefinitely and the board will need to be repowered to exit.", "min": 10, "name": "SYS_CAL_TDEL", "shortDesc": "Required temperature rise during thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 10, "group": "System", "longDesc": "Temperature calibration will not start if the temperature of any sensor is higher than the value set by SYS_CAL_TMAX.", "name": "SYS_CAL_TMAX", "shortDesc": "Maximum starting temperature for thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 5, "group": "System", "longDesc": "Temperature calibration for each sensor will ignore data if the temperature is lower than the value set by SYS_CAL_TMIN.", "name": "SYS_CAL_TMIN", "shortDesc": "Minimum starting temperature for thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 0, "group": "System", "name": "SYS_DM_BACKEND", "rebootRequired": true, "shortDesc": "Dataman storage backend", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "default (SD card)", "value": 0}, {"description": "RAM (not persistent)", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.", "name": "SYS_FAC_CAL_MODE", "shortDesc": "Enable factory calibration mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "All sensors", "value": 1}, {"description": "All sensors except mag", "value": 2}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled allows MAVLink INJECT_FAILURE commands. WARNING: the failures can easily cause crashes and are to be used with caution!", "name": "SYS_FAILURE_EN", "shortDesc": "Enable failure injection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Disable this if the board has no barometer, such as some of the Omnibus F4 SD variants. If disabled, the preflight checks will not check for the presence of a barometer.", "name": "SYS_HAS_BARO", "rebootRequired": true, "shortDesc": "Control if the vehicle has a barometer", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Disable this if the system has no GPS. If disabled, the sensors hub will not process sensor_gps, and GPS will not be available for the rest of the system.", "name": "SYS_HAS_GPS", "rebootRequired": true, "shortDesc": "Control if the vehicle has a GPS", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Set this to 0 if the board has no magnetometer. If set to 0, the preflight checks will not check for the presence of a magnetometer, otherwise N sensors are required.", "name": "SYS_HAS_MAG", "rebootRequired": true, "shortDesc": "Control if the vehicle has a magnetometer", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "Set this to 0 if the board has no airspeed sensor. If set to 0, the preflight checks will not check for the presence of an airspeed sensor.", "max": 1, "min": 0, "name": "SYS_HAS_NUM_ASPD", "shortDesc": "Control if the vehicle has an airspeed sensor", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "The preflight check will fail if fewer than this number of distance sensors with valid data is present. Disable the check with 0.", "max": 4, "min": 0, "name": "SYS_HAS_NUM_DIST", "shortDesc": "Number of distance sensors to check being available", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).", "name": "SYS_HITL", "rebootRequired": true, "shortDesc": "Enable HITL/SIH mode on next boot", "type": "Int32", "values": [{"description": "external HITL", "value": -1}, {"description": "HITL and SIH disabled", "value": 0}, {"description": "HITL enabled", "value": 1}, {"description": "SIH enabled", "value": 2}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "This is used internally only: an airframe configuration might set an expected parameter version value via PARAM_DEFAULTS_VER. This is checked on bootup against SYS_PARAM_VER, and if they do not match, parameters are reset and reloaded from the airframe configuration.", "min": 0, "name": "SYS_PARAM_VER", "shortDesc": "Parameter version", "type": "Int32"}, {"category": "Standard", "default": 1.0, "group": "System", "longDesc": "Set to 0 to disable, 1 for maximum brightness", "name": "SYS_RGB_MAXBRT", "shortDesc": "RGB Led brightness limit", "type": "Float", "units": "%"}, {"category": "Standard", "default": 1, "group": "System", "name": "SYS_STCK_EN", "shortDesc": "Enable stack checking", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 2, "group": "Testing", "name": "TEST_1", "shortDesc": "TEST_1", "type": "Int32"}, {"category": "Standard", "default": 4, "group": "Testing", "name": "TEST_2", "shortDesc": "TEST_2", "type": "Int32"}, {"category": "Standard", "default": 5.0, "group": "Testing", "name": "TEST_3", "shortDesc": "TEST_3", "type": "Float"}, {"category": "Standard", "default": 0.01, "group": "Testing", "name": "TEST_D", "shortDesc": "TEST_D", "type": "Float"}, {"category": "Standard", "default": 2.0, "group": "Testing", "name": "TEST_DEV", "shortDesc": "TEST_DEV", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_D_LP", "shortDesc": "TEST_D_LP", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_HP", "shortDesc": "TEST_HP", "type": "Float"}, {"category": "Standard", "default": 0.1, "group": "Testing", "name": "TEST_I", "shortDesc": "TEST_I", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_I_MAX", "shortDesc": "TEST_I_MAX", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_LP", "shortDesc": "TEST_LP", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_MAX", "shortDesc": "TEST_MAX", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_MEAN", "shortDesc": "TEST_MEAN", "type": "Float"}, {"category": "Standard", "default": -1.0, "group": "Testing", "name": "TEST_MIN", "shortDesc": "TEST_MIN", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "Testing", "name": "TEST_P", "shortDesc": "TEST_P", "type": "Float"}, {"category": "Standard", "default": 12345678, "group": "Testing", "name": "TEST_PARAMS", "shortDesc": "TEST_PARAMS", "type": "Int32"}, {"category": "Standard", "default": 16, "group": "Testing", "name": "TEST_RC2_X", "shortDesc": "TEST_RC2_X", "type": "Int32"}, {"category": "Standard", "default": 8, "group": "Testing", "name": "TEST_RC_X", "shortDesc": "TEST_RC_X", "type": "Int32"}, {"category": "Standard", "default": 0.5, "group": "Testing", "name": "TEST_TRIM", "shortDesc": "TEST_TRIM", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A0_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A0_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A0_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A1_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A1_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A1_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A2_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A2_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A2_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A3_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A3_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A3_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_A_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for accelerometer sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B0_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B0_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B0_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B0_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B1_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B1_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B1_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B1_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B2_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B2_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B2_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B2_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B3_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B3_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B3_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B3_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_B_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for barometric pressure sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G0_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G0_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G0_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G1_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G1_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G1_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G2_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G2_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G2_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G3_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G3_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G3_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_G_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for rate gyro sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M0_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M0_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M0_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M1_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M1_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M1_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M2_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M2_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M2_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M3_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M3_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M3_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_M_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for magnetometer sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_PITCH", "shortDesc": "Direct pitch input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_ROLL", "shortDesc": "Direct roll input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_THRUST", "shortDesc": "Direct thrust input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_YAW", "shortDesc": "Direct yaw input", "type": "Float"}, {"category": "Standard", "default": 0, "group": "UUV Attitude Control", "name": "UUV_INPUT_MODE", "shortDesc": "Select Input Mode", "type": "Int32", "values": [{"description": "use Attitude Setpoints", "value": 0}, {"description": "Direct Feedthrough", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "UUV Attitude Control", "name": "UUV_PITCH_D", "shortDesc": "Pitch differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_PITCH_P", "shortDesc": "Pitch proportional gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.5, "group": "UUV Attitude Control", "name": "UUV_ROLL_D", "shortDesc": "Roll differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_ROLL_P", "shortDesc": "Roll proportional gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "UUV Attitude Control", "name": "UUV_YAW_D", "shortDesc": "Yaw differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_YAW_P", "shortDesc": "Yawh proportional gain", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_X_D", "shortDesc": "Gain of D controller X", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_X_P", "shortDesc": "Gain of P controller X", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_Y_D", "shortDesc": "Gain of D controller Y", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_Y_P", "shortDesc": "Gain of P controller Y", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_Z_D", "shortDesc": "Gain of D controller Z", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_Z_P", "shortDesc": "Gain of P controller Z", "type": "Float"}, {"category": "Standard", "default": 1, "group": "UUV Position Control", "name": "UUV_STAB_MODE", "shortDesc": "Stabilization mode(1) or Position Control(0)", "type": "Int32", "values": [{"description": "Position Control", "value": 0}, {"description": "Stabilization Mode", "value": 1}]}, {"category": "Standard", "default": 2130706433, "group": "UXRCE-DDS Client", "longDesc": "If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected Agent IP address will be set and used. Decimal dot notation is not supported. IP address must be provided in int32 format. For example, 192.168.1.2 is mapped to -1062731518; 127.0.0.1 is mapped to 2130706433.", "name": "UXRCE_DDS_AG_IP", "rebootRequired": true, "shortDesc": "uXRCE-DDS Agent IP address", "type": "Int32"}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "uXRCE-DDS domain ID", "name": "UXRCE_DDS_DOM_ID", "rebootRequired": true, "shortDesc": "uXRCE-DDS domain ID", "type": "Int32"}, {"category": "System", "default": 1, "group": "UXRCE-DDS Client", "longDesc": "uXRCE-DDS key, must be different from zero. In a single agent - multi client configuration, each client must have a unique session key.", "name": "UXRCE_DDS_KEY", "rebootRequired": true, "shortDesc": "uXRCE-DDS session key", "type": "Int32"}, {"category": "Standard", "default": 8888, "group": "UXRCE-DDS Client", "longDesc": "If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected UDP port will be set and used.", "max": 65535, "min": 0, "name": "UXRCE_DDS_PRT", "rebootRequired": true, "shortDesc": "uXRCE-DDS UDP port", "type": "Int32"}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "Set the participant configuration on the Agent's system. 0: Use the default configuration. 1: Restrict messages to localhost (use in combination with ROS_LOCALHOST_ONLY=1). 2: Use a custom participant with the profile name \"px4_participant\".", "max": 2, "min": 0, "name": "UXRCE_DDS_PTCFG", "rebootRequired": true, "shortDesc": "uXRCE-DDS participant configuration", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Localhost-only", "value": 1}, {"description": "Custom participant", "value": 2}]}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "When enabled along with UXRCE_DDS_SYNCT, uxrce_dds_client will set the system clock using the agents UTC timestamp.", "name": "UXRCE_DDS_SYNCC", "rebootRequired": true, "shortDesc": "Enable uXRCE-DDS system clock synchronization", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "UXRCE-DDS Client", "longDesc": "When enabled, uxrce_dds_client will synchronize the timestamps of the incoming and outgoing messages measuring the offset between the Agent OS time and the PX4 time.", "name": "UXRCE_DDS_SYNCT", "rebootRequired": true, "shortDesc": "Enable uXRCE-DDS timestamp synchronization", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 8.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Airspeed at which we can start blending both fw and mc controls. Set to 0 to disable.", "max": 30.0, "min": 0.0, "name": "VT_ARSP_BLEND", "shortDesc": "Transition blending airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Airspeed at which we can switch to fw mode", "max": 30.0, "min": 0.0, "name": "VT_ARSP_TRANS", "shortDesc": "Transition airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Time in seconds it takes to tilt form VT_TILT_FW to VT_TILT_MC.", "max": 10.0, "min": 0.1, "name": "VT_BT_TILT_DUR", "shortDesc": "Duration motor tilt up in backtransition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "VTOL Attitude Control", "increment": 0.05, "max": 0.3, "min": 0.0, "name": "VT_B_DEC_I", "shortDesc": "Backtransition deceleration setpoint to pitch I gain", "type": "Float", "units": "rad s/m"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Used to calculate back transition distance in an auto mode. For standard vtol and tiltrotors a controller is used to track this value during the transition.", "max": 10.0, "min": 0.5, "name": "VT_B_DEC_MSS", "shortDesc": "Approximate deceleration during back transition", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Transition is also declared over if the groundspeed drops below MPC_XY_CRUISE.", "max": 20.0, "min": 0.1, "name": "VT_B_TRANS_DUR", "shortDesc": "Maximum duration of a back transition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "This sets the duration during which the MC motors ramp up to the commanded thrust during the back transition stage.", "max": 20.0, "min": 0.0, "name": "VT_B_TRANS_RAMP", "shortDesc": "Back transition MC motor ramp up time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "VTOL Attitude Control", "longDesc": "If set to 1 the control surfaces are locked at the disarmed value in multicopter mode.", "name": "VT_ELEV_MC_LOCK", "shortDesc": "Lock control surfaces in hover", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "This feature can be used to avoid the plane having to pitch nose down in order to move forward. Prevents large, negative lift from pitching nose down into wind. Fixed-wing forward actuators refers to puller/pusher (standard VTOL), or forward-tilt (tiltrotor VTOL). Only active if demanded down pitch is below VT_PITCH_MIN. Use VT_FWD_THRUST_SC to tune it. Descend mode is treated as Landing too. Only active (if enabled) in Altitude, Position and Auto modes, not in Stabilized.", "name": "VT_FWD_THRUST_EN", "shortDesc": "Use fixed-wing actuation in hover to accelerate forward", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled (except LANDING)", "value": 1}, {"description": "Enabled if distance to ground above MPC_LAND_ALT1", "value": 2}, {"description": "Enabled if distance to ground above MPC_LAND_ALT2", "value": 3}, {"description": "Enabled constantly", "value": 4}, {"description": "Enabled if distance to ground above MPC_LAND_ALT1 (except LANDING)", "value": 5}, {"description": "Enabled if distance to ground above MPC_LAND_ALT2 (except LANDING)", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Scale applied to the demanded down-pitch to get the fixed-wing forward actuation in hover mode. Enabled via VT_FWD_THRUST_EN.", "max": 2.0, "min": 0.0, "name": "VT_FWD_THRUST_SC", "shortDesc": "Fixed-wing actuation thrust scale for hover forward flight", "type": "Float"}, {"bitmask": [{"description": "Yaw", "index": 0}, {"description": "Roll", "index": 1}, {"description": "Pitch", "index": 2}], "category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Enable differential thrust seperately for roll, pitch, yaw in forward (fixed-wing) mode. The effectiveness of differential thrust around the corresponding axis can be tuned by setting VT_FW_DIFTHR_S_R / VT_FW_DIFTHR_S_P / VT_FW_DIFTHR_S_Y.", "max": 7, "min": 0, "name": "VT_FW_DIFTHR_EN", "shortDesc": "Differential thrust in forwards flight", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_P", "shortDesc": "Pitch differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_R", "shortDesc": "Roll differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_Y", "shortDesc": "Yaw differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Minimum altitude for fixed-wing flight. When the vehicle is in fixed-wing mode and the altitude drops below this altitude (relative altitude above local origin), it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT.", "max": 200.0, "min": 0.0, "name": "VT_FW_MIN_ALT", "shortDesc": "Quad-chute altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "increment": 1, "longDesc": "Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.", "min": 0, "name": "VT_FW_QC_HMAX", "shortDesc": "Quad-chute maximum height", "type": "Int32", "units": "m"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Absolute pitch threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 180, "min": 0, "name": "VT_FW_QC_P", "shortDesc": "Quad-chute max pitch threshold", "type": "Int32", "units": "deg"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Absolute roll threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 180, "min": 0, "name": "VT_FW_QC_R", "shortDesc": "Quad-chute max roll threshold", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Time in seconds used for a transition", "max": 20.0, "min": 0.1, "name": "VT_F_TRANS_DUR", "shortDesc": "Duration of a front transition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_F_TRANS_THR", "shortDesc": "Target throttle value for the transition to fixed-wing flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.0, "group": "VTOL Attitude Control", "increment": 0.5, "longDesc": "The duration of the front transition when there is no airspeed feedback available.", "max": 30.0, "min": 1.0, "name": "VT_F_TR_OL_TM", "shortDesc": "Airspeed-less front transition time (open loop)", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": -5.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Overrides VT_PITCH_MIN when the vehicle is in LAND mode (hovering). During landing it can be beneficial to reduce the pitch angle to reduce the generated lift in head wind.", "max": 45.0, "min": -10.0, "name": "VT_LND_PITCH_MIN", "shortDesc": "Minimum pitch angle during hover landing", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -5.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Any pitch setpoint below this value is translated to a forward force by the fixed-wing forward actuation if VT_FW_TRHUST_EN is set to 1.", "max": 45.0, "min": -10.0, "name": "VT_PITCH_MIN", "shortDesc": "Minimum pitch angle during hover", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.33, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Defines the slew rate of the puller/pusher throttle during transitions. Zero will deactivate the slew rate limiting and thus produce an instant throttle rise to the transition throttle VT_F_TRANS_THR.", "min": 0.0, "name": "VT_PSHER_SLEW", "shortDesc": "Pusher throttle ramp up slew rate", "type": "Float", "units": "1/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Altitude error threshold for quad-chute triggering during fixed-wing flight. The check is only active if altitude is controlled and the vehicle is below the current altitude reference. The altitude error is relative to the highest altitude the vehicle has achieved since it has flown below the current altitude reference. Set to 0 do disable.", "max": 200.0, "min": 0.0, "name": "VT_QC_ALT_LOSS", "shortDesc": "Quad-chute uncommanded descent threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Altitude loss threshold for quad-chute triggering during VTOL transition to fixed-wing flight in altitude-controlled flight modes. Active until 5s after completing transition to fixed-wing. If the current altitude is more than this value below the altitude at the beginning of the transition, it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 50.0, "min": 0.0, "name": "VT_QC_T_ALT_LOSS", "shortDesc": "Quad-chute transition altitude loss threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 0.1, "max": 1.0, "min": -1.0, "name": "VT_SPOILER_MC_LD", "shortDesc": "Spoiler setting while landing (hover)", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_FW", "shortDesc": "Normalized tilt in FW", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_MC", "shortDesc": "Normalized tilt in Hover", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.4, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_TRANS", "shortDesc": "Normalized tilt in transition to FW", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Minimum time in seconds for front transition.", "max": 20.0, "min": 0.0, "name": "VT_TRANS_MIN_TM", "shortDesc": "Front transition minimum time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Time in seconds it takes to tilt form VT_TILT_TRANS to VT_TILT_FW.", "max": 5.0, "min": 0.1, "name": "VT_TRANS_P2_DUR", "shortDesc": "Duration of front transition phase 2", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 15.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Time in seconds after which transition will be cancelled. Disabled if set to 0.", "max": 30.0, "min": 0.1, "name": "VT_TRANS_TIMEOUT", "shortDesc": "Front transition timeout", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "max": 2, "min": 0, "name": "VT_TYPE", "rebootRequired": true, "shortDesc": "VTOL Type (Tailsitter=0, Tiltrotor=1, Standard=2)", "type": "Int32", "values": [{"description": "Tailsitter", "value": 0}, {"description": "Tiltrotor", "value": 1}, {"description": "Standard", "value": 2}]}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "The desired gain to convert roll sp into yaw rate sp.", "max": 3.0, "min": 0.0, "name": "WV_GAIN", "shortDesc": "Weather-vane roll angle to yawrate", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 80.0, "group": "VTOL Takeoff", "increment": 1.0, "longDesc": "Altitude relative to home at which vehicle will loiter after front transition.", "max": 300.0, "min": 20.0, "name": "VTO_LOITER_ALT", "shortDesc": "VTOL Takeoff relative loiter altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Miscellaneous", "name": "UUV_SKIP_CTRL", "shortDesc": "Skip the controller", "type": "Int32", "values": [{"description": "use the module's controller", "value": 0}, {"description": "skip the controller and feedthrough the setpoints", "value": 1}]}], "translation": {"items": {"parameters": {"list": {"items": {"bitmask": {"list": {"key": "index", "translate": ["description"]}}, "values": {"list": {"key": "value", "translate": ["description"]}}}, "key": "name", "translate": ["shortDesc", "longDesc"], "translate-global": ["category", "group"]}}}}, "version": 1}
\ No newline at end of file
+{"parameters": [{"category": "Standard", "default": 75, "group": "UAVCAN Motor Parameters", "longDesc": "Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.", "max": 250, "min": 10, "name": "ctl_bw", "shortDesc": "Speed controller bandwidth", "type": "Int32", "units": "Hz"}, {"category": "Standard", "default": 1, "group": "UAVCAN Motor Parameters", "longDesc": "Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.", "max": 1, "min": 0, "name": "ctl_dir", "shortDesc": "Reverse direction", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "UAVCAN Motor Parameters", "longDesc": "Speed (RPM) controller gain. Determines controller\n aggressiveness; units are amp-seconds per radian. Systems with\n higher rotational inertia (large props) will need gain increased;\n systems with low rotational inertia (small props) may need gain\n decreased. Higher values result in faster response, but may result\n in oscillation and excessive overshoot. Lower values result in a\n slower, smoother response.", "max": 1.0, "min": 0.0, "name": "ctl_gain", "shortDesc": "Speed (RPM) controller gain", "type": "Float", "units": "C/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.5, "group": "UAVCAN Motor Parameters", "longDesc": "Idle speed (e Hz)", "max": 100.0, "min": 0.0, "name": "ctl_hz_idle", "shortDesc": "Idle speed (e Hz)", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 25, "group": "UAVCAN Motor Parameters", "longDesc": "Spin-up rate (e Hz/s)", "max": 1000, "min": 5, "name": "ctl_start_rate", "shortDesc": "Spin-up rate (e Hz/s)", "type": "Int32", "units": "1/s^2"}, {"category": "Standard", "default": 0, "group": "UAVCAN Motor Parameters", "longDesc": "Index of this ESC in throttle command messages.", "max": 15, "min": 0, "name": "esc_index", "shortDesc": "Index of this ESC in throttle command messages.", "type": "Int32"}, {"category": "Standard", "default": 20034, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status ID", "max": 1000000, "min": 1, "name": "id_ext_status", "shortDesc": "Extended status ID", "type": "Int32"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status interval (\u00b5s)", "max": 1000000, "min": 0, "name": "int_ext_status", "shortDesc": "Extended status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "ESC status interval (\u00b5s)", "max": 1000000, "name": "int_status", "shortDesc": "ESC status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 3, "default": 12.0, "group": "UAVCAN Motor Parameters", "longDesc": "Motor current limit in amps. This determines the maximum\n current controller setpoint, as well as the maximum allowable\n current setpoint slew rate. This value should generally be set to\n the continuous current rating listed in the motor\u2019s specification\n sheet, or set equal to the motor\u2019s specified continuous power\n divided by the motor voltage limit.", "max": 80.0, "min": 1.0, "name": "mot_i_max", "shortDesc": "Motor current limit in amps", "type": "Float", "units": "A"}, {"category": "Standard", "default": 2300, "group": "UAVCAN Motor Parameters", "longDesc": "Motor Kv in RPM per volt. This can be taken from the motor\u2019s\n specification sheet; accuracy will help control performance but\n some deviation from the specified value is acceptable.", "max": 4000, "min": 0, "name": "mot_kv", "shortDesc": "Motor Kv in RPM per volt", "type": "Int32", "units": "rpm/V"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor inductance in henries. This is measured on start-up.", "name": "mot_ls", "shortDesc": "READ ONLY: Motor inductance in henries.", "type": "Float", "units": "H"}, {"category": "Standard", "default": 14, "group": "UAVCAN Motor Parameters", "longDesc": "Number of motor poles. Used to convert mechanical speeds to\n electrical speeds. This number should be taken from the motor\u2019s\n specification sheet.", "max": 40, "min": 2, "name": "mot_num_poles", "shortDesc": "Number of motor poles.", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor resistance in ohms. This is measured on start-up. When\n tuning a new motor, check that this value is approximately equal\n to the value shown in the motor\u2019s specification sheet.", "name": "mot_rs", "shortDesc": "READ ONLY: Motor resistance in ohms", "type": "Float", "units": "Ohm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "UAVCAN Motor Parameters", "longDesc": "Acceleration limit (V)", "max": 1.0, "min": 0.01, "name": "mot_v_accel", "shortDesc": "Acceleration limit (V)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 3, "default": 14.8, "group": "UAVCAN Motor Parameters", "longDesc": "Motor voltage limit in volts. The current controller\u2019s\n commanded voltage will never exceed this value. Note that this may\n safely be above the nominal voltage of the motor; to determine the\n actual motor voltage limit, divide the motor\u2019s rated power by the\n motor current limit.", "min": 0.0, "name": "mot_v_max", "shortDesc": "Motor voltage limit in volts", "type": "Float", "units": "V"}, {"category": "Standard", "default": 2, "group": "UAVCAN GNSS", "longDesc": "Dynamic model used in the GNSS positioning engine. 0 \u2013\n Automotive, 1 \u2013 Sea, 2 \u2013 Airborne.\n ", "max": 2, "min": 0, "name": "gnss.dyn_model", "shortDesc": "GNSS dynamic model", "type": "Int32", "values": [{"description": "Automotive", "value": 0}, {"description": "Sea", "value": 1}, {"description": "Airborne", "value": 2}]}, {"category": "Standard", "default": 1, "group": "UAVCAN GNSS", "longDesc": "Broadcast the old (deprecated) GNSS fix message\n uavcan.equipment.gnss.Fix alongside the new alternative\n uavcan.equipment.gnss.Fix2. It is recommended to\n disable this feature to reduce the CAN bus traffic.\n ", "max": 1, "min": 0, "name": "gnss.old_fix_msg", "shortDesc": "Broadcast old GNSS fix message", "type": "Int32", "values": [{"description": "Fix2", "value": 0}, {"description": "Fix and Fix2", "value": 1}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the dimensionality of\n the GNSS solution is less than this value. 3 for the full (3D)\n solution, 2 for planar (2D) solution, 1 for time-only solution,\n 0 disables the feature.\n ", "max": 3, "min": 0, "name": "gnss.warn_dimens", "shortDesc": "device health warning", "type": "Int32", "values": [{"description": "disables the feature", "value": 0}, {"description": "time-only solution", "value": 1}, {"description": "planar (2D) solution", "value": 2}, {"description": "full (3D) solution", "value": 3}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "name": "gnss.warn_sats", "shortDesc": "", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "max": 1000000, "min": 0, "name": "uavcan.pubp-pres", "shortDesc": "", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets first 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \". Example \"PX4 \" -> 1347957792 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_1", "rebootRequired": true, "shortDesc": "First 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets second 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \" only. Example \"TEST\" -> 1413829460 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_2", "rebootRequired": true, "shortDesc": "Second 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets the vehicle emergency state", "max": 6, "min": 0, "name": "ADSB_EMERGC", "rebootRequired": true, "shortDesc": "ADSB-Out Emergency State", "type": "Int32", "values": [{"description": "NoEmergency", "value": 0}, {"description": "General", "value": 1}, {"description": "Medical", "value": 2}, {"description": "LowFuel", "value": 3}, {"description": "NoCommunications", "value": 4}, {"description": "Interference", "value": 5}, {"description": "Downed", "value": 6}]}, {"category": "Standard", "default": 14, "group": "ADSB", "longDesc": "Configure the emitter type of the vehicle.", "max": 15, "min": 0, "name": "ADSB_EMIT_TYPE", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Emitter Type", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "Light", "value": 1}, {"description": "Small", "value": 2}, {"description": "Large", "value": 3}, {"description": "HighVortex", "value": 4}, {"description": "Heavy", "value": 5}, {"description": "Performance", "value": 6}, {"description": "Rotorcraft", "value": 7}, {"description": "RESERVED", "value": 8}, {"description": "Glider", "value": 9}, {"description": "LightAir", "value": 10}, {"description": "Parachute", "value": 11}, {"description": "UltraLight", "value": 12}, {"description": "RESERVED", "value": 13}, {"description": "UAV", "value": 14}, {"description": "Space", "value": 15}, {"description": "RESERVED", "value": 16}, {"description": "EmergencySurf", "value": 17}, {"description": "ServiceSurf", "value": 18}, {"description": "PointObstacle", "value": 19}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS lataral offset encoding", "max": 7, "min": 0, "name": "ADSB_GPS_OFF_LAT", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lat", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "LatLeft2M", "value": 1}, {"description": "LatLeft4M", "value": 2}, {"description": "LatLeft6M", "value": 3}, {"description": "LatRight0M", "value": 4}, {"description": "LatRight2M", "value": 5}, {"description": "LatRight4M", "value": 6}, {"description": "LatRight6M", "value": 7}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS longitudinal offset encoding", "max": 1, "min": 0, "name": "ADSB_GPS_OFF_LON", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lon", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "AppliedBySensor", "value": 1}]}, {"category": "Standard", "default": 1194684, "group": "ADSB", "longDesc": "Defines the ICAO ID of the vehicle", "max": 16777215, "min": -1, "name": "ADSB_ICAO_ID", "rebootRequired": true, "shortDesc": "ADSB-Out ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "This vehicle is always tracked. Use 0 to disable.", "max": 16777215, "min": 0, "name": "ADSB_ICAO_SPECL", "rebootRequired": true, "shortDesc": "ADSB-In Special ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Enable Identification of Position feature", "name": "ADSB_IDENT", "rebootRequired": true, "shortDesc": "ADSB-Out Ident Configuration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "ADSB", "longDesc": "Report the length and width of the vehicle in meters. In most cases, use '1' for the smallest vehicle size.", "max": 15, "min": 0, "name": "ADSB_LEN_WIDTH", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Size Configuration", "type": "Int32", "values": [{"description": "SizeUnknown", "value": 0}, {"description": "Len15_Wid23", "value": 1}, {"description": "Len25_Wid28", "value": 2}, {"description": "Len25_Wid34", "value": 3}, {"description": "Len35_Wid33", "value": 4}, {"description": "Len35_Wid38", "value": 5}, {"description": "Len45_Wid39", "value": 6}, {"description": "Len45_Wid45", "value": 7}, {"description": "Len55_Wid45", "value": 8}, {"description": "Len55_Wid52", "value": 9}, {"description": "Len65_Wid59", "value": 10}, {"description": "Len65_Wid67", "value": 11}, {"description": "Len75_Wid72", "value": 12}, {"description": "Len75_Wid80", "value": 13}, {"description": "Len85_Wid80", "value": 14}, {"description": "Len85_Wid90", "value": 15}]}, {"category": "Standard", "default": 25, "group": "ADSB", "longDesc": "Change number of targets to track", "max": 50, "min": 0, "name": "ADSB_LIST_MAX", "rebootRequired": true, "shortDesc": "ADSB-In Vehicle List Size", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Informs ADSB vehicles of this vehicle's max speed capability", "max": 6, "min": 0, "name": "ADSB_MAX_SPEED", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Max Speed", "type": "Int32", "values": [{"description": "UnknownMaxSpeed", "value": 0}, {"description": "75Kts", "value": 1}, {"description": "150Kts", "value": 2}, {"description": "300Kts", "value": 3}, {"description": "600Kts", "value": 4}, {"description": "1200Kts", "value": 5}, {"description": "Over1200Kts", "value": 6}]}, {"category": "Standard", "default": 1200, "group": "ADSB", "longDesc": "This parameter defines the squawk code. Value should be between 0000 and 7777.", "max": 7777, "min": 0, "name": "ADSB_SQUAWK", "rebootRequired": true, "shortDesc": "ADSB-Out squawk code configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC1", "shortDesc": "SIM Channel 1 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC10", "shortDesc": "SIM Channel 10 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC11", "shortDesc": "SIM Channel 11 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC12", "shortDesc": "SIM Channel 12 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC13", "shortDesc": "SIM Channel 13 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC14", "shortDesc": "SIM Channel 14 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC15", "shortDesc": "SIM Channel 15 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC16", "shortDesc": "SIM Channel 16 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC2", "shortDesc": "SIM Channel 2 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC3", "shortDesc": "SIM Channel 3 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC4", "shortDesc": "SIM Channel 4 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC5", "shortDesc": "SIM Channel 5 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC6", "shortDesc": "SIM Channel 6 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC7", "shortDesc": "SIM Channel 7 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC8", "shortDesc": "SIM Channel 8 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC9", "shortDesc": "SIM Channel 9 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"bitmask": [{"description": "SIM Channel 1", "index": 0}, {"description": "SIM Channel 2", "index": 1}, {"description": "SIM Channel 3", "index": 2}, {"description": "SIM Channel 4", "index": 3}, {"description": "SIM Channel 5", "index": 4}, {"description": "SIM Channel 6", "index": 5}, {"description": "SIM Channel 7", "index": 6}, {"description": "SIM Channel 8", "index": 7}, {"description": "SIM Channel 9", "index": 8}, {"description": "SIM Channel 10", "index": 9}, {"description": "SIM Channel 11", "index": 10}, {"description": "SIM Channel 12", "index": 11}, {"description": "SIM Channel 13", "index": 12}, {"description": "SIM Channel 14", "index": 13}, {"description": "SIM Channel 15", "index": 14}, {"description": "SIM Channel 16", "index": 15}], "category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Allows to reverse the output range for each channel. Note: this is only useful for servos.", "max": 65535, "min": 0, "name": "PWM_MAIN_REV", "shortDesc": "Reverse Output Range for SIM", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_BETA_GATE", "shortDesc": "Gate size for sideslip angle fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Airspeed Validator", "longDesc": "Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 1.0, "min": 0.0, "name": "ASPD_BETA_NOISE", "shortDesc": "Wind estimator sideslip measurement noise", "type": "Float", "units": "rad"}, {"bitmask": [{"description": "Only data missing check (triggers if more than 1s no data)", "index": 0}, {"description": "Data stuck (triggers if data is exactly constant for 2s in FW mode)", "index": 1}, {"description": "Innovation check (see ASPD_FS_INNOV)", "index": 2}, {"description": "Load factor check (triggers if measurement is below stall speed)", "index": 3}, {"description": "First principle check (airspeed change vs. throttle and pitch)", "index": 4}], "category": "Standard", "default": 7, "group": "Airspeed Validator", "longDesc": "Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY > 0.", "max": 31, "min": 0, "name": "ASPD_DO_CHECKS", "shortDesc": "Enable checks on airspeed sensors", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Airspeed Validator", "longDesc": "If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.", "name": "ASPD_FALLBACK_GW", "shortDesc": "Enable fallback to sensor-less airspeed estimation", "type": "Int32", "values": [{"description": "Disable fallback to sensor-less estimation", "value": 0}, {"description": "Enable fallback to sensor-less estimation", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Airspeed Validator", "longDesc": "Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.", "min": 0.0, "name": "ASPD_FP_T_WINDOW", "shortDesc": "First principle airspeed check time window", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Airspeed Validator", "longDesc": "This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.", "max": 10.0, "min": 0.5, "name": "ASPD_FS_INNOV", "shortDesc": "Airspeed failure innovation threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Airspeed Validator", "longDesc": "This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.", "max": 50.0, "min": 0.0, "name": "ASPD_FS_INTEG", "shortDesc": "Airspeed failure innovation integral threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Airspeed Validator", "longDesc": "Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.", "min": -1.0, "name": "ASPD_FS_T_START", "shortDesc": "Airspeed failsafe start delay", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Airspeed Validator", "longDesc": "Delay before stopping use of airspeed sensor if checks indicate sensor is bad.", "min": 0.0, "name": "ASPD_FS_T_STOP", "shortDesc": "Airspeed failsafe stop delay", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "name": "ASPD_PRIMARY", "rebootRequired": true, "shortDesc": "Index or primary airspeed measurement source", "type": "Int32", "values": [{"description": "Groundspeed minus windspeed", "value": 0}, {"description": "First airspeed sensor", "value": 1}, {"description": "Second airspeed sensor", "value": 2}, {"description": "Third airspeed sensor", "value": 3}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the first airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_1", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 1", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the second airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_2", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 2", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the third airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_3", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 3", "type": "Float", "volatile": true}, {"category": "Standard", "default": 2, "group": "Airspeed Validator", "name": "ASPD_SCALE_APPLY", "shortDesc": "Controls when to apply the new estimated airspeed scale(s)", "type": "Int32", "values": [{"description": "Do not automatically apply the estimated scale", "value": 0}, {"description": "Apply the estimated scale after disarm", "value": 1}, {"description": "Apply the estimated scale in air", "value": 2}]}, {"category": "Standard", "decimalPlaces": 5, "default": 0.0001, "group": "Airspeed Validator", "longDesc": "Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.", "max": 0.1, "min": 0.0, "name": "ASPD_SCALE_NSD", "shortDesc": "Wind estimator true airspeed scale process noise spectral density", "type": "Float", "units": "1/s/sqrt(Hz)"}, {"category": "Standard", "default": 4, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_TAS_GATE", "shortDesc": "Gate size for true airspeed fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "Airspeed Validator", "longDesc": "True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 4.0, "min": 0.0, "name": "ASPD_TAS_NOISE", "shortDesc": "Wind estimator true airspeed measurement noise", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.55, "group": "Airspeed Validator", "longDesc": "The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty is below this value.", "max": 5.0, "min": 0.001, "name": "ASPD_WERR_THR", "shortDesc": "Horizontal wind uncertainty threshold for synthetic airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Airspeed Validator", "longDesc": "Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "ASPD_WIND_NSD", "shortDesc": "Wind estimator wind process noise spectral density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "name": "ATT_ACC_COMP", "shortDesc": "Acceleration compensation based on GPS velocity", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Attitude Q estimator", "max": 2.0, "min": 0.0, "name": "ATT_BIAS_MAX", "shortDesc": "Gyro bias limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "longDesc": "Enable standalone quaternion based attitude estimator.", "name": "ATT_EN", "shortDesc": "standalone attitude estimator enable (unsupported)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "longDesc": "Set to 1 to use heading estimate from vision. Set to 2 to use heading from motion capture.", "max": 2, "min": 0, "name": "ATT_EXT_HDG_M", "shortDesc": "External heading usage mode (from Motion capture/Vision)", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Vision", "value": 1}, {"description": "Motion Capture", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Attitude Q estimator", "longDesc": "This parameter is not used in normal operation, as the declination is looked up based on the GPS coordinates of the vehicle.", "name": "ATT_MAG_DECL", "shortDesc": "Magnetic declination, in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 1, "group": "Attitude Q estimator", "name": "ATT_MAG_DECL_A", "shortDesc": "Automatic GPS based declination compensation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_ACC", "shortDesc": "Complimentary filter accelerometer weight", "type": "Float"}, {"category": "Standard", "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_EXT_HDG", "shortDesc": "Complimentary filter external heading weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_GYRO_BIAS", "shortDesc": "Complimentary filter gyroscope bias weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "longDesc": "Set to 0 to avoid using the magnetometer.", "max": 1.0, "min": 0.0, "name": "ATT_W_MAG", "shortDesc": "Complimentary filter magnetometer weight", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.", "name": "FW_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "Apply the new gains in air", "value": 2}]}, {"bitmask": [{"description": "roll", "index": 0}, {"description": "pitch", "index": 1}, {"description": "yaw", "index": 2}], "category": "Standard", "default": 3, "group": "Autotune", "longDesc": "Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw", "max": 7, "min": 1, "name": "FW_AT_AXES", "shortDesc": "Tuning axes selection", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.", "max": 6, "min": 0, "name": "FW_AT_MAN_AUX", "shortDesc": "Enable/disable auto tuning using an RC AUX input", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Aux1", "value": 1}, {"description": "Aux2", "value": 2}, {"description": "Aux3", "value": 3}, {"description": "Aux4", "value": 4}, {"description": "Aux5", "value": 5}, {"description": "Aux6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio", "name": "FW_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Autotune", "longDesc": "This parameter scales the signal sent to the rate controller during system identification.", "max": 6.0, "min": 0.1, "name": "FW_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Autotune", "longDesc": "Can be set lower or higher than the end frequency", "max": 30.0, "min": 0.1, "name": "FW_AT_SYSID_F0", "shortDesc": "Start frequency of the injected signal", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "Autotune", "longDesc": "Can be set lower or higher than the start frequency", "max": 30.0, "min": 0.1, "name": "FW_AT_SYSID_F1", "shortDesc": "End frequency of the injected signal", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 0, "default": 10.0, "group": "Autotune", "longDesc": "Duration of the input signal sent on each axis during system identification", "max": 120.0, "min": 5.0, "name": "FW_AT_SYSID_TIME", "shortDesc": "Maneuver time for each axis", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "Type of signal used during system identification to excite the system.", "name": "FW_AT_SYSID_TYPE", "shortDesc": "Input signal type", "type": "Int32", "values": [{"description": "Step", "value": 0}, {"description": "Linear sine sweep", "value": 1}, {"description": "Logarithmic sine sweep", "value": 2}]}, {"category": "Standard", "default": 1, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.", "name": "MC_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "WARNING Apply the new gains in air", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Autotune", "name": "MC_AT_EN", "shortDesc": "Multicopter autotune module enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.14, "group": "Autotune", "max": 0.5, "min": 0.01, "name": "MC_AT_RISE_TIME", "shortDesc": "Desired angular rate closed-loop rise time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio", "name": "MC_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Autotune", "max": 6.0, "min": 0.1, "name": "MC_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 1 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT1_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 1 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT1_N_CELLS", "shortDesc": "Number of cells for battery 1", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT1_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 1", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT1_SOURCE", "rebootRequired": true, "shortDesc": "Battery 1 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT1_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT1_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 2 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT2_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 2 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT2_N_CELLS", "shortDesc": "Number of cells for battery 2", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT2_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 2", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": -1, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT2_SOURCE", "rebootRequired": true, "shortDesc": "Battery 2 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT2_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT2_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 3 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT3_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 3 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT3_N_CELLS", "shortDesc": "Number of cells for battery 3", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": -1.0, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used instead of the online estimated internal resistance.", "max": 0.2, "min": -1.0, "name": "BAT3_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 3", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": -1, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT3_SOURCE", "rebootRequired": true, "shortDesc": "Battery 3 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered full. For a more accurate estimate set this below the nominal voltage of e.g. 4.2V", "name": "BAT3_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of the battery is considered empty. The voltage should be chosen above the steep dropoff at 3.5V. A typical lithium battery can only be discharged under high load down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT3_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 15.0, "group": "Battery Calibration", "increment": 0.1, "longDesc": "This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.", "max": 500.0, "min": 0.0, "name": "BAT_AVRG_CURRENT", "shortDesc": "Expected battery current in flight", "type": "Float", "units": "A"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.07, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.", "max": 0.5, "min": 0.05, "name": "BAT_CRIT_THR", "shortDesc": "Critical threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.", "max": 0.5, "min": 0.03, "name": "BAT_EMERGEN_THR", "shortDesc": "Emergency threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.", "max": 0.5, "min": 0.12, "name": "BAT_LOW_THR", "shortDesc": "Low threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time the trigger needs to pulled high or low.", "max": 3000.0, "min": 0.1, "name": "TRIG_ACT_TIME", "rebootRequired": true, "shortDesc": "Camera trigger activation time", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "Camera trigger", "increment": 1.0, "longDesc": "Sets the distance at which to trigger the camera.", "min": 0.0, "name": "TRIG_DISTANCE", "rebootRequired": true, "shortDesc": "Camera trigger distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 4, "group": "Camera trigger", "longDesc": "Selects the trigger interface", "name": "TRIG_INTERFACE", "rebootRequired": true, "shortDesc": "Camera trigger Interface", "type": "Int32", "values": [{"description": "GPIO", "value": 1}, {"description": "Seagull MAP2 (over PWM)", "value": 2}, {"description": "MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)", "value": 3}, {"description": "Generic PWM (IR trigger, servo)", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time between two consecutive trigger events", "max": 10000.0, "min": 4.0, "name": "TRIG_INTERVAL", "rebootRequired": true, "shortDesc": "Camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Camera trigger", "longDesc": "This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.", "max": 10000.0, "min": 1.0, "name": "TRIG_MIN_INTERVA", "rebootRequired": true, "shortDesc": "Minimum camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "Camera trigger", "max": 4, "min": 0, "name": "TRIG_MODE", "rebootRequired": true, "shortDesc": "Camera trigger mode", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Time based, on command", "value": 1}, {"description": "Time based, always on", "value": 2}, {"description": "Distance based, always on", "value": 3}, {"description": "Distance based, on command (Survey mode)", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Camera trigger", "longDesc": "This parameter sets the polarity of the trigger (0 = active low, 1 = active high )", "max": 1, "min": 0, "name": "TRIG_POLARITY", "rebootRequired": true, "shortDesc": "Camera trigger polarity", "type": "Int32", "values": [{"description": "Active low", "value": 0}, {"description": "Active high", "value": 1}]}, {"category": "Standard", "default": 1500, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_NEUTRAL", "rebootRequired": true, "shortDesc": "PWM neutral output on trigger pin", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 1900, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_SHOOT", "rebootRequired": true, "shortDesc": "PWM output to trigger shot", "type": "Int32", "units": "us"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.", "max": 782097, "min": 0, "name": "CBRK_BUZZER", "rebootRequired": true, "shortDesc": "Circuit breaker for disabling buzzer", "type": "Int32"}, {"category": "Developer", "default": 121212, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.", "max": 121212, "min": 0, "name": "CBRK_FLIGHTTERM", "rebootRequired": true, "shortDesc": "Circuit breaker for flight termination", "type": "Int32"}, {"category": "Developer", "default": 22027, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 22027, "min": 0, "name": "CBRK_IO_SAFETY", "shortDesc": "Circuit breaker for IO safety", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 894281, "min": 0, "name": "CBRK_SUPPLY_CHK", "shortDesc": "Circuit breaker for power supply check", "type": "Int32"}, {"category": "Developer", "default": 197848, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 197848 will disable the USB connected 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.", "max": 197848, "min": 0, "name": "CBRK_USB_CHK", "shortDesc": "Circuit breaker for USB link check", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 159753, "min": 0, "name": "CBRK_VTOLARMING", "shortDesc": "Circuit breaker for arming in fixed-wing mode check", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.", "max": 3, "min": 0, "name": "COM_ACT_FAIL_ACT", "shortDesc": "Set the actuator failure failsafe mode", "type": "Int32", "values": [{"description": "Warning only", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Land mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.", "name": "COM_ARMABLE", "shortDesc": "Flag to allow arming", "type": "Int32", "values": [{"description": "Disallow arming", "value": 0}, {"description": "Allow arming", "value": 1}]}, {"category": "Standard", "default": 10, "group": "Commander", "longDesc": "Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_ID", "shortDesc": "Arm authorizer system id", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_MET", "shortDesc": "Arm authorization method", "type": "Int32", "values": [{"description": "one arm", "value": 0}, {"description": "two step arm", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "By default off. The default allows to arm the vehicle without a arm authorization.", "name": "COM_ARM_AUTH_REQ", "shortDesc": "Require arm authorization to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_TO", "shortDesc": "Arm authorization timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Commander", "increment": 0.01, "longDesc": "Additional battery level check that only allows arming if the state of charge of the emptiest connected battery is above this value. A value of 0 disables the check.", "max": 0.9, "min": 0.0, "name": "COM_ARM_BAT_MIN", "shortDesc": "Minimum battery level for arming", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.", "name": "COM_ARM_CHK_ESCS", "shortDesc": "Enable checks on ESCs that report telemetry", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.", "name": "COM_ARM_HFLT_CHK", "shortDesc": "Enable FMU SD card hardfault detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_IMU_ACC", "shortDesc": "Maximum accelerometer inconsistency between IMU units that will allow arming", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Commander", "increment": 0.01, "max": 0.3, "min": 0.02, "name": "COM_ARM_IMU_GYR", "shortDesc": "Maximum rate gyro inconsistency between IMU units that will allow arming", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 60, "group": "Commander", "longDesc": "Set -1 to disable the check.", "max": 180, "min": 3, "name": "COM_ARM_MAG_ANG", "shortDesc": "Maximum magnetic field inconsistency between units that will allow arming", "type": "Int32", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)", "name": "COM_ARM_MAG_STR", "shortDesc": "Enable mag strength preflight check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Deny arming", "value": 1}, {"description": "Warning only", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The default allows to arm the vehicle without a valid mission.", "name": "COM_ARM_MIS_REQ", "shortDesc": "Require valid mission to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_ODID", "shortDesc": "Enable Drone ID system detection and health check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce Open Drone ID system presence", "value": 2}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_SDCARD", "shortDesc": "Enable FMU SD card detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce SD card presence", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.", "name": "COM_ARM_SWISBTN", "shortDesc": "Arm switch is a momentary button", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "name": "COM_ARM_WO_GPS", "shortDesc": "Allow arming without GPS", "type": "Int32", "values": [{"description": "Require GPS lock to arm", "value": 0}, {"description": "Allow arming without GPS", "value": 1}]}, {"category": "Standard", "default": 95.0, "group": "Commander", "increment": 1.0, "longDesc": "The check fails if the CPU load is above this threshold for 2s. A negative value disables the check.", "max": 100.0, "min": -1.0, "name": "COM_CPU_MAX", "shortDesc": "Maximum allowed CPU load to still arm", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.", "name": "COM_DISARM_LAND", "shortDesc": "Time-out for auto disarm after landing", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "0: Disallow disarming when not landed 1: Allow disarming in multicopter flight in modes where the thrust is directly controlled by thr throttle stick e.g. Stabilized, Acro", "name": "COM_DISARM_MAN", "shortDesc": "Allow disarming via switch/stick/button on multicopters in manual thrust modes", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.", "name": "COM_DISARM_PRFLT", "shortDesc": "Time-out for auto disarm if not taking off", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10, "group": "Commander", "increment": 1, "longDesc": "After this amount of seconds without datalink, the GCS connection lost mode triggers", "max": 300, "min": 5, "name": "COM_DL_LOSS_T", "shortDesc": "GCS connection loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Commander", "longDesc": "Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control via the stick override feature (see COM_RC_OVERRIDE). Afterwards the configured failsafe action is triggered and the user may use stick override. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).", "max": 25.0, "min": 0.0, "name": "COM_FAIL_ACT_T", "shortDesc": "Delay between failsafe condition triggered and failsafe reaction", "type": "Float", "units": "s"}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.", "min": 0, "name": "COM_FLIGHT_UUID", "shortDesc": "Next flight UUID", "type": "Int32", "volatile": true}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE1", "shortDesc": "Mode slot 1", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE2", "shortDesc": "Mode slot 2", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE3", "shortDesc": "Mode slot 3", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE4", "shortDesc": "Mode slot 4", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE5", "shortDesc": "Mode slot 5", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE6", "shortDesc": "Mode slot 6", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": 3, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when the remaining flight time is below the estimated time it takes to reach the RTL destination.", "name": "COM_FLTT_LOW_ACT", "shortDesc": "Remaining flight time low failsafe", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Return", "value": 3}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).", "name": "COM_FLT_PROFILE", "shortDesc": "User Flight Profile", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Pro User", "value": 100}, {"description": "Flight Tester", "value": 200}, {"description": "Developer", "value": 300}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.", "min": -1, "name": "COM_FLT_TIME_MAX", "shortDesc": "Maximum allowed flight time", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Force safety when the vehicle disarms", "name": "COM_FORCE_SAFETY", "shortDesc": "Enable force safety", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 120, "group": "Commander", "longDesc": "After this amount of seconds without datalink the data link lost mode triggers", "max": 3600, "min": 60, "name": "COM_HLDL_LOSS_T", "shortDesc": "High Latency Datalink loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false", "max": 60, "min": 0, "name": "COM_HLDL_REG_T", "shortDesc": "High Latency Datalink regain time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set home position automatically if possible.", "name": "COM_HOME_EN", "rebootRequired": true, "shortDesc": "Home position enabled", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.", "name": "COM_HOME_IN_AIR", "shortDesc": "Allows setting the home position after takeoff", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.", "name": "COM_IMB_PROP_ACT", "shortDesc": "Imbalanced propeller failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Warning", "value": 0}, {"description": "Return", "value": 1}, {"description": "Land", "value": 2}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.1, "max": 30.0, "min": 0.0, "name": "COM_KILL_DISARM", "shortDesc": "Timeout value for disarming when kill switch is engaged", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Commander", "longDesc": "A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.", "max": 5.0, "min": -1.0, "name": "COM_LKDOWN_TKO", "shortDesc": "Timeout for detecting a failure after takeoff", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.", "name": "COM_LOW_BAT_ACT", "shortDesc": "Battery failsafe mode", "type": "Int32", "values": [{"description": "Warning", "value": 0}, {"description": "Land mode", "value": 2}, {"description": "Return at critical level, land at emergency level", "value": 3}]}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE0_HASH", "shortDesc": "External mode identifier 0", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE1_HASH", "shortDesc": "External mode identifier 1", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE2_HASH", "shortDesc": "External mode identifier 2", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE3_HASH", "shortDesc": "External mode identifier 3", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE4_HASH", "shortDesc": "External mode identifier 4", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE5_HASH", "shortDesc": "External mode identifier 5", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE6_HASH", "shortDesc": "External mode identifier 6", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE7_HASH", "shortDesc": "External mode identifier 7", "type": "Int32", "volatile": true}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "If set, enables the actuator test interface via MAVLink (ACTUATOR_TEST), that allows spinning the motors and moving the servos for testing purposes.", "name": "COM_MOT_TEST_EN", "shortDesc": "Enable Actuator Testing", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.01, "max": 60.0, "min": 0.0, "name": "COM_OBC_LOSS_T", "shortDesc": "Time-out to wait when onboard computer connection is lost before warning about loss connection", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.", "name": "COM_OBL_RC_ACT", "shortDesc": "Set offboard loss failsafe mode", "type": "Int32", "values": [{"description": "Position mode", "value": 0}, {"description": "Altitude mode", "value": 1}, {"description": "Manual", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Land mode", "value": 4}, {"description": "Hold mode", "value": 5}, {"description": "Terminate", "value": 6}, {"description": "Disarm", "value": 7}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_OBS_AVOID", "shortDesc": "Flag to enable obstacle avoidance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Commander", "increment": 0.01, "longDesc": "See COM_OBL_RC_ACT to configure action.", "max": 60.0, "min": 0.0, "name": "COM_OF_LOSS_T", "shortDesc": "Time-out to wait when offboard connection is lost before triggering offboard lost action", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_PARACHUTE", "shortDesc": "Expect and require a healthy MAVLink parachute system", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.", "name": "COM_POSCTL_NAVL", "shortDesc": "Position control navigation loss response", "type": "Int32", "values": [{"description": "Altitude/Manual", "value": 0}, {"description": "Land/Descend", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.", "max": 100, "min": 1, "name": "COM_POS_FS_DELAY", "shortDesc": "Loss of position failsafe activation delay", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "longDesc": "This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation). Set to -1 to disable.", "max": 400.0, "min": -1.0, "name": "COM_POS_FS_EPH", "shortDesc": "Horizontal position error threshold", "type": "Float", "units": "m"}, {"category": "Standard", "default": -1.0, "group": "Commander", "longDesc": "Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.", "max": 1000.0, "min": -1.0, "name": "COM_POS_LOW_EPH", "shortDesc": "EPH threshold for RTL", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.", "max": 4, "min": 0, "name": "COM_POWER_COUNT", "shortDesc": "Required number of redundant power modules", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.", "name": "COM_PREARM_MODE", "shortDesc": "Condition to enter prearmed mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Safety button", "value": 1}, {"description": "Always", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_QC_ACT", "shortDesc": "Set command after a quadchute", "type": "Int32", "values": [{"description": "Warning only", "value": -1}, {"description": "Return mode", "value": 0}, {"description": "Land mode", "value": 1}, {"description": "Hold mode", "value": 2}]}, {"category": "Standard", "default": 95.0, "group": "Commander", "increment": 1.0, "longDesc": "The check fails if the RAM usage is above this threshold. A negative value disables the check.", "max": 100.0, "min": -1.0, "name": "COM_RAM_MAX", "shortDesc": "Maximum allowed RAM usage to pass checks", "type": "Float", "units": "%"}, {"bitmask": [{"description": "Mission", "index": 0}, {"description": "Hold", "index": 1}, {"description": "Offboard", "index": 2}], "category": "Standard", "default": 0, "group": "Commander", "longDesc": "Specify modes in which RC loss is ignored and the failsafe action not triggered.", "max": 31, "min": 0, "name": "COM_RCL_EXCEPT", "shortDesc": "RC loss exceptions", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Commander", "longDesc": "The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.", "max": 1500, "min": 100, "name": "COM_RC_ARM_HYST", "shortDesc": "RC input arm/disarm command duration", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 3, "group": "Commander", "longDesc": "A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.", "max": 4, "min": 0, "name": "COM_RC_IN_MODE", "shortDesc": "RC control input mode", "type": "Int32", "values": [{"description": "RC Transmitter only", "value": 0}, {"description": "Joystick only", "value": 1}, {"description": "RC and Joystick with fallback", "value": 2}, {"description": "RC or Joystick keep first", "value": 3}, {"description": "Stick input disabled", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Commander", "increment": 0.1, "longDesc": "The time in seconds without a new setpoint from RC or Joystick, after which the connection is considered lost. This must be kept short as the vehicle will use the last supplied setpoint until the timeout triggers.", "max": 35.0, "min": 0.0, "name": "COM_RC_LOSS_T", "shortDesc": "Manual control loss timeout", "type": "Float", "units": "s"}, {"bitmask": [{"description": "Enable override during auto modes (except for in critical battery reaction)", "index": 0}, {"description": "Enable override during offboard mode", "index": 1}], "category": "Standard", "default": 1, "group": "Commander", "longDesc": "When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode.", "max": 3, "min": 0, "name": "COM_RC_OVERRIDE", "shortDesc": "Enable RC stick override of auto and/or offboard modes", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 30.0, "group": "Commander", "increment": 0.05, "longDesc": "If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.", "max": 80.0, "min": 5.0, "name": "COM_RC_STICK_OV", "shortDesc": "RC stick override threshold", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground", "max": 30.0, "min": 0.0, "name": "COM_SPOOLUP_TIME", "shortDesc": "Enforced delay between arming and further navigation", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The mode transition after TAKEOFF has completed successfully.", "name": "COM_TAKEOFF_ACT", "shortDesc": "Action after TAKEOFF has been accepted", "type": "Int32", "values": [{"description": "Hold", "value": 0}, {"description": "Mission (if valid)", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Allows to start the vehicle by throwing it into the air.", "name": "COM_THROW_EN", "shortDesc": "Enable throw-start", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "increment": 0.1, "longDesc": "When the throw launch is enabled, the drone will only arm after this speed is exceeded before detecting the freefall. This is a safety feature to ensure the drone does not turn on after accidental drop or a rapid movement before the throw. Set to 0 to disable.", "min": 0.0, "name": "COM_THROW_SPEED", "shortDesc": "Minimum speed for the throw start", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "longDesc": "This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).", "min": 0.0, "name": "COM_VEL_FS_EVH", "shortDesc": "Horizontal velocity error threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "Wind speed threshold above which an automatic failsafe action is triggered. Failsafe action can be specified with COM_WIND_MAX_ACT.", "min": -1.0, "name": "COM_WIND_MAX", "shortDesc": "High wind speed failsafe threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when a wind speed above the specified threshold is detected. See COM_WIND_MAX to set the failsafe threshold. If enabled, it is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible.", "name": "COM_WIND_MAX_ACT", "shortDesc": "High wind failsafe mode", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold", "value": 2}, {"description": "Return", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.", "min": -1.0, "name": "COM_WIND_WARN", "shortDesc": "Wind speed warning threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.", "max": 6, "min": 0, "name": "NAV_DLL_ACT", "shortDesc": "Set GCS connection loss failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.", "max": 6, "min": 1, "name": "NAV_RCL_ACT", "shortDesc": "Set RC loss failsafe mode", "type": "Int32", "values": [{"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ABIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU accelerometer switch-on bias", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU accelerometer vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the accel bias estimates.", "max": 200.0, "min": 20.0, "name": "EKF2_ABL_ACCLIM", "shortDesc": "Maximum IMU accel magnitude that allows IMU bias learning", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU angular rate vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the accel bias estimates.", "max": 20.0, "min": 2.0, "name": "EKF2_ABL_GYRLIM", "shortDesc": "Maximum IMU gyro angular rate magnitude that allows IMU bias learning", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "EKF2", "longDesc": "The ekf accel bias states will be limited to within a range equivalent to +- of this value.", "max": 0.8, "min": 0.0, "name": "EKF2_ABL_LIM", "shortDesc": "Accelerometer bias learning limit", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.", "max": 1.0, "min": 0.1, "name": "EKF2_ABL_TAU", "shortDesc": "Accel bias learning inhibit time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.003, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_ACC_B_NOISE", "shortDesc": "Process noise for IMU accelerometer bias prediction", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.35, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_ACC_NOISE", "shortDesc": "Accelerometer noise for covariance prediction", "type": "Float", "units": "m/s^2"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}], "category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion", "max": 3, "min": 0, "name": "EKF2_AGP_CTRL", "shortDesc": "Aux global position (AGP) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AGP_DELAY", "rebootRequired": true, "shortDesc": "Aux global position estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_AGP_GATE", "shortDesc": "Gate size for aux global position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.9, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_AGP_NOISE", "shortDesc": "Measurement noise for aux global position measurements", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ANGERR_INIT", "rebootRequired": true, "shortDesc": "1-sigma tilt angle uncertainty after gravity vector alignment", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "longDesc": "Airspeed data is fused for wind estimation if above this threshold. Set to 0 to disable airspeed fusion. For reliable wind estimation both sideslip (see EKF2_FUSE_BETA) and airspeed fusion should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode).", "min": 0.0, "name": "EKF2_ARSP_THR", "shortDesc": "Airspeed fusion threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "max": 50.0, "min": 5.0, "name": "EKF2_ASPD_MAX", "shortDesc": "Maximum airspeed used for baro static pressure compensation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_ASP_DELAY", "rebootRequired": true, "shortDesc": "Airspeed measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AVEL_DELAY", "rebootRequired": true, "shortDesc": "Auxiliary Velocity Estimate delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).", "name": "EKF2_BARO_CTRL", "shortDesc": "Barometric sensor height aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_BARO_DELAY", "rebootRequired": true, "shortDesc": "Barometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BARO_GATE", "shortDesc": "Gate size for barometric and GPS height fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.5, "group": "EKF2", "max": 15.0, "min": 0.01, "name": "EKF2_BARO_NOISE", "shortDesc": "Measurement noise for barometric altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_X", "shortDesc": "X-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_Y", "shortDesc": "Y-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BETA_GATE", "shortDesc": "Gate size for synthetic sideslip fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_BETA_NOISE", "shortDesc": "Noise for synthetic sideslip fusion", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "use geo_lookup declination", "index": 0}, {"description": "save EKF2_MAG_DECL on disarm", "index": 1}], "category": "Standard", "default": 3, "group": "EKF2", "longDesc": "Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms.", "max": 3, "min": 0, "name": "EKF2_DECL_TYPE", "rebootRequired": true, "shortDesc": "Integer bitmask controlling handling of magnetic declination", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 200.0, "group": "EKF2", "longDesc": "Defines the delay between the current time and the delayed-time horizon. This value should be at least as large as the largest EKF2_XXX_DELAY parameter.", "max": 1000.0, "min": 0.0, "name": "EKF2_DELAY_MAX", "rebootRequired": true, "shortDesc": "Maximum delay of all the aiding sensors", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.", "name": "EKF2_DRAG_CTRL", "shortDesc": "Multirotor wind estimation selection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.5, "group": "EKF2", "longDesc": "Used by the multi-rotor specific drag force model. Increasing this makes the multi-rotor wind estimates adjust more slowly.", "max": 10.0, "min": 0.5, "name": "EKF2_DRAG_NOISE", "shortDesc": "Specific drag force observation noise variance", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_EAS_NOISE", "shortDesc": "Measurement noise for airspeed fusion", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "EKF2", "name": "EKF2_EN", "shortDesc": "EKF2 enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.05, "name": "EKF2_EVA_NOISE", "shortDesc": "Measurement noise for vision angle measurements", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVP_GATE", "shortDesc": "Gate size for vision position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_EVP_NOISE", "shortDesc": "Measurement noise for vision position measurements", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVV_GATE", "shortDesc": "Gate size for vision velocity estimate fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "Used to lower bound or replace the uncertainty included in the message", "min": 0.01, "name": "EKF2_EVV_NOISE", "shortDesc": "Measurement noise for vision velocity measurements", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Yaw", "index": 3}], "category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw", "max": 15, "min": 0, "name": "EKF2_EV_CTRL", "shortDesc": "External vision (EV) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_EV_DELAY", "rebootRequired": true, "shortDesc": "Vision Position Estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,", "name": "EKF2_EV_NOISE_MD", "shortDesc": "External vision (EV) noise mode", "type": "Int32", "values": [{"description": "EV reported variance (parameter lower bound)", "value": 0}, {"description": "EV noise parameters", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_X", "shortDesc": "X position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_Y", "shortDesc": "Y position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_EV_POS_Z", "shortDesc": "Z position of VI sensor focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0, "group": "EKF2", "longDesc": "External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.", "max": 100, "min": 0, "name": "EKF2_EV_QMIN", "shortDesc": "External vision (EV) minimum quality (optional)", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "For reliable wind estimation both sideslip and airspeed fusion (see EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported for tailsitters.", "name": "EKF2_FUSE_BETA", "shortDesc": "Enable synthetic sideslip fusion", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 0.2, "min": 0.0, "name": "EKF2_GBIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU gyro switch-on bias", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "EKF2", "longDesc": "Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ > 0.", "max": 10.0, "min": 0.0, "name": "EKF2_GND_EFF_DZ", "shortDesc": "Baro deadzone range for height fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "EKF2", "longDesc": "Sets the maximum distance to the ground level where negative baro innovations are expected.", "max": 5.0, "min": 0.0, "name": "EKF2_GND_MAX_HGT", "shortDesc": "Height above ground level for ground effect zone", "type": "Float", "units": "m"}, {"bitmask": [{"description": "Sat count (EKF2_REQ_NSATS)", "index": 0}, {"description": "PDOP (EKF2_REQ_PDOP)", "index": 1}, {"description": "EPH (EKF2_REQ_EPH)", "index": 2}, {"description": "EPV (EKF2_REQ_EPV)", "index": 3}, {"description": "Speed accuracy (EKF2_REQ_SACC)", "index": 4}, {"description": "Horizontal position drift (EKF2_REQ_HDRIFT)", "index": 5}, {"description": "Vertical position drift (EKF2_REQ_VDRIFT)", "index": 6}, {"description": "Horizontal speed offset (EKF2_REQ_HDRIFT)", "index": 7}, {"description": "Vertical speed offset (EKF2_REQ_VDRIFT)", "index": 8}, {"description": "Spoofing", "index": 9}], "category": "Standard", "default": 1023, "group": "EKF2", "longDesc": "Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.", "max": 1023, "min": 0, "name": "EKF2_GPS_CHECK", "shortDesc": "Integer bitmask controlling GPS checks", "type": "Int32"}, {"bitmask": [{"description": "Lon/lat", "index": 0}, {"description": "Altitude", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Dual antenna heading", "index": 3}], "category": "Standard", "default": 7, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion", "max": 15, "min": 0, "name": "EKF2_GPS_CTRL", "shortDesc": "GNSS sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 110.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_GPS_DELAY", "rebootRequired": true, "shortDesc": "GPS measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_X", "shortDesc": "X position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_Y", "shortDesc": "Y position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_GPS_POS_Z", "shortDesc": "Z position of GPS antenna in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_P_GATE", "shortDesc": "Gate size for GNSS position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 10.0, "min": 0.01, "name": "EKF2_GPS_P_NOISE", "shortDesc": "Measurement noise for GNSS position", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_V_GATE", "shortDesc": "Gate size for GNSS velocity fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 5.0, "min": 0.01, "name": "EKF2_GPS_V_NOISE", "shortDesc": "Measurement noise for GNSS velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "EKF2", "max": 10.0, "min": 0.1, "name": "EKF2_GRAV_NOISE", "shortDesc": "Accelerometer measurement noise for gravity based observations", "type": "Float", "units": "g0"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "EKF2", "longDesc": "If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.", "max": 100.0, "min": 0.0, "name": "EKF2_GSF_TAS", "shortDesc": "Default value of true airspeed used in EKF-GSF AHRS calculation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "EKF2", "longDesc": "The ekf gyro bias states will be limited to within a range equivalent to +- of this value.", "max": 0.4, "min": 0.0, "name": "EKF2_GYR_B_LIM", "shortDesc": "Gyro bias learning limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_GYR_B_NOISE", "shortDesc": "Process noise for IMU rate gyro bias prediction", "type": "Float", "units": "rad/s^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.015, "group": "EKF2", "max": 0.1, "min": 0.0001, "name": "EKF2_GYR_NOISE", "shortDesc": "Rate gyro noise for covariance prediction", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.6, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_HDG_GATE", "shortDesc": "Gate size for heading fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_HEAD_NOISE", "shortDesc": "Measurement noise for magnetic heading fusion", "type": "Float", "units": "rad"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.", "name": "EKF2_HGT_REF", "rebootRequired": true, "shortDesc": "Determines the reference source of height data used by the EKF", "type": "Int32", "values": [{"description": "Barometric pressure", "value": 0}, {"description": "GPS", "value": 1}, {"description": "Range sensor", "value": 2}, {"description": "Vision", "value": 3}]}, {"bitmask": [{"description": "Gyro Bias", "index": 0}, {"description": "Accel Bias", "index": 1}, {"description": "Gravity vector fusion", "index": 2}], "category": "Standard", "default": 7, "group": "EKF2", "max": 7, "min": 0, "name": "EKF2_IMU_CTRL", "shortDesc": "IMU control", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_X", "shortDesc": "X position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_Y", "shortDesc": "Y position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_IMU_POS_Z", "shortDesc": "Z position of IMU in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "EKF2", "name": "EKF2_LOG_VERBOSE", "shortDesc": "Verbose logging", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "The heading is assumed to be observable when the body acceleration is greater than this parameter when a global position/velocity aiding source is active.", "max": 5.0, "min": 0.0, "name": "EKF2_MAG_ACCLIM", "shortDesc": "Horizontal acceleration threshold used for heading observability check", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.0001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_B_NOISE", "shortDesc": "Process noise for body magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"bitmask": [{"description": "Strength (EKF2_MAG_CHK_STR)", "index": 0}, {"description": "Inclination (EKF2_MAG_CHK_INC)", "index": 1}, {"description": "Wait for WMM", "index": 2}], "category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Bitmask to set which check is used to decide whether the magnetometer data is valid. If GNSS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance. Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Magnetic field strength. Set tolerance using EKF2_MAG_CHK_STR 1 : Magnetic field inclination. Set tolerance using EKF2_MAG_CHK_INC 2 : Wait for GNSS to find the theoretical strength and inclination using the WMM", "max": 7, "min": 0, "name": "EKF2_MAG_CHECK", "shortDesc": "Magnetic field strength test selection", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field inclination to pass the check.", "max": 90.0, "min": 0.0, "name": "EKF2_MAG_CHK_INC", "shortDesc": "Magnetic field inclination check tolerance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field strength to pass the check.", "max": 1.0, "min": 0.0, "name": "EKF2_MAG_CHK_STR", "shortDesc": "Magnetic field strength check tolerance", "type": "Float", "units": "gauss"}, {"category": "System", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "name": "EKF2_MAG_DECL", "shortDesc": "Magnetic declination", "type": "Float", "units": "deg", "volatile": true}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_MAG_DELAY", "rebootRequired": true, "shortDesc": "Magnetometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_E_NOISE", "shortDesc": "Process noise for earth magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_MAG_GATE", "shortDesc": "Gate size for magnetometer XYZ component fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "max": 1.0, "min": 0.001, "name": "EKF2_MAG_NOISE", "shortDesc": "Measurement noise for magnetometer 3-axis fusion", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GNSS velocity measurements to align the yaw angle. If set to 'Init' the magnetometer is only used to initalize the heading.", "name": "EKF2_MAG_TYPE", "rebootRequired": true, "shortDesc": "Type of magnetometer fusion", "type": "Int32", "values": [{"description": "Automatic", "value": 0}, {"description": "Magnetic heading", "value": 1}, {"description": "None", "value": 5}, {"description": "Init", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.", "max": 1.0, "min": 0.0, "name": "EKF2_MCOEF", "shortDesc": "Propeller momentum drag coefficient for multi-rotor wind estimation", "type": "Float", "units": "1/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.", "min": 0.01, "name": "EKF2_MIN_RNG", "shortDesc": "Expected range finder reading when on ground", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_IMU", "rebootRequired": true, "shortDesc": "Multi-EKF IMUs", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_MAG", "rebootRequired": true, "shortDesc": "Multi-EKF Magnetometers", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "max": 50.0, "min": 0.5, "name": "EKF2_NOAID_NOISE", "shortDesc": "Measurement noise for non-aiding position hold", "type": "Float", "units": "m"}, {"category": "Standard", "default": 5000000, "group": "EKF2", "longDesc": "Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid", "max": 10000000, "min": 500000, "name": "EKF2_NOAID_TOUT", "shortDesc": "Maximum inertial dead-reckoning time", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Enable optical flow fusion.", "name": "EKF2_OF_CTRL", "shortDesc": "Optical flow aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Assumes measurement is timestamped at trailing edge of integration period", "max": 300.0, "min": 0.0, "name": "EKF2_OF_DELAY", "rebootRequired": true, "shortDesc": "Optical flow measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_OF_GATE", "shortDesc": "Gate size for optical flow fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Auto: use gyro from optical flow message if available, internal gyro otherwise. Internal: always use internal gyro", "name": "EKF2_OF_GYR_SRC", "shortDesc": "Optical flow angular rate compensation source", "type": "Int32", "values": [{"description": "Auto", "value": 0}, {"description": "Internal", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "Measurement noise for the optical flow sensor when it's reported quality metric is at the minimum", "min": 0.05, "name": "EKF2_OF_N_MAX", "shortDesc": "Optical flow maximum noise", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "longDesc": "Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum", "min": 0.05, "name": "EKF2_OF_N_MIN", "shortDesc": "Optical flow minimum noise", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_X", "shortDesc": "X position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_Y", "shortDesc": "Y position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_OF_POS_Z", "shortDesc": "Z position of optical flow focal point in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Optical Flow data will only be used in air if the sensor reports a quality metric >= EKF2_OF_QMIN", "max": 255, "min": 0, "name": "EKF2_OF_QMIN", "shortDesc": "In air optical flow minimum quality", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Optical Flow data will only be used on the ground if the sensor reports a quality metric >= EKF2_OF_QMIN_GND", "max": 255, "min": 0, "name": "EKF2_OF_QMIN_GND", "shortDesc": "On ground optical flow minimum quality", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XN", "shortDesc": "Static pressure position error coefficient for the negative X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XP", "shortDesc": "Static pressure position error coefficient for the positive X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YN", "shortDesc": "Pressure position error coefficient for the negative Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YP", "shortDesc": "Pressure position error coefficient for the positive Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_Z", "shortDesc": "Static pressure position error coefficient for the Z axis", "type": "Float"}, {"category": "Standard", "default": 10000, "group": "EKF2", "longDesc": "EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.", "max": 20000, "min": 1000, "name": "EKF2_PREDICT_US", "shortDesc": "EKF prediction period", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPH", "shortDesc": "Required EPH to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPV", "shortDesc": "Required EPV to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "longDesc": "Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.", "min": 0.1, "name": "EKF2_REQ_GPS_H", "rebootRequired": true, "shortDesc": "Required GPS health time on startup", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_REQ_HDRIFT", "shortDesc": "Maximum horizontal drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 6, "group": "EKF2", "max": 12, "min": 4, "name": "EKF2_REQ_NSATS", "shortDesc": "Required satellite count to use GPS", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "EKF2", "max": 5.0, "min": 1.5, "name": "EKF2_REQ_PDOP", "shortDesc": "Maximum PDOP to use GPS", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_REQ_SACC", "shortDesc": "Required speed accuracy to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 1.5, "min": 0.1, "name": "EKF2_REQ_VDRIFT", "shortDesc": "Maximum vertical drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 5.0, "group": "EKF2", "longDesc": "If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 10.0, "min": 1.0, "name": "EKF2_RNG_A_HMAX", "shortDesc": "Maximum height above ground allowed for conditional range aid mode", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_A_IGATE", "shortDesc": "Gate size used for innovation consistency checks for range aid fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 2.0, "min": 0.1, "name": "EKF2_RNG_A_VMAX", "shortDesc": "Maximum horizontal velocity allowed for conditional range aid mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in \"conditional\" mode. Conditional mode: This enables the range finder to be used during low speed (< EKF2_RNG_A_VMAX) and low altitude (< EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.", "name": "EKF2_RNG_CTRL", "shortDesc": "Range sensor height aiding", "type": "Int32", "values": [{"description": "Disable range fusion", "value": 0}, {"description": "Enabled (conditional mode)", "value": 1}, {"description": "Enabled", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_RNG_DELAY", "rebootRequired": true, "shortDesc": "Range finder measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_RNG_GATE", "shortDesc": "Gate size for range finder fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_K_GATE", "shortDesc": "Gate size used for range finder kinematic consistency check", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.01, "name": "EKF2_RNG_NOISE", "shortDesc": "Measurement noise for range finder fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "max": 0.75, "min": -0.75, "name": "EKF2_RNG_PITCH", "shortDesc": "Range sensor pitch offset", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_X", "shortDesc": "X position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_Y", "shortDesc": "Y position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "longDesc": "Forward axis with origin relative to vehicle centre of gravity", "name": "EKF2_RNG_POS_Z", "shortDesc": "Z position of range finder origin in body frame", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_QLTY_T", "shortDesc": "Minumum range validity period", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0.05, "group": "EKF2", "longDesc": "Specifies the increase in range finder noise with range.", "max": 0.2, "min": 0.0, "name": "EKF2_RNG_SFE", "shortDesc": "Range finder range dependent noise scaler", "type": "Float", "units": "m/m"}, {"category": "Standard", "default": 0.2, "group": "EKF2", "longDesc": "EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.", "name": "EKF2_SEL_ERR_RED", "shortDesc": "Selector error reduce threshold", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.", "name": "EKF2_SEL_IMU_ACC", "shortDesc": "Selector acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 15.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_ANG", "shortDesc": "Selector angular threshold", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 7.0, "group": "EKF2", "longDesc": "EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.", "name": "EKF2_SEL_IMU_RAT", "shortDesc": "Selector angular rate threshold", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 2.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_VEL", "shortDesc": "Selector angular threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.", "name": "EKF2_SYNT_MAG_Z", "shortDesc": "Enable synthetic magnetometer Z component measurement", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_TAS_GATE", "shortDesc": "Gate size for TAS fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "longDesc": "Controls how tightly the output track the EKF states", "max": 1.0, "min": 0.1, "name": "EKF2_TAU_POS", "shortDesc": "Output predictor position time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "max": 1.0, "name": "EKF2_TAU_VEL", "shortDesc": "Time constant of the velocity output prediction and smoothing filter", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "min": 0.0, "name": "EKF2_TERR_GRAD", "shortDesc": "Magnitude of terrain gradient", "type": "Float", "units": "m/m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "min": 0.5, "name": "EKF2_TERR_NOISE", "shortDesc": "Terrain altitude process noise", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "longDesc": "When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "EKF2_WIND_NSD", "shortDesc": "Process noise spectral density for wind velocity prediction", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.", "name": "EV_TSK_RC_LOSS", "rebootRequired": true, "shortDesc": "RC Loss Alarm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -", "name": "EV_TSK_STAT_DIS", "rebootRequired": true, "shortDesc": "Status Display", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization but without altitude control", "max": 90.0, "min": 0.0, "name": "FW_MAN_P_MAX", "shortDesc": "Maximum manual pitch angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 45.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization", "max": 90.0, "min": 0.0, "name": "FW_MAN_R_MAX", "shortDesc": "Maximum manual roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. It is added to the yaw rate setpoint generated by the controller for turn coordination.", "min": 0.0, "name": "FW_MAN_YR_MAX", "shortDesc": "Maximum manually added yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.", "max": 90.0, "min": -90.0, "name": "FW_PSP_OFF", "shortDesc": "Pitch setpoint offset (pitch at level flight)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_NEG", "shortDesc": "Maximum negative / down pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_POS", "shortDesc": "Maximum positive / up pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_P_TC", "shortDesc": "Attitude pitch time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 70.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_R_RMAX", "shortDesc": "Maximum roll rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_R_TC", "shortDesc": "Attitude Roll Time Constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "FW_SPOILERS_LND", "shortDesc": "Spoiler landing setting", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Attitude Control", "increment": 0.05, "max": 10.0, "min": 0.0, "name": "FW_WR_FF", "shortDesc": "Wheel steering rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This gain defines how much control response will result out of a steady state error. It trims any constant error.", "max": 10.0, "min": 0.0, "name": "FW_WR_I", "shortDesc": "Wheel steering rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_WR_IMAX", "shortDesc": "Wheel steering rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This defines how much the wheel steering input will be commanded depending on the current body angular rate error.", "max": 10.0, "min": 0.0, "name": "FW_WR_P", "shortDesc": "Wheel steering rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Attitude Control", "longDesc": "Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.", "name": "FW_W_EN", "shortDesc": "Enable wheel steering controller", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This limits the maximum wheel steering rate the controller will output (in degrees per second).", "max": 90.0, "min": 0.0, "name": "FW_W_RMAX", "shortDesc": "Maximum wheel steering rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_Y_RMAX", "shortDesc": "Maximum yaw rate setpoint", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Abort if terrain is not found (only applies to mission landings)", "index": 0}, {"description": "Abort if terrain times out (after a first successful measurement)", "index": 1}], "category": "Standard", "default": 3, "group": "FW Auto Landing", "longDesc": "Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)", "max": 3, "min": 0, "name": "FW_LND_ABORT", "shortDesc": "Bit mask to set the automatic landing abort conditions", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.", "min": -1.0, "name": "FW_LND_AIRSPD", "shortDesc": "Landing airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.", "max": 15.0, "min": 1.0, "name": "FW_LND_ANG", "shortDesc": "Maximum landing slope angle", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Auto Landing", "longDesc": "Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.", "name": "FW_LND_EARLYCFG", "shortDesc": "Early landing configuration deployment", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude", "min": 0.0, "name": "FW_LND_FLALT", "shortDesc": "Landing flare altitude (relative to landing altitude)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Maximum pitch during landing flare.", "max": 45.0, "min": 0.0, "name": "FW_LND_FL_PMAX", "shortDesc": "Flare, maximum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Minimum pitch during landing flare.", "max": 15.0, "min": -5.0, "name": "FW_LND_FL_PMIN", "shortDesc": "Flare, minimum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)", "max": 2.0, "min": 0.0, "name": "FW_LND_FL_SINK", "shortDesc": "Landing flare sink rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude", "max": 5.0, "min": 0.1, "name": "FW_LND_FL_TIME", "shortDesc": "Landing flare time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 2, "group": "FW Auto Landing", "longDesc": "Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).", "max": 2, "min": 0, "name": "FW_LND_NUDGE", "shortDesc": "Landing touchdown nudging option", "type": "Int32", "values": [{"description": "Disable nudging", "value": 0}, {"description": "Nudge approach angle", "value": 1}, {"description": "Nudge approach path", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Auto Landing", "increment": 1.0, "max": 10.0, "min": 0.0, "name": "FW_LND_TD_OFF", "shortDesc": "Maximum lateral position offset for the touchdown point", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).", "max": 5.0, "min": -1.0, "name": "FW_LND_TD_TIME", "shortDesc": "Landing touchdown time (since flare start)", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.", "max": 1.0, "min": 0.2, "name": "FW_LND_THRTC_SC", "shortDesc": "Altitude time constant factor for landing", "type": "Float", "units": ""}, {"category": "Standard", "default": 1, "group": "FW Auto Landing", "longDesc": "This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.", "max": 2, "min": 0, "name": "FW_LND_USETER", "shortDesc": "Use terrain estimation during landing", "type": "Int32", "values": [{"description": "Disable the terrain estimate", "value": 0}, {"description": "Use the terrain estimate to trigger the flare (only)", "value": 1}, {"description": "Calculate landing glide slope relative to the terrain estimate", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Geometry", "increment": 1.0, "longDesc": "This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (> 0m)", "min": 0.0, "name": "FW_WING_HEIGHT", "shortDesc": "Height (AGL) of the wings when the aircraft is on the ground", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Geometry", "increment": 0.1, "longDesc": "This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)", "min": 0.1, "name": "FW_WING_SPAN", "shortDesc": "The aircraft's wing span (length from tip to tip)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "FW Launch detection", "increment": 0.05, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "max": 5.0, "min": 0.0, "name": "FW_LAUN_AC_T", "shortDesc": "Trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "min": 0.0, "name": "FW_LAUN_AC_THLD", "shortDesc": "Trigger acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 0, "group": "FW Launch detection", "longDesc": "Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Not compatible with runway takeoff.", "name": "FW_LAUN_DETCN_ON", "shortDesc": "Fixed-wing launch detection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Start the motor(s) this amount of seconds after launch is detected.", "max": 10.0, "min": 0.0, "name": "FW_LAUN_MOT_DEL", "shortDesc": "Motor delay", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Damping ratio of the NPFG control law.", "max": 1.0, "min": 0.1, "name": "NPFG_DAMPING", "shortDesc": "NPFG damping ratio", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_EN_MIN_GSP", "shortDesc": "Enable minimum forward ground speed maintaining excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW NPFG Control", "increment": 0.5, "longDesc": "The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.", "max": 10.0, "min": 0.0, "name": "NPFG_GSP_MAX_TK", "shortDesc": "Maximum, minimum forward ground speed for track keeping in excess wind", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.", "name": "NPFG_LB_PERIOD", "shortDesc": "Enable automatic lower bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Period of the NPFG control law.", "max": 100.0, "min": 1.0, "name": "NPFG_PERIOD", "shortDesc": "NPFG period", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.", "max": 10.0, "min": 1.0, "name": "NPFG_PERIOD_SF", "shortDesc": "Period safety factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW NPFG Control", "increment": 0.05, "longDesc": "Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.", "max": 2.0, "min": 0.0, "name": "NPFG_ROLL_TC", "shortDesc": "Roll time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.32, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.", "max": 1.0, "min": 0.1, "name": "NPFG_SW_DST_MLT", "shortDesc": "NPFG switch distance multiplier", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_TRACK_KEEP", "shortDesc": "Enable track keeping excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Adapts period to maintain track keeping in variable winds and path curvature.", "name": "NPFG_UB_PERIOD", "shortDesc": "Enable automatic upper bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Disabling this parameter further disables all other airspeed incrementation options.", "name": "NPFG_WIND_REG", "shortDesc": "Enable wind excess regulation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "FW Path Control", "increment": 1.0, "longDesc": "The maximum change in roll angle setpoint per second. This limit is applied in all Auto modes, plus manual Position and Altitude modes.", "min": 0.0, "name": "FW_PN_R_SLEW_MAX", "shortDesc": "Path navigation roll slew rate limit", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)", "index": 0}, {"description": "Enable airspeed setpoint via sticks in altitude and position flight mode", "index": 1}], "category": "Standard", "default": 2, "group": "FW Path Control", "longDesc": "Applies in manual Position and Altitude flight modes.", "max": 3, "min": 0, "name": "FW_POS_STK_CONF", "shortDesc": "Custom stick configuration", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Path Control", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 65.0, "min": 35.0, "name": "FW_R_LIM", "shortDesc": "Maximum roll angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Path Control", "increment": 0.5, "max": 30.0, "min": -5.0, "name": "FW_TKO_PITCH_MIN", "shortDesc": "Minimum pitch during takeoff", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The maximal airspeed (calibrated airspeed) the user is able to command.", "min": 0.5, "name": "FW_AIRSPD_MAX", "shortDesc": "Maximum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).", "min": 0.5, "name": "FW_AIRSPD_MIN", "shortDesc": "Minimum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.", "min": 0.5, "name": "FW_AIRSPD_STALL", "shortDesc": "Stall Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve. This value corresponds to the trim airspeed with the default load factor (level flight, default weight).", "min": 0.5, "name": "FW_AIRSPD_TRIM", "shortDesc": "Trim (Cruise) Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "FW Performance", "increment": 1.0, "longDesc": "Altitude in standard atmosphere at which the vehicle in normal configuration (WEIGHT_BASE) is still able to achieve a maximum climb rate of 0.5m/s at maximum throttle (FW_THR_MAX). Used to compensate for air density in FW_T_CLMB_MAX. Set negative to disable.", "min": -1.0, "name": "FW_SERVICE_CEIL", "shortDesc": "Service ceiling", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at maximum airspeed FW_AIRSPD_MAX Set to 0 to disable mapping of airspeed to trim throttle.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MAX", "shortDesc": "Throttle at max airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at minimum airspeed FW_AIRSPD_MIN Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MIN", "shortDesc": "Throttle at min airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at FW_AIRSPD_TRIM", "max": 1.0, "min": 0.0, "name": "FW_THR_TRIM", "shortDesc": "Trim throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the maximum calibrated climb rate that the aircraft can achieve with the throttle set to FW_THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.", "max": 15.0, "min": 1.0, "name": "FW_T_CLMB_MAX", "shortDesc": "Maximum climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the minimum calibrated sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.", "max": 5.0, "min": 1.0, "name": "FW_T_SINK_MIN", "shortDesc": "Minimum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_BASE", "shortDesc": "Vehicle base weight", "type": "Float", "units": "kg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.1, "longDesc": "This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_GROSS", "shortDesc": "Vehicle gross weight", "type": "Float", "units": "kg"}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_X_MAX", "shortDesc": "Acro body roll max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.", "name": "FW_ACRO_YAW_EN", "shortDesc": "Enable yaw rate controller in Acro", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Y_MAX", "shortDesc": "Acro body pitch max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 45.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Z_MAX", "shortDesc": "Acro body yaw max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 1, "group": "FW Rate Control", "longDesc": "This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)", "name": "FW_ARSP_SCALE_EN", "shortDesc": "Enable airspeed scaling", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.", "name": "FW_BAT_SCALE_EN", "shortDesc": "Enable throttle scale by battery level", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMAX", "shortDesc": "Pitch trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMIN", "shortDesc": "Pitch trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMAX", "shortDesc": "Roll trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMIN", "shortDesc": "Roll trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMAX", "shortDesc": "Yaw trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMIN", "shortDesc": "Yaw trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_LND_SCL", "shortDesc": "Flaps setting during landing", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_TO_SCL", "shortDesc": "Flaps setting during take-off", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_P_SC", "shortDesc": "Manual pitch scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "max": 1.0, "min": 0.0, "name": "FW_MAN_R_SC", "shortDesc": "Manual roll scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_Y_SC", "shortDesc": "Manual yaw scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "longDesc": "Pitch rate differential gain.", "max": 10.0, "min": 0.0, "name": "FW_PR_D", "shortDesc": "Pitch rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_PR_FF", "shortDesc": "Pitch rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_I", "shortDesc": "Pitch rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_PR_IMAX", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.08, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_P", "shortDesc": "Pitch rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This gain can be used to counteract the \"adverse yaw\" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.", "min": 0.0, "name": "FW_RLL_TO_YAW_FF", "shortDesc": "Roll control to yaw control feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_D", "shortDesc": "Roll rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output.", "max": 10.0, "min": 0.0, "name": "FW_RR_FF", "shortDesc": "Roll rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW Rate Control", "increment": 0.01, "max": 10.0, "min": 0.0, "name": "FW_RR_I", "shortDesc": "Roll rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_RR_IMAX", "shortDesc": "Roll integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_P", "shortDesc": "Roll rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "Chose source for manual setting of spoilers in manual flight modes.", "name": "FW_SPOILERS_MAN", "shortDesc": "Spoiler input in manual flight", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Flaps channel", "value": 1}, {"description": "Aux1", "value": 2}]}, {"category": "Standard", "default": 1, "group": "FW Rate Control", "longDesc": "If set to 1, the airspeed measurement data, if valid, is used in the following controllers: - Rate controller: output scaling - Attitude controller: coordinated turn controller - Position controller: airspeed setpoint tracking, takeoff logic - VTOL: transition logic", "name": "FW_USE_AIRSPD", "shortDesc": "Use airspeed for control", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_D", "shortDesc": "Yaw rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_YR_FF", "shortDesc": "Yaw rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.1, "group": "FW Rate Control", "increment": 0.5, "max": 10.0, "min": 0.0, "name": "FW_YR_I", "shortDesc": "Yaw rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_YR_IMAX", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_P", "shortDesc": "Yaw rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.", "max": 40.0, "min": 0.0, "name": "FW_GND_SPD_MIN", "shortDesc": "Minimum groundspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 60.0, "min": 0.0, "name": "FW_P_LIM_MAX", "shortDesc": "Maximum pitch angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Applies in any altitude controlled flight mode.", "max": 0.0, "min": -60.0, "name": "FW_P_LIM_MIN", "shortDesc": "Minimum pitch angle setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "This is the minimum throttle while on the ground (\"landed\") in auto modes.", "max": 0.4, "min": 0.0, "name": "FW_THR_IDLE", "shortDesc": "Idle throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.", "max": 1.0, "min": 0.0, "name": "FW_THR_MAX", "shortDesc": "Throttle limit max", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.", "max": 1.0, "min": 0.0, "name": "FW_THR_MIN", "shortDesc": "Throttle limit min", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Maximum slew rate for the commanded throttle", "max": 1.0, "min": 0.0, "name": "FW_THR_SLEW_MAX", "shortDesc": "Throttle max slew rate", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW TECS", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.", "min": -1.0, "name": "FW_TKO_AIRSPD", "shortDesc": "Takeoff Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_ALT_TC", "shortDesc": "Altitude error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "FW TECS", "increment": 0.01, "longDesc": "In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.", "max": 15.0, "min": 0.5, "name": "FW_T_CLMB_R_SP", "shortDesc": "Default target climbrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "FW TECS", "longDesc": "Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.", "min": -1.0, "name": "FW_T_F_ALT_ERR", "shortDesc": "Fast descend: minimum altitude error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW TECS", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_T_HRATE_FF", "shortDesc": "Height rate feed forward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.05, "longDesc": "Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.", "max": 2.0, "min": 0.0, "name": "FW_T_I_GAIN_PIT", "shortDesc": "Integrator gain pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.1, "max": 2.0, "min": 0.0, "name": "FW_T_PTCH_DAMP", "shortDesc": "Pitch damping gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.", "max": 20.0, "min": 0.0, "name": "FW_T_RLL2THR", "shortDesc": "Roll -> Throttle feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "max": 3.0, "min": 0.5, "name": "FW_T_SEB_R_FF", "shortDesc": "Specific total energy balance rate feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This sets the maximum descent rate that the controller will use.", "max": 15.0, "min": 1.0, "name": "FW_T_SINK_MAX", "shortDesc": "Maximum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "FW TECS", "increment": 0.01, "longDesc": "In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.", "max": 15.0, "min": 0.5, "name": "FW_T_SINK_R_SP", "shortDesc": "Default target sinkrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW TECS", "increment": 1.0, "longDesc": "Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.", "max": 2.0, "min": 0.0, "name": "FW_T_SPDWEIGHT", "shortDesc": "Speed <--> Altitude priority", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "For the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_DEV_STD", "shortDesc": "Airspeed rate measurement standard deviation", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_PRC_STD", "shortDesc": "Process noise standard deviation for the airspeed rate", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.07, "group": "FW TECS", "increment": 0.1, "longDesc": "For the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_STD", "shortDesc": "Airspeed measurement standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW TECS", "increment": 0.01, "longDesc": "This filter is applied to the specific total energy rate used for throttle damping.", "max": 2.0, "min": 0.0, "name": "FW_T_STE_R_TC", "shortDesc": "Specific total energy rate first order filter time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_TAS_TC", "shortDesc": "True airspeed error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW TECS", "increment": 0.01, "longDesc": "This is the damping gain for the throttle demand loop.", "max": 1.0, "min": 0.0, "name": "FW_T_THR_DAMPING", "shortDesc": "Throttle damping factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.02, "group": "FW TECS", "increment": 0.005, "longDesc": "Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.", "max": 1.0, "min": 0.0, "name": "FW_T_THR_INTEG", "shortDesc": "Integrator gain throttle", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.", "max": 10.0, "min": 1.0, "name": "FW_T_VERT_ACC", "shortDesc": "Maximum vertical acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.", "min": 0.0, "name": "FW_WIND_ARSP_SC", "shortDesc": "Wind-based airspeed scaling factor", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.", "name": "FD_ACT_EN", "rebootRequired": true, "shortDesc": "Enable Actuator Failure check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Failure Detector", "increment": 1.0, "longDesc": "Motor failure triggers only below this current value", "max": 50.0, "min": 0.0, "name": "FD_ACT_MOT_C2T", "shortDesc": "Motor Failure Current/Throttle Threshold", "type": "Float", "units": "A/%"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Failure Detector", "increment": 0.01, "longDesc": "Motor failure triggers only above this throttle value.", "max": 1.0, "min": 0.0, "name": "FD_ACT_MOT_THR", "shortDesc": "Motor Failure Throttle Threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 100, "group": "Failure Detector", "increment": 100, "longDesc": "Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.", "max": 10000, "min": 10, "name": "FD_ACT_MOT_TOUT", "shortDesc": "Motor Failure Time Threshold", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.", "name": "FD_ESCS_EN", "shortDesc": "Enable checks on ESCs that report their arming state", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Failure Detector", "longDesc": "Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_EN", "rebootRequired": true, "shortDesc": "Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1900, "group": "Failure Detector", "longDesc": "External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_TRIG", "shortDesc": "The PWM threshold from external automatic trigger system for engaging failsafe", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_P", "shortDesc": "FailureDetector Max Pitch", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_P_TTRI", "shortDesc": "Pitch failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_R", "shortDesc": "FailureDetector Max Roll", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_R_TTRI", "shortDesc": "Roll failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Failure Detector", "increment": 1, "longDesc": "Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.", "max": 1000, "min": 0, "name": "FD_IMB_PROP_THR", "shortDesc": "Imbalanced propeller check threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 1000.0, "group": "Flight Task Orbit", "increment": 0.5, "max": 10000.0, "min": 1.0, "name": "MC_ORBIT_RAD_MAX", "shortDesc": "Maximum radius of orbit", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Flight Task Orbit", "name": "MC_ORBIT_YAW_MOD", "shortDesc": "Yaw behaviour during orbit flight", "type": "Int32", "values": [{"description": "Front to Circle Center", "value": 0}, {"description": "Hold Initial Heading", "value": 1}, {"description": "Uncontrolled", "value": 2}, {"description": "Hold Front Tangent to Circle", "value": 3}, {"description": "RC Controlled", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Follow target", "longDesc": "Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.", "name": "FLW_TGT_ALT_M", "shortDesc": "Altitude control mode", "type": "Int32", "values": [{"description": "2D Tracking: Maintain constant altitude relative to home and track XY position only", "value": 0}, {"description": "2D + Terrain: Maintain constant altitude relative to terrain below and track XY position", "value": 1}, {"description": "3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)", "value": 2}]}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "The distance in meters to follow the target at", "min": 1.0, "name": "FLW_TGT_DST", "shortDesc": "Distance to follow target from", "type": "Float", "units": "m"}, {"category": "Standard", "default": 180.0, "group": "Follow target", "longDesc": "Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -> 120) in the range to gracefully handle the out of range.", "max": 180.0, "min": -180.0, "name": "FLW_TGT_FA", "shortDesc": "Follow Angle setting in degrees", "type": "Float"}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "Following height above the target", "min": 8.0, "name": "FLW_TGT_HT", "shortDesc": "Follow target height", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Follow target", "longDesc": "This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.", "max": 20.0, "min": 0.0, "name": "FLW_TGT_MAX_VEL", "shortDesc": "Maximum tangential velocity setting for generating the follow orbit trajectory", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Follow target", "longDesc": "lower values increase the responsiveness to changing position, but also ignore less noise", "max": 1.0, "min": 0.0, "name": "FLW_TGT_RS", "shortDesc": "Responsiveness to target movement in Target Estimator", "type": "Float"}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}, {"description": "NAVIC", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC", "max": 63, "min": 0, "name": "GPS_1_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Primary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 7, "min": 0, "name": "GPS_1_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Main GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}]}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}, {"description": "NAVIC", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS 5 : Use NAVIC", "max": 63, "min": 0, "name": "GPS_2_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Secondary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 6, "min": 0, "name": "GPS_2_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Secondary GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.", "max": 2, "min": 0, "name": "GPS_DUMP_COMM", "shortDesc": "Log GPS communication data", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Full communication", "value": 1}, {"description": "RTCM output (PPK)", "value": 2}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.", "name": "GPS_SAT_INFO", "rebootRequired": true, "shortDesc": "Enable sat info (if available)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 230400, "group": "GPS", "longDesc": "Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.", "min": 0, "name": "GPS_UBX_BAUD2", "rebootRequired": true, "shortDesc": "u-blox F9P UART2 Baudrate", "type": "Int32", "units": "B/s"}, {"bitmask": [{"description": "Enable I2C input protocol UBX", "index": 0}, {"description": "Enable I2C input protocol NMEA", "index": 1}, {"description": "Enable I2C input protocol RTCM3X", "index": 2}, {"description": "Enable I2C output protocol UBX", "index": 3}, {"description": "Enable I2C output protocol NMEA", "index": 4}, {"description": "Enable I2C output protocol RTCM3X", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "max": 32, "min": 0, "name": "GPS_UBX_CFG_INTF", "rebootRequired": true, "shortDesc": "u-blox protocol configuration for interfaces", "type": "Int32"}, {"category": "Standard", "default": 7, "group": "GPS", "longDesc": "u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.", "max": 9, "min": 0, "name": "GPS_UBX_DYNMODEL", "rebootRequired": true, "shortDesc": "u-blox GPS dynamic platform model", "type": "Int32", "values": [{"description": "stationary", "value": 2}, {"description": "automotive", "value": 4}, {"description": "airborne with <1g acceleration", "value": 6}, {"description": "airborne with <2g acceleration", "value": 7}, {"description": "airborne with <4g acceleration", "value": 8}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.", "max": 1, "min": 0, "name": "GPS_UBX_MODE", "rebootRequired": true, "shortDesc": "u-blox GPS Mode", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)", "value": 1}, {"description": "Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)", "value": 2}, {"description": "Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 3}, {"description": "Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 4}, {"description": "Rover with Static Base on UART2 (similar to Default, except coming in on UART2)", "value": 5}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "GPS", "longDesc": "Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary, or Septentrio Mosaic Aux) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).", "max": 360.0, "min": 0.0, "name": "GPS_YAW_OFFSET", "rebootRequired": true, "shortDesc": "Heading/Yaw offset for dual antenna GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Geofence", "longDesc": "Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.", "max": 5, "min": 0, "name": "GF_ACTION", "shortDesc": "Geofence violation action", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land mode", "value": 5}]}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum horizontal distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_HOR_DIST", "shortDesc": "Max horizontal distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum vertical distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_VER_DIST", "shortDesc": "Max vertical distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "WARNING: This experimental feature may cause flyaways. Use at your own risk. Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).", "name": "GF_PREDICT", "shortDesc": "[EXPERIMENTAL] Use Pre-emptive geofence triggering", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS", "max": 1, "min": 0, "name": "GF_SOURCE", "shortDesc": "Geofence source", "type": "Int32", "values": [{"description": "GPOS", "value": 0}, {"description": "GPS", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines which mixer implementation to use. Some are generic, while others are specifically fit to a certain vehicle with a fixed set of actuators. 'Custom' should only be used if noting else can be used.", "name": "CA_AIRFRAME", "shortDesc": "Airframe selection", "type": "Int32", "values": [{"description": "Multirotor", "value": 0}, {"description": "Fixed-wing", "value": 1}, {"description": "Standard VTOL", "value": 2}, {"description": "Tiltrotor VTOL", "value": 3}, {"description": "Tailsitter VTOL", "value": 4}, {"description": "Rover (Ackermann)", "value": 5}, {"description": "Rover (Differential)", "value": 6}, {"description": "Motors (6DOF)", "value": 7}, {"description": "Multirotor with Tilt", "value": 8}, {"description": "Custom", "value": 9}, {"description": "Helicopter (tail ESC)", "value": 10}, {"description": "Helicopter (tail Servo)", "value": 11}, {"description": "Helicopter (Coaxial)", "value": 12}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "This is used to specify how to handle motor failures reported by failure detector.", "name": "CA_FAILURE_MODE", "shortDesc": "Motor failure handling mode", "type": "Int32", "values": [{"description": "Ignore", "value": 0}, {"description": "Remove first failed motor from effectiveness", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": -0.05, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 0 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C0", "shortDesc": "Collective pitch curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0725, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 1 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C1", "shortDesc": "Collective pitch curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 2 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C2", "shortDesc": "Collective pitch curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.325, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 3 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C3", "shortDesc": "Collective pitch curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.45, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 4 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C4", "shortDesc": "Collective pitch curve at position 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 0.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C0", "shortDesc": "Throttle curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 1.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C1", "shortDesc": "Throttle curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 2.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C2", "shortDesc": "Throttle curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 3.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C3", "shortDesc": "Throttle curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 4.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C4", "shortDesc": "Throttle curve at position 4", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Default configuration is for a clockwise turning main rotor and positive thrust of the tail rotor is expected to rotate the vehicle clockwise. Set this parameter to true if the tail rotor provides thrust in counter-clockwise direction which is mostly the case when the main rotor turns counter-clockwise.", "name": "CA_HELI_YAW_CCW", "shortDesc": "Main rotor turns counter-clockwise", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to specify which collective pitch command results in the least amount of rotor drag. This is used to increase the accuracy of the yaw drag torque compensation based on collective pitch by aligning the lowest rotor drag with zero compensation. For symmetric profile blades this is the command that results in exactly 0\u00b0 collective blade angle. For lift profile blades this is typically a command resulting in slightly negative collective blade angle. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_O", "shortDesc": "Offset for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the collective pitch command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_S", "shortDesc": "Scale for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the throttle command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_TH_S * throttle", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_TH_S", "shortDesc": "Scale for yaw compensation based on throttle", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Geometry", "longDesc": "Selects the algorithm and desaturation method. If set to Automtic, the selection is based on the airframe (CA_AIRFRAME).", "name": "CA_METHOD", "shortDesc": "Control allocation method", "type": "Int32", "values": [{"description": "Pseudo-inverse with output clipping", "value": 0}, {"description": "Pseudo-inverse with sequential desaturation technique", "value": 1}, {"description": "Automatic", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R0_SLEW", "shortDesc": "Motor 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R10_SLEW", "shortDesc": "Motor 10 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R11_SLEW", "shortDesc": "Motor 11 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R1_SLEW", "shortDesc": "Motor 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R2_SLEW", "shortDesc": "Motor 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R3_SLEW", "shortDesc": "Motor 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R4_SLEW", "shortDesc": "Motor 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R5_SLEW", "shortDesc": "Motor 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R6_SLEW", "shortDesc": "Motor 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R7_SLEW", "shortDesc": "Motor 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R8_SLEW", "shortDesc": "Motor 8 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R9_SLEW", "shortDesc": "Motor 9 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AX", "shortDesc": "Axis of rotor 0 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AY", "shortDesc": "Axis of rotor 0 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AZ", "shortDesc": "Axis of rotor 0 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR0_CT", "shortDesc": "Thrust coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR0_KM", "shortDesc": "Moment coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PX", "shortDesc": "Position of rotor 0 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PY", "shortDesc": "Position of rotor 0 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PZ", "shortDesc": "Position of rotor 0 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR0_TILT", "shortDesc": "Rotor 0 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AX", "shortDesc": "Axis of rotor 10 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AY", "shortDesc": "Axis of rotor 10 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AZ", "shortDesc": "Axis of rotor 10 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR10_CT", "shortDesc": "Thrust coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR10_KM", "shortDesc": "Moment coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PX", "shortDesc": "Position of rotor 10 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PY", "shortDesc": "Position of rotor 10 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PZ", "shortDesc": "Position of rotor 10 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR10_TILT", "shortDesc": "Rotor 10 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AX", "shortDesc": "Axis of rotor 11 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AY", "shortDesc": "Axis of rotor 11 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AZ", "shortDesc": "Axis of rotor 11 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR11_CT", "shortDesc": "Thrust coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR11_KM", "shortDesc": "Moment coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PX", "shortDesc": "Position of rotor 11 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PY", "shortDesc": "Position of rotor 11 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PZ", "shortDesc": "Position of rotor 11 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR11_TILT", "shortDesc": "Rotor 11 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AX", "shortDesc": "Axis of rotor 1 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AY", "shortDesc": "Axis of rotor 1 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AZ", "shortDesc": "Axis of rotor 1 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR1_CT", "shortDesc": "Thrust coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR1_KM", "shortDesc": "Moment coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PX", "shortDesc": "Position of rotor 1 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PY", "shortDesc": "Position of rotor 1 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PZ", "shortDesc": "Position of rotor 1 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR1_TILT", "shortDesc": "Rotor 1 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AX", "shortDesc": "Axis of rotor 2 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AY", "shortDesc": "Axis of rotor 2 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AZ", "shortDesc": "Axis of rotor 2 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR2_CT", "shortDesc": "Thrust coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR2_KM", "shortDesc": "Moment coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PX", "shortDesc": "Position of rotor 2 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PY", "shortDesc": "Position of rotor 2 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PZ", "shortDesc": "Position of rotor 2 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR2_TILT", "shortDesc": "Rotor 2 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AX", "shortDesc": "Axis of rotor 3 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AY", "shortDesc": "Axis of rotor 3 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AZ", "shortDesc": "Axis of rotor 3 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR3_CT", "shortDesc": "Thrust coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR3_KM", "shortDesc": "Moment coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PX", "shortDesc": "Position of rotor 3 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PY", "shortDesc": "Position of rotor 3 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PZ", "shortDesc": "Position of rotor 3 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR3_TILT", "shortDesc": "Rotor 3 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AX", "shortDesc": "Axis of rotor 4 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AY", "shortDesc": "Axis of rotor 4 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AZ", "shortDesc": "Axis of rotor 4 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR4_CT", "shortDesc": "Thrust coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR4_KM", "shortDesc": "Moment coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PX", "shortDesc": "Position of rotor 4 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PY", "shortDesc": "Position of rotor 4 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PZ", "shortDesc": "Position of rotor 4 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR4_TILT", "shortDesc": "Rotor 4 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AX", "shortDesc": "Axis of rotor 5 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AY", "shortDesc": "Axis of rotor 5 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AZ", "shortDesc": "Axis of rotor 5 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR5_CT", "shortDesc": "Thrust coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR5_KM", "shortDesc": "Moment coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PX", "shortDesc": "Position of rotor 5 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PY", "shortDesc": "Position of rotor 5 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PZ", "shortDesc": "Position of rotor 5 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR5_TILT", "shortDesc": "Rotor 5 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AX", "shortDesc": "Axis of rotor 6 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AY", "shortDesc": "Axis of rotor 6 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AZ", "shortDesc": "Axis of rotor 6 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR6_CT", "shortDesc": "Thrust coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR6_KM", "shortDesc": "Moment coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PX", "shortDesc": "Position of rotor 6 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PY", "shortDesc": "Position of rotor 6 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PZ", "shortDesc": "Position of rotor 6 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR6_TILT", "shortDesc": "Rotor 6 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AX", "shortDesc": "Axis of rotor 7 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AY", "shortDesc": "Axis of rotor 7 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AZ", "shortDesc": "Axis of rotor 7 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR7_CT", "shortDesc": "Thrust coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR7_KM", "shortDesc": "Moment coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PX", "shortDesc": "Position of rotor 7 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PY", "shortDesc": "Position of rotor 7 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PZ", "shortDesc": "Position of rotor 7 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR7_TILT", "shortDesc": "Rotor 7 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AX", "shortDesc": "Axis of rotor 8 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AY", "shortDesc": "Axis of rotor 8 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AZ", "shortDesc": "Axis of rotor 8 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR8_CT", "shortDesc": "Thrust coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR8_KM", "shortDesc": "Moment coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PX", "shortDesc": "Position of rotor 8 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PY", "shortDesc": "Position of rotor 8 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PZ", "shortDesc": "Position of rotor 8 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR8_TILT", "shortDesc": "Rotor 8 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AX", "shortDesc": "Axis of rotor 9 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AY", "shortDesc": "Axis of rotor 9 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AZ", "shortDesc": "Axis of rotor 9 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR9_CT", "shortDesc": "Thrust coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR9_KM", "shortDesc": "Moment coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PX", "shortDesc": "Position of rotor 9 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PY", "shortDesc": "Position of rotor 9 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PZ", "shortDesc": "Position of rotor 9 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR9_TILT", "shortDesc": "Rotor 9 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_ROTOR_COUNT", "shortDesc": "Total number of rotors", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}, {"description": "9", "value": 9}, {"description": "10", "value": 10}, {"description": "11", "value": 11}, {"description": "12", "value": 12}]}, {"bitmask": [{"description": "Motor 1", "index": 0}, {"description": "Motor 2", "index": 1}, {"description": "Motor 3", "index": 2}, {"description": "Motor 4", "index": 3}, {"description": "Motor 5", "index": 4}, {"description": "Motor 6", "index": 5}, {"description": "Motor 7", "index": 6}, {"description": "Motor 8", "index": 7}, {"description": "Motor 9", "index": 8}, {"description": "Motor 10", "index": 9}, {"description": "Motor 11", "index": 10}, {"description": "Motor 12", "index": 11}], "category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Configure motors to be bidirectional/reversible. Note that the output driver needs to support this as well.", "max": 4095, "min": 0, "name": "CA_R_REV", "shortDesc": "Bidirectional/Reversible motors", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG0", "shortDesc": "Angle for swash plate servo 0", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 140.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG1", "shortDesc": "Angle for swash plate servo 1", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 220.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG2", "shortDesc": "Angle for swash plate servo 2", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG3", "shortDesc": "Angle for swash plate servo 3", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L0", "shortDesc": "Arm length for swash plate servo 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L1", "shortDesc": "Arm length for swash plate servo 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L2", "shortDesc": "Arm length for swash plate servo 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L3", "shortDesc": "Arm length for swash plate servo 3", "type": "Float"}, {"category": "Standard", "default": 3, "group": "Geometry", "name": "CA_SP0_COUNT", "shortDesc": "Number of swash plates servos", "type": "Int32", "values": [{"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV0_SLEW", "shortDesc": "Servo 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV1_SLEW", "shortDesc": "Servo 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV2_SLEW", "shortDesc": "Servo 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV3_SLEW", "shortDesc": "Servo 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV4_SLEW", "shortDesc": "Servo 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV5_SLEW", "shortDesc": "Servo 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV6_SLEW", "shortDesc": "Servo 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV7_SLEW", "shortDesc": "Servo 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_FLAP", "shortDesc": "Control Surface 0 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_SPOIL", "shortDesc": "Control Surface 0 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_TRIM", "shortDesc": "Control Surface 0 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_P", "shortDesc": "Control Surface 0 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_R", "shortDesc": "Control Surface 0 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_Y", "shortDesc": "Control Surface 0 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS0_TYPE", "shortDesc": "Control Surface 0 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_FLAP", "shortDesc": "Control Surface 1 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_SPOIL", "shortDesc": "Control Surface 1 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_TRIM", "shortDesc": "Control Surface 1 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_P", "shortDesc": "Control Surface 1 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_R", "shortDesc": "Control Surface 1 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_Y", "shortDesc": "Control Surface 1 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS1_TYPE", "shortDesc": "Control Surface 1 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_FLAP", "shortDesc": "Control Surface 2 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_SPOIL", "shortDesc": "Control Surface 2 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_TRIM", "shortDesc": "Control Surface 2 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_P", "shortDesc": "Control Surface 2 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_R", "shortDesc": "Control Surface 2 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_Y", "shortDesc": "Control Surface 2 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS2_TYPE", "shortDesc": "Control Surface 2 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_FLAP", "shortDesc": "Control Surface 3 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_SPOIL", "shortDesc": "Control Surface 3 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_TRIM", "shortDesc": "Control Surface 3 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_P", "shortDesc": "Control Surface 3 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_R", "shortDesc": "Control Surface 3 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_Y", "shortDesc": "Control Surface 3 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS3_TYPE", "shortDesc": "Control Surface 3 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_FLAP", "shortDesc": "Control Surface 4 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_SPOIL", "shortDesc": "Control Surface 4 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_TRIM", "shortDesc": "Control Surface 4 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_P", "shortDesc": "Control Surface 4 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_R", "shortDesc": "Control Surface 4 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_Y", "shortDesc": "Control Surface 4 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS4_TYPE", "shortDesc": "Control Surface 4 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_FLAP", "shortDesc": "Control Surface 5 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_SPOIL", "shortDesc": "Control Surface 5 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_TRIM", "shortDesc": "Control Surface 5 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_P", "shortDesc": "Control Surface 5 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_R", "shortDesc": "Control Surface 5 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_Y", "shortDesc": "Control Surface 5 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS5_TYPE", "shortDesc": "Control Surface 5 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_FLAP", "shortDesc": "Control Surface 6 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_SPOIL", "shortDesc": "Control Surface 6 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_TRIM", "shortDesc": "Control Surface 6 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_P", "shortDesc": "Control Surface 6 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_R", "shortDesc": "Control Surface 6 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_Y", "shortDesc": "Control Surface 6 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS6_TYPE", "shortDesc": "Control Surface 6 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_FLAP", "shortDesc": "Control Surface 7 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_SPOIL", "shortDesc": "Control Surface 7 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_TRIM", "shortDesc": "Control Surface 7 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_P", "shortDesc": "Control Surface 7 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_R", "shortDesc": "Control Surface 7 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_Y", "shortDesc": "Control Surface 7 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS7_TYPE", "shortDesc": "Control Surface 7 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS_COUNT", "shortDesc": "Total number of Control Surfaces", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL0_CT", "shortDesc": "Tilt 0 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MAXA", "shortDesc": "Tilt Servo 0 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MINA", "shortDesc": "Tilt Servo 0 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL0_TD", "shortDesc": "Tilt Servo 0 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL1_CT", "shortDesc": "Tilt 1 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MAXA", "shortDesc": "Tilt Servo 1 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MINA", "shortDesc": "Tilt Servo 1 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL1_TD", "shortDesc": "Tilt Servo 1 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL2_CT", "shortDesc": "Tilt 2 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MAXA", "shortDesc": "Tilt Servo 2 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MINA", "shortDesc": "Tilt Servo 2 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL2_TD", "shortDesc": "Tilt Servo 2 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL3_CT", "shortDesc": "Tilt 3 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MAXA", "shortDesc": "Tilt Servo 3 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MINA", "shortDesc": "Tilt Servo 3 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL3_TD", "shortDesc": "Tilt Servo 3 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_TL_COUNT", "shortDesc": "Total number of Tilt Servos", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 10.0, "min": 1.0, "name": "HTE_ACC_GATE", "shortDesc": "Gate size for acceleration fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 1.0, "min": 0.0, "name": "HTE_HT_ERR_INIT", "shortDesc": "1-sigma initial hover thrust uncertainty", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0036, "group": "Hover Thrust Estimator", "longDesc": "Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.", "max": 1.0, "min": 0.0001, "name": "HTE_HT_NOISE", "shortDesc": "Hover thrust process noise", "type": "Float", "units": "normalized_thrust/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Hover Thrust Estimator", "longDesc": "Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).", "max": 0.4, "min": 0.01, "name": "HTE_THR_RANGE", "shortDesc": "Max deviation from MPC_THR_HOVER", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.", "max": 20.0, "min": 1.0, "name": "HTE_VXY_THR", "shortDesc": "Horizontal velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.", "max": 10.0, "min": 1.0, "name": "HTE_VZ_THR", "shortDesc": "Vertical velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.0, "group": "Land Detector", "longDesc": "Maximum airspeed allowed in the landed state", "max": 20.0, "min": 2.0, "name": "LNDFW_AIRSPD_MAX", "shortDesc": "Fixed-wing land detector: Max airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Land Detector", "longDesc": "Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.", "min": 0.1, "name": "LNDFW_TRIG_TIME", "rebootRequired": true, "shortDesc": "Fixed-wing land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).", "max": 10.0, "min": 0.5, "name": "LNDFW_VEL_XY_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Maximum vertical velocity allowed in the landed state.", "max": 20.0, "min": 0.1, "name": "LNDFW_VEL_Z_MAX", "shortDesc": "Fixed-wing land detector: Max vertiacal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 8.0, "group": "Land Detector", "longDesc": "Maximum horizontal (x,y body axes) acceleration allowed in the landed state", "max": 15.0, "min": 2.0, "name": "LNDFW_XYACC_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Land Detector", "longDesc": "The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.", "min": -1.0, "name": "LNDMC_ALT_GND", "shortDesc": "Ground effect altitude for multicopters", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "Land Detector", "longDesc": "Maximum allowed angular velocity around each axis allowed in the landed state.", "name": "LNDMC_ROT_MAX", "shortDesc": "Multicopter max rotation", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.", "max": 10.0, "min": 0.1, "name": "LNDMC_TRIG_TIME", "shortDesc": "Multicopter land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state", "name": "LNDMC_XY_VEL_MAX", "shortDesc": "Multicopter max horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "Land Detector", "longDesc": "Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.", "min": 0.0, "name": "LNDMC_Z_VEL_MAX", "shortDesc": "Multicopter vertical velocity threshold", "type": "Float", "units": "m/s"}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_HI", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_LO", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "Landing Target Estimator", "longDesc": "Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection", "min": 0.01, "name": "LTEST_ACC_UNC", "shortDesc": "Acceleration uncertainty", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.005, "group": "Landing Target Estimator", "longDesc": "Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.", "name": "LTEST_MEAS_UNC", "shortDesc": "Landing target measurement uncertainty", "type": "Float", "units": "tan(rad)^2"}, {"category": "Standard", "default": 0, "group": "Landing Target Estimator", "longDesc": "Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving: The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.", "max": 1, "min": 0, "name": "LTEST_MODE", "shortDesc": "Landing target mode", "type": "Int32", "values": [{"description": "Moving", "value": 0}, {"description": "Stationary", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target position in x and y direction", "min": 0.001, "name": "LTEST_POS_UNC_IN", "shortDesc": "Initial landing target position uncertainty", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target x measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_X", "shortDesc": "Scale factor for sensor measurements in sensor x axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target y measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_Y", "shortDesc": "Scale factor for sensor measurements in sensor y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_X", "rebootRequired": true, "shortDesc": "X Position of IRLOCK in body frame (forward)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Y", "rebootRequired": true, "shortDesc": "Y Position of IRLOCK in body frame (right)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Z", "rebootRequired": true, "shortDesc": "Z Position of IRLOCK in body frame (downward)", "type": "Float", "units": "m"}, {"category": "Standard", "default": 2, "group": "Landing Target Estimator", "longDesc": "Default orientation of Yaw 90\u00b0", "max": 40, "min": -1, "name": "LTEST_SENS_ROT", "rebootRequired": true, "shortDesc": "Rotation of IRLOCK sensor relative to airframe", "type": "Int32", "values": [{"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target velocity in x and y directions", "min": 0.001, "name": "LTEST_VEL_UNC_IN", "shortDesc": "Initial landing target velocity uncertainty", "type": "Float", "units": "(m/s)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.012, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_XY", "shortDesc": "Accelerometer xy noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.02, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_Z", "shortDesc": "Accelerometer z noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_BAR_Z", "shortDesc": "Barometric presssure altitude z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Local Position Estimator", "name": "LPE_EN", "shortDesc": "Local position estimator enable (unsupported)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPH_MAX", "shortDesc": "Max EPH allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPV_MAX", "shortDesc": "Max EPV allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Local Position Estimator", "longDesc": "By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable", "max": 1, "min": 0, "name": "LPE_FAKE_ORIGIN", "shortDesc": "Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow)", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 2.0, "min": 0.0, "name": "LPE_FGYRO_HP", "shortDesc": "Flow gyro high pass filter cut off frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_FLW_OFF_Z", "shortDesc": "Optical flow z offset from center", "type": "Float", "units": "m"}, {"category": "Standard", "default": 150, "group": "Local Position Estimator", "max": 255, "min": 0, "name": "LPE_FLW_QMIN", "shortDesc": "Optical flow minimum quality threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_R", "shortDesc": "Optical flow rotation (roll/pitch) noise gain", "type": "Float", "units": "m/s/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_FLW_RR", "shortDesc": "Optical flow angular velocity noise gain", "type": "Float", "units": "m/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.3, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_SCALE", "shortDesc": "Optical flow scale", "type": "Float", "units": "m"}, {"bitmask": [{"description": "fuse GPS, requires GPS for alt. init", "index": 0}, {"description": "fuse optical flow", "index": 1}, {"description": "fuse vision position", "index": 2}, {"description": "fuse landing target", "index": 3}, {"description": "fuse land detector", "index": 4}, {"description": "pub agl as lpos down", "index": 5}, {"description": "flow gyro compensation", "index": 6}, {"description": "fuse baro", "index": 7}], "category": "Standard", "default": 145, "group": "Local Position Estimator", "longDesc": "Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)", "max": 255, "min": 0, "name": "LPE_FUSION", "shortDesc": "Integer bitmask controlling data fusion", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.29, "group": "Local Position Estimator", "max": 0.4, "min": 0.0, "name": "LPE_GPS_DELAY", "shortDesc": "GPS delay compensaton", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "longDesc": "EPV used if greater than this value.", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VXY", "shortDesc": "GPS xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VZ", "shortDesc": "GPS z velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.01, "name": "LPE_GPS_XY", "shortDesc": "Minimum GPS xy standard deviation, uses reported EPH if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 200.0, "min": 0.01, "name": "LPE_GPS_Z", "shortDesc": "Minimum GPS z standard deviation, uses reported EPV if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 10.0, "min": 0.01, "name": "LPE_LAND_VXY", "shortDesc": "Land detector xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 10.0, "min": 0.001, "name": "LPE_LAND_Z", "shortDesc": "Land detector z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 47.397742, "group": "Local Position Estimator", "max": 90.0, "min": -90.0, "name": "LPE_LAT", "shortDesc": "Local origin latitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_LDR_OFF_Z", "shortDesc": "Lidar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_LDR_Z", "shortDesc": "Lidar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 8.545594, "group": "Local Position Estimator", "max": 180.0, "min": -180.0, "name": "LPE_LON", "shortDesc": "Local origin longitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0001, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_LT_COV", "shortDesc": "Minimum landing target standard covariance, uses reported covariance if greater", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_B", "shortDesc": "Accel bias propagation noise density", "type": "Float", "units": "m/s^3/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_P", "shortDesc": "Position propagation noise density", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_T", "shortDesc": "Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001)", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_V", "shortDesc": "Velocity propagation noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_SNR_OFF_Z", "shortDesc": "Sonar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_SNR_Z", "shortDesc": "Sonar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Local Position Estimator", "longDesc": "Used to calculate increased terrain random walk nosie due to movement.", "max": 100.0, "min": 0.0, "name": "LPE_T_MAX_GRADE", "shortDesc": "Terrain maximum percent grade, hilly/outdoor (100 = 45 deg), flat/Indoor (0 = 0 deg)", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0001, "name": "LPE_VIC_P", "shortDesc": "Vicon position standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Set to zero to enable automatic compensation from measurement timestamps", "max": 0.1, "min": 0.0, "name": "LPE_VIS_DELAY", "shortDesc": "Vision delay compensation", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VIS_XY", "shortDesc": "Vision xy standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_VIS_Z", "shortDesc": "Vision z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.3, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VXY_PUB", "shortDesc": "Required velocity xy standard deviation to publish position", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Local Position Estimator", "max": 1000.0, "min": 5.0, "name": "LPE_X_LP", "shortDesc": "Cut frequency for state publication", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.3, "name": "LPE_Z_PUB", "shortDesc": "Required z standard deviation to publish altitude/ terrain", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_0_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 0", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_0_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 0", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_0_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 0, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_0_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 0", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_0_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 0", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_0_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1200, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_0_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 0", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 14550, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected remote port will be set and used in MAVLink instance 0.", "name": "MAV_0_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 14556, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected udp port will be set and used in MAVLink instance 0.", "name": "MAV_0_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_1_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 1", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_1_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 1", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_1_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 1, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_1_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 1", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_1_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 1", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_1_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_1_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 1", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected remote port will be set and used in MAVLink instance 1.", "name": "MAV_1_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected udp port will be set and used in MAVLink instance 1.", "name": "MAV_1_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_2_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 2", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_2_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 2", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_2_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.015, "group": "MAVLink", "increment": 0.001, "longDesc": "Positive real value that configures the transmission frequency of the HIGH_LATENCY2 stream for instance 2, configured in iridium mode. This parameter has no effect if the instance mode is different from iridium.", "max": 50.0, "min": 0.0, "name": "MAV_2_HL_FREQ", "rebootRequired": true, "shortDesc": "Configures the frequency of HIGH_LATENCY2 stream for instance 2", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_2_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 2", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_2_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_2_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 2", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected remote port will be set and used in MAVLink instance 2.", "name": "MAV_2_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected udp port will be set and used in MAVLink instance 2.", "name": "MAV_2_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_COMP_ID", "rebootRequired": true, "shortDesc": "MAVLink component ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode", "name": "MAV_FWDEXTSP", "shortDesc": "Forward external setpoint messages", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.", "name": "MAV_HASH_CHK_EN", "shortDesc": "Parameter hash check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.", "name": "MAV_HB_FORW_EN", "shortDesc": "Heartbeat message forwarding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "name": "MAV_PROTO_VER", "shortDesc": "MAVLink protocol version", "type": "Int32", "values": [{"description": "Default to 1, switch to 2 if GCS sends version 2", "value": 0}, {"description": "Always use version 1", "value": 1}, {"description": "Always use version 2", "value": 2}]}, {"category": "Standard", "default": 5, "group": "MAVLink", "longDesc": "If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.", "max": 250, "min": 1, "name": "MAV_RADIO_TOUT", "shortDesc": "Timeout in seconds for the RADIO_STATUS reports coming in", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio", "max": 240, "min": -1, "name": "MAV_SIK_RADIO_ID", "shortDesc": "MAVLink SiK Radio ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_SYS_ID", "rebootRequired": true, "shortDesc": "MAVLink system ID", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "max": 22, "min": 0, "name": "MAV_TYPE", "shortDesc": "MAVLink airframe type", "type": "Int32", "values": [{"description": "Generic micro air vehicle", "value": 0}, {"description": "Fixed wing aircraft", "value": 1}, {"description": "Quadrotor", "value": 2}, {"description": "Coaxial helicopter", "value": 3}, {"description": "Normal helicopter with tail rotor", "value": 4}, {"description": "Airship, controlled", "value": 7}, {"description": "Free balloon, uncontrolled", "value": 8}, {"description": "Ground rover", "value": 10}, {"description": "Surface vessel, boat, ship", "value": 11}, {"description": "Submarine", "value": 12}, {"description": "Hexarotor", "value": 13}, {"description": "Octorotor", "value": 14}, {"description": "Tricopter", "value": 15}, {"description": "VTOL Two-rotor Tailsitter", "value": 19}, {"description": "VTOL Quad-rotor Tailsitter", "value": 20}, {"description": "VTOL Tiltrotor", "value": 21}, {"description": "VTOL Standard (separate fixed rotors for hover and cruise flight)", "value": 22}, {"description": "VTOL Tailsitter", "value": 23}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If set to 1 incoming HIL GPS messages are parsed.", "name": "MAV_USEHILGPS", "shortDesc": "Use/Accept HIL GPS message even if not in HIL mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Magnetometer Bias Estimator", "longDesc": "This enables continuous calibration of the magnetometers before takeoff using gyro data.", "name": "MBE_ENABLE", "rebootRequired": true, "shortDesc": "Enable online mag bias calibration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 18.0, "group": "Magnetometer Bias Estimator", "increment": 0.1, "longDesc": "Increase to make the estimator more responsive Decrease to make the estimator more robust to noise", "max": 100.0, "min": 0.1, "name": "MBE_LEARN_GAIN", "shortDesc": "Mag bias estimator learning gain", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Manual Control", "longDesc": "This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.", "name": "MAN_ARM_GESTURE", "shortDesc": "Enable arm/disarm stick gesture", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Manual Control", "longDesc": "The timeout for holding the left stick to the lower left and the right stick to the lower right at the same time until the gesture kills the actuators one-way. A negative value disables the feature.", "max": 15.0, "min": -1.0, "name": "MAN_KILL_GEST_T", "shortDesc": "Trigger time for kill stick gesture", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.", "max": 3600, "min": 0, "name": "FW_GPSF_LT", "shortDesc": "GPS failure loiter time", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "Mission", "increment": 0.5, "longDesc": "Roll angle in GPS failure loiter mode.", "max": 30.0, "min": 0.0, "name": "FW_GPSF_R", "shortDesc": "GPS failure fixed roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 10000.0, "group": "Mission", "increment": 100.0, "longDesc": "Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.", "max": 10000.0, "min": -1.0, "name": "MIS_DIST_1WP", "shortDesc": "Maximal horizontal distance from current position to first waypoint", "type": "Float", "units": "m"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.", "min": 0, "name": "MIS_LND_ABRT_ALT", "shortDesc": "Landing abort min altitude", "type": "Int32", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.", "max": 1, "min": 0, "name": "MIS_MNT_YAW_CTL", "shortDesc": "Enable yaw control of the mount. (Only affects multicopters and ROI mission items)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Enable", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "increment": 1.0, "min": 0.0, "name": "MIS_PD_TO", "shortDesc": "Timeout for a successful payload deployment acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "Mission", "increment": 0.5, "longDesc": "This is the relative altitude the system will take off to if not otherwise specified.", "min": 0.0, "name": "MIS_TAKEOFF_ALT", "shortDesc": "Default take-off altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.", "name": "MIS_TKO_LAND_REQ", "shortDesc": "Mission takeoff/landing required", "type": "Int32", "values": [{"description": "No requirements", "value": 0}, {"description": "Require a takeoff", "value": 1}, {"description": "Require a landing", "value": 2}, {"description": "Require a takeoff and a landing", "value": 3}, {"description": "Require both a takeoff and a landing, or neither", "value": 4}, {"description": "Same as previous when landed, in-air require landing only if no valid VTOL approach is present", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Mission", "increment": 1.0, "max": 90.0, "min": 0.0, "name": "MIS_YAW_ERR", "shortDesc": "Max yaw error in degrees needed for waypoint heading acceptance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 1.0, "longDesc": "If set > 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.", "max": 20.0, "min": -1.0, "name": "MIS_YAW_TMT", "shortDesc": "Time in seconds we wait on reaching target heading at a waypoint if it is forced", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mission", "max": 4, "min": 0, "name": "MPC_YAW_MODE", "shortDesc": "Heading behavior in autonomous modes", "type": "Int32", "values": [{"description": "towards waypoint", "value": 0}, {"description": "towards home", "value": 1}, {"description": "away from home", "value": 2}, {"description": "along trajectory", "value": 3}, {"description": "towards waypoint (yaw first)", "value": 4}, {"description": "yaw fixed", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.", "max": 200.0, "min": 0.05, "name": "NAV_ACC_RAD", "shortDesc": "Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "name": "NAV_FORCE_VT", "shortDesc": "Force VTOL mode takeoff and land", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "longDesc": "Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALTL_RAD", "shortDesc": "FW Altitude Acceptance Radius before a landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for fixedwing altitude.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALT_RAD", "shortDesc": "FW Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 80.0, "group": "Mission", "increment": 0.5, "longDesc": "Default value of loiter radius in FW mode (e.g. for Loiter mode).", "max": 1000.0, "min": 25.0, "name": "NAV_LOITER_RAD", "shortDesc": "Loiter radius (FW only)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.8, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for multicopter altitude.", "max": 200.0, "min": 0.05, "name": "NAV_MC_ALT_RAD", "shortDesc": "MC Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 1.0, "longDesc": "Minimum height above ground the vehicle is allowed to descend to during Mission and RTL, excluding landing commands. Requires a distance sensor to be set up. Note: only prevents the vehicle from descending further, but does not force it to climb. Set to a negative value to disable.", "min": -1.0, "name": "NAV_MIN_GND_DIST", "shortDesc": "Minimum height above ground during Mission and RTL", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 0.5, "longDesc": "This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint (\"Go to\"). Set to a negative value to disable.", "min": -1.0, "name": "NAV_MIN_LTR_ALT", "shortDesc": "Minimum Loiter altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "longDesc": "Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders", "name": "NAV_TRAFF_AVOID", "shortDesc": "Set traffic avoidance mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warn only", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Position Hold mode", "value": 4}]}, {"category": "Standard", "default": 500.0, "group": "Mission", "longDesc": "Defines a crosstrack horizontal distance", "min": 500.0, "name": "NAV_TRAFF_A_HOR", "shortDesc": "Set NAV TRAFFIC AVOID horizontal distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 500.0, "group": "Mission", "max": 500.0, "min": 10.0, "name": "NAV_TRAFF_A_VER", "shortDesc": "Set NAV TRAFFIC AVOID vertical distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 60, "group": "Mission", "longDesc": "Minimum acceptable time until collsion. Assumes constant speed over 3d distance.", "max": 900000000, "min": 1, "name": "NAV_TRAFF_COLL_T", "shortDesc": "Estimated time until collision", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mixer Output", "longDesc": "The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.", "name": "MC_AIRMODE", "shortDesc": "Multicopter air-mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Roll/Pitch", "value": 1}, {"description": "Roll/Pitch/Yaw", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.", "max": 2, "min": 0, "name": "MNT_DO_STAB", "shortDesc": "Stabilize the mount", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Stabilize all axis", "value": 1}, {"description": "Stabilize yaw for absolute/lock mode.", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MAX", "shortDesc": "Pitch maximum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MIN", "shortDesc": "Pitch minimum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_PITCH", "shortDesc": "Auxiliary channel to control pitch (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_ROLL", "shortDesc": "Auxiliary channel to control roll (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_YAW", "shortDesc": "Auxiliary channel to control yaw (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 154, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.", "name": "MNT_MAV_COMPID", "shortDesc": "Mavlink Component ID of the mount", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.", "name": "MNT_MAV_SYSID", "shortDesc": "Mavlink System ID of the mount", "type": "Int32"}, {"category": "Standard", "default": -1, "group": "Mount", "longDesc": "This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.", "max": 4, "min": -1, "name": "MNT_MODE_IN", "rebootRequired": true, "shortDesc": "Mount input mode", "type": "Int32", "values": [{"description": "DISABLED", "value": -1}, {"description": "Auto (RC and MAVLink gimbal protocol v2)", "value": 0}, {"description": "RC", "value": 1}, {"description": "MAVLINK_ROI (protocol v1, to be deprecated)", "value": 2}, {"description": "MAVLINK_DO_MOUNT (protocol v1, to be deprecated)", "value": 3}, {"description": "MAVlink gimbal protocol v2", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.", "max": 2, "min": 0, "name": "MNT_MODE_OUT", "rebootRequired": true, "shortDesc": "Mount output mode", "type": "Int32", "values": [{"description": "AUX", "value": 0}, {"description": "MAVLink gimbal protocol v1", "value": 1}, {"description": "MAVLink gimbal protocol v2", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_PITCH", "shortDesc": "Offset for pitch channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_ROLL", "shortDesc": "Offset for roll channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_YAW", "shortDesc": "Offset for yaw channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_PITCH", "shortDesc": "Range of pitch channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_ROLL", "shortDesc": "Range of roll channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 360.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_YAW", "shortDesc": "Range of yaw channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-pitch rate..pitch rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_PITCH", "shortDesc": "Angular pitch rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-yaw rate..yaw rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_YAW", "shortDesc": "Angular yaw rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 1, "group": "Mount", "max": 1, "min": 0, "name": "MNT_RC_IN_MODE", "shortDesc": "Input mode for RC gimbal input", "type": "Int32", "values": [{"description": "Angle", "value": 0}, {"description": "Angular rate", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO", "shortDesc": "Acro mode roll, pitch expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO_Y", "shortDesc": "Acro mode yaw expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_P_MAX", "shortDesc": "Acro mode maximum pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_R_MAX", "shortDesc": "Acro mode maximum roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPO", "shortDesc": "Acro mode roll, pitch super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPOY", "shortDesc": "Acro mode yaw super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_Y_MAX", "shortDesc": "Acro mode maximum yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_PITCHRATE_MAX", "shortDesc": "Max pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_PITCH_P", "shortDesc": "Pitch P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_ROLLRATE_MAX", "shortDesc": "Max roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_ROLL_P", "shortDesc": "Roll P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 200.0, "group": "Multicopter Attitude Control", "increment": 5.0, "max": 1800.0, "min": 0.0, "name": "MC_YAWRATE_MAX", "shortDesc": "Max yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.8, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 5.0, "min": 0.0, "name": "MC_YAW_P", "shortDesc": "Yaw P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.", "max": 1.0, "min": 0.0, "name": "MC_YAW_WEIGHT", "shortDesc": "Yaw weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": 60.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the acceleration of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_ACC", "shortDesc": "Maximum yaw acceleration in autonomous modes", "type": "Float", "units": "deg/s^2"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the rate of change of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_MAX", "shortDesc": "Maximum yaw rate in autonomous modes", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0.4, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 1.0, "min": 0.0, "name": "CP_DELAY", "shortDesc": "Average delay of the range sensor message plus the tracking delay of the position controller in seconds", "type": "Float", "units": "s"}, {"category": "Standard", "default": -1.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value", "max": 15.0, "min": -1.0, "name": "CP_DIST", "shortDesc": "Minimum distance the vehicle should keep to all obstacles", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "name": "CP_GO_NO_DATA", "shortDesc": "Boolean to allow moving into directions where there is no sensor data (outside FOV)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 30.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 90.0, "min": 0.0, "name": "CP_GUIDE_ANG", "shortDesc": "Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "longDesc": "Setting this parameter to 0 disables the filter", "max": 2.0, "min": 0.0, "name": "MC_MAN_TILT_TAU", "shortDesc": "Manual tilt input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Multicopter Position Control", "longDesc": "Set to decouple tilt from vertical acceleration. This provides smoother flight but slightly worse tracking in position and auto modes. Unset if accurate position tracking during dynamic maneuvers is more important than a smooth flight.", "name": "MPC_ACC_DECOUPLE", "shortDesc": "Acceleration to tilt coupling", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_DOWN_MAX", "shortDesc": "Maximum downwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When piloting manually, this parameter is only used in MPC_POS_MODE Acceleration based.", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR", "shortDesc": "Acceleration for autonomous and for manual modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 not used, use MPC_ACC_HOR instead", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR_MAX", "shortDesc": "Maximum horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_UP_MAX", "shortDesc": "Maximum upwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 2, "group": "Multicopter Position Control", "longDesc": "Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.", "max": 2, "min": 0, "name": "MPC_ALT_MODE", "shortDesc": "Altitude reference mode", "type": "Int32", "values": [{"description": "Altitude following", "value": 0}, {"description": "Terrain following", "value": 1}, {"description": "Terrain hold", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Does not apply to manual throttle and direct attitude piloting by stick.", "max": 1.0, "min": 0.0, "name": "MPC_HOLD_DZ", "shortDesc": "Deadzone for sticks in manual piloted modes", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.8, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_POS_MODE Direct velocity or MPC_ALT_MODE 2", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_XY", "shortDesc": "Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_ALT_MODE 1", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_Z", "shortDesc": "Maximum vertical velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions but also limited agility.", "max": 80.0, "min": 1.0, "name": "MPC_JERK_AUTO", "shortDesc": "Jerk limit in autonomous modes", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 0, "default": 8.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother motions but limits agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Only used with smooth MPC_POS_MODE Smoothed velocity and Acceleration based.", "max": 500.0, "min": 0.5, "name": "MPC_JERK_MAX", "shortDesc": "Maximum horizontal and vertical jerk in Position/Altitude mode", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to a value between \"MPC_Z_VEL_MAX_DN\" (or \"MPC_Z_V_AUTO_DN\") and \"MPC_LAND_SPEED\" Value needs to be higher than \"MPC_LAND_ALT2\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT1", "shortDesc": "Altitude for 1. step of slow landing (descend)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_SPEED\" Value needs to be lower than \"MPC_LAND_ALT1\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT2", "shortDesc": "Altitude for 2. step of slow landing (landing)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_CRWL\", if LIDAR available. No effect if LIDAR not available", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT3", "shortDesc": "Altitude for 3. step of slow landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.3, "group": "Multicopter Position Control", "longDesc": "Used below MPC_LAND_ALT3 if distance sensor data is availabe.", "min": 0.1, "name": "MPC_LAND_CRWL", "shortDesc": "Land crawl descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 1000.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When nudging is enabled (see MPC_LAND_RC_HELP), this controls the maximum allowed horizontal displacement from the original landing point.", "min": 0.0, "name": "MPC_LAND_RADIUS", "shortDesc": "User assisted landing radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Using stick input the vehicle can be moved horizontally and yawed. The descend speed is amended: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).", "max": 1, "min": 0, "name": "MPC_LAND_RC_HELP", "shortDesc": "Enable nudging based on user input during autonomous land routine", "type": "Int32", "values": [{"description": "Nudging disabled", "value": 0}, {"description": "Nudging enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Multicopter Position Control", "min": 0.6, "name": "MPC_LAND_SPEED", "shortDesc": "Landing descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The value is mapped to the lowest throttle stick position in Stabilized mode. Too low collective thrust leads to loss of roll/pitch/yaw torque control authority. Airmode is used to keep torque authority with zero thrust (see MC_AIRMODE).", "max": 1.0, "min": 0.0, "name": "MPC_MANTHR_MIN", "shortDesc": "Minimum collective thrust in Stabilized mode", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 35.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 70.0, "min": 1.0, "name": "MPC_MAN_TILT_MAX", "shortDesc": "Maximal tilt angle in Stabilized or Altitude mode", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 150.0, "group": "Multicopter Position Control", "increment": 10.0, "max": 400.0, "min": 0.0, "name": "MPC_MAN_Y_MAX", "shortDesc": "Max manual yaw rate for Stabilized, Altitude, Position mode", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Not used in Stabilized mode Setting this parameter to 0 disables the filter", "max": 5.0, "min": 0.0, "name": "MPC_MAN_Y_TAU", "shortDesc": "Manual yaw rate input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "default": 4, "group": "Multicopter Position Control", "longDesc": "The supported sub-modes are: - \"Direct velocity\": Sticks directly map to velocity setpoints without smoothing. Also applies to vertical direction and Altitude mode. Useful for velocity control tuning. - \"Smoothed velocity\": Sticks map to velocity but with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). - \"Acceleration based\": Sticks map to acceleration and there's a virtual brake drag", "name": "MPC_POS_MODE", "shortDesc": "Position/Altitude mode variant", "type": "Int32", "values": [{"description": "Direct velocity", "value": 0}, {"description": "Smoothed velocity", "value": 3}, {"description": "Acceleration based", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "This parameter defines how the throttle stick input is mapped to collective thrust in Stabilized mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, then 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.", "name": "MPC_THR_CURVE", "shortDesc": "Thrust curve mapping in Stabilized Mode", "type": "Int32", "values": [{"description": "Rescale to hover thrust", "value": 0}, {"description": "No Rescale", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Mapped to center throttle stick in Stabilized mode (see MPC_THR_CURVE). Used for initialization of the hover thrust estimator (see MPC_USE_HTE). The estimated hover thrust is used as base for zero vertical acceleration in altitude control. The hover thrust is important for land detection to work correctly.", "max": 0.8, "min": 0.1, "name": "MPC_THR_HOVER", "shortDesc": "Vertical thrust required to hover", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Limit allowed thrust e.g. for indoor test of overpowered vehicle.", "max": 1.0, "min": 0.0, "name": "MPC_THR_MAX", "shortDesc": "Maximum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.12, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Too low thrust leads to loss of roll/pitch/yaw torque control authority. With airmode enabled this parameters can be set to 0 while still keeping torque authority (see MC_AIRMODE).", "max": 0.5, "min": 0.05, "name": "MPC_THR_MIN", "shortDesc": "Minimum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Margin that is kept for horizontal control when higher priority vertical thrust is saturated. To avoid completely starving horizontal control with high vertical error.", "max": 0.5, "min": 0.0, "name": "MPC_THR_XY_MARG", "shortDesc": "Horizontal thrust margin", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity or acceleration controlled modes. Any higher value is truncated.", "max": 89.0, "min": 20.0, "name": "MPC_TILTMAX_AIR", "shortDesc": "Maximum tilt angle in air", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Tighter tilt limit during takeoff to avoid tip over.", "max": 89.0, "min": 5.0, "name": "MPC_TILTMAX_LND", "shortDesc": "Maximum tilt during inital takeoff ramp", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 3.0, "group": "Multicopter Position Control", "longDesc": "Increasing this value will make climb rate controlled takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp", "max": 5.0, "min": 0.0, "name": "MPC_TKO_RAMP_T", "shortDesc": "Smooth takeoff ramp time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.5, "group": "Multicopter Position Control", "max": 5.0, "min": 1.0, "name": "MPC_TKO_SPEED", "shortDesc": "Takeoff climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "Multicopter Position Control", "longDesc": "Disable to use the fixed parameter MPC_THR_HOVER Enable to use the hover thrust estimator", "name": "MPC_USE_HTE", "shortDesc": "Hover thrust estimator", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VELD_LP", "shortDesc": "Velocity derivative low pass cutoff frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_LP", "shortDesc": "Velocity low pass cutoff frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Must be smaller than MPC_XY_VEL_MAX. The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.", "max": 20.0, "min": 3.0, "name": "MPC_VEL_MANUAL", "shortDesc": "Maximum horizontal velocity setpoint in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_BACK", "shortDesc": "Maximum backward velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_SIDE", "shortDesc": "Maximum sideways velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_NF_BW", "shortDesc": "Velocity notch filter bandwidth", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "The center frequency for the 2nd order notch filter on the velocity. A value of 0 disables the filter.", "max": 50.0, "min": 0.0, "name": "MPC_VEL_NF_FRQ", "shortDesc": "Velocity notch filter frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "e.g. in Missions, RTL, Goto if the waypoint does not specify differently", "max": 20.0, "min": 3.0, "name": "MPC_XY_CRUISE", "shortDesc": "Default horizontal velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.", "max": 10.0, "min": 0.1, "name": "MPC_XY_ERR_MAX", "shortDesc": "Maximum horizontal error allowed by the trajectory generator", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_XY_MAN_EXPO", "shortDesc": "Manual position control stick exponential curve sensitivity", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.95, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 2.0, "min": 0.0, "name": "MPC_XY_P", "shortDesc": "Proportional gain for horizontal position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.1, "max": 1.0, "min": 0.1, "name": "MPC_XY_TRAJ_P", "shortDesc": "Proportional gain for horizontal trajectory position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.", "max": 20.0, "min": -20.0, "name": "MPC_XY_VEL_ALL", "shortDesc": "Overall Horizontal Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.1, "name": "MPC_XY_VEL_D_ACC", "shortDesc": "Differential gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as correction acceleration in m/s^2 per m velocity integral Allows to eliminate steady state errors in disturbances like wind.", "max": 60.0, "min": 0.0, "name": "MPC_XY_VEL_I_ACC", "shortDesc": "Integral gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity controlled modes. Any higher value is truncated.", "max": 20.0, "min": 0.0, "name": "MPC_XY_VEL_MAX", "shortDesc": "Maximum horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.8, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 5.0, "min": 1.2, "name": "MPC_XY_VEL_P_ACC", "shortDesc": "Proportional gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_YAW_EXPO", "shortDesc": "Manual control stick yaw rotation exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_Z_MAN_EXPO", "shortDesc": "Manual control stick vertical exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 1.5, "min": 0.1, "name": "MPC_Z_P", "shortDesc": "Proportional gain for vertical position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.", "max": 8.0, "min": -3.0, "name": "MPC_Z_VEL_ALL", "shortDesc": "Overall Vertical Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.0, "name": "MPC_Z_VEL_D_ACC", "shortDesc": "Differential gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m velocity integral", "max": 3.0, "min": 0.2, "name": "MPC_Z_VEL_I_ACC", "shortDesc": "Integral gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 4.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_DN", "shortDesc": "Maximum descent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_UP", "shortDesc": "Maximum ascent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 15.0, "min": 2.0, "name": "MPC_Z_VEL_P_ACC", "shortDesc": "Proportional gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manual modes and offboard, see MPC_Z_VEL_MAX_DN", "max": 4.0, "min": 0.5, "name": "MPC_Z_V_AUTO_DN", "shortDesc": "Descent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manually controlled modes and offboard see MPC_Z_VEL_MAX_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_V_AUTO_UP", "shortDesc": "Ascent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": -0.4, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.", "max": 1.0, "min": -1.0, "name": "SYS_VEHICLE_RESP", "shortDesc": "Responsiveness", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "name": "WV_EN", "shortDesc": "Enable weathervane", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Multicopter Position Control", "max": 5.0, "min": 0.0, "name": "WV_ROLL_MIN", "shortDesc": "Minimum roll angle setpoint for weathervane controller to demand a yaw-rate", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 90.0, "group": "Multicopter Position Control", "max": 120.0, "min": 0.0, "name": "WV_YRATE_MAX", "shortDesc": "Maximum yawrate the weathervane controller is allowed to demand", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_HVEL", "shortDesc": "Default horizontal velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_VVEL", "shortDesc": "Default vertical velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 1.0, "name": "MC_SLOW_DEF_YAWR", "shortDesc": "Default yaw rate limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_HVEL", "shortDesc": "Manual input mapped to scale horizontal velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_VVEL", "shortDesc": "Manual input mapped to scale vertical velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_YAWR", "shortDesc": "Manual input mapped to scale yaw rate in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_HVEL", "shortDesc": "Horizontal velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_VVEL", "shortDesc": "Vertical velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this rate.", "min": 1.0, "name": "MC_SLOW_MIN_YAWR", "shortDesc": "Yaw rate lower limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.", "name": "MC_BAT_SCALE_EN", "shortDesc": "Battery power level scaler", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_PITCHRATE_D", "shortDesc": "Pitch rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_PITCHRATE_FF", "shortDesc": "Pitch rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_PITCHRATE_I", "shortDesc": "Pitch rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_PITCHRATE_K", "shortDesc": "Pitch rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.01, "name": "MC_PITCHRATE_P", "shortDesc": "Pitch rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.", "min": 0.0, "name": "MC_PR_INT_LIM", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "max": 0.01, "min": 0.0, "name": "MC_ROLLRATE_D", "shortDesc": "Roll rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_ROLLRATE_FF", "shortDesc": "Roll rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_ROLLRATE_I", "shortDesc": "Roll rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_ROLLRATE_K", "shortDesc": "Roll rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.5, "min": 0.01, "name": "MC_ROLLRATE_P", "shortDesc": "Roll rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.", "min": 0.0, "name": "MC_RR_INT_LIM", "shortDesc": "Roll rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_YAWRATE_D", "shortDesc": "Yaw rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_YAWRATE_FF", "shortDesc": "Yaw rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_YAWRATE_I", "shortDesc": "Yaw rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.0, "name": "MC_YAWRATE_K", "shortDesc": "Yaw rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.0, "name": "MC_YAWRATE_P", "shortDesc": "Yaw rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.", "min": 0.0, "name": "MC_YR_INT_LIM", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "default": 0, "group": "OSD", "longDesc": "Controls the vertical position of the crosshair display. Resolution is limited by OSD to 15 discrete values. Negative values will display the crosshairs below the horizon", "max": 8, "min": -8, "name": "OSD_CH_HEIGHT", "shortDesc": "OSD Crosshairs Height", "type": "Int32"}, {"category": "Standard", "default": 500, "group": "OSD", "longDesc": "Amount of time in milliseconds to dwell at the beginning of the display, when scrolling.", "max": 10000, "min": 100, "name": "OSD_DWELL_TIME", "shortDesc": "OSD Dwell Time (ms)", "type": "Int32"}, {"category": "Standard", "default": 3, "group": "OSD", "longDesc": "Minimum security of log level to display on the OSD.", "name": "OSD_LOG_LEVEL", "shortDesc": "OSD Warning Level", "type": "Int32"}, {"category": "Standard", "default": 125, "group": "OSD", "longDesc": "Scroll rate in milliseconds for OSD messages longer than available character width. This is lower-bounded by the nominal loop rate of this module.", "max": 1000, "min": 100, "name": "OSD_SCROLL_RATE", "shortDesc": "OSD Scroll Rate (ms)", "type": "Int32"}, {"bitmask": [{"description": "CRAFT_NAME", "index": 0}, {"description": "DISARMED", "index": 1}, {"description": "GPS_LAT", "index": 2}, {"description": "GPS_LON", "index": 3}, {"description": "GPS_SATS", "index": 4}, {"description": "GPS_SPEED", "index": 5}, {"description": "HOME_DIST", "index": 6}, {"description": "HOME_DIR", "index": 7}, {"description": "MAIN_BATT_VOLTAGE", "index": 8}, {"description": "CURRENT_DRAW", "index": 9}, {"description": "MAH_DRAWN", "index": 10}, {"description": "RSSI_VALUE", "index": 11}, {"description": "ALTITUDE", "index": 12}, {"description": "NUMERICAL_VARIO", "index": 13}, {"description": "(unused) FLYMODE", "index": 14}, {"description": "(unused) ESC_TMP", "index": 15}, {"description": "(unused) PITCH_ANGLE", "index": 16}, {"description": "(unused) ROLL_ANGLE", "index": 17}, {"description": "CROSSHAIRS", "index": 18}, {"description": "AVG_CELL_VOLTAGE", "index": 19}, {"description": "(unused) HORIZON_SIDEBARS", "index": 20}, {"description": "POWER", "index": 21}], "category": "Standard", "default": 16383, "group": "OSD", "longDesc": "Configure / toggle support display options.", "max": 4194303, "min": 0, "name": "OSD_SYMBOLS", "shortDesc": "OSD Symbol Selection", "type": "Int32"}, {"category": "Standard", "default": 0.0, "group": "PWM Outputs", "longDesc": "Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.", "min": 0.0, "name": "MOT_SLEW_MAX", "shortDesc": "Minimum motor rise time (slew rate limit)", "type": "Float", "units": "s/(1000*PWM)"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "PWM Outputs", "increment": 0.1, "longDesc": "Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.", "max": 1.0, "min": 0.0, "name": "THR_MDL_FAC", "shortDesc": "Thrust to motor control signal model parameter", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "name": "PD_GRIPPER_EN", "rebootRequired": true, "shortDesc": "Enable Gripper actuation in Payload Deliverer", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 3.0, "group": "Payload Deliverer", "longDesc": "Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action", "min": 0.0, "name": "PD_GRIPPER_TO", "shortDesc": "Timeout for successful gripper actuation acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "max": 0, "min": -1, "name": "PD_GRIPPER_TYPE", "shortDesc": "Type of Gripper (Servo, etc.)", "type": "Int32", "values": [{"description": "Undefined", "value": -1}, {"description": "Servo", "value": 0}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Precision Land", "increment": 0.5, "longDesc": "Time after which the landing target is considered lost without any new measurements.", "max": 50.0, "min": 0.0, "name": "PLD_BTOUT", "shortDesc": "Landing Target Timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Precision Land", "increment": 0.1, "longDesc": "Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.", "max": 10.0, "min": 0.0, "name": "PLD_FAPPR_ALT", "shortDesc": "Final approach altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Precision Land", "increment": 0.1, "longDesc": "Start descending if closer above landing target than this.", "max": 10.0, "min": 0.0, "name": "PLD_HACC_RAD", "shortDesc": "Horizontal acceptance radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 3, "group": "Precision Land", "longDesc": "Maximum number of times to search for the landing target if it is lost during the precision landing.", "max": 100, "min": 0, "name": "PLD_MAX_SRCH", "shortDesc": "Maximum number of search attempts", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Altitude above home to which to climb when searching for the landing target.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_ALT", "shortDesc": "Search altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Time allowed to search for the landing target before falling back to normal landing.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_TOUT", "shortDesc": "Search timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Pure Pursuit", "increment": 0.01, "longDesc": "Lower value -> More aggressive controller (beware overshoot/oscillations)", "max": 100.0, "min": 0.1, "name": "PP_LOOKAHD_GAIN", "shortDesc": "Tuning parameter for the pure pursuit controller", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "Pure Pursuit", "increment": 0.01, "max": 100.0, "min": 0.1, "name": "PP_LOOKAHD_MAX", "shortDesc": "Maximum lookahead distance for the pure pursuit controller", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Pure Pursuit", "increment": 0.01, "max": 100.0, "min": 0.1, "name": "PP_LOOKAHD_MIN", "shortDesc": "Minimum lookahead distance for the pure pursuit controller", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC10_DZ", "shortDesc": "RC channel 10 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC10_MAX", "shortDesc": "RC channel 10 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC10_MIN", "shortDesc": "RC channel 10 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC10_REV", "shortDesc": "RC channel 10 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC10_TRIM", "shortDesc": "RC channel 10 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC11_DZ", "shortDesc": "RC channel 11 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC11_MAX", "shortDesc": "RC channel 11 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC11_MIN", "shortDesc": "RC channel 11 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC11_REV", "shortDesc": "RC channel 11 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC11_TRIM", "shortDesc": "RC channel 11 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC12_DZ", "shortDesc": "RC channel 12 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC12_MAX", "shortDesc": "RC channel 12 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC12_MIN", "shortDesc": "RC channel 12 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC12_REV", "shortDesc": "RC channel 12 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC12_TRIM", "shortDesc": "RC channel 12 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC13_DZ", "shortDesc": "RC channel 13 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC13_MAX", "shortDesc": "RC channel 13 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC13_MIN", "shortDesc": "RC channel 13 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC13_REV", "shortDesc": "RC channel 13 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC13_TRIM", "shortDesc": "RC channel 13 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC14_DZ", "shortDesc": "RC channel 14 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC14_MAX", "shortDesc": "RC channel 14 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC14_MIN", "shortDesc": "RC channel 14 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC14_REV", "shortDesc": "RC channel 14 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC14_TRIM", "shortDesc": "RC channel 14 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC15_DZ", "shortDesc": "RC channel 15 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC15_MAX", "shortDesc": "RC channel 15 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC15_MIN", "shortDesc": "RC channel 15 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC15_REV", "shortDesc": "RC channel 15 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC15_TRIM", "shortDesc": "RC channel 15 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC16_DZ", "shortDesc": "RC channel 16 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC16_MAX", "shortDesc": "RC channel 16 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC16_MIN", "shortDesc": "RC channel 16 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC16_REV", "shortDesc": "RC channel 16 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC16_TRIM", "shortDesc": "RC channel 16 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC17_DZ", "shortDesc": "RC channel 17 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC17_MAX", "shortDesc": "RC channel 17 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC17_MIN", "shortDesc": "RC channel 17 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC17_REV", "shortDesc": "RC channel 17 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC17_TRIM", "shortDesc": "RC channel 17 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC18_DZ", "shortDesc": "RC channel 18 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC18_MAX", "shortDesc": "RC channel 18 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC18_MIN", "shortDesc": "RC channel 18 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC18_REV", "shortDesc": "RC channel 18 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC18_TRIM", "shortDesc": "RC channel 18 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC1_DZ", "shortDesc": "RC channel 1 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for RC channel 1", "max": 2200.0, "min": 1500.0, "name": "RC1_MAX", "shortDesc": "RC channel 1 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for RC channel 1", "max": 1500.0, "min": 800.0, "name": "RC1_MIN", "shortDesc": "RC channel 1 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC1_REV", "shortDesc": "RC channel 1 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC1_TRIM", "shortDesc": "RC channel 1 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC2_DZ", "shortDesc": "RC channel 2 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC2_MAX", "shortDesc": "RC channel 2 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC2_MIN", "shortDesc": "RC channel 2 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC2_REV", "shortDesc": "RC channel 2 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC2_TRIM", "shortDesc": "RC channel 2 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC3_DZ", "shortDesc": "RC channel 3 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC3_MAX", "shortDesc": "RC channel 3 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC3_MIN", "shortDesc": "RC channel 3 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC3_REV", "shortDesc": "RC channel 3 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC3_TRIM", "shortDesc": "RC channel 3 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC4_DZ", "shortDesc": "RC channel 4 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC4_MAX", "shortDesc": "RC channel 4 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC4_MIN", "shortDesc": "RC channel 4 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC4_REV", "shortDesc": "RC channel 4 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC4_TRIM", "shortDesc": "RC channel 4 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC5_DZ", "shortDesc": "RC channel 5 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC5_MAX", "shortDesc": "RC channel 5 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC5_MIN", "shortDesc": "RC channel 5 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC5_REV", "shortDesc": "RC channel 5 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC5_TRIM", "shortDesc": "RC channel 5 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC6_DZ", "shortDesc": "RC channel 6 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC6_MAX", "shortDesc": "RC channel 6 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC6_MIN", "shortDesc": "RC channel 6 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC6_REV", "shortDesc": "RC channel 6 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC6_TRIM", "shortDesc": "RC channel 6 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC7_DZ", "shortDesc": "RC channel 7 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC7_MAX", "shortDesc": "RC channel 7 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC7_MIN", "shortDesc": "RC channel 7 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC7_REV", "shortDesc": "RC channel 7 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC7_TRIM", "shortDesc": "RC channel 7 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC8_DZ", "shortDesc": "RC channel 8 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC8_MAX", "shortDesc": "RC channel 8 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC8_MIN", "shortDesc": "RC channel 8 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC8_REV", "shortDesc": "RC channel 8 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC8_TRIM", "shortDesc": "RC channel 8 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC9_DZ", "shortDesc": "RC channel 9 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC9_MAX", "shortDesc": "RC channel 9 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC9_MIN", "shortDesc": "RC channel 9 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC9_REV", "shortDesc": "RC channel 9 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC9_TRIM", "shortDesc": "RC channel 9 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.", "max": 18, "min": 0, "name": "RC_CHAN_CNT", "shortDesc": "RC channel count", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).", "max": 2200, "min": 0, "name": "RC_FAILS_THR", "shortDesc": "Failsafe channel PWM threshold", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera pitch", "max": 18, "min": 0, "name": "RC_MAP_AUX1", "shortDesc": "AUX1 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera roll", "max": 18, "min": 0, "name": "RC_MAP_AUX2", "shortDesc": "AUX2 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera azimuth / yaw", "max": 18, "min": 0, "name": "RC_MAP_AUX3", "shortDesc": "AUX3 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX4", "shortDesc": "AUX4 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX5", "shortDesc": "AUX5 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX6", "shortDesc": "AUX6 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_ENG_MOT", "shortDesc": "RC channel to engage the main motor (for helicopters)", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.", "max": 18, "min": 0, "name": "RC_MAP_FAILSAFE", "shortDesc": "Failsafe channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM1", "shortDesc": "PARAM1 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM2", "shortDesc": "PARAM2 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM3", "shortDesc": "PARAM3 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_PITCH", "shortDesc": "Pitch control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_ROLL", "shortDesc": "Roll control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_THROTTLE", "shortDesc": "Throttle control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_YAW", "shortDesc": "Yaw control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.", "max": 18, "min": 0, "name": "RC_RSSI_PWM_CHAN", "shortDesc": "PWM input channel that provides RSSI", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 2000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MAX", "shortDesc": "Max input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MIN", "shortDesc": "Min input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_PITCH", "shortDesc": "Pitch trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_ROLL", "shortDesc": "Roll trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_YAW", "shortDesc": "Yaw trim", "type": "Float"}, {"category": "Standard", "default": 0.75, "group": "Radio Switches", "longDesc": "0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channel
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8784,6 +8785,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9409,20 +9417,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9770,34 +9778,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10620,6 +10600,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10648,6 +10684,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11101,19 +11144,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11905,13 +11949,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11990,7 +12027,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -12004,7 +12041,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12018,14 +12055,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12046,7 +12083,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12071,14 +12108,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12255,7 +12292,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12265,7 +12302,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12649,35 +12686,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12691,7 +12728,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12705,14 +12742,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?]
-1.0
@@ -12726,21 +12763,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12754,42 +12791,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12810,28 +12847,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -16319,14 +16356,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -17842,6 +17879,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19593,13 +19637,6 @@ table {
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19609,8 +19646,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19635,6 +19672,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19649,24 +19700,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -23613,7 +23671,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23766,7 +23824,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23801,6 +23859,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
@@ -23822,6 +23922,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -24318,22 +24439,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
diff --git a/ru/advanced_config/prearm_arm_disarm.md b/ru/advanced_config/prearm_arm_disarm.md
index 9f3c9ed3599c..da88af6f7368 100644
--- a/ru/advanced_config/prearm_arm_disarm.md
+++ b/ru/advanced_config/prearm_arm_disarm.md
@@ -32,16 +32,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## Arming Gesture
+## Arming/Disarming Gestures {#arm_disarm_gestures}
By default, the vehicle is armed and disarmed by moving RC throttle/yaw sticks to particular extremes and holding them for 1 second.
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -50,15 +48,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
-
-| Parameter | Description |
-| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| Parameter | Description |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures). The button should be held down for ([nominally](#COM_RC_ARM_HYST)) one second to arm (when disarmed) or disarm (when armed).
@@ -89,16 +87,16 @@ By default vehicles will automatically disarm on landing, or if you take too lon
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/ru/airframes/airframe_reference.md b/ru/airframes/airframe_reference.md
index fb98911fbb0e..c25006165d63 100644
--- a/ru/airframes/airframe_reference.md
+++ b/ru/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/ru/assembly/_assembly.md b/ru/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/ru/assembly/_assembly.md
+++ b/ru/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/ru/assembly/assembly_fw.md b/ru/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/ru/assembly/assembly_fw.md
+++ b/ru/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/ru/assembly/assembly_mc.md b/ru/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/ru/assembly/assembly_mc.md
+++ b/ru/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/ru/assembly/assembly_vtol.md b/ru/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/ru/assembly/assembly_vtol.md
+++ b/ru/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/ru/can/index.md b/ru/can/index.md
index fa45eaa14488..cdaf5e392740 100644
--- a/ru/can/index.md
+++ b/ru/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/ru/complete_vehicles_mc/betafpv_beta75x.md b/ru/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/ru/complete_vehicles_mc/betafpv_beta75x.md
+++ b/ru/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/ru/complete_vehicles_mc/crazyflie2.md b/ru/complete_vehicles_mc/crazyflie2.md
index b73077a8283d..1aaa6679ea90 100644
--- a/ru/complete_vehicles_mc/crazyflie2.md
+++ b/ru/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/ru/complete_vehicles_mc/crazyflie21.md b/ru/complete_vehicles_mc/crazyflie21.md
index 99e211363dd8..d805a563eaca 100644
--- a/ru/complete_vehicles_mc/crazyflie21.md
+++ b/ru/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/ru/complete_vehicles_mc/nanomind110.md b/ru/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/ru/complete_vehicles_mc/nanomind110.md
+++ b/ru/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/ru/computer_vision/collision_prevention.md b/ru/computer_vision/collision_prevention.md
index fc19a6267437..edec94bae012 100644
--- a/ru/computer_vision/collision_prevention.md
+++ b/ru/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Set to 1 to allow the vehicle to move in directions where there is no sensor coverage (default is 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
## Algorithm Description
The data from all sensors are fused into an internal representation of 36 sectors around the vehicle, each containing either the sensor data and information about when it was last observed, or an indication that no data for the sector was available. When the vehicle is commanded to move in a particular direction, all sectors in the hemisphere of that direction are checked to see if the movement will bring the vehicle closer to any obstacles. If so, the vehicle velocity is restricted.
@@ -56,8 +54,6 @@ Delay, both in the vehicle tracking velocity setpoints and in receiving sensor d
If the sectors adjacent to the commanded sectors are 'better' by a significant margin, the direction of the requested input can be modified by up to the angle specified in [CP_GUIDE_ANG](#CP_GUIDE_ANG). This helps to fine-tune user input to 'guide' the vehicle around obstacles rather than getting stuck against them.
-
-
### Range Data Loss
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. This will force the velocity setpoints in xy to zero. After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -68,9 +64,7 @@ If you have multiple sensors connected and you lose connection to one of them, y
Be careful when enabling [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), which allows the vehicle to fly outside the area with sensor coverage. If you lose connection to one of multiple sensors, the area covered by the faulty sensor is also treated as uncovered and you will be able to move there without constraint.
:::
-
-
-### CP_DELAY Delay Tuning
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. Both sources of delay are tuned using the [CP_DELAY](#CP_DELAY) parameter.
@@ -82,9 +76,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
If vehicle speed oscillates as it approaches the obstacle (i.e. it slows down, speeds up, slows down) the delay is set too high.
:::
-
-
-### CP_GUIDE_ANG Guidance Tuning
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Depending on the vehicle, type of environment and pilot skill different amounts of guidance may be desired. Setting the [CP_GUIDE_ANG](#CP_GUIDE_ANG) parameter to 0 will disable the guidance, resulting in the vehicle only moving exactly in the directions commanded. Increasing this parameter will let the vehicle choose optimal directions to avoid obstacles, making it easier to fly through tight gaps and to keep the minimum distance exactly while going around objects.
@@ -95,9 +87,7 @@ The guidance feature will never direct the vehicle in a direction without sensor
If the vehicle feels 'stuck' with only a single distance sensor pointing forwards, this is probably because the guidance cannot safely adapt the direction due to lack of information.
:::
-
-
-## PX4 Distance Sensor
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -145,9 +135,7 @@ Other sensors may be enabled, but this requires modification of driver code to s
You can see the required modifications from the [feature PR](https://github.com/PX4/PX4-Autopilot/pull/12179). Please contribute back your changes!
:::
-
-
-## Companion Setup
+## Companion Setup {#companion}
If using a companion computer or external sensor, it needs to supply a stream of [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) messages, which should reflect when and where obstacle were detected.
@@ -162,9 +150,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo. In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo Setup
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/ru/computer_vision/obstacle_avoidance.md b/ru/computer_vision/obstacle_avoidance.md
index 6711cb66ea32..43bdcd05ba62 100644
--- a/ru/computer_vision/obstacle_avoidance.md
+++ b/ru/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
Obstacle avoidance is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
::: info `COM_OBS_AVOID` also enables [Safe Landing](../computer_vision/safe_landing.md) and any other features that use the PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
:::
diff --git a/ru/computer_vision/path_planning_interface.md b/ru/computer_vision/path_planning_interface.md
index 736d5d6072f6..c0c75d975eb9 100644
--- a/ru/computer_vision/path_planning_interface.md
+++ b/ru/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# Path Planning Interface
-PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including obstacle avoidance in missions, [safe landing](../computer_vision/safe_landing.md), and future services):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
+
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_. May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve. The curve indicates the (moving) position setpoint of the vehicle over a given time period.
+
- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) and [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) send the vehicle local position and altitude, respectively.
Path planning is enabled on PX4 in automatic modes (landing, takeoff, hold, mission, return) if [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID). In these modes planning software is expected to supply setpoints to PX4; if the software cannot support a particular flight mode it must mirror back setpoints from the vehicle.
diff --git a/ru/computer_vision/safe_landing.md b/ru/computer_vision/safe_landing.md
index 023b80ec8e70..5ac188217e5e 100644
--- a/ru/computer_vision/safe_landing.md
+++ b/ru/computer_vision/safe_landing.md
@@ -32,9 +32,7 @@ This covers the common setup for obstacle avoidance and collision prevention, an
The configuration information includes, among other things, how to set up safe landing for different cameras, sizes of vehicles, and the height at which the decision to land or not is taken.
-
-
-## Safe Landing Interface
+## Safe Landing Interface {#interface}
PX4 uses the [Path Planning Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
diff --git a/ru/concept/flight_tasks.md b/ru/concept/flight_tasks.md
index c801f94f5a6a..394653b5cb39 100644
--- a/ru/concept/flight_tasks.md
+++ b/ru/concept/flight_tasks.md
@@ -172,10 +172,14 @@ The following videos provide an overview of flight tasks in PX4. The first cover
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/tr/config/autotune.md b/ru/config/_autotune.md
similarity index 56%
rename from tr/config/autotune.md
rename to ru/config/_autotune.md
index 026513a2fbf2..f5f8cfb93dba 100644
--- a/tr/config/autotune.md
+++ b/ru/config/_autotune.md
@@ -1,6 +1,20 @@
-# Auto-tuning
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
-Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+# Auto-tuning (Fixed-Wing)
+
+
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
@@ -8,56 +22,58 @@ Tuning only needs to be done once, and is recommended unless you're using a vehi
Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Pre-tuning Test
The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
The test steps are:
1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
1. Enable autotune.
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,60 +82,99 @@ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-win
1. Read the warning popup and click on **OK** to start tuning.
1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Troubleshooting
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
+### Drone oscillates when performing the pre-tuning test
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
-#### The auto-tuning sequence fails
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
-#### The drone oscillates after auto-tuning
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-#### I still can't get it to work
+
+
-Attempt manual tuning using the appropriate guides:
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
+
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### The drone oscillates after auto-tuning
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### I still can't get it to work
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
+
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+- `2`: apply immediately (default for fixed-wings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+
+
-### Enable/Disable Autotune Switch (Fixed-Wing)
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -127,11 +182,11 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
@@ -139,6 +194,8 @@ Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES
- bit `1`: pitch (default)
- bit `2`: yaw
+
+
## Developers/SDKs
Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
@@ -162,7 +219,7 @@ Automatic tuning works well for the multicopter and fixed-wing vehicle configura
The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
### FAQ
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
+
+
## See also
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/ru/config/autotune_fw.md b/ru/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/ru/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ru/config/autotune_mc.md b/ru/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/ru/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/ru/config/autotune_vtol.md b/ru/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/ru/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/ru/config/battery.md b/ru/config/battery.md
index 4783912a56ec..b6e0dcbf4f50 100644
--- a/ru/config/battery.md
+++ b/ru/config/battery.md
@@ -135,7 +135,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
This setting corresponds to parameter(s): [BAT1_A_PER_V](../advanced_config/parameter_reference.md#BAT1_A_PER_V) and [BAT2_A_PER_V](../advanced_config/parameter_reference.md#BAT2_A_PER_V).
:::
-If you are using [Current-based Load Compensation](#current_based_load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -146,71 +146,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## Voltage-based Estimation with Load Compensation
-::: info
-With well configured load compensation the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-:::
-
-Load compensation attempts to counteract the fluctuation in measured voltage/estimated capacity under load that occur when using the [basic configuration](#basic_settings). This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-::: info To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 supports two load compensation methods, which are enabled by [setting](../advanced_config/parameters.md) either of the two parameters below:
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Current-based Load Compensation](#current_based_load_compensation) (recommended).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Thrust-based Load Compensation](#thrust_based_load_compensation).
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-### Current-based Load Compensation (recommended)
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-This load compensation method relies on current measurement to determine load. It is far more accurate than [Thrust-based Load Compensation](#thrust_based_load_compensation) but requires that you have a current sensor.
-
-To enable this feature:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-There are LiPo chargers out there which can measure the internal resistance of your battery.
-A typical value is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-1. You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-
-
-
-### Thrust-based Load Compensation
-
-This load compensation method estimates the load based on the total thrust that gets commanded to the motors.
-
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. Use [Current-based Load Compensation](#current_based_load_compensation) instead if your vehicle has a current sensor.
-:::
-
-To enable this feature:
-
-1. Set the parameter [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) to how much voltage drop a cell shows under the load of full throttle.
-
## Voltage-based Estimation Fused with Current Integration
-::: info
-This is the most accurate way to measure relative battery consumption.
-If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-:::
+This method is the most accurate way to measure relative battery consumption. If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
To enable this feature:
-1. First set up accurate voltage estimation using [current-based load compensation](#current_based_load_compensation).
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Including calibrating the [Amps per volt divider](#current_divider) setting.
:::
-1. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
+2. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
::: info
Do not set this value too high as this may result in a poor estimation or sudden drops in estimated capacity.
diff --git a/ru/config/flight_mode.md b/ru/config/flight_mode.md
index 71edd117e508..a8c775e44b54 100644
--- a/ru/config/flight_mode.md
+++ b/ru/config/flight_mode.md
@@ -82,7 +82,7 @@ Most transmitters do not have 6-way switches, so if you need to be able to suppo
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/ru/config/index.md b/ru/config/index.md
index 9f4250c058a7..a1215d544edb 100644
--- a/ru/config/index.md
+++ b/ru/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Video Guide
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/ru/config/safety.md b/ru/config/safety.md
index 85cb195ed893..6e0679749d82 100644
--- a/ru/config/safety.md
+++ b/ru/config/safety.md
@@ -2,9 +2,15 @@
PX4 has a number of safety features to protect and recover your vehicle if something goes wrong:
-- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](#other-safety-settings).
+- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](../advanced_config/parameters.md).
- [Safety switches](#emergency-switches) on the remote control can be used to immediately stop motors or return the vehicle in the event of a problem.
+## QGroundControl Safety Setup
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Failsafe Actions
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action. This gives the user time to notice what is happening and override the failsafe if needed. In most cases this can be done by using RC or a GCS to switch modes (note that during the failsafe-hold, moving the RC sticks does not trigger an override).
@@ -27,32 +33,67 @@ If multiple failsafes are triggered, the more severe action is taken. For exampl
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl Safety Setup
+### Return Mode Settings
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
-### Low Battery Failsafe
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+### Land Mode Settings
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`). With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
+
+| Setting | Parameter | Description |
+| ------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
+| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
+| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
+| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+
+### Flight Time Failsafes
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| Setting | Parameter | Description |
-| ----------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below [Battery Failsafe Level](#BAT_CRIT_THR), OR Warn, then return, then land based on each of the level settings below. |
-| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
-| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
-| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+| Setting | Parameter | Description |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,12 +108,12 @@ Additional (and underlying) parameter settings are shown below.
| Parameter | Setting | Description |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Failsafe Action | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### Data Link Loss Failsafe
+## Data Link Loss Failsafe
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -85,7 +126,7 @@ The settings and underlying parameters are shown below.
| Data Link Loss Timeout | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Amount of time after losing the data connection before the failsafe will trigger. |
| Failsafe Action | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence Failsafe
+## Geofence Failsafe
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -113,46 +154,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| Circuit breaker for flight termination | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Enables/Disables flight termination action (disabled by default). |
-### Return Mode Settings
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| Climb to altitude | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Vehicle ascend to this minimum height (if below it) for the return flight. |
-| Return behaviour | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| Loiter Altitude | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | If return with loiter is selected you can also specify the altitude at which the vehicle hold. |
-| Loiter Time | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | If return with loiter then land is selected you can also specify how long the vehicle will hold. |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). If negative the vehicle will land immediately. Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
+## Position (GNSS) Loss Failsafe
-### Land Mode Settings
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). This section shows how to control when and if the vehicle automatically disarms after landing. For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Disarm After | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Select checkbox to specify that the vehicle will disarm after landing. The value must be non-zero but can be a fraction of a second. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## Other Failsafe Settings
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### Position (GPS) Loss Failsafe
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -175,9 +179,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). Set to 0 to disable. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Fixed roll/bank angle while circling. |
-### Offboard Loss Failsafe
+## Offboard Loss Failsafe
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -186,13 +190,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Delay after loss of offboard connection before the failsafe is triggered. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Traffic Avoidance Failsafe
+## Traffic Avoidance Failsafe
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -202,7 +200,7 @@ The relevant parameters are shown below:
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Set the failsafe action: Disabled, Warn, Return mode, Land mode. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Failure Detector
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -260,6 +268,12 @@ The [failure detector](#failure-detector), if [enabled](#CBRK_FLIGHTTERM), can a
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Enable PWM input on AUX5 or MAIN5 (depending on board) for engaging failsafe from an external automatic trigger system (ATS). Default: Disabled. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | The PWM threshold from external automatic trigger system for engaging failsafe. Default: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Emergency Switches
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -298,9 +312,11 @@ For modes that do not support disarming in flight, the switch is ignored during
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## Other Safety Settings
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Auto-disarming Timeouts
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -311,6 +327,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Timeout for auto-disarm after landing. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Timeout for auto disarm if vehicle is too slow to takeoff. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Further Information
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/ru/config_fw/index.md b/ru/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/ru/config_fw/index.md
+++ b/ru/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/ru/config_fw/pid_tuning_guide_fixedwing.md b/ru/config_fw/pid_tuning_guide_fixedwing.md
index bd30b9370ac6..1e78cfd0b940 100644
--- a/ru/config_fw/pid_tuning_guide_fixedwing.md
+++ b/ru/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
-::: info [Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
## Preconditions
diff --git a/ru/config_mc/index.md b/ru/config_mc/index.md
index dc7de0f13327..6dbdb801881c 100644
--- a/ru/config_mc/index.md
+++ b/ru/config_mc/index.md
@@ -102,16 +102,19 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/ru/config_mc/pid_tuning_guide_multicopter.md b/ru/config_mc/pid_tuning_guide_multicopter.md
index 44eb729108a7..488d449f6ad6 100644
--- a/ru/config_mc/pid_tuning_guide_multicopter.md
+++ b/ru/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
This topic provides detailed information about PX4 controllers, and how they are tuned.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles *around the hover thrust point*, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
:::
Use this topic when tuning around the hover thrust point is not sufficient (e.g. on vehicles where there are non-linearities and oscillations at higher thrusts). It is also useful for a deeper understanding of how the basic tuning works, and to understand how to use the [airmode](#airmode-mixer-saturation) setting.
diff --git a/ru/config_mc/pid_tuning_guide_multicopter_basic.md b/ru/config_mc/pid_tuning_guide_multicopter_basic.md
index 873a40c1e79c..d4f5b5c0058f 100644
--- a/ru/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/ru/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. Tuning is recommended for all new vehicle setups to get the _very best_ performance, because relatively small hardware and assembly changes can affect the gains required tuning gains for optimal flight. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/ru/contribute/docs.md b/ru/contribute/docs.md
index c1499b95ee0d..ed6b60645d25 100644
--- a/ru/contribute/docs.md
+++ b/ru/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## Where Do I Add Changes?
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/ru/debug/gdb_hardfault.md b/ru/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/ru/debug/gdb_hardfault.md
+++ b/ru/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/ru/dev_airframes/adding_a_new_frame.md b/ru/dev_airframes/adding_a_new_frame.md
index 56b27684dfd5..3e9e15877008 100644
--- a/ru/dev_airframes/adding_a_new_frame.md
+++ b/ru/dev_airframes/adding_a_new_frame.md
@@ -302,10 +302,9 @@ If the airframe is for a **new group** you additionally need to:
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/ru/dev_setup/building_px4.md b/ru/dev_setup/building_px4.md
index 7cd85b93149d..2229b0c98d99 100644
--- a/ru/dev_setup/building_px4.md
+++ b/ru/dev_setup/building_px4.md
@@ -184,7 +184,7 @@ The `region 'flash' overflowed by XXXX bytes` error indicates that the firmware
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. In this case, install the version specified in the [Developer Toolchain](../dev_setup/dev_env.md) instructions.
-If building your own branch, it is possibly you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
### macOS: Too many open files error
diff --git a/ru/dev_setup/dev_env_linux_ubuntu.md b/ru/dev_setup/dev_env_linux_ubuntu.md
index c48b5e172abb..b948b99190ca 100644
--- a/ru/dev_setup/dev_env_linux_ubuntu.md
+++ b/ru/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/ru/dev_setup/dev_env_mac.md b/ru/dev_setup/dev_env_mac.md
index 7994fe0a4788..90244685405b 100644
--- a/ru/dev_setup/dev_env_mac.md
+++ b/ru/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@ This setup is supported by the PX4 dev team. To build other targets you will nee
## Video Guide
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/ru/dev_setup/qtcreator.md b/ru/dev_setup/qtcreator.md
index a3fe1c337d01..0a81d4b57fd7 100644
--- a/ru/dev_setup/qtcreator.md
+++ b/ru/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/ru/dronecan/ark_flow.md b/ru/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/ru/dronecan/ark_flow.md
+++ b/ru/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/ru/dronecan/escs.md b/ru/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/ru/dronecan/escs.md
+++ b/ru/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/ru/dronecan/index.md b/ru/dronecan/index.md
index 4f819530a620..7289f73e7ac8 100644
--- a/ru/dronecan/index.md
+++ b/ru/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/ru/dronecan/raccoonlab_nodes.md b/ru/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/ru/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ru/dronecan/raccoonlab_power.md b/ru/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/ru/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/ru/dronecan/sapog.md b/ru/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/ru/dronecan/sapog.md
+++ b/ru/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/ru/features_mc/index.md b/ru/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/ru/features_mc/index.md
+++ b/ru/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/ru/flight_controller/airlink.md b/ru/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/ru/flight_controller/airlink.md
+++ b/ru/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/ru/flight_controller/autopilot_pixhawk_standard.md b/ru/flight_controller/autopilot_pixhawk_standard.md
index 9e869fb12caf..d4a669b71595 100644
--- a/ru/flight_controller/autopilot_pixhawk_standard.md
+++ b/ru/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/ru/flight_controller/index.md b/ru/flight_controller/index.md
index 46a4d66b65bd..29fc1ebeb618 100644
--- a/ru/flight_controller/index.md
+++ b/ru/flight_controller/index.md
@@ -32,6 +32,7 @@ PX4-compatible flight controllers documented in this library are listed below. T
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Manufacturer-Supported Autopilots](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/ru/flight_controller/pixhawk.md b/ru/flight_controller/pixhawk.md
index 7d1dc518ff5d..921c5f72df26 100644
--- a/ru/flight_controller/pixhawk.md
+++ b/ru/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/ru/flight_controller/raccoonlab_fmu6x.md b/ru/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/ru/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/ru/flight_modes_fw/acro.md b/ru/flight_modes_fw/acro.md
index 575e2dc21d36..2e7793f0f0ca 100644
--- a/ru/flight_modes_fw/acro.md
+++ b/ru/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ Roll-pitch-yaw stick inputs are translated to angular rate commands that are sta
## Parameters
-| Parameter | Description |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/ru/flight_modes_fw/takeoff.md b/ru/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/ru/flight_modes_fw/takeoff.md
+++ b/ru/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/ru/flight_modes_mc/follow_me.md b/ru/flight_modes_mc/follow_me.md
index e04599a7f8d4..1aa51d870f80 100644
--- a/ru/flight_modes_mc/follow_me.md
+++ b/ru/flight_modes_mc/follow_me.md
@@ -42,9 +42,9 @@ Users can adjust the follow angle, height and distance using an RC controller as
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode. If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
@@ -149,7 +149,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## Known Issues
diff --git a/ru/flight_modes_mc/mission.md b/ru/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/ru/flight_modes_mc/mission.md
+++ b/ru/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/ru/flight_modes_mc/position.md b/ru/flight_modes_mc/position.md
index 4b845369ec13..5f390d035389 100644
--- a/ru/flight_modes_mc/position.md
+++ b/ru/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
-Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
+Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/ru/flight_modes_rover/index.md b/ru/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/ru/flight_modes_rover/index.md
+++ b/ru/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/ru/flying/pre_flight_checks.md b/ru/flying/pre_flight_checks.md
index 0226bef4fddc..20bdb783865f 100644
--- a/ru/flying/pre_flight_checks.md
+++ b/ru/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# Preflight Sensor/Estimator Checks
+# QGroundControl Flight-Readiness Status
-PX4 performs a number of preflight sensor quality and estimator checks to determine if there is a good enough position estimate to arm and fly the vehicle (these checks are controlled by the [COM*ARM*](../advanced_config/parameter_reference.md#commander) parameters).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Any preflight errors are reported in *QGroundControl* as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) also shows which GPS quality checks are failing.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-The sections below list the errors, their likely causes and solutions, and any parameters that affect how the preflight checks are run.
+## Flight Readiness Status
-## EKF Preflight Checks/Errors
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-The following errors (with associated checks and parameters) are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* This error is produced when the IMU and height measurement data are inconsistent.
-* Perform an accel and gyro calibration and restart the vehicle. If the error persists, check the height sensor data for problems.
-* The check is controlled by the [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) parameter.
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* This error is produced when the IMU and GPS velocity measurement data are inconsistent.
-* Check the GPS velocity data for un-realistic data jumps. If GPS quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) parameter.
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* This error is produced when the IMU and position measurement data (either GPS or external vision) are inconsistent.
-* Check the position sensor data for un-realistic data jumps. If data quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) parameter.
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF Preflight Checks/Errors
-* This error is produced when the yaw angle estimated using gyro data and the yaw angle from the magnetometer or external vision system are inconsistent.
-* Check the IMU data for large yaw rate offsets and check the magnetometer alignment and calibration.
-* The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-* The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-* It can fail if the yaw gyro has a large offset or if the vehicle is moved or rotated in the presence of a bad magnetic interference or magnetometer calibration.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ The following errors (with associated checks and parameters) are reported by the
-The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on (“turn-on bias”) and over time due to noise and temperature differences (“in-run bias”). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
+The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
The warning indicates that the bias is higher than some arbitrary threshold (the vehicle will not be allowed to take off). It is most likely a sign that accelerometer or thermal calibration are required:
@@ -65,45 +73,43 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected “in-run bias” of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
-
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* This error is produced when the IMU gyro bias estimated by the EKF is excessive.
-* Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
+- This error is produced when the IMU gyro bias estimated by the EKF is excessive.
+- Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the acceleration measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
+- This error message is produced when the acceleration measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the angular rate measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
+- This error message is produced when the angular rate measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the difference in measurements from different compass sensors is too great.
-* It indicates bad calibration, orientation or magnetic interference.
-* This check only applies to when more than one compass/magnetometer is connected.
-* The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
+- This error message is produced when the difference in measurements from different compass sensors is too great.
+- It indicates bad calibration, orientation or magnetic interference.
+- This check only applies to when more than one compass/magnetometer is connected.
+- The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
-* Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
- * IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
- * Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
- * Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
- * Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
-
+- This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
+- Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
+ - IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
+ - Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
+ - Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
+ - Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
## Other Parameters
@@ -112,6 +118,6 @@ The following parameters also affect preflight checks.
#### COM_ARM_WO_GPS
The [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) parameter controls whether or not arming is allowed without a global position estimate.
-- `1` (default): Arming *is* allowed without a position estimate for flight modes that do not require position information (only).
-- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
diff --git a/ru/frames_autogyro/thunderfly_auto_g2.md b/ru/frames_autogyro/thunderfly_auto_g2.md
index 80639777228a..007de58737f7 100644
--- a/ru/frames_autogyro/thunderfly_auto_g2.md
+++ b/ru/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ The whole part is glued, using a hot-melt adhesive, under the engine on the bott
## Video
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Photo gallery of changes
diff --git a/ru/frames_multicopter/dji_f450_cuav_5nano.md b/ru/frames_multicopter/dji_f450_cuav_5nano.md
index 368f37734ff3..aedffeb22978 100644
--- a/ru/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/ru/frames_multicopter/dji_f450_cuav_5nano.md
@@ -205,12 +205,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/ru/frames_multicopter/dji_f450_cuav_5plus.md b/ru/frames_multicopter/dji_f450_cuav_5plus.md
index 2d9181a9d815..0a01d468b06b 100644
--- a/ru/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/ru/frames_multicopter/dji_f450_cuav_5plus.md
@@ -203,11 +203,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/ru/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/ru/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 956924f9b0e2..a499805ed637 100644
--- a/ru/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/ru/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -215,7 +215,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ru/frames_multicopter/holybro_s500_v2_pixhawk4.md b/ru/frames_multicopter/holybro_s500_v2_pixhawk4.md
index f42dedff1f96..890a5d803852 100644
--- a/ru/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/ru/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -292,7 +292,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ru/frames_multicopter/holybro_x500V2_pixhawk5x.md b/ru/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 087e2f9f788f..5a5b4bbbccd1 100644
--- a/ru/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/ru/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ru/frames_multicopter/holybro_x500_pixhawk4.md b/ru/frames_multicopter/holybro_x500_pixhawk4.md
index 532648d9ffbf..1b42c704378e 100644
--- a/ru/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/ru/frames_multicopter/holybro_x500_pixhawk4.md
@@ -236,7 +236,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ru/frames_multicopter/holybro_x500v2_pixhawk6c.md b/ru/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ffaed21b7227..45b136168dfe 100644
--- a/ru/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/ru/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/ru/frames_multicopter/index.md b/ru/frames_multicopter/index.md
index cb4e1e6df92d..2dd819878b16 100644
--- a/ru/frames_multicopter/index.md
+++ b/ru/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Videos
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 with Distance Sensor and RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/ru/frames_multicopter/omnicopter.md b/ru/frames_multicopter/omnicopter.md
index 93f45a69791a..849ed4eb5b61 100644
--- a/ru/frames_multicopter/omnicopter.md
+++ b/ru/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/ru/frames_multicopter/qav_r_5_kiss_esc_racer.md b/ru/frames_multicopter/qav_r_5_kiss_esc_racer.md
index 61c045e83f6e..56a4393ec499 100644
--- a/ru/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/ru/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame. I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/ru/frames_plane/index.md b/ru/frames_plane/index.md
index 826ea09b9197..842d60301d86 100644
--- a/ru/frames_plane/index.md
+++ b/ru/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Videos
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/ru/frames_plane/reptile_dragon_2.md b/ru/frames_plane/reptile_dragon_2.md
index 2173b08b1783..c1353e728d65 100644
--- a/ru/frames_plane/reptile_dragon_2.md
+++ b/ru/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/ru/frames_plane/turbo_timber_evolution.md b/ru/frames_plane/turbo_timber_evolution.md
index f7a2e78ba583..e473239f2fac 100644
--- a/ru/frames_plane/turbo_timber_evolution.md
+++ b/ru/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/ru/frames_plane/wing_wing_z84.md b/ru/frames_plane/wing_wing_z84.md
index f6fcaeea0ecc..6c735dc5217f 100644
--- a/ru/frames_plane/wing_wing_z84.md
+++ b/ru/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/ru/frames_rover/ackermann_rover.md b/ru/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/ru/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/ru/frames_rover/aion_r1.md b/ru/frames_rover/aion_r1.md
index a1f90422d637..621522acfc41 100644
--- a/ru/frames_rover/aion_r1.md
+++ b/ru/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/ru/frames_rover/differential_rover.md b/ru/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/ru/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/ru/frames_rover/index.md b/ru/frames_rover/index.md
index d77ade6d7aad..21af0009e8ca 100644
--- a/ru/frames_rover/index.md
+++ b/ru/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## Videos
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/ru/frames_rover/rover_position_control.md b/ru/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/ru/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/ru/frames_rover/traxxas_stampede.md b/ru/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 317808febda9..000000000000
--- a/ru/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms. We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community. The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Parts List
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
-* [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
-* [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## Assembly
-
-The assembly consists of a wooden frame on which all the autopilot parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate. For this, two supports were 3D printed. The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## Output Connections
-
-| PWM Output | Actuator |
-| ---------- | -------------------- |
-| MAIN2 | Steering servo |
-| MAIN4 | Throttle (ESC input) |
-
-::: info As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Configuration
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-The main rover-specific configuration is setting the correct frame:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. Select the [Airframe](../config/airframe.md) tab.
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Usage
-
-At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution. Failing to do so will cause the rover to continuously spin around a waypoint.
-:::
-
-A correct mission setup looks as follows:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Video
-
-
diff --git a/ru/frames_sub/bluerov2.md b/ru/frames_sub/bluerov2.md
index bbb2d18d2e86..25d37f2568b4 100644
--- a/ru/frames_sub/bluerov2.md
+++ b/ru/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/ru/frames_sub/index.md b/ru/frames_sub/index.md
index 6b73e7cabe7d..74c11dd1acf4 100644
--- a/ru/frames_sub/index.md
+++ b/ru/frames_sub/index.md
@@ -30,6 +30,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/ru/frames_vtol/index.md b/ru/frames_vtol/index.md
index 4f6e6b3bee4d..56e91484ee5c 100644
--- a/ru/frames_vtol/index.md
+++ b/ru/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ru/frames_vtol/standardvtol.md b/ru/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/ru/frames_vtol/standardvtol.md
+++ b/ru/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/ru/frames_vtol/tailsitter.md b/ru/frames_vtol/tailsitter.md
index 71eefa11dd84..dc4c784df662 100644
--- a/ru/frames_vtol/tailsitter.md
+++ b/ru/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/ru/frames_vtol/tiltrotor.md b/ru/frames_vtol/tiltrotor.md
index 1d07a55451c7..91282554f0da 100644
--- a/ru/frames_vtol/tiltrotor.md
+++ b/ru/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/ru/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/ru/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index ac25088c6b2b..4f23bbafb502 100644
--- a/ru/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/ru/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -286,7 +286,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Support
diff --git a/ru/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/ru/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index a53412ecfc73..b508b221af06 100644
--- a/ru/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/ru/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Support
diff --git a/ru/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/ru/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 32c0a2619269..d0822b960ead 100644
--- a/ru/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/ru/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. The slot should be the length, depth and width of one 230mm square carbon tube. It should be located as indicated below.
diff --git a/ru/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/ru/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index efadfb74cb78..fe9be963aa6d 100644
--- a/ru/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/ru/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ The Caipiroshka VTOL is a slightly modified *TBS Caipirinha*.
::: info The *TBS Caipirinha* has been superseded and is no longer available. These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Parts List
diff --git a/ru/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/ru/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index f71dc16e9d70..9cbf48fba4db 100644
--- a/ru/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/ru/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@ The [E-Flite Convergence](https://youtu.be/HNedXQ_jhYo) can easily be converted
::: info The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/ru/getting_started/index.md b/ru/getting_started/index.md
deleted file mode 100644
index bc67f1cd4389..000000000000
--- a/ru/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Getting Started with PX4 Autopilot
-
-This section provides an overview of the basic concepts you need to understand in order to build and fly an unmanned vehicle using PX4.
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[Flight Reporting](../getting_started/flight_reporting.md) — Download detailed flight logs for debugging and analysis.
diff --git a/ru/getting_started/px4_basic_concepts.md b/ru/getting_started/px4_basic_concepts.md
index c64960708e58..0a4b112a36a3 100644
--- a/ru/getting_started/px4_basic_concepts.md
+++ b/ru/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### Outputs: Motors, Servos, Actuators
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- Arming is prevented if the vehicle is not in a "healthy" state.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- Arming is prevented if a VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/ru/getting_started/tunes.md b/ru/getting_started/tunes.md
index 92b7152d8c89..528b12572cd7 100644
--- a/ru/getting_started/tunes.md
+++ b/ru/getting_started/tunes.md
@@ -180,7 +180,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Battery Warning Fast
@@ -190,7 +190,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS Warning Slow
diff --git a/ru/getting_started/vehicle_status.md b/ru/getting_started/vehicle_status.md
index f8ff9b232028..e611b4ded44f 100644
--- a/ru/getting_started/vehicle_status.md
+++ b/ru/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4 provides vehicle-based visual (LED) and audible (Buzzer) notifications of "high level" vehicle status and readiness to fly. These notifications indicate, for example, whether or not the vehicle is properly calibrated, has an SD card, has position lock, is safe to approach, whether or not it is armed, when it is ready to fly, etc.
-In addition, PX4 provides more fine-grained information about readiness to fly in GCS notifications resulting from pre-flight checks.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-The LED, tune and GCS notifications are linked below:
+The LED, tune, and GCS notifications are linked below:
* [LED Meanings](../getting_started/led_meanings.md)
* [Tune/Sound Meanings](../getting_started/tunes.md)
-* [Preflight Checks (Internal)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/ru/gps_compass/index.md b/ru/gps_compass/index.md
index be4afc3a4287..0657a6135197 100644
--- a/ru/gps_compass/index.md
+++ b/ru/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
::: info PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## Supported GNSS
PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or Emlid protocols, or via UAVCAN.
This table contains non-RTK GNSS units (most of which also have a compass). These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/ru/gps_compass/magnetometer.md b/ru/gps_compass/magnetometer.md
index 26a164232a50..0fac602ef797 100644
--- a/ru/gps_compass/magnetometer.md
+++ b/ru/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :-----------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/ru/gps_compass/rtk_gps.md b/ru/gps_compass/rtk_gps.md
index c00f16c94a54..81af226fefc9 100644
--- a/ru/gps_compass/rtk_gps.md
+++ b/ru/gps_compass/rtk_gps.md
@@ -39,12 +39,16 @@ The RTK compatible devices below that are expected to work with PX4 (it omits di
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -52,7 +56,6 @@ Notes:
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -125,10 +128,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -167,7 +172,6 @@ You may also need to tune some parameters as the default parameters are tuned as
A second GPS receiver can be used as a backup (either RTK or non RTK). See the [EKF2 GPS Configuration](../advanced_config/tuning_the_ecl_ekf.md#gps) section.
-
diff --git a/ru/ros2/user_guide.md b/ru/ros2/user_guide.md
index 00722eeccc3e..24e36ed659ba 100644
--- a/ru/ros2/user_guide.md
+++ b/ru/ros2/user_guide.md
@@ -9,7 +9,9 @@ This topic provides an overview of the architecture and application pipeline, an
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Overview
@@ -33,14 +35,13 @@ You will normally need to start both the client and agent when using ROS 2. Note
::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## Installation & Setup
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -52,7 +53,6 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
@@ -100,15 +100,14 @@ To install ROS 2 and its dependencies:
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -119,8 +118,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -169,21 +166,25 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
@@ -192,7 +193,7 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -203,7 +204,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -220,7 +221,6 @@ The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://git
::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -249,28 +249,31 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
@@ -285,19 +288,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -307,9 +314,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -362,7 +370,6 @@ This is needed because the ROS 2 default [Quality of Service (QoS) settings](htt
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -386,9 +393,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -398,7 +405,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -416,9 +423,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -489,11 +523,11 @@ public:
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -508,7 +542,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -608,7 +642,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
```sh
@@ -627,6 +660,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -643,7 +677,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -664,7 +698,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -685,7 +719,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -714,8 +748,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -723,30 +755,50 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/ru/sensor/airspeed.md b/ru/sensor/airspeed.md
index 1b911d052d54..4b058d4fae00 100644
--- a/ru/sensor/airspeed.md
+++ b/ru/sensor/airspeed.md
@@ -15,6 +15,7 @@ Airspeed sensors are _highly recommended_ for fixed-wing and VTOL frames. They a
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/ru/sensor/barometer.md b/ru/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/ru/sensor/barometer.md
+++ b/ru/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/ru/sensor/optical_flow.md b/ru/sensor/optical_flow.md
index b707df1aa680..a059b91b9856 100644
--- a/ru/sensor/optical_flow.md
+++ b/ru/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/ru/sensor/rangefinders.md b/ru/sensor/rangefinders.md
index 2dac2cf01bb6..c0a62d419f2d 100644
--- a/ru/sensor/rangefinders.md
+++ b/ru/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. More detailed setup and configuration information is provided in the topics linked below (and sidebar).
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). More detailed setup and configuration information is provided in the topics linked below (and sidebar).
@@ -34,6 +34,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20. PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger Rangefinders
@@ -62,9 +64,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## Configuration/Setup
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -114,6 +135,13 @@ listener distance_sensor 5
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. To do this you must start the simulator using a vehicle model that includes the rangefinder.
diff --git a/ru/sensor/sfxx_lidar.md b/ru/sensor/sfxx_lidar.md
index 8331c53e6c43..d444aa093cac 100644
--- a/ru/sensor/sfxx_lidar.md
+++ b/ru/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ Connect the Lidar the autopilot I2C port as shown below (in this case, for the [
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -75,6 +75,8 @@ The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TEL
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Further Information
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/ru/sensor_bus/i2c_general.md b/ru/sensor_bus/i2c_general.md
index 6d8f043a835a..55ab6c6c476a 100644
--- a/ru/sensor_bus/i2c_general.md
+++ b/ru/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/ru/sim_airsim/index.md b/ru/sim_airsim/index.md
index 77db7a9139f4..c48094abdd7d 100644
--- a/ru/sim_airsim/index.md
+++ b/ru/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,18 +20,24 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. This limitation does not apply for AirSim because its UI is run natively in Windows.
:::
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/ru/sim_flightgear/index.md b/ru/sim_flightgear/index.md
index be320f643681..6042dff30f86 100644
--- a/ru/sim_flightgear/index.md
+++ b/ru/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/ru/sim_gazebo_classic/index.md b/ru/sim_gazebo_classic/index.md
index 1aff3235ded0..0a736d35c381 100644
--- a/ru/sim_gazebo_classic/index.md
+++ b/ru/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic is a powerful 3D simulation environment for autonomous robots tha
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -305,7 +305,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/ru/sim_gazebo_classic/multi_vehicle_simulation.md b/ru/sim_gazebo_classic/multi_vehicle_simulation.md
index 96fe423e3037..6d4d54ba6ca5 100644
--- a/ru/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/ru/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/ru/sim_gazebo_gz/index.md b/ru/sim_gazebo_gz/index.md
index 61801a941456..682844772857 100644
--- a/ru/sim_gazebo_gz/index.md
+++ b/ru/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator. It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/ru/sim_gazebo_gz/vehicles.md b/ru/sim_gazebo_gz/vehicles.md
index 822e89d32862..c9b1de257cb2 100644
--- a/ru/sim_gazebo_gz/vehicles.md
+++ b/ru/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md). Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/ru/sim_jsbsim/index.md b/ru/sim_jsbsim/index.md
index a207d9da6657..3fe19592be5a 100644
--- a/ru/sim_jsbsim/index.md
+++ b/ru/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
diff --git a/ru/sim_sih/index.md b/ru/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/ru/sim_sih/index.md
+++ b/ru/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/ru/simulation/failsafes.md b/ru/simulation/failsafes.md
index 3174e0257e69..3abdf45b68e7 100644
--- a/ru/simulation/failsafes.md
+++ b/ru/simulation/failsafes.md
@@ -37,6 +37,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Sensor/System Failure
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems. For example, this can be used to simulate absent or intermittent GPS, RC signal that has stopped or got stuck on a particular value, failure of the avoidance system, and much more.
diff --git a/ru/simulation/index.md b/ru/simulation/index.md
index 5017f7568ade..81be74fb079f 100644
--- a/ru/simulation/index.md
+++ b/ru/simulation/index.md
@@ -15,11 +15,10 @@ Information about available simulators and how to set them up are provided in th
The following simulators are supported by the PX4 core development team.
-| Simulator | Description |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
This simulator is highly recommended.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
It is easy to set up and can be used to test that your vehicle can take off, fly, land, and responds appropriately to various fail conditions (e.g. GPS failure). It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8784,6 +8785,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9409,20 +9417,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9770,34 +9778,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10620,6 +10600,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10648,6 +10684,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11101,19 +11144,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11905,13 +11949,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11990,7 +12027,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -12004,7 +12041,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12018,14 +12055,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12046,7 +12083,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12071,14 +12108,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12255,7 +12292,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12265,7 +12302,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12649,35 +12686,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12691,7 +12728,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12705,14 +12742,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?]
-1.0
@@ -12726,21 +12763,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12754,42 +12791,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12810,28 +12847,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -16319,14 +16356,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -17842,6 +17879,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19593,13 +19637,6 @@ table {
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19609,8 +19646,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19635,6 +19672,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19649,24 +19700,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -23613,7 +23671,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23766,7 +23824,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23801,6 +23859,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
@@ -23822,6 +23922,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -24318,22 +24439,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
diff --git a/tr/advanced_config/prearm_arm_disarm.md b/tr/advanced_config/prearm_arm_disarm.md
index 9f3c9ed3599c..da88af6f7368 100644
--- a/tr/advanced_config/prearm_arm_disarm.md
+++ b/tr/advanced_config/prearm_arm_disarm.md
@@ -32,16 +32,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## Arming Gesture
+## Arming/Disarming Gestures {#arm_disarm_gestures}
By default, the vehicle is armed and disarmed by moving RC throttle/yaw sticks to particular extremes and holding them for 1 second.
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -50,15 +48,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
-
-| Parameter | Description |
-| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| Parameter | Description |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures). The button should be held down for ([nominally](#COM_RC_ARM_HYST)) one second to arm (when disarmed) or disarm (when armed).
@@ -89,16 +87,16 @@ By default vehicles will automatically disarm on landing, or if you take too lon
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/tr/airframes/airframe_reference.md b/tr/airframes/airframe_reference.md
index fb98911fbb0e..c25006165d63 100644
--- a/tr/airframes/airframe_reference.md
+++ b/tr/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/tr/assembly/_assembly.md b/tr/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/tr/assembly/_assembly.md
+++ b/tr/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/tr/assembly/assembly_fw.md b/tr/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/tr/assembly/assembly_fw.md
+++ b/tr/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/tr/assembly/assembly_mc.md b/tr/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/tr/assembly/assembly_mc.md
+++ b/tr/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/tr/assembly/assembly_vtol.md b/tr/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/tr/assembly/assembly_vtol.md
+++ b/tr/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/tr/can/index.md b/tr/can/index.md
index fa45eaa14488..cdaf5e392740 100644
--- a/tr/can/index.md
+++ b/tr/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
Intro to DroneCAN (UAVCANv0) and practical example with setup in QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 for drones — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: a highly dependable publish-subscribe protocol for hard real-time intra-vehicular networking — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/tr/complete_vehicles_mc/betafpv_beta75x.md b/tr/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/tr/complete_vehicles_mc/betafpv_beta75x.md
+++ b/tr/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/tr/complete_vehicles_mc/crazyflie2.md b/tr/complete_vehicles_mc/crazyflie2.md
index b73077a8283d..1aaa6679ea90 100644
--- a/tr/complete_vehicles_mc/crazyflie2.md
+++ b/tr/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/tr/complete_vehicles_mc/crazyflie21.md b/tr/complete_vehicles_mc/crazyflie21.md
index 99e211363dd8..d805a563eaca 100644
--- a/tr/complete_vehicles_mc/crazyflie21.md
+++ b/tr/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/tr/complete_vehicles_mc/nanomind110.md b/tr/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/tr/complete_vehicles_mc/nanomind110.md
+++ b/tr/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/tr/computer_vision/collision_prevention.md b/tr/computer_vision/collision_prevention.md
index 700ebbea7bb7..655f224f28de 100644
--- a/tr/computer_vision/collision_prevention.md
+++ b/tr/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Set to 1 to allow the vehicle to move in directions where there is no sensor coverage (default is 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Set to 0 or 3 to enable Collision Prevention in Position Mode (default is 4). |
-
-
## Algorithm Description
The data from all sensors are fused into an internal representation of 36 sectors around the vehicle, each containing either the sensor data and information about when it was last observed, or an indication that no data for the sector was available. When the vehicle is commanded to move in a particular direction, all sectors in the hemisphere of that direction are checked to see if the movement will bring the vehicle closer to any obstacles. If so, the vehicle velocity is restricted.
@@ -56,8 +54,6 @@ Delay, both in the vehicle tracking velocity setpoints and in receiving sensor d
If the sectors adjacent to the commanded sectors are 'better' by a significant margin, the direction of the requested input can be modified by up to the angle specified in [CP_GUIDE_ANG](#CP_GUIDE_ANG). This helps to fine-tune user input to 'guide' the vehicle around obstacles rather than getting stuck against them.
-
-
### Range Data Loss
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. This will force the velocity setpoints in xy to zero. After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -68,9 +64,7 @@ If you have multiple sensors connected and you lose connection to one of them, y
Be careful when enabling [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), which allows the vehicle to fly outside the area with sensor coverage. If you lose connection to one of multiple sensors, the area covered by the faulty sensor is also treated as uncovered and you will be able to move there without constraint.
:::
-
-
-### CP_DELAY Delay Tuning
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. Both sources of delay are tuned using the [CP_DELAY](#CP_DELAY) parameter.
@@ -82,9 +76,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
If vehicle speed oscillates as it approaches the obstacle (i.e. it slows down, speeds up, slows down) the delay is set too high.
:::
-
-
-### CP_GUIDE_ANG Guidance Tuning
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Depending on the vehicle, type of environment and pilot skill different amounts of guidance may be desired. Setting the [CP_GUIDE_ANG](#CP_GUIDE_ANG) parameter to 0 will disable the guidance, resulting in the vehicle only moving exactly in the directions commanded. Increasing this parameter will let the vehicle choose optimal directions to avoid obstacles, making it easier to fly through tight gaps and to keep the minimum distance exactly while going around objects.
@@ -95,9 +87,7 @@ The guidance feature will never direct the vehicle in a direction without sensor
If the vehicle feels 'stuck' with only a single distance sensor pointing forwards, this is probably because the guidance cannot safely adapt the direction due to lack of information.
:::
-
-
-## PX4 Distance Sensor
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -145,9 +135,7 @@ Other sensors may be enabled, but this requires modification of driver code to s
You can see the required modifications from the [feature PR](https://github.com/PX4/PX4-Autopilot/pull/12179). Please contribute back your changes!
:::
-
-
-## Companion Setup
+## Companion Setup {#companion}
If using a companion computer or external sensor, it needs to supply a stream of [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) messages, which should reflect when and where obstacle were detected.
@@ -162,9 +150,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
The hardware and software should be set up as described in the [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) repo. In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo Setup
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. See [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance) for setup instructions.
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/tr/computer_vision/obstacle_avoidance.md b/tr/computer_vision/obstacle_avoidance.md
index 6711cb66ea32..43bdcd05ba62 100644
--- a/tr/computer_vision/obstacle_avoidance.md
+++ b/tr/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
Obstacle avoidance is enabled within PX4 by [setting](../advanced_config/parameters.md) the [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) to 1.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
::: info `COM_OBS_AVOID` also enables [Safe Landing](../computer_vision/safe_landing.md) and any other features that use the PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (Trajectory Interface) to integrate external path planning services with PX4.
:::
diff --git a/tr/computer_vision/path_planning_interface.md b/tr/computer_vision/path_planning_interface.md
index 7085d0639ec1..d5baf2c42b80 100644
--- a/tr/computer_vision/path_planning_interface.md
+++ b/tr/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# Path Planning Interface
-PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including obstacle avoidance in missions, [safe landing](../computer_vision/safe_landing.md), and future services):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
+
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_. May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve. The curve indicates the (moving) position setpoint of the vehicle over a given time period.
+
- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) and [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) send the vehicle local position and altitude, respectively.
Path planning is enabled on PX4 in automatic modes (landing, takeoff, hold, mission, return) if [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID). In these modes planning software is expected to supply setpoints to PX4; if the software cannot support a particular flight mode it must mirror back setpoints from the vehicle.
diff --git a/tr/computer_vision/safe_landing.md b/tr/computer_vision/safe_landing.md
index 023b80ec8e70..5ac188217e5e 100644
--- a/tr/computer_vision/safe_landing.md
+++ b/tr/computer_vision/safe_landing.md
@@ -32,9 +32,7 @@ This covers the common setup for obstacle avoidance and collision prevention, an
The configuration information includes, among other things, how to set up safe landing for different cameras, sizes of vehicles, and the height at which the decision to land or not is taken.
-
-
-## Safe Landing Interface
+## Safe Landing Interface {#interface}
PX4 uses the [Path Planning Interface](../computer_vision/path_planning_interface.md) for integrating path planning services from a companion computer (including [Obstacle Avoidance in missions](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), and future services).
diff --git a/tr/concept/flight_tasks.md b/tr/concept/flight_tasks.md
index b9d61334bd98..04a2b97afa68 100644
--- a/tr/concept/flight_tasks.md
+++ b/tr/concept/flight_tasks.md
@@ -172,10 +172,14 @@ The following videos provide an overview of flight tasks in PX4. The first cover
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/ru/config/autotune.md b/tr/config/_autotune.md
similarity index 56%
rename from ru/config/autotune.md
rename to tr/config/_autotune.md
index 026513a2fbf2..f5f8cfb93dba 100644
--- a/ru/config/autotune.md
+++ b/tr/config/_autotune.md
@@ -1,6 +1,20 @@
-# Auto-tuning
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
-Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+# Auto-tuning (Fixed-Wing)
+
+
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
@@ -8,56 +22,58 @@ Tuning only needs to be done once, and is recommended unless you're using a vehi
Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Verify that the vehicle flies well after tuning.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Pre-tuning Test
The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
To make sure the vehicle is stable enough for auto-tuning:
1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Auto-tuning Procedure
+## Auto-tuning Procedure
The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
The test steps are:
1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
1. Enable autotune.
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,60 +82,99 @@ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-win
1. Read the warning popup and click on **OK** to start tuning.
1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Additional notes:
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Troubleshooting
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
+### Drone oscillates when performing the pre-tuning test
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
-#### The auto-tuning sequence fails
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
-#### The drone oscillates after auto-tuning
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-#### I still can't get it to work
+
+
-Attempt manual tuning using the appropriate guides:
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
+
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### The drone oscillates after auto-tuning
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### I still can't get it to work
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Optional Configuration
-### Apply Parameters When In-Air/Landed
+### Apply Tuning when In-Air/Landed
+
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+- `2`: apply immediately (default for fixed-wings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+
+
-### Enable/Disable Autotune Switch (Fixed-Wing)
+### Enable/Disable Autotune Switch
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
To map a switch:
@@ -127,11 +182,11 @@ To map a switch:
1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-### Select Tuning Axis (Fixed-Wing)
+### Select Tuning Axis
Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
@@ -139,6 +194,8 @@ Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES
- bit `1`: pitch (default)
- bit `2`: yaw
+
+
## Developers/SDKs
Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
@@ -162,7 +219,7 @@ Automatic tuning works well for the multicopter and fixed-wing vehicle configura
The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
### FAQ
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
+
+
## See also
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/tr/config/autotune_fw.md b/tr/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/tr/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/tr/config/autotune_mc.md b/tr/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/tr/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/tr/config/autotune_vtol.md b/tr/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/tr/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/tr/config/battery.md b/tr/config/battery.md
index ee94d6080754..6859fc6fde81 100644
--- a/tr/config/battery.md
+++ b/tr/config/battery.md
@@ -135,7 +135,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
This setting is not needed if you are using the basic configuration (without load compensation etc.)
:::
-If you are using [Current-based Load Compensation](#current_based_load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -146,71 +146,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## Voltage-based Estimation with Load Compensation
-::: info
-With well configured load compensation the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-:::
-
-Load compensation attempts to counteract the fluctuation in measured voltage/estimated capacity under load that occur when using the [basic configuration](#basic_settings). This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-::: info To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 supports two load compensation methods, which are enabled by [setting](../advanced_config/parameters.md) either of the two parameters below:
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Current-based Load Compensation](#current_based_load_compensation) (recommended).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Thrust-based Load Compensation](#thrust_based_load_compensation).
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-### Current-based Load Compensation (recommended)
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-This load compensation method relies on current measurement to determine load. It is far more accurate than [Thrust-based Load Compensation](#thrust_based_load_compensation) but requires that you have a current sensor.
-
-To enable this feature:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-There are LiPo chargers out there which can measure the internal resistance of your battery.
-A typical value is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-1. You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-
-
-
-### Thrust-based Load Compensation
-
-This load compensation method estimates the load based on the total thrust that gets commanded to the motors.
-
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. Use [Current-based Load Compensation](#current_based_load_compensation) instead if your vehicle has a current sensor.
-:::
-
-To enable this feature:
-
-1. Set the parameter [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) to how much voltage drop a cell shows under the load of full throttle.
-
## Voltage-based Estimation Fused with Current Integration
-::: info
-This is the most accurate way to measure relative battery consumption.
-If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-:::
+This method is the most accurate way to measure relative battery consumption. If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
To enable this feature:
-1. First set up accurate voltage estimation using [current-based load compensation](#current_based_load_compensation).
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Including calibrating the [Amps per volt divider](#current_divider) setting.
:::
-1. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
+2. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
::: info
Do not set this value too high as this may result in a poor estimation or sudden drops in estimated capacity.
diff --git a/tr/config/flight_mode.md b/tr/config/flight_mode.md
index 71edd117e508..a8c775e44b54 100644
--- a/tr/config/flight_mode.md
+++ b/tr/config/flight_mode.md
@@ -82,7 +82,7 @@ Most transmitters do not have 6-way switches, so if you need to be able to suppo
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/tr/config/index.md b/tr/config/index.md
index 9f4250c058a7..a1215d544edb 100644
--- a/tr/config/index.md
+++ b/tr/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Video Guide
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/tr/config/safety.md b/tr/config/safety.md
index d3276fed4c0c..0ecad3af123b 100644
--- a/tr/config/safety.md
+++ b/tr/config/safety.md
@@ -2,9 +2,15 @@
PX4 has a number of safety features to protect and recover your vehicle if something goes wrong:
-- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](#other-safety-settings).
+- _Failsafes_ allow you to specify areas and conditions under which you can safely fly, and the [action](#failsafe-actions) that will be performed if a failsafe is triggered (for example, landing, holding position, or returning to a specified point). The most important failsafe settings are configured in the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page. Others must be configured via [parameters](../advanced_config/parameters.md).
- [Safety switches](#emergency-switches) on the remote control can be used to immediately stop motors or return the vehicle in the event of a problem.
+## QGroundControl Safety Setup
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Failsafe Actions
When a failsafe is triggered, the default behavior (for most failsafes) is to enter Hold for [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) seconds before performing an associated failsafe action. This gives the user time to notice what is happening and override the failsafe if needed. In most cases this can be done by using RC or a GCS to switch modes (note that during the failsafe-hold, moving the RC sticks does not trigger an override).
@@ -27,32 +33,67 @@ If multiple failsafes are triggered, the more severe action is taken. For exampl
The exact behavior when different failsafes are triggered can be tested with the [Failsafe State Machine Simulation](safety_simulation.md).
:::
-## QGroundControl Safety Setup
+### Return Mode Settings
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
-### Low Battery Failsafe
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+### Land Mode Settings
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`). With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
+
+| Setting | Parameter | Description |
+| ------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
+| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
+| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
+| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+
+### Flight Time Failsafes
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| Setting | Parameter | Description |
-| ----------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failsafe Action | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below [Battery Failsafe Level](#BAT_CRIT_THR), OR Warn, then return, then land based on each of the level settings below. |
-| Battery Warn Level | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Percentage capacity for warnings (or other actions). |
-| Battery Failsafe Level | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Percentage capacity for Return action (or other actions if a single action selected). |
-| Battery Emergency Level | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Percentage capacity for triggering Land (immediately) action. |
+| Setting | Parameter | Description |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,12 +108,12 @@ Additional (and underlying) parameter settings are shown below.
| Parameter | Setting | Description |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Failsafe Action | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### Data Link Loss Failsafe
+## Data Link Loss Failsafe
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -85,7 +126,7 @@ The settings and underlying parameters are shown below.
| Data Link Loss Timeout | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Amount of time after losing the data connection before the failsafe will trigger. |
| Failsafe Action | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### Geofence Failsafe
+## Geofence Failsafe
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -113,46 +154,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| Circuit breaker for flight termination | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Enables/Disables flight termination action (disabled by default). |
-### Return Mode Settings
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| Climb to altitude | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Vehicle ascend to this minimum height (if below it) for the return flight. |
-| Return behaviour | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| Loiter Altitude | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | If return with loiter is selected you can also specify the altitude at which the vehicle hold. |
-| Loiter Time | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | If return with loiter then land is selected you can also specify how long the vehicle will hold. |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). If negative the vehicle will land immediately. Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
+## Position (GNSS) Loss Failsafe
-### Land Mode Settings
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). This section shows how to control when and if the vehicle automatically disarms after landing. For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| Setting | Parameter | Description |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Disarm After | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Select checkbox to specify that the vehicle will disarm after landing. The value must be non-zero but can be a fraction of a second. |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## Other Failsafe Settings
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### Position (GPS) Loss Failsafe
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -175,9 +179,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). Set to 0 to disable. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Fixed roll/bank angle while circling. |
-### Offboard Loss Failsafe
+## Offboard Loss Failsafe
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -186,13 +190,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Delay after loss of offboard connection before the failsafe is triggered. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Failsafe action if RC is available: Position mode, Altitude mode, Manual mode, Return mode, Land mode, Hold mode. |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Traffic Avoidance Failsafe
+## Traffic Avoidance Failsafe
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -202,7 +200,7 @@ The relevant parameters are shown below:
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Set the failsafe action: Disabled, Warn, Return mode, Land mode. |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Failure Detector
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -260,6 +268,12 @@ The [failure detector](#failure-detector), if [enabled](#CBRK_FLIGHTTERM), can a
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Enable PWM input on AUX5 or MAIN5 (depending on board) for engaging failsafe from an external automatic trigger system (ATS). Default: Disabled. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | The PWM threshold from external automatic trigger system for engaging failsafe. Default: 1900 ms. |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Emergency Switches
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -298,9 +312,11 @@ For modes that do not support disarming in flight, the switch is ignored during
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## Other Safety Settings
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Auto-disarming Timeouts
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -311,6 +327,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Timeout for auto-disarm after landing. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Timeout for auto disarm if vehicle is too slow to takeoff. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Further Information
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/tr/config_fw/index.md b/tr/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/tr/config_fw/index.md
+++ b/tr/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/tr/config_fw/pid_tuning_guide_fixedwing.md b/tr/config_fw/pid_tuning_guide_fixedwing.md
index bd30b9370ac6..1e78cfd0b940 100644
--- a/tr/config_fw/pid_tuning_guide_fixedwing.md
+++ b/tr/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. It is intended for advanced users / experts, as incorrect PID tuning may crash your aircraft.
-::: info [Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
## Preconditions
diff --git a/tr/config_mc/index.md b/tr/config_mc/index.md
index dc7de0f13327..6dbdb801881c 100644
--- a/tr/config_mc/index.md
+++ b/tr/config_mc/index.md
@@ -102,16 +102,19 @@ PX4 can be configured to automatically handle conditions such as low battery, lo
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
diff --git a/tr/config_mc/pid_tuning_guide_multicopter.md b/tr/config_mc/pid_tuning_guide_multicopter.md
index d9f4824f4cbb..a4701398dbee 100644
--- a/tr/config_mc/pid_tuning_guide_multicopter.md
+++ b/tr/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
This topic provides detailed information about PX4 controllers, and how they are tuned.
:::tip
-[Autotune](../config/autotune.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. This is all that is required for many vehicles.
:::
Use this topic when tuning around the hover thrust point is not sufficient (e.g. on vehicles where there are non-linearities and oscillations at higher thrusts). It is also useful for a deeper understanding of how the basic tuning works, and to understand how to use the [airmode](#airmode-mixer-saturation) setting.
diff --git a/tr/config_mc/pid_tuning_guide_multicopter_basic.md b/tr/config_mc/pid_tuning_guide_multicopter_basic.md
index 873a40c1e79c..d4f5b5c0058f 100644
--- a/tr/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/tr/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. Tuning is recommended for all new vehicle setups to get the _very best_ performance, because relatively small hardware and assembly changes can affect the gains required tuning gains for optimal flight. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/tr/contribute/docs.md b/tr/contribute/docs.md
index 2810259205f4..f0f2561253c3 100644
--- a/tr/contribute/docs.md
+++ b/tr/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## Where Do I Add Changes?
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/tr/debug/gdb_hardfault.md b/tr/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/tr/debug/gdb_hardfault.md
+++ b/tr/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/tr/dev_airframes/adding_a_new_frame.md b/tr/dev_airframes/adding_a_new_frame.md
index 56b27684dfd5..3e9e15877008 100644
--- a/tr/dev_airframes/adding_a_new_frame.md
+++ b/tr/dev_airframes/adding_a_new_frame.md
@@ -302,10 +302,9 @@ If the airframe is for a **new group** you additionally need to:
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/tr/dev_setup/building_px4.md b/tr/dev_setup/building_px4.md
index a45e932e92b7..2d8d5a614091 100644
--- a/tr/dev_setup/building_px4.md
+++ b/tr/dev_setup/building_px4.md
@@ -184,7 +184,7 @@ The `region 'flash' overflowed by XXXX bytes` error indicates that the firmware
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. In this case, install the version specified in the [Developer Toolchain](../dev_setup/dev_env.md) instructions.
-If building your own branch, it is possibly you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
### macOS: Too many open files error
diff --git a/tr/dev_setup/dev_env_linux_ubuntu.md b/tr/dev_setup/dev_env_linux_ubuntu.md
index 73cc7120a22e..84328bedadfc 100644
--- a/tr/dev_setup/dev_env_linux_ubuntu.md
+++ b/tr/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/tr/dev_setup/dev_env_mac.md b/tr/dev_setup/dev_env_mac.md
index 7994fe0a4788..90244685405b 100644
--- a/tr/dev_setup/dev_env_mac.md
+++ b/tr/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@ This setup is supported by the PX4 dev team. To build other targets you will nee
## Video Guide
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/tr/dev_setup/qtcreator.md b/tr/dev_setup/qtcreator.md
index a3fe1c337d01..0a81d4b57fd7 100644
--- a/tr/dev_setup/qtcreator.md
+++ b/tr/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/tr/dronecan/ark_flow.md b/tr/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/tr/dronecan/ark_flow.md
+++ b/tr/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/tr/dronecan/escs.md b/tr/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/tr/dronecan/escs.md
+++ b/tr/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/tr/dronecan/index.md b/tr/dronecan/index.md
index 4f819530a620..7289f73e7ac8 100644
--- a/tr/dronecan/index.md
+++ b/tr/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/tr/dronecan/raccoonlab_nodes.md b/tr/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/tr/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/tr/dronecan/raccoonlab_power.md b/tr/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/tr/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/tr/dronecan/sapog.md b/tr/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/tr/dronecan/sapog.md
+++ b/tr/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/tr/features_mc/index.md b/tr/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/tr/features_mc/index.md
+++ b/tr/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/tr/flight_controller/airlink.md b/tr/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/tr/flight_controller/airlink.md
+++ b/tr/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/tr/flight_controller/autopilot_pixhawk_standard.md b/tr/flight_controller/autopilot_pixhawk_standard.md
index 9e869fb12caf..d4a669b71595 100644
--- a/tr/flight_controller/autopilot_pixhawk_standard.md
+++ b/tr/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/tr/flight_controller/index.md b/tr/flight_controller/index.md
index 46a4d66b65bd..29fc1ebeb618 100644
--- a/tr/flight_controller/index.md
+++ b/tr/flight_controller/index.md
@@ -32,6 +32,7 @@ PX4-compatible flight controllers documented in this library are listed below. T
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Manufacturer-Supported Autopilots](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/tr/flight_controller/pixhawk.md b/tr/flight_controller/pixhawk.md
index 3e58b7a877a6..169cc124eb4f 100644
--- a/tr/flight_controller/pixhawk.md
+++ b/tr/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/tr/flight_controller/raccoonlab_fmu6x.md b/tr/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/tr/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/tr/flight_modes_fw/acro.md b/tr/flight_modes_fw/acro.md
index 575e2dc21d36..2e7793f0f0ca 100644
--- a/tr/flight_modes_fw/acro.md
+++ b/tr/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ Roll-pitch-yaw stick inputs are translated to angular rate commands that are sta
## Parameters
-| Parameter | Description |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| Parameter | Description |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Acro body x max rate (the body x rate the controller is trying to achieve if the user applies full roll stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Acro body z max rate (the body z rate the controller is trying to achieve if the user applies full yaw stick input in acro mode). Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/tr/flight_modes_fw/takeoff.md b/tr/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/tr/flight_modes_fw/takeoff.md
+++ b/tr/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/tr/flight_modes_mc/follow_me.md b/tr/flight_modes_mc/follow_me.md
index e04599a7f8d4..1aa51d870f80 100644
--- a/tr/flight_modes_mc/follow_me.md
+++ b/tr/flight_modes_mc/follow_me.md
@@ -42,9 +42,9 @@ Users can adjust the follow angle, height and distance using an RC controller as
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode. If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
### Safety Precautions
@@ -149,7 +149,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## Known Issues
diff --git a/tr/flight_modes_mc/mission.md b/tr/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/tr/flight_modes_mc/mission.md
+++ b/tr/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/tr/flight_modes_mc/position.md b/tr/flight_modes_mc/position.md
index 4b845369ec13..5f390d035389 100644
--- a/tr/flight_modes_mc/position.md
+++ b/tr/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
-Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
+Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
diff --git a/tr/flight_modes_rover/index.md b/tr/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/tr/flight_modes_rover/index.md
+++ b/tr/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/tr/flying/pre_flight_checks.md b/tr/flying/pre_flight_checks.md
index 3e93d2958e6d..c5ccff55662b 100644
--- a/tr/flying/pre_flight_checks.md
+++ b/tr/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# Preflight Sensor/Estimator Checks
+# QGroundControl Flight-Readiness Status
-PX4 performs a number of preflight sensor quality and estimator checks to determine if there is a good enough position estimate to arm and fly the vehicle (these checks are controlled by the [COM\_ARM\_](../advanced_config/parameter_reference.md#commander) parameters).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Any preflight errors are reported in *QGroundControl* as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) also shows which GPS quality checks are failing.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-The sections below list the errors, their likely causes and solutions, and any parameters that affect how the preflight checks are run.
+## Flight Readiness Status
-## EKF Preflight Checks/Errors
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-The following errors (with associated checks and parameters) are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* This error is produced when the IMU and height measurement data are inconsistent.
-* Perform an accel and gyro calibration and restart the vehicle. If the error persists, check the height sensor data for problems.
-* The check is controlled by the [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT) parameter.
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* This error is produced when the IMU and GPS velocity measurement data are inconsistent.
-* Check the GPS velocity data for un-realistic data jumps. If GPS quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL) parameter.
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* This error is produced when the IMU and position measurement data (either GPS or external vision) are inconsistent.
-* Check the position sensor data for un-realistic data jumps. If data quality looks OK, perform an accel and gyro calibration and restart the vehicle.
-* The check is controlled by the [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS) parameter.
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF Preflight Checks/Errors
-* This error is produced when the yaw angle estimated using gyro data and the yaw angle from the magnetometer or external vision system are inconsistent.
-* Check the IMU data for large yaw rate offsets and check the magnetometer alignment and calibration.
-* The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-* The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-* It can fail if the yaw gyro has a large offset or if the vehicle is moved or rotated in the presence of a bad magnetic interference or magnetometer calibration.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ The following errors (with associated checks and parameters) are reported by the
-The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on (“turn-on bias”) and over time due to noise and temperature differences (“in-run bias”). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
+The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
The warning indicates that the bias is higher than some arbitrary threshold (the vehicle will not be allowed to take off). It is most likely a sign that accelerometer or thermal calibration are required:
@@ -65,45 +73,43 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected “in-run bias” of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
-
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* This error is produced when the IMU gyro bias estimated by the EKF is excessive.
-* Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
+- This error is produced when the IMU gyro bias estimated by the EKF is excessive.
+- Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the acceleration measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
+- This error message is produced when the acceleration measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC) parameter.
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the angular rate measurements from different IMU units are inconsistent.
-* This check only applies to boards with more than one IMU.
-* The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
+- This error message is produced when the angular rate measurements from different IMU units are inconsistent.
+- This check only applies to boards with more than one IMU.
+- The check is controlled by the [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR) parameter.
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the difference in measurements from different compass sensors is too great.
-* It indicates bad calibration, orientation or magnetic interference.
-* This check only applies to when more than one compass/magnetometer is connected.
-* The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
+- This error message is produced when the difference in measurements from different compass sensors is too great.
+- It indicates bad calibration, orientation or magnetic interference.
+- This check only applies to when more than one compass/magnetometer is connected.
+- The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
-* Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
- * IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
- * Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
- * Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
- * Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
-
+- This error message is generated if the innovation magnitudes of either the horizontal GPS velocity, magnetic yaw, vertical GPS velocity or vertical position sensor (Baro by default but could be range finder or GPS if non-standard parameters are being used) are excessive. Innovations are the difference between the value predicted by the inertial navigation calculation and measured by the sensor.
+- Users should check the innovation levels in the log file to determine the cause. These can be found under the `ekf2_innovations` message. Common problems/solutions include:
+ - IMU drift on warmup. May be resolved by restarting the autopilot. May require an IMU accel and gyro calibration.
+ - Adjacent magnetic interference combined with vehicle movement. Resolve my moving vehicle and waiting or re-powering.
+ - Bad magnetometer calibration combined with vehicle movement. Resolve by recalibrating.
+ - Initial shock or rapid movement on startup that caused a bad inertial nav solution. Resolve by restarting the vehicle and minimising movement for the first 5 seconds.
## Other Parameters
@@ -112,6 +118,6 @@ The following parameters also affect preflight checks.
#### COM_ARM_WO_GPS
The [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) parameter controls whether or not arming is allowed without a global position estimate.
-- `1` (default): Arming *is* allowed without a position estimate for flight modes that do not require position information (only).
-- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: Arming is allowed only if EKF is providing a global position estimate and EFK GPS quality checks are passing
diff --git a/tr/frames_autogyro/thunderfly_auto_g2.md b/tr/frames_autogyro/thunderfly_auto_g2.md
index 80639777228a..007de58737f7 100644
--- a/tr/frames_autogyro/thunderfly_auto_g2.md
+++ b/tr/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ The whole part is glued, using a hot-melt adhesive, under the engine on the bott
## Video
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Photo gallery of changes
diff --git a/tr/frames_multicopter/dji_f450_cuav_5nano.md b/tr/frames_multicopter/dji_f450_cuav_5nano.md
index 368f37734ff3..aedffeb22978 100644
--- a/tr/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/tr/frames_multicopter/dji_f450_cuav_5nano.md
@@ -205,12 +205,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/tr/frames_multicopter/dji_f450_cuav_5plus.md b/tr/frames_multicopter/dji_f450_cuav_5plus.md
index 2d9181a9d815..0a01d468b06b 100644
--- a/tr/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/tr/frames_multicopter/dji_f450_cuav_5plus.md
@@ -203,11 +203,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Video
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/tr/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/tr/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 956924f9b0e2..a499805ed637 100644
--- a/tr/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/tr/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -215,7 +215,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/tr/frames_multicopter/holybro_s500_v2_pixhawk4.md b/tr/frames_multicopter/holybro_s500_v2_pixhawk4.md
index f42dedff1f96..890a5d803852 100644
--- a/tr/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/tr/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -292,7 +292,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/tr/frames_multicopter/holybro_x500V2_pixhawk5x.md b/tr/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 087e2f9f788f..5a5b4bbbccd1 100644
--- a/tr/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/tr/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/tr/frames_multicopter/holybro_x500_pixhawk4.md b/tr/frames_multicopter/holybro_x500_pixhawk4.md
index 532648d9ffbf..1b42c704378e 100644
--- a/tr/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/tr/frames_multicopter/holybro_x500_pixhawk4.md
@@ -236,7 +236,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/tr/frames_multicopter/holybro_x500v2_pixhawk6c.md b/tr/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ffaed21b7227..45b136168dfe 100644
--- a/tr/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/tr/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/tr/frames_multicopter/index.md b/tr/frames_multicopter/index.md
index cb4e1e6df92d..2dd819878b16 100644
--- a/tr/frames_multicopter/index.md
+++ b/tr/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Videos
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 with Distance Sensor and RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/tr/frames_multicopter/omnicopter.md b/tr/frames_multicopter/omnicopter.md
index 93f45a69791a..849ed4eb5b61 100644
--- a/tr/frames_multicopter/omnicopter.md
+++ b/tr/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/tr/frames_multicopter/qav_r_5_kiss_esc_racer.md b/tr/frames_multicopter/qav_r_5_kiss_esc_racer.md
index 61c045e83f6e..56a4393ec499 100644
--- a/tr/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/tr/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame. I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/tr/frames_plane/index.md b/tr/frames_plane/index.md
index 826ea09b9197..842d60301d86 100644
--- a/tr/frames_plane/index.md
+++ b/tr/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Videos
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/tr/frames_plane/reptile_dragon_2.md b/tr/frames_plane/reptile_dragon_2.md
index 2173b08b1783..c1353e728d65 100644
--- a/tr/frames_plane/reptile_dragon_2.md
+++ b/tr/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/tr/frames_plane/turbo_timber_evolution.md b/tr/frames_plane/turbo_timber_evolution.md
index f7a2e78ba583..e473239f2fac 100644
--- a/tr/frames_plane/turbo_timber_evolution.md
+++ b/tr/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/tr/frames_plane/wing_wing_z84.md b/tr/frames_plane/wing_wing_z84.md
index f6fcaeea0ecc..6c735dc5217f 100644
--- a/tr/frames_plane/wing_wing_z84.md
+++ b/tr/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/tr/frames_rover/ackermann_rover.md b/tr/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/tr/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/tr/frames_rover/aion_r1.md b/tr/frames_rover/aion_r1.md
index a1f90422d637..621522acfc41 100644
--- a/tr/frames_rover/aion_r1.md
+++ b/tr/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/tr/frames_rover/differential_rover.md b/tr/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/tr/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/tr/frames_rover/index.md b/tr/frames_rover/index.md
index d77ade6d7aad..21af0009e8ca 100644
--- a/tr/frames_rover/index.md
+++ b/tr/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## Videos
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/tr/frames_rover/rover_position_control.md b/tr/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/tr/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/tr/frames_rover/traxxas_stampede.md b/tr/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 317808febda9..000000000000
--- a/tr/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms. We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community. The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Parts List
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
-* [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
-* [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## Assembly
-
-The assembly consists of a wooden frame on which all the autopilot parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate. For this, two supports were 3D printed. The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## Output Connections
-
-| PWM Output | Actuator |
-| ---------- | -------------------- |
-| MAIN2 | Steering servo |
-| MAIN4 | Throttle (ESC input) |
-
-::: info As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Configuration
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-The main rover-specific configuration is setting the correct frame:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. Select the [Airframe](../config/airframe.md) tab.
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Usage
-
-At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution. Failing to do so will cause the rover to continuously spin around a waypoint.
-:::
-
-A correct mission setup looks as follows:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Video
-
-
diff --git a/tr/frames_sub/bluerov2.md b/tr/frames_sub/bluerov2.md
index bbb2d18d2e86..25d37f2568b4 100644
--- a/tr/frames_sub/bluerov2.md
+++ b/tr/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/tr/frames_sub/index.md b/tr/frames_sub/index.md
index 6b73e7cabe7d..74c11dd1acf4 100644
--- a/tr/frames_sub/index.md
+++ b/tr/frames_sub/index.md
@@ -30,6 +30,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/tr/frames_vtol/index.md b/tr/frames_vtol/index.md
index 4f6e6b3bee4d..56e91484ee5c 100644
--- a/tr/frames_vtol/index.md
+++ b/tr/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/tr/frames_vtol/standardvtol.md b/tr/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/tr/frames_vtol/standardvtol.md
+++ b/tr/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/tr/frames_vtol/tailsitter.md b/tr/frames_vtol/tailsitter.md
index 71eefa11dd84..dc4c784df662 100644
--- a/tr/frames_vtol/tailsitter.md
+++ b/tr/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/tr/frames_vtol/tiltrotor.md b/tr/frames_vtol/tiltrotor.md
index 1d07a55451c7..91282554f0da 100644
--- a/tr/frames_vtol/tiltrotor.md
+++ b/tr/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/tr/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/tr/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index ac25088c6b2b..4f23bbafb502 100644
--- a/tr/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/tr/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -286,7 +286,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Support
diff --git a/tr/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/tr/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index a53412ecfc73..b508b221af06 100644
--- a/tr/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/tr/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## Video
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Support
diff --git a/tr/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/tr/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 32c0a2619269..d0822b960ead 100644
--- a/tr/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/tr/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. The slot should be the length, depth and width of one 230mm square carbon tube. It should be located as indicated below.
diff --git a/tr/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/tr/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index efadfb74cb78..fe9be963aa6d 100644
--- a/tr/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/tr/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ The Caipiroshka VTOL is a slightly modified *TBS Caipirinha*.
::: info The *TBS Caipirinha* has been superseded and is no longer available. These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Parts List
diff --git a/tr/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/tr/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index f71dc16e9d70..9cbf48fba4db 100644
--- a/tr/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/tr/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@ The [E-Flite Convergence](https://youtu.be/HNedXQ_jhYo) can easily be converted
::: info The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/tr/getting_started/index.md b/tr/getting_started/index.md
deleted file mode 100644
index bc67f1cd4389..000000000000
--- a/tr/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Getting Started with PX4 Autopilot
-
-This section provides an overview of the basic concepts you need to understand in order to build and fly an unmanned vehicle using PX4.
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[Flight Reporting](../getting_started/flight_reporting.md) — Download detailed flight logs for debugging and analysis.
diff --git a/tr/getting_started/px4_basic_concepts.md b/tr/getting_started/px4_basic_concepts.md
index c64960708e58..0a4b112a36a3 100644
--- a/tr/getting_started/px4_basic_concepts.md
+++ b/tr/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### Outputs: Motors, Servos, Actuators
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. It is alternatively possible to configure PX4 to arm using an RC switch or button (and arming MAVLink commands can also be sent from a ground station).
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- Arming is prevented if the vehicle is not in a "healthy" state.
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- Arming is prevented if a VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/tr/getting_started/tunes.md b/tr/getting_started/tunes.md
index 92b7152d8c89..528b12572cd7 100644
--- a/tr/getting_started/tunes.md
+++ b/tr/getting_started/tunes.md
@@ -180,7 +180,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Battery Warning Fast
@@ -190,7 +190,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS Warning Slow
diff --git a/tr/getting_started/vehicle_status.md b/tr/getting_started/vehicle_status.md
index f8ff9b232028..e611b4ded44f 100644
--- a/tr/getting_started/vehicle_status.md
+++ b/tr/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4 provides vehicle-based visual (LED) and audible (Buzzer) notifications of "high level" vehicle status and readiness to fly. These notifications indicate, for example, whether or not the vehicle is properly calibrated, has an SD card, has position lock, is safe to approach, whether or not it is armed, when it is ready to fly, etc.
-In addition, PX4 provides more fine-grained information about readiness to fly in GCS notifications resulting from pre-flight checks.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-The LED, tune and GCS notifications are linked below:
+The LED, tune, and GCS notifications are linked below:
* [LED Meanings](../getting_started/led_meanings.md)
* [Tune/Sound Meanings](../getting_started/tunes.md)
-* [Preflight Checks (Internal)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/tr/gps_compass/index.md b/tr/gps_compass/index.md
index be4afc3a4287..0657a6135197 100644
--- a/tr/gps_compass/index.md
+++ b/tr/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
::: info PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## Supported GNSS
PX4 should work with any unit that communicates via the u-blox, MTK Ashtech or Emlid protocols, or via UAVCAN.
This table contains non-RTK GNSS units (most of which also have a compass). These have been tested by the PX4 dev team, or which are popular within the PX4 community.
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Notes |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/tr/gps_compass/magnetometer.md b/tr/gps_compass/magnetometer.md
index 26a164232a50..0fac602ef797 100644
--- a/tr/gps_compass/magnetometer.md
+++ b/tr/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :-----------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/tr/gps_compass/rtk_gps.md b/tr/gps_compass/rtk_gps.md
index c00f16c94a54..81af226fefc9 100644
--- a/tr/gps_compass/rtk_gps.md
+++ b/tr/gps_compass/rtk_gps.md
@@ -39,12 +39,16 @@ The RTK compatible devices below that are expected to work with PX4 (it omits di
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -52,7 +56,6 @@ Notes:
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -125,10 +128,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -167,7 +172,6 @@ You may also need to tune some parameters as the default parameters are tuned as
A second GPS receiver can be used as a backup (either RTK or non RTK). See the [EKF2 GPS Configuration](../advanced_config/tuning_the_ecl_ekf.md#gps) section.
-
diff --git a/tr/ros2/user_guide.md b/tr/ros2/user_guide.md
index 00722eeccc3e..24e36ed659ba 100644
--- a/tr/ros2/user_guide.md
+++ b/tr/ros2/user_guide.md
@@ -9,7 +9,9 @@ This topic provides an overview of the architecture and application pipeline, an
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Overview
@@ -33,14 +35,13 @@ You will normally need to start both the client and agent when using ROS 2. Note
::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## Installation & Setup
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -52,7 +53,6 @@ To setup ROS 2 for use with PX4:
Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
-
### Install PX4
You need to install the PX4 development toolchain in order to use the simulator.
@@ -100,15 +100,14 @@ To install ROS 2 and its dependencies:
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -119,8 +118,6 @@ To install ROS 2 and its dependencies:
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Setup Micro XRCE-DDS Agent & Client
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
@@ -169,21 +166,25 @@ To start the simulator (and client):
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
@@ -192,7 +193,7 @@ The agent and client are now running they should connect.
The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -203,7 +204,7 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -220,7 +221,6 @@ The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://git
::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -249,28 +249,31 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
@@ -285,19 +288,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -307,9 +314,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -362,7 +370,6 @@ This is needed because the ROS 2 default [Quality of Service (QoS) settings](htt
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -386,9 +393,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -398,7 +405,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -416,9 +423,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -489,11 +523,11 @@ public:
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -508,7 +542,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -608,7 +642,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
```sh
@@ -627,6 +660,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -643,7 +677,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -664,7 +698,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -685,7 +719,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -714,8 +748,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -723,30 +755,50 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/tr/sensor/airspeed.md b/tr/sensor/airspeed.md
index 2a2d30af2641..144377934dd0 100644
--- a/tr/sensor/airspeed.md
+++ b/tr/sensor/airspeed.md
@@ -15,6 +15,7 @@ Recommended digital airspeed sensors include:
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/tr/sensor/barometer.md b/tr/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/tr/sensor/barometer.md
+++ b/tr/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/tr/sensor/optical_flow.md b/tr/sensor/optical_flow.md
index b707df1aa680..a059b91b9856 100644
--- a/tr/sensor/optical_flow.md
+++ b/tr/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Optical Flow_ uses a downward facing camera and a downward facing distance sensor for velocity estimation.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/tr/sensor/rangefinders.md b/tr/sensor/rangefinders.md
index 2dac2cf01bb6..c0a62d419f2d 100644
--- a/tr/sensor/rangefinders.md
+++ b/tr/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. More detailed setup and configuration information is provided in the topics linked below (and sidebar).
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). More detailed setup and configuration information is provided in the topics linked below (and sidebar).
@@ -34,6 +34,8 @@ The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_co
PX4 supports: SF11/c and SF/LW20. PX4 can also be used with the following discontinued models: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger Rangefinders
@@ -62,9 +64,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## Configuration/Setup
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Rangefinders are usually connected to either a serial (PWM) or I2C port (depending on the device driver), and are enabled on the port by setting a particular parameter.
@@ -114,6 +135,13 @@ listener distance_sensor 5
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. To do this you must start the simulator using a vehicle model that includes the rangefinder.
diff --git a/tr/sensor/sfxx_lidar.md b/tr/sensor/sfxx_lidar.md
index 8331c53e6c43..d444aa093cac 100644
--- a/tr/sensor/sfxx_lidar.md
+++ b/tr/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ Connect the Lidar the autopilot I2C port as shown below (in this case, for the [
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -75,6 +75,8 @@ The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TEL
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Further Information
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/tr/sensor_bus/i2c_general.md b/tr/sensor_bus/i2c_general.md
index 6d8f043a835a..55ab6c6c476a 100644
--- a/tr/sensor_bus/i2c_general.md
+++ b/tr/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/tr/sim_airsim/index.md b/tr/sim_airsim/index.md
index 77db7a9139f4..c48094abdd7d 100644
--- a/tr/sim_airsim/index.md
+++ b/tr/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,18 +20,24 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. This limitation does not apply for AirSim because its UI is run natively in Windows.
:::
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/tr/sim_flightgear/index.md b/tr/sim_flightgear/index.md
index be320f643681..6042dff30f86 100644
--- a/tr/sim_flightgear/index.md
+++ b/tr/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/tr/sim_gazebo_classic/index.md b/tr/sim_gazebo_classic/index.md
index 1aff3235ded0..0a736d35c381 100644
--- a/tr/sim_gazebo_classic/index.md
+++ b/tr/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic is a powerful 3D simulation environment for autonomous robots tha
**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine/UUV.
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -305,7 +305,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/tr/sim_gazebo_classic/multi_vehicle_simulation.md b/tr/sim_gazebo_classic/multi_vehicle_simulation.md
index 96fe423e3037..6d4d54ba6ca5 100644
--- a/tr/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/tr/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/tr/sim_gazebo_gz/index.md b/tr/sim_gazebo_gz/index.md
index 61801a941456..682844772857 100644
--- a/tr/sim_gazebo_gz/index.md
+++ b/tr/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator. It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
-**Supported Vehicles:** Quadrotor, Plane, VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/tr/sim_gazebo_gz/vehicles.md b/tr/sim_gazebo_gz/vehicles.md
index 822e89d32862..c9b1de257cb2 100644
--- a/tr/sim_gazebo_gz/vehicles.md
+++ b/tr/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md). Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/tr/sim_jsbsim/index.md b/tr/sim_jsbsim/index.md
index a207d9da6657..3fe19592be5a 100644
--- a/tr/sim_jsbsim/index.md
+++ b/tr/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
diff --git a/tr/sim_sih/index.md b/tr/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/tr/sim_sih/index.md
+++ b/tr/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/tr/simulation/failsafes.md b/tr/simulation/failsafes.md
index 3174e0257e69..3abdf45b68e7 100644
--- a/tr/simulation/failsafes.md
+++ b/tr/simulation/failsafes.md
@@ -37,6 +37,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Sensor/System Failure
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems. For example, this can be used to simulate absent or intermittent GPS, RC signal that has stopped or got stuck on a particular value, failure of the avoidance system, and much more.
diff --git a/tr/simulation/index.md b/tr/simulation/index.md
index 5017f7568ade..81be74fb079f 100644
--- a/tr/simulation/index.md
+++ b/tr/simulation/index.md
@@ -15,11 +15,10 @@ Information about available simulators and how to set them up are provided in th
The following simulators are supported by the PX4 core development team.
-| Simulator | Description |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
This simulator is highly recommended.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
|
-| [jMAVSim](../sim_jmavsim/index.md) | A simple multirotor simulator that allows you to fly _copter_ type vehicles around a simulated world.
It is easy to set up and can be used to test that your vehicle can take off, fly, land, and responds appropriately to various fail conditions (e.g. GPS failure). It can also be used for [multi-vehicle simulation](../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8779,6 +8780,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9404,20 +9412,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9765,34 +9773,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10615,6 +10595,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10643,6 +10679,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11096,19 +11139,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11900,13 +11944,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11985,7 +12022,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -11999,7 +12036,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12013,14 +12050,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12041,7 +12078,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
Values:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12066,14 +12103,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12250,7 +12287,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12260,7 +12297,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12644,35 +12681,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12686,7 +12723,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12700,14 +12737,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?]
-1.0
@@ -12721,21 +12758,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12749,42 +12786,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12805,28 +12842,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -16314,14 +16351,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -17837,6 +17874,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19588,13 +19632,6 @@ table {
Name
Description
[Min, Max] (Incr.)
Default
Units
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19604,8 +19641,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19630,6 +19667,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19644,24 +19695,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -23608,7 +23666,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23761,7 +23819,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23796,6 +23854,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
Values:
@@ -23817,6 +23917,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -23924,7 +24045,7 @@ table {
SER_GPS3_BAUD (INT32)
-
Baudrate for the GPS 3 Serial Port
Comment: Configure the Baudrate for the GPS 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
+
Baudrate for the GPS 3 Serial Port
Comment: Configure the Baudrate for the GPS 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Значення:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24014,7 +24135,7 @@ table {
SER_TEL1_BAUD (INT32)
-
Baudrate for the TELEM 1 Serial Port
Comment: Configure the Baudrate for the TELEM 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Значення:
+
Baudrate for the TELEM 1 Serial Port
Comment: Configure the Baudrate for the TELEM 1 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24313,22 +24434,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
diff --git a/uk/advanced_config/prearm_arm_disarm.md b/uk/advanced_config/prearm_arm_disarm.md
index d62da5a5b5b3..dcc71a5ad0e6 100644
--- a/uk/advanced_config/prearm_arm_disarm.md
+++ b/uk/advanced_config/prearm_arm_disarm.md
@@ -33,16 +33,14 @@ PX4 дозволяє налаштовувати роботу передпуск
Параметри озброєння/вимикання можна знайти у [Посилання на параметри > Командир](../advanced_config/parameter_reference.md#commander) (шукайте `COM_ARM_*` та `COM_DISARM_*`).
:::
-
-
-## Жест для озброєння
+## Arming/Disarming Gestures {#arm_disarm_gestures}
За замовчуванням, транспортний засіб озброюється та вимикається шляхом виконання певних рухів педалями газу/рулем в маневрів та утримання їх протягом 1 секунди.
- **Озброєння:** Мінімальна педаль газу, максимальний рульовий вектор.
- **Вимикання:** Мінімальна педаль газу, мінімальний рульовий вектор.
-Пульт керування (RC) матиме різні жести в залежності від їх режиму (адже режим контролера впливає на педалі, які використовуються для руляжу та газу):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Режим 2**:
- _Озброєння:_ Ліва педаль вниз і вправо.
@@ -51,15 +49,15 @@ PX4 дозволяє налаштовувати роботу передпуск
- _Озброєння:_ Ліва педаль вправо, права педаль вниз.
- _Вимкнення:_ Ліва педаль вліво, права педаль вниз.
-Час утримання може бути налаштований за допомогою параметра [COM_RC_ARM_HYST](#COM_RC_ARM_HYST).
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
| Параметр | Опис |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | Час, протягом якого педаль RC повинна бути утримана в позиції озброєння/вимкнення перед озброєнням/вимкненням (за замовчуванням: 1 секунда). |
-
-
-## Arming Button/Switch
+## Arming Button/Switch {#arm_disarm_switch}
Кнопку _озброєння_ або "моментальний перемикач" можна налаштувати для спрацьовування озброєння/вимикання _замість_ [озброєння за допомогою жестів](#arm_disarm_gestures) (встановлення перемикача озброєння вимикає озброєння за допомогою жестів). Кнопку слід утримувати натиснутою протягом ([зазвичай](#COM_RC_ARM_HYST)) однієї секунди, щоб озброїти (якщо вимкнено) або вимкнути (якщо озброєно).
@@ -91,16 +89,16 @@ PX4 дозволяє налаштовувати роботу передпуск
## Pre-Arm Checks
-Для запобігання нещасним випадкам, транспортні засоби можуть озброюватися лише за умови виконання певних умов. Армування заборонено у таких випадках:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Армування заборонено у таких випадках:
- Повітряне судно не перебуває у "здоровому" стані. Наприклад, воно не калібрується або має помилки датчиків.
- Транспортний засіб має [захисний перемикач](../getting_started/px4_basic_concepts.md#safety-switch), який не був увімкнений.
- Транспортний засіб має [віддалений ідентифікатор](../peripherals/remote_id.md), який є нездоровим або не готовим до роботи.
- VTOL-повітряне судно перебуває в режимі фіксованого крила ([by default(за замовчуванням)](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- Поточний режим потребує належної глобальної позиційної оцінки, але повітряне судно не має блокування GPS.
-- Багато більше...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-Поточні невдалі перевірки можна переглянути у QGroundControl (версія 4.2.0 та пізніша): [Вид "Польот" > Озброювання та Попередні перевірки](https://docs.qgroundcontrol.com/master/en/FlyView/FlyView.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Зауважте, що внутрішньо PX4 перевіряє активацію на 10 Гц. Список невдалих перевірок зберігається, і якщо цей список змінюється, PX4 видає поточний список за допомогою [інтерфейсу подій](../concept/events_interface.md). Список також надсилається, коли GCS підключається. Пристрій керування (GCS) негайно знає статус передпускових перевірок як при вимкненні, так і при озброєнні.
diff --git a/uk/airframes/airframe_reference.md b/uk/airframes/airframe_reference.md
index 121a1844cf57..c5dd994a6b01 100644
--- a/uk/airframes/airframe_reference.md
+++ b/uk/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/uk/assembly/_assembly.md b/uk/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/uk/assembly/_assembly.md
+++ b/uk/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/uk/assembly/assembly_fw.md b/uk/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/uk/assembly/assembly_fw.md
+++ b/uk/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/uk/assembly/assembly_mc.md b/uk/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/uk/assembly/assembly_mc.md
+++ b/uk/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/uk/assembly/assembly_vtol.md b/uk/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/uk/assembly/assembly_vtol.md
+++ b/uk/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/uk/can/index.md b/uk/can/index.md
index f7721aa75189..0584c664ea8d 100644
--- a/uk/can/index.md
+++ b/uk/can/index.md
@@ -56,20 +56,22 @@ PX4 може бути зібраний для запуску як прошивк
Вступ до DroneCAN (UAVCANv0) та практичні приклади з установкою в QGroundControl:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-UAVCAN v1 для дронів — PX4 Developer Summit Virtual 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-Початок роботи з використанням UAVCAN v1 із PX4 на платі NXP UAVCAN — Віртуальний саміт розробників PX4 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN: дуже надійний протокол публікації-підписки для внутрішньоавтомобільних мереж у реальному часі — PX4 Developer Summit Virtual 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/uk/complete_vehicles_mc/betafpv_beta75x.md b/uk/complete_vehicles_mc/betafpv_beta75x.md
index 85fe059c1f2d..3265aaa7375d 100644
--- a/uk/complete_vehicles_mc/betafpv_beta75x.md
+++ b/uk/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ _Beta75X_ поставляється із заздалегідь встанов
## Відео
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/uk/complete_vehicles_mc/crazyflie2.md b/uk/complete_vehicles_mc/crazyflie2.md
index 2f76e51b3719..20dc3ba8a253 100644
--- a/uk/complete_vehicles_mc/crazyflie2.md
+++ b/uk/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ Crazyflie може літати в режимі _Altitude_, якщо ви вик
```
- Перезапустіть QGroundControl, якщо він не підключається.
-
-## Політ
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/uk/complete_vehicles_mc/crazyflie21.md b/uk/complete_vehicles_mc/crazyflie21.md
index 3a491e84c9cd..04211b0e23db 100644
--- a/uk/complete_vehicles_mc/crazyflie21.md
+++ b/uk/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ Crazyflie 2.1 може літати лише в режимі [Стабілізо
## Політ
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/uk/complete_vehicles_mc/nanomind110.md b/uk/complete_vehicles_mc/nanomind110.md
index 816f6dd418df..b8cd9ae93134 100644
--- a/uk/complete_vehicles_mc/nanomind110.md
+++ b/uk/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ NanoMind використовує MindRacer як керування польот
### Відео польоту
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Де купити
diff --git a/uk/computer_vision/collision_prevention.md b/uk/computer_vision/collision_prevention.md
index ef620665f8f9..5628ff69105d 100644
--- a/uk/computer_vision/collision_prevention.md
+++ b/uk/computer_vision/collision_prevention.md
@@ -42,8 +42,6 @@ _Collision Prevention_ увімкнено на PX4 шляхом встановл
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | Встановіть значення 1, щоб дозволити транспортному засобу рухатися в напрямках, де немає покриття датчика (за замовчуванням 0/`False`). |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | Встановіть значення 0 або 3, щоб увімкнути запобігання зіткненням у режимі позиціонування (за замовчуванням - 4). |
-
-
## Опис алгоритму
Дані з усіх датчиків об'єднуються у внутрішнє представлення 36 секторів навколо транспортного засобу, кожен з яких містить або дані датчика та інформацію про час останнього спостереження, або вказівку на те, що дані для сектора відсутні. Коли транспортний засіб отримує команду рухатися в певному напрямку, перевіряються всі сектори в півкулі цього напрямку, щоб побачити, чи не наблизить цей рух транспортний засіб до будь-яких перешкод. Якщо так, то швидкість транспортного засобу буде обмежена.
@@ -58,8 +56,6 @@ _Collision Prevention_ увімкнено на PX4 шляхом встановл
Якщо сектори, що прилягають до керованих секторів, є "кращими" зі значним відривом, напрямок запитуваного входу може бути змінено на кут, вказаний у [CP_GUIDE_ANG](#CP_GUIDE_ANG). Це допомагає точно налаштувати вхідні дані користувача, щоб "вести" транспортний засіб навколо перешкод, а не застрявати на них.
-
-
### Втрата даних про дальність
Якщо автопілот не отримує дані про дальність від будь-якого датчика довше, ніж 0,5 секунди, він видасть попередження _No range data received, no movement allowed_. Це змусить встановити швидкість у ху до нуля. Через 5 секунд без отримання даних транспортний засіб перейде в режим [HOLD](../flight_modes_mc/hold.md). Якщо ви хочете, щоб транспортний засіб знову міг рухатися, вам потрібно вимкнути запобігання зіткненням, або встановивши параметр [CP_DIST](#CP_DIST) на від'ємне значення, або переключившись у режим, відмінний від [Position mode](../flight_modes_mc/position.md) (наприклад, у _Altitude mode_ або _Stabilized mode_).
@@ -70,9 +66,7 @@ _Collision Prevention_ увімкнено на PX4 шляхом встановл
Будьте обережні, увімкнувши [CP_GO_NO_DATA=1](#CP_GO_NO_DATA), що дозволяє апарату вилітати за межі зони покриття датчиків. Якщо ви втратите зв'язок з одним з декількох датчиків, зона, яку охоплює несправний датчик, також буде вважатися відкритою, і ви зможете пересуватися там без обмежень.
:::
-
-
-### CP_DELAY Налаштування затримки
+### CP_DELAY Delay Tuning {#delay_tuning}
Існує два основних джерела затримки, які слід враховувати: _затримка датчика_ та _затримка відстеження заданої швидкості транспортного засобу_. Обидва джерела затримки налаштовуються за допомогою параметра [CP_DELAY](#CP_DELAY).
@@ -84,9 +78,7 @@ _Collision Prevention_ увімкнено на PX4 шляхом встановл
Якщо швидкість транспортного засобу коливається під час наближення до перешкоди (тобто вона сповільнюється, прискорюється, сповільнюється), затримка встановлена занадто великою.
:::
-
-
-### CP_GUIDE_ANG Налаштування навігації
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
Залежно від транспортного засобу, типу середовища та навичок пілота можуть бути вимоги щодо різних рівнів керування. Встановлення параметра [CP_GUIDE_ANG](#CP_GUIDE_ANG) на значення 0 вимикає керування, внаслідок чого транспортний засіб рухається тільки в точних напрямках, які задані. Збільшення цього параметра дозволить транспортному засобу вибирати оптимальні напрямки для уникнення перешкод, що полегшує прохід через вузькі проміжки і точне збереження мінімальної відстані при об'єзді об'єктів.
@@ -97,9 +89,7 @@ _Collision Prevention_ увімкнено на PX4 шляхом встановл
Якщо транспортний засіб відчуває "застряглим" з одним лише датчиком відстані, що спрямованим вперед, це, ймовірно, через те, що керування не може безпечно адаптувати напрямок через відсутність інформації.
:::
-
-
-## Датчик відстані PX4
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -147,9 +137,7 @@ SF45 повинен бути підключений через порт UART/с
Ви можете побачити необхідні модифікації з PR функції. Будь ласка, внесіть свої зміни назад [feature PR](https://github.com/PX4/PX4-Autopilot/pull/12179). Будь ласка, внесіть свої зміни!
:::
-
-
-## Налаштування комп'ютера компаньйона
+## Companion Setup {#companion}
Якщо використовується компаньйонний комп'ютер або зовнішній датчик, він повинен постачати потік повідомлень [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE), які повинні відображати час і місце виявлення перешкод.
@@ -164,9 +152,20 @@ SF45 повинен бути підключений через порт UART/с
Апаратне та програмне забезпечення повинно бути налаштоване згідно з інструкціями у репозиторії [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance). Щоб надсилати повідомлення `OBSTACLE_DISTANCE`, вам потрібно використовувати інструмент rqt_reconfigure та встановити параметр `send_obstacles_fcu` на true.
-## Встановлення Gazebo
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Запобігання зіткненням_ також можна протестувати за допомогою Gazebo. Інструкції з налаштування див. у розділі [PX4/PX4-Avoidance](https://github.com/PX4/PX4-Avoidance).
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/uk/computer_vision/obstacle_avoidance.md b/uk/computer_vision/obstacle_avoidance.md
index 0df4317d79e0..e2e29ec6dc5d 100644
--- a/uk/computer_vision/obstacle_avoidance.md
+++ b/uk/computer_vision/obstacle_avoidance.md
@@ -55,6 +55,8 @@ PX4 підтримує уникнення перешкод у режимі Мі
Уникнення перешкод активується в PX4 шляхом [встановлення](../advanced_config/parameters.md) значення [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) на 1.
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
::: info `COM_OBS_AVOID` також активує [Безпечне Посадку](../computer_vision/safe_landing.md) та будь-які інші функції, що використовують [Інтерфейс Відсутності Планування Шляху](../computer_vision/path_planning_interface.md) PX4 Offboard (Інтерфейс Траєкторії), щоб інтегрувати зовнішні служби планування шляху з PX4.
:::
diff --git a/uk/computer_vision/path_planning_interface.md b/uk/computer_vision/path_planning_interface.md
index b3d2cae6ee59..0d011c8f3d81 100644
--- a/uk/computer_vision/path_planning_interface.md
+++ b/uk/computer_vision/path_planning_interface.md
@@ -1,11 +1,17 @@
# Інтерфейс планування маршруту
-PX4 використовує кілька інтерфейсів MAVLink для інтеграції служб планування маршруту з компаньйонним комп'ютером (включаючи уникнення перешкод у місіях, [безпечну посадку](../computer_vision/safe_landing.md) та майбутні служби):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
+
+- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
-- Існують два інтерфейси [протоколу планування маршруту MAVLink](https://mavlink.io/en/services/trajectory.html):
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Використовується PX4 для надсилання _бажаного маршруту_. Може бути використаний програмним забезпеченням планування маршруту для надсилання PX4 потоку установок для _запланованого маршруту_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER), може (в альтернативу) використовуватися програмним забезпеченням планування маршруту для надсилання PX4 _запланованого маршруту_ у вигляді кривої Безьє. Крива вказує (рухоме) цільове значення положення транспортного засобу протягом певного періоду часу.
-- [Протокол з'єднання HEARTBEAT](https://mavlink.io/en/services/heartbeat.html) використовується для виявлення "підтвердження життєздатності".
+
+- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`).
+:::
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) і [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) надсилають місцеве положення транспортного засобу та висоту відповідно.
Планування маршруту увімкнено на PX4 у автоматичних режимах (посадка, зльот, утримання, місія, повернення), якщо [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID). У цих режимах від планувального програмного забезпечення очікується надання установок PX4; якщо програмне забезпечення не може підтримувати певний режим польоту, воно повинно дублювати установки з транспортного засобу.
diff --git a/uk/computer_vision/safe_landing.md b/uk/computer_vision/safe_landing.md
index 1e18d2d81ea7..5fb5d9e622ef 100644
--- a/uk/computer_vision/safe_landing.md
+++ b/uk/computer_vision/safe_landing.md
@@ -33,9 +33,7 @@ _Safe Landing_ - функція комп'ютерного зору що забе
Інформація про конфігурацію, включаючи й інші речі, як налаштувати safe landing для різних камер, розмірів транспортного засобу та висоти, на якій рішення про посадку буде приймається або ні.
-
-
-## Інтерфейс Safe Landing
+## Safe Landing Interface {#interface}
PX4 використовує [Path Planning Interface](../computer_vision/path_planning_interface.md) для інтеграції сервісів планування шляху з комп'ютера-компаньйона(включаючи [Obstacle Avoidance у місіях](../computer_vision/obstacle_avoidance.md#mission_mode), [Safe Landing](../computer_vision/safe_landing.md), та майбутні сервіси).
diff --git a/uk/concept/flight_tasks.md b/uk/concept/flight_tasks.md
index 08e1de858511..9c99009f8393 100644
--- a/uk/concept/flight_tasks.md
+++ b/uk/concept/flight_tasks.md
@@ -173,10 +173,14 @@ pxh> commander mode posctl
Опис того, як працюють режими польоту у PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Огляд управління мультикоптером від датчиків до двигунів (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
Відповідний розділ цього відео з оновленою інформацією про польотні завдання в PX4 v11.1 на (9 мін. 20 сек.). [Слайди знаходяться тут (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf), відповідні слайди - 9 та 12.
diff --git a/uk/config/autotune.md b/uk/config/_autotune.md
similarity index 50%
rename from uk/config/autotune.md
rename to uk/config/_autotune.md
index 859e00d32280..ddcecd91a37e 100644
--- a/uk/config/autotune.md
+++ b/uk/config/_autotune.md
@@ -1,63 +1,79 @@
-# Автоналаштування
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
+
+# Auto-tuning (Fixed-Wing)
+
+
-Автоналаштування автоматизує процес налаштування контролерів швидкості та ставлення PX4, які є найважливішими контролерами для стабільного та реактивного польоту (інші налаштування є більш "необов'язковими"). Наразі це увімкнено для багатокоптерних, фіксованих крил та гібридних ВТОЛ фіксованих крилових літаків.
+Автоналаштування автоматизує процес налаштування контролерів швидкості та ставлення PX4, які є найважливішими контролерами для стабільного та реактивного польоту (інші налаштування є більш "необов'язковими").
-Настроювання потрібно робити лише один раз і рекомендується, якщо ви використовуєте транспортний засіб, який вже був налаштований виробником (і не змінювався з того часу).
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
:::warning
-Автоналаштування виконується під час польоту. Каркас повинен добре літати, щоб впоратися з помірними перешкодами, і повинен бути уважно контрольований:
+Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
- Перевірте, що ваш автомобіль достатньо [стабільний для автоналаштування](#pre-tuning-test).
-- Будьте готові перервати процес автоналагодження. Ви можете зробити це, змінивши режими польоту або використовуючи перемикач увімкнення / вимкнення автонаведення ([якщо налаштовано](#enable-disable-autotune-switch-fixed-wing)).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
- Перевірте, що автомобіль добре літає після налаштування.
:::
-@[youtube](https://youtu.be/5xswOhhqrIQ)
+
## Попереднє налаштування тесту
Транспортний засіб повинен бути здатний літати і належним чином стабілізувати себе перед запуском автоматичного налаштування. Цей тест дозволяє забезпечити безпечний польот транспортного засобу в режимах управління положенням.
-:::info Під час [Налаштування рами](../config/airframe.md) ви повинні були вибрати раму, яка найбільше відповідає вашому транспортному засобу. Можливо, це досить добре працюватиме для запуску автоналаштування.
-:::
-
Переконайтеся, що транспортний засіб достатньо стабільний для автоналаштування:
1. Виконайте звичайний контрольний перелік безпеки перед польотом, щоб переконатися, що зона польоту чиста і має достатньо місця.
-1. Зльот та підготовка до тесту
- - **Багатокоптери:** Злітайте та зависайте на висоті 1 м над землею в режимі [Режим висоти](../flight_modes_mc/altitude.md) або стабілізованому режимі.
- - **Фіксований крило:** Злітайте та летіть з крейсерською швидкістю в режимі [Режим позиції](../flight_modes_mc/position.md) або [Режим висоти](../flight_modes_mc/altitude.md).
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
1. Використовуйте палицю кочення пульта керування RC для виконання наступного маневру, нахиливши транспортний засіб лише на кілька градусів: _нахил ліворуч > нахил праворуч > центр_ (Весь маневр повинен зайняти близько 3 секунд). Транспортний засіб повинен стабілізуватися протягом 2 коливань.
1. Повторіть маневр, нахиляючись з більшими амплітудами при кожної спроби. Якщо транспортний засіб може стабілізуватися протягом 2 коливань під кутом близько 20 градусів, перейдіть до наступного кроку.
1. Повторіть ті ж маніпуляції, але по осі поля. Як вище, почніть з невеликих кутів і підтвердіть, що транспортний засіб може стабілізуватися самостійно протягом 2 коливань, перш ніж збільшувати нахил.
-Якщо безпілотник може стабілізувати себе протягом 2 коливань, він готовий до процедури автоматичного налаштування.
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
-Якщо ні, перейдіть до розділу [вирішення проблем](#troubleshooting), де пояснюється мінімальна ручна настройка для підготовки автомобіля до автоматичної настройки.
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
-### Процедура автоналагодження
+## Процедура автоналагодження
Послідовність автоматичного налаштування повинна бути виконана в **безпечній зоні польоту, з достатньою площею**. Це займає близько 40 секунд ([між 19 і 68 секундами](#how-long-does-autotuning-take)). Для найкращих результатів ми рекомендуємо проводити тестування в спокійні погодні умови.
-Рекомендовані режими для автоналагодження - [Режим утримання](../flight_modes_fw/hold.md) (FW) та [Режим висоти](../flight_modes_mc/altitude.md) (MC), але можна використовувати будь-який інший режим польоту. Під час автоматичного налаштування RC палиці все ще можна використовувати для польоту транспортного засобу.
-
-:::info Послідовність автоматичного налаштування можна перервати у будь-який момент, змінивши режими польоту або використовуючи [ввімкнути / вимкнути перемикач автоматичного налаштування](#enable-disable-autotune-switch-fixed-wing) (якщо налаштовано).
-:::
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. Під час автоматичного налаштування RC палиці все ще можна використовувати для польоту транспортного засобу.
Кроки наступні:
1. Виконайте [тест передналаштування](#pre-tuning-test).
-1. Зліт за допомогою керування RC та підготовка до тесту:
- - **Багатокоптери:** Зліт за допомогою пульта дистанційного керування в [Режимі висоти](../flight_modes_mc/altitude.md). Наведіть транспортний засіб на безпечній відстані та на кілька метрів над землею (між 4 та 20 м).
- - **Планер:** Після польоту з крейсерською швидкістю активуйте [Режим утримання](../flight_modes_mc/hold.md). Це допоможе літаку летіти по колу на постійній висоті та швидкості.
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Наведіть транспортний засіб на безпечній відстані та на кілька метрів над землею (між 4 та 20 м).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ Це допоможе літаку летіти по колу на постійній висоті та швидкості.
+
1. Enable autotune.
-:::tip
-Якщо налаштовано [перемикач увімкнення/вимкнення автоналаштування](#enable-disable-autotune-switch-fixed-wing), ви можете просто перемкнути перемикач у положення "увімкнено".
-:::
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
+
+
- 1. У QGroundControl відкрийте меню: **Налаштування Транспортного Засобу > Налаштування PID**
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
@@ -66,78 +82,119 @@
1. Прочитайте спливаюче вікно попередження та натисніть на **OK**, щоб почати налаштування.
1. Дрон спочатку почне виконувати швидкі рухи кочення, а потім рухи тангажу та рухи курсу. Прогрес відображається на панелі прогресу, поруч з кнопкою _Автоналадка_.
-1. Застосувати налаштування:
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 потім проведе 4-секундний тест і поверне нове налаштування, якщо буде виявлено проблему.
- - **Фіксований крило:** Налаштування буде негайно/автоматично застосовано й перевірено в польоті (за замовчуванням). PX4 потім проведе 4-секундний тест і поверне нове налаштування, якщо буде виявлено проблему.
- - **Багатороторники:** Вручну приземліться та роззбройтеся, щоб застосувати нові параметри налаштування. Піднімайтеся обережно і вручну перевіряйте, що транспортний засіб стійкий.
-
-1. Якщо виникають сильні коливання, негайно приземліться й дотримуйтеся інструкцій у розділі [Усунення неполадок](#troubleshooting) нижче.
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
Додаткові примітки:
-- **VTOL:** Гібридні ВТОЛ фіксовані крила повинні бути налаштовані двічі, слідуючи інструкціям для багтороторників у режимі MC та інструкціям для фіксованих крил у режимі FW.
-- **Багатокоптер:** Інструкції вище налаштовують транспортний засіб у [Режим висоти](../flight_modes_mc/altitude.md). Замість цього ви можете здійснити зльот у режимі [Зльоту](../flight_modes_mc/takeoff.md) та налаштувати режим [Позиції](../flight_modes_mc/position.md), якщо _відомо_, що транспортний засіб стабільний в цих режимах.
-- **Фіксований крило:** Автоналагодження також може бути запущено в режимі [Режим висоти](../flight_modes_fw/altitude.md) або [Режим позиції](../flight_modes_fw/position.md). Проте виконання тесту під час прямого польоту потребує більшої безпечної зони для налаштування і не дає значно кращого результату налаштування.
-- Чи налаштування застосовується у повітрі чи після посадки можна [налаштувати за допомогою параметрів](#apply-parameters-when-in-air-landed).
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ Проте виконання тесту під час прямого польоту потребує більшої безпечної зони для налаштування і не дає значно кращого результату налаштування.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
## Вирішення проблем
-#### Дрон коливається при виконанні випробувальних маневрів перед автоматичним налаштуванням
+### Drone oscillates when performing the pre-tuning test
+
+
+
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
+
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
-- повільні осциляції (1 осциляція на секунду або повільніше): це часто відбувається на великих платформах і означає, що петля утримання позиції рухається занадто швидко порівняно з петлею швидкості.
- - **Мультикоптер:** зменшити [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) та [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) на 1,0 одиницю.
- - **Фіксований крило:** збільшити [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) та [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) на кроки по 0.1.
-- швидкі коливання (більше 1 коливання на секунду): це тому, що підсилення петлі швидкості занадто високе.
- - **Мультикоптер:** зменшити `MC_[ROLL|PITCH|YAW]RATE_K` на 0,02 одиниці
- - **Фіксований крило:** зменшити [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) на кроки по 0.01.
+
+
-#### Послідовність автоматичної настройки не вдається
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
-Якщо безпілотник не рухався достатньо під час автоматичного налаштування, алгоритм ідентифікації системи може мати проблеми з визначенням правильних коефіцієнтів. Збільште [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) на одиницю і знову викличте автоматичне налаштування.
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-#### Дрон коливається після автоналагодження
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
-Через вплив ефектів, які не враховані в математичній моделі, такі як затримки, насичення, швидкість наростання, гнучкість конструкції, коефіцієнт підсилення петлі може бути занадто великим. Щоб виправити це, слідувати тим самим крокам, описаним [коли дрон коливається в попередньому тесті перед налаштуванням автоматичного налаштування](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
-#### Я все ще не можу зрозуміти, як це працює
+
-Спробуйте налаштувати вручну, використовуючи відповідні посібники:
+### Послідовність автоматичної настройки не вдається
-- [Посібник з налаштування PID для багатокоптерів](../config_mc/pid_tuning_guide_multicopter_basic.md) (Керівництво/Простий)
-- [Посібник з налаштування PID для багатокоптерів](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Посібник з налаштування ПІД-регулятора з нерухомим крилом](../config_fw/pid_tuning_guide_fixedwing.md)
+Якщо безпілотник не рухався достатньо під час автоматичного налаштування, алгоритм ідентифікації системи може мати проблеми з визначенням правильних коефіцієнтів.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### Дрон коливається після автоналагодження
+
+Через вплив ефектів, які не враховані в математичній моделі, такі як затримки, насичення, швидкість наростання, гнучкість конструкції, коефіцієнт підсилення петлі може бути занадто великим. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### Я все ще не можу зрозуміти, як це працює
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
## Необов'язкова Конфігурація
-### Застосовувати параметри у повітрі/приземленні
+### Apply Tuning when In-Air/Landed
+
-За замовчуванням транспортні засоби MC приземляються до застосування параметрів, тоді як транспортні засоби FW застосовують параметри у повітрі, а потім перевіряють, що контролери працюють належним чином. Цю поведінку можна налаштувати за допомогою параметрів [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) та [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) відповідно:
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
- `0`: надбавки не застосовуються. Це використовується для тестування, якщо користувач хоче перевірити результати автоналаштування алгоритму без прямого їх використання.
- `1`: застосувати здобутки після роззброєння (типово для мультироторів). Оператор може перевірити нове налаштування під час обережного зльоту.
-- `2`: застосувати негайно (за замовчуванням для фіксованих відгуків). Нове налаштування застосовується, перешкоди надсилаються контролеру, а стабільність контролюється протягом наступних 4 секунд. Якщо керуюче коло нестійке, керуючі коефіцієнти негайно повертаються до свого попереднього значення. Якщо тест пройшов успішно, пілот може використовувати нове налаштування.
+- `2`: apply immediately (default for fixed-wings). Нове налаштування застосовується, перешкоди надсилаються контролеру, а стабільність контролюється протягом наступних 4 секунд. Якщо керуюче коло нестійке, керуючі коефіцієнти негайно повертаються до свого попереднього значення. Якщо тест пройшов успішно, пілот може використовувати нове налаштування.
+
+
-### Увімкнути/вимкнути перемикач автотюнінгу (фіксований крило)
+### Enable/Disable Autotune Switch
-Пульт дистанційного керування може бути налаштований для увімкнення / вимкнення автодоналаштування (у будь-якому режимі) за допомогою додаткового каналу RC.
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
-Для відображення перемикача:
+To map a switch:
1. Виберіть канал RC на вашому контролері для використання перемикача увімкнення / вимкнення автоналадки.
-1. Встановіть [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) для відповідності каналу RC вашому перемикачу (ви можете використовувати будь-який з `RC_MAP_AUX1` по `RC_MAP_AUX6`).
-1. Встановіть [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) на вибраний канал (тобто `1: Aux 1`, якщо ви відобразили `RC_MAP_AUX1`).
+1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
+1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
+
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
-Автоналаштування буде вимкнено, коли перемикач знаходиться нижче `0.5` (в діапазоні ручного керування від `[-1, 1]` та увімкнено, коли канал перемикача знаходиться вище `0.5`.
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
-Якщо використовується перемикач RC AUX для увімкнення автоналагодження, переконайтеся, що ви [вибрали вісі налаштування](#select-tuning-axis-fixed-wing) перед польотом.
+### Select Tuning Axis
-### Виберіть Ось Тюнінгу (Фіксований Крило)
+Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
-Літальні апарати з фіксованим крилом (тільки) можуть вибирати, які вісі налаштовуються за допомогою параметра бітової маски [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES):
+- bit `0`: roll (default)
+- bit `1`: pitch (default)
+- bit `2`: yaw
-- біт `0`: кидок (за замовчуванням)
-- біт `1`: кидок (за замовчуванням)
-- біт `2`: крен
+
## Розробники/SDKs
@@ -162,7 +219,7 @@ PX4 використовує [PID контролери](../flight_stack/controll
Транспортний засіб повинен перебувати в режимі стабілізації висоти (такому як [Режим висоти](../flight_modes_mc/altitude.md), [Режим утримання](../flight_modes_mc/hold.md) або [Режим позиції](../flight_modes_mc/position.md)). Стек польоту застосує невелике збурення до транспортного засобу в кожній з осей, а потім спробує розрахувати нові налаштувальні параметри. Для літаків нове налаштування застосовується в повітрі за замовчуванням, після чого транспортний засіб перевіряє нові налаштування і повертає налаштування, якщо контролери нестабільні. Для мультикоптера транспортний засіб приземляється і застосовує нові параметри налаштування після відбронювання; пілот повинен обережно злетіти і протестувати налаштування.
-Процес налаштування займає близько 40 секунд ([між 19 і 68 секундами](#how-long-does-autotuning-take)). Стандартна поведінка може бути налаштована за допомогою [параметрів](#optional-configuration).
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). Стандартна поведінка може бути налаштована за допомогою [параметрів](#optional-configuration).
### FAQ
@@ -200,8 +257,20 @@ If not, perhaps say "not very" but you should expect that the vehicle might defl
-->
-## Дивись також
+
+
+## See also
+
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
+- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
-- [Посібник з налаштування PID для багатокоптерів](../config_mc/pid_tuning_guide_multicopter_basic.md) (Керівництво/Простий)
-- [Посібник з налаштування PID для багатокоптерів](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Посібник з налаштування ПІД-регулятора з нерухомим крилом](../config_fw/pid_tuning_guide_fixedwing.md)
+
diff --git a/uk/config/autotune_fw.md b/uk/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/uk/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/uk/config/autotune_mc.md b/uk/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/uk/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/uk/config/autotune_vtol.md b/uk/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/uk/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/uk/config/battery.md b/uk/config/battery.md
index c9d8f35ace4c..cd8f2a244a87 100644
--- a/uk/config/battery.md
+++ b/uk/config/battery.md
@@ -135,7 +135,7 @@ PX4 надає ряд (поступово більш ефективних) ме
Це налаштування не потрібне, якщо ви використовуєте базову конфігурацію (без компенсації навантаження тощо).
:::
-Якщо ви використовуєте [Компенсацію навантаження на основі струму](#current_based_load_compensation) або [Інтеграцію струму](#current_integration), роздільник амперів на вольт повинен бути калібрований.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
Найлегший спосіб калібрування дільників полягає в тому, щоб використовувати _QGroundControl_ та слідувати по кроковому посібнику на [Налаштування > Налаштування живлення](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (Посібник користувача QGroundControl).
@@ -146,71 +146,34 @@ PX4 надає ряд (поступово більш ефективних) ме
## Оцінка на основі напруги з компенсацією навантаження
-:::info
-При належній налаштуванні компенсації навантаження напруга, що використовується для оцінки ємності батареї, є набагато стабільнішою, варіюючись набагато менше при польоті вгору і вниз.
-:::
-
-Спроби компенсації навантаження спрямовані на протидію флуктуаціям у виміряному напрузі/оціненій ємності при навантаженні, які виникають при використанні [основної конфігурації](#basic_settings). Це працює шляхом оцінки, яка була б напруга для _навантаженого_ акумулятора, і використання цієї напруги (замість виміряної напруги) для оцінки залишкової ємності.
-
-:::info Для використання компенсації навантаження все ще потрібно встановити [основну конфігурацію](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 підтримує два методи компенсації навантаження, які активуються шляхом [встановлення](../advanced_config/parameters.md) будь-одного з двох параметрів нижче:
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Компенсація навантаження на основі струму](#current_based_load_compensation) (рекомендовано).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Компенсація навантаження на основі тяги](#thrust_based_load_compensation).
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). Ви також повинні калібрувати [Делільник амперів на вольт](#current_divider) на екрані основних налаштувань.
-### Компенсація навантаження на основі струму (рекомендовано)
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-Цей метод компенсації навантаження ґрунтується на вимірюванні поточного навантаження для визначення навантаження. Воно набагато точніше, ніж [Компенсація навантаження на основі тяги](#thrust_based_load_compensation), але потребує мати датчик струму.
-
-Щоб увімкнути цю функцію:
-
-1. Встановіть параметр [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) на внутрішнє опір батареї 1 (і повторіть для інших батарей).
-
- :::tip
-Є LiPo зарядники, які можуть вимірювати внутрішній опір вашої батареї.
-Типове значення становить 5 мΩ на комірку, але воно може відрізнятися залежно від рейтингу розрядного струму, віку та стану комірок.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-1. Ви також повинні калібрувати [Делільник амперів на вольт](#current_divider) на екрані основних налаштувань.
-
-
-
-### Компенсація навантаження на основі тяги
-
-Цей метод компенсації навантаження оцінює навантаження на основі загального тягового зусилля, яке командується двигунам.
-
-:::warning
-Цей метод не є особливо точним через затримку між командою на тягу та поточним, а також тому, що тяга не лінійно пропорційна поточному. Використовуйте [Компенсацію навантаження на основі поточного сигналу](#current_based_load_compensation), якщо у вашому транспортному засобі є датчик струму.
-:::
-
-Щоб увімкнути цю функцію:
-
-1. Встановіть параметр [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) на те, наскільки падає напруга на одній з батарей при повному відкритті дроселя.
-
## Оцінка на основі напруги, поєднана з інтегруванням струму
-:::info
-Це найточніший спосіб вимірювання відносного споживання батареї.
-Якщо все налаштовано правильно з здоровою та свіжою зарядженою батареєю при кожному запуску, тоді якість оцінки буде порівнянною з тим, що від розумної батареї (і теоретично дозволить точну оцінку залишкового часу польоту).
-:::
+This method is the most accurate way to measure relative battery consumption. Якщо все налаштовано правильно з здоровою та свіжою зарядженою батареєю при кожному запуску, тоді якість оцінки буде порівнянною з тим, що від розумної батареї (і теоретично дозволить точну оцінку залишкового часу польоту).
-Цей метод оцінює залишкову ємність акумулятора, поєднуючи оцінку _доступної_ ємності на основі напруги з оцінкою поточного заряду, який був використаний. Для цього потрібне обладнання, яке може точно вимірювати поточний стан.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. Для цього потрібне обладнання, яке може точно вимірювати поточний стан.
Щоб увімкнути цю функцію:
-1. Спочатку налаштуйте точну оцінку напруги за допомогою [компенсації навантаження на основі струму](#current_based_load_compensation).
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Включаючи калібрування налаштування [Подільник амперів на вольт](#current_divider).
:::
-1. Встановіть параметр [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) на приблизно 90% від рекламної ємності батареї (зазвичай надруковано на етикетці батареї).
+2. Встановіть параметр [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) на приблизно 90% від рекламної ємності батареї (зазвичай надруковано на етикетці батареї).
:::info
Не встановлюйте це значення занадто високим, оскільки це може призвести до поганої оцінки або раптового зниження оціненої потужності.
diff --git a/uk/config/flight_mode.md b/uk/config/flight_mode.md
index 0fbcee4dbbc9..dc2ae21fb258 100644
--- a/uk/config/flight_mode.md
+++ b/uk/config/flight_mode.md
@@ -82,9 +82,9 @@ PX4 дозволяє вам вказати канал "режиму" та виб
На FrSky Taranis цей процес включає в себе призначення "логічного перемикача" для кожної комбінації положень двох реальних перемикачів. Кожний логічний перемикач потім призначається для різних значень ШІМ на тому ж каналі.
-Відео нижче показує, як це робиться з передавачем *FrSky Taranis*.@[youtube](https://youtu.be/TFEjEQZqdVA)
+Відео нижче показує, як це робиться з передавачем *FrSky Taranis*.
-Конфігурація *QGroundControl* потім виконується [як описано вище](#flight-mode-selection).
+The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
## Детальна інформація
diff --git a/uk/config/index.md b/uk/config/index.md
index 07b430f17f50..228484c4acfb 100644
--- a/uk/config/index.md
+++ b/uk/config/index.md
@@ -52,13 +52,17 @@
### Тюнінг
-- [Autotune](../config/autotune.md) (Рекомендовано для апаратів та платформ, які підтримують цю функцію)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## Відеоінструкція
[youtube](https://youtu.be/91VGmdSlbo4)
-@Якщо вам потрібна допомога з конфігурацією, ви можете звернутися за допомогою на форумі підтримки [QGroundControl](https://discuss.px4.io//c/qgroundcontrol/qgroundcontrol-usage).
+
## Підтримка
diff --git a/uk/config/safety.md b/uk/config/safety.md
index 9519ce9e03b0..db67b3c6273f 100644
--- a/uk/config/safety.md
+++ b/uk/config/safety.md
@@ -2,9 +2,15 @@
PX4 має кілька функцій безпеки для захисту та відновлення вашого транспортного засобу в разі виникнення проблем:
-- _Аварійні режими_ дозволяють вам визначати зони та умови, за яких ви можете безпечно літати, і [дію](#failsafe-actions), яка буде виконана, якщо спрацює аварійний режим (наприклад, посадка, утримання позиції або повернення до вказаної точки). Найважливіші налаштування аварійних режимів конфігуруються на сторінці [Налаштування безпеки](#qgroundcontrol-safety-setup) в _QGroundControl_. Інші потрібно налаштовувати через [параметри](#other-safety-settings).
+- _Аварійні режими_ дозволяють вам визначати зони та умови, за яких ви можете безпечно літати, і [дію](#failsafe-actions), яка буде виконана, якщо спрацює аварійний режим (наприклад, посадка, утримання позиції або повернення до вказаної точки). Найважливіші налаштування аварійних режимів конфігуруються на сторінці [Налаштування безпеки](#qgroundcontrol-safety-setup) в _QGroundControl_. Others must be configured via [parameters](../advanced_config/parameters.md).
- [Перемикачі безпеки](#emergency-switches) на пульті дистанційного керування можуть використовуватися для негайного зупинення двигунів або повернення транспортного засобу у випадку проблеми.
+## Налаштування безпеки QGroundControl
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Налаштування безпеки (QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## Дії аварійного режиму
Коли спрацьовує аварійний режим, типова поведінка (для більшості аварійних режимів) полягає в тому, що він входить у режим утримання протягом [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) секунд перед виконанням відповідної дії аварійного режиму. Це дає користувачу час помітити, що відбувається, і перевизначити аварійний режим, якщо це необхідно. У більшості випадків це можна зробити, використовуючи RC або GCS для перемикання режимів (зверніть увагу, що під час утримання аварійного режиму переміщення пультів RC не спричиняє перезапуску).
@@ -27,32 +33,67 @@ PX4 має кілька функцій безпеки для захисту та
Точна поведінка при спрацюванні різних захисних механізмів може бути протестована за допомогою [Симуляції Машини Стану Захисного Відключення](safety_simulation.md).
:::
-## Налаштування безпеки QGroundControl
+### Налаштування режиму повернення
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. Це включає найважливіші налаштування аварійного режиму (батарея, втрата RC тощо) та налаштування спрацьованих дій _Повернення_ та _Посадка_.
+
-![Налаштування безпеки (QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Повернення_ - це поширена [дія аварійного захисту](#failsafe-actions), яка включає [режим Повернення](../flight_modes/return.md) для повернення транспортного засобу до домашньої позиції. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
+
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
+
+### Налаштування режиму землі
+
+_Земля на поточній позиції_ є загальною [дією аварійного режиму](#failsafe-actions) (особливо для мультикоптерів), яка включає режим [Посадка](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
-### Аварійний режим в разі низького рівня заряду батареї
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
-Аварійний режим при низькому заряді батареї спрацьовує, коли ємність батареї падає нижче одного (або кількох) значень рівня попередження.
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-Найпоширеніша конфігурація полягає в встановленні значень та дій, як описано вище (з `Попередження > Аварійний режим > Екстрена ситуація`). З такою конфігурацією аварійний режим спочатку викличе попередження, потім повернення, і, нарешті, посадку, якщо ємність впаде нижче відповідних рівнів.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+Налаштування та вибрані параметри показані нижче.
+
+| Налаштування | Параметр | Опис |
+| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
+| Моделювання відмовостійкості | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| Рівень попередження про низький заряд акумулятора | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Відсоткова ємність для попереджень (або інших дій). |
+| Надійний рівень заряду акумулятора становить | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Відсоткова ємність для дії Повернення (або інших дій, якщо вибрано одну дію). |
+| Критичний рівень батареї | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Відсоткова ємність для спрацьовування дії Land (негайно). |
-Також можливо встановити _Дію аварійного режиму_ на попередження, повернення або посадку, коли досягнуто [Рівень аварійного режиму батареї](#BAT_CRIT_THR).
+### Flight Time Failsafes
+
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
Налаштування та вибрані параметри показані нижче.
-| Налаштування | Параметр | Опис |
-| --------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Моделювання відмовостійкості | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Попередження, Повернення або Посадка, коли ємність падає нижче [рівня аварійного рівня акумулятора](#BAT_CRIT_THR), АБО Попередження, потім повернення, потім посадка на основі кожного з нижченаведених рівнів налаштувань. |
-| Рівень попередження про низький заряд акумулятора | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | Відсоткова ємність для попереджень (або інших дій). |
-| Надійний рівень заряду акумулятора становить | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | Відсоткова ємність для дії Повернення (або інших дій, якщо вибрано одну дію). |
-| Критичний рівень батареї | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | Відсоткова ємність для спрацьовування дії Land (негайно). |
+| Налаштування | Параметр | Опис |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Аварійний режим втрати ручного керування
+## Manual Control Loss Failsafe
Система автоматичного відключення керування може бути активована, якщо втрачено зв'язок з [передавачем RC](../getting_started/rc_transmitter_receiver.md) або [джойстиком](../config/joystick.md), і немає резервного варіанту. Якщо використовується [передавач RC](../getting_started/rc_transmitter_receiver.md), це спрацьовує, якщо втрачено зв'язок передавача [RC](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). Якщо використовується [джойстики](../config/joystick.md), підключені через даний зв'язок MAVLink, це спрацьовує, якщо джойстики відключені або зв'язок даних втрачено.
@@ -67,25 +108,25 @@ The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundContr
| Параметр | Налаштування | Опис |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Аварійний режим втрати ручного керування Timeout | Час після отримання останньої встановленої точки від вибраного джерела керування вручну, після якого керування вважається втраченим. Це повинно бути коротким, оскільки транспортний засіб продовжуватиме літати за старими налаштуваннями керування вручну, поки не спрацює таймаут. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Затримка відмови від дії | Затримка в секундах між виникненням умови аварійного режиму (`COM_RC_LOSS_T`) та аварійною дією (RTL, Land, Hold). У цьому стані транспортний засіб очікує в режимі утримання на повторне підключення джерела керування вручну. Це може бути встановлено довше для довгих польотів, щоб втрата інтермітентного з'єднання не викликала негайного виклику аварійного режиму. Це може бути рівним нулю, щоб аварійний запобіжник спрацював негайно. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Аварійний режим втрати ручного керування Timeout | Час після отримання останньої встановленої точки від вибраного джерела керування вручну, після якого керування вважається втраченим. Це повинно бути коротким, оскільки транспортний засіб продовжуватиме літати за старими налаштуваннями керування вручну, поки не спрацює таймаут. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Затримка відмови від дії | Затримка в секундах між виникненням умови аварійного режиму (`COM_RC_LOSS_T`) та аварійною дією (RTL, Land, Hold). У цьому стані транспортний засіб очікує в режимі утримання на повторне підключення джерела керування вручну. Це може бути встановлено довше для довгих польотів, щоб втрата інтермітентного з'єднання не викликала негайного виклику аварійного режиму. Це може бути рівним нулю, щоб аварійний запобіжник спрацював негайно. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | Дії аварійного режиму | Вимкнути, Блукати, Повернутися, Приземлитися, Роззброїти, Завершити. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | Виключення втрат RC | Встановіть режими, в яких втрата керування вручну ігнорується: Місія, Утримання, Offboard. |
-### Втрата каналу зв'язку Failsafe
+## Втрата каналу зв'язку Failsafe
Збій втрати втрати даних посилання (при переході через телеметрію (підключення до наземної станції) втрачено.
![Safety - Data Link Loss (QGC)](../../assets/qgc/setup/safety/safety_data_link_loss.png)
-Налаштування та вибрані параметри показані нижче.
+The settings and underlying parameters are shown below.
| Налаштування | Параметр | Опис |
| ------------------------------ | -------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Тайм-аут втрати каналу зв'язку | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | Час після втрати з'єднання з даними перед тим, як спрацює запобіжник. |
| Дії аварійного режиму | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Вимкнути, Hold mode, Return mode, Land mode, Роззброїти, Завершити. |
-### Аварійний режим "обмеження зони політів"
+## Аварійний режим "обмеження зони політів"
Аварійний режим "обмеження зони політів" спрацьовує, коли дрон перетинає "віртуальний" периметр. У найпростішій формі периметр налаштовується як циліндр, центрований навколо домашньої позиції. Якщо транспортний засіб виходить за межі радіуса або вище вказаної висоти, спрацьовує вказана _Дія аварійного режиму_.
@@ -113,46 +154,9 @@ The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundContr
| Попередня активація геозони | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Експериментальний) Спрацьовувати геозону, якщо поточний рух транспортного засобу передбачає спрацьовування порушення (замість пізнього спрацьовування після порушення). |
| Автоматичний вимикач для зупинки польоту | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | Увімкнення/вимкнення дії припинення польоту (за замовчуванням вимкнено). |
-### Налаштування режиму повернення
-
-
-
-_Повернення_ - це поширена [дія аварійного захисту](#failsafe-actions), яка включає [режим Повернення](../flight_modes/return.md) для повернення транспортного засобу до домашньої позиції. Цей розділ показує, як встановити поведінку землі/кругової розвідки після повернення.
+## Position (GNSS) Loss Failsafe
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-Налаштування та базові параметри показані нижче:
-
-| Налаштування | Параметр | Опис |
-| ------------------------------------------------------------ | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
-| Сходження на висоту | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | Транспортний засіб піднімається до цієї мінімальної висоти (якщо вона нижче) для повернення польоту. |
-| Поведінка повернення | | Список вибору _Повернення потім_: Земля, Кружляти і не сідати, або Кружляти і сісти після вказаного часу. |
-| Висота польоту неподалік від точки | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | Якщо вибрано повернення з блуканням, ви також можете вказати висоту, на якій транспортний засіб утримується. |
-| Час блукання | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | Якщо вибрано повернення з блуканням, тоді посадка, ви також можете вказати, як довго транспортний засіб буде утримуватися. |
-
-:::info Поведінка повернення визначається за допомогою [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). Якщо від'ємно, транспортний засіб відразу приземлиться. Додаткову інформацію можна знайти в режимі [Повернення](../flight_modes/return.md).
-:::
-
-### Налаштування режиму землі
-
-_Земля на поточній позиції_ є загальною [дією аварійного режиму](#failsafe-actions) (особливо для мультикоптерів), яка включає режим [Посадка](../flight_modes_mc/land.md). Цей розділ показує, як контролювати час та умови автоматичного розблокування транспортного засобу після посадки. Для багатоциліндрових літаків (тільки) ви можете додатково встановити швидкість спуску.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-Налаштування та базові параметри показані нижче:
-
-| Налаштування | Параметр | Опис |
-| --------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Знешкодити після | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Виберіть прапорець, щоб вказати, що транспортний засіб роззброїться після посадки. Значення повинно бути ненульовим, але може бути частиною секунди. |
-| Швидкість спуску на посадку (тільки МС) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Швидкість спуску. |
-
-## Інші налаштування аварійного режиму
-
-У цьому розділі міститься інформація про налаштування аварійних режимів, які не можуть бути сконфігуровані через сторінку [Налаштування безпеки](#qgroundcontrol-safety-setup) в _QGroundControl_.
-
-### Аварійний режим втрати позиції (GPS)
-
-Відключення позиції _втрати безпеки_ спрацьовує, якщо якість оцінки позиції PX4 падає нижче прийнятних рівнів (це може бути спричинено втратою GPS) під час режиму, який вимагає прийнятної оцінки позиції.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
Дія невдачі контролюється за допомогою [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), залежно від того, чи припускається наявність керування RC (та інформації про висоту):
@@ -175,9 +179,9 @@ _Земля на поточній позиції_ є загальною [діє
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Час простою (очікування відновлення GPS перед посадкою або припиненням польоту). Установіть значення 0 для відключення. |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | Фіксований кут крену/кочення під час кілочення. |
-### Аварійний режим втрати управління з пульта
+## Аварійний режим втрати управління з пульта
-_Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'язок з платформою під час управління Offboard. Можна вказати різні дії аварійного режиму в залежності від наявності зв'язку з RC.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Можна вказати різні дії аварійного режиму в залежності від наявності зв'язку з RC.
Відповідні параметри наведено нижче:
@@ -186,13 +190,7 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Затримка після втрати зовнішнього з'єднання перед спрацюванням запобіжника. |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | Запобіжна дія, якщо RC доступний: Режим позиції, Режим висоти, Ручний режим, Режим повернення, Режим посадки, Режим утримання. |
-### Перевірки можливості місії
-
-Здійснюється ряд перевірок, щоб забезпечити, що місію можна розпочати лише у випадку, якщо вона _реалізовна_. Наприклад, перевірки забезпечують, що перший пункт маршруту не занадто віддалений, і що маршрут місії не конфліктує з жодними геозахистами.
-
-Оскільки ці не є строго кажучи "запобіжними заходами", вони документовані у [Режим місії (FW) > Перевірка можливості виконання місії](../flight_modes_fw/mission.md#mission-feasibility-checks) та [Режим місії (MC) > Перевірка можливості виконання місії](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### Аварійний режим уникнення трафіку
+## Аварійний режим уникнення трафіку
Аварійний режим уникнення трафіку дозволяє PX4 реагувати на дані від транспондерів (наприклад, від [ADS-B транспондерів](../advanced_features/traffic_avoidance_adsb.md)) під час місій.
@@ -202,7 +200,7 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | Встановіть дію аварійного режиму: Вимкнено, Попередження, Режим повернення, Режим посадки. |
-### Запобіжник Quad-chute
+## Запобіжник Quad-chute
Аварійний режим для випадку, коли БЛА типу VTOL більше не може летіти у режимі фіксованого крила, наприклад, через відмову тягового мотора, датчика швидкості повітря або керованої поверхні. Якщо спрацьовує аварійний режим, транспортний засіб негайно перейде у режим багтороторного літання і виконає дію, визначену у параметрі [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Абсолютний поріг обертання для спрацьовування квадро-шнура в режимі FW. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Абсолютний поріг чутливості для виклику квадро-шлюзу у режимі FW. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| Параметр | Опис |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## Виявлення відмов
Детектор відмов дозволяє автомобілю вжити захисних заходів, якщо він несподівано перевертається, або якщо йому повідомлено зовнішньою системою виявлення відмов.
@@ -260,6 +268,12 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | Увімкніть введення ШІМ на AUX5 або MAIN5 (в залежності від плати) для активації аварійного режиму зовнішньою автоматичною системою спрацювання (ATS). За замовчуванням: Вимкнено. |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | Поріг ШІМ для зовнішньої системи автоматичного спрацювання аварійного режиму. Значення за замовчуванням: 1900 мс. |
+## Перевірки можливості місії
+
+Здійснюється ряд перевірок, щоб забезпечити, що місію можна розпочати лише у випадку, якщо вона _реалізовна_. Наприклад, перевірки забезпечують, що перший пункт маршруту не занадто віддалений, і що маршрут місії не конфліктує з жодними геозахистами.
+
+Оскільки ці не є строго кажучи "запобіжними заходами", вони документовані у [Режим місії (FW) > Перевірка можливості виконання місії](../flight_modes_fw/mission.md#mission-feasibility-checks) та [Режим місії (MC) > Перевірка можливості виконання місії](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## Перемикачі екстренного виклику
Пультові перемикачі можуть бути налаштовані (як частина налаштувань _QGroundControl_ [Режиму польоту](../config/flight_mode.md)) для того, щоб ви могли швидко вжити корекційних дій у разі проблеми або екстренної ситуації; наприклад, для зупинки всіх моторів або активації режиму [Повернення](#return-switch).
@@ -299,9 +313,11 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
Повернення перемикач може бути використаний для негайного ввімкнення режиму [Повернення](../flight_modes/return.md).
-## Інші налаштування безпеки
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### Таймаути автоматичного вимкнення
+### Auto-Disarming Timeouts
Ви можете встановити таймаути для автоматичного вимкнення транспортного засобу, якщо він занадто повільно збирається на зліт і/або після посадки (вимкнення транспортного засобу вимикає живлення моторів, тому пропелери не будуть обертатися).
@@ -312,6 +328,22 @@ _Offboard Loss Failsafe_ спрацьовує, якщо втрачено зв'я
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | Тайм-аут для автоматичного роззброєння після посадки. |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | Тайм-аут для автоматичної роззброєння, якщо транспортний засіб занадто повільно піднімається. |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## Додаткова інформація
- [Посібник користувача з QGroundControl > Налаштування безпеки](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/uk/config_fw/index.md b/uk/config_fw/index.md
index 472e290b6652..45b99d95050f 100644
--- a/uk/config_fw/index.md
+++ b/uk/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID налаштування
+- [Autotune](../config/autotune_fw.md) - PID Tuning
:::note
Автоналаштування спрощує процес ручного налаштування, описаний у..: [Посібник з налаштування регулятора швидкості/висоти літального апарата](../config_fw/pid_tuning_guide_fixedwing.md).
diff --git a/uk/config_fw/pid_tuning_guide_fixedwing.md b/uk/config_fw/pid_tuning_guide_fixedwing.md
index 287c3ad0242a..4809b9917ae1 100644
--- a/uk/config_fw/pid_tuning_guide_fixedwing.md
+++ b/uk/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,7 +2,7 @@
Цей посібник пояснює, як вручну налаштувати петлі PID фіксованого крила. Призначено для досвідчених користувачів / експертів, оскільки неправильна настройка PID може зірвати ваш літак.
-:::info [Автопідстроювання](../config/autotune.md) рекомендується для більшості користувачів, оскільки воно набагато швидше, простіше і забезпечує хороше налаштування для більшості кадрів. Рекомендується ручна настройка для кадрів, де автоналаштування не працює, або де важлива дотюнінг.
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Рекомендується ручна настройка для кадрів, де автоналаштування не працює, або де важлива дотюнінг.
:::
## Передумови
diff --git a/uk/config_mc/index.md b/uk/config_mc/index.md
index b7599c527de7..0aec6e550476 100644
--- a/uk/config_mc/index.md
+++ b/uk/config_mc/index.md
@@ -102,20 +102,23 @@ PX4 може бути налаштований для автоматичної
Налаштування - це останній крок, який виконується лише після завершення більшості інших налаштувань та конфігурації.
- Контролери швидкості та нахилу:
-- [Автоналаштування](../config/autotune.md) — Автоматизує налаштування керування швидкістю та позицією PX4 (рекомендовано).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ :::info Автоматична настройка працює на кадрах, які мають розумну авторитетність та динаміку навколо всіх трьох осей тіла. Це було перевірено в основному на гоночних квадрокоптерах та X500, і очікується, що воно буде менш ефективним на трикоптерах з нахилом ротора.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [Налаштування PID для МК (Посібник/Основи)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Основи ручного налаштування.
+ - [Посібник з налаштування PID для МК (Посібник/Детальний)](../config_mc/pid_tuning_guide_multicopter.md) — Ручне налаштування з докладним поясненням.
+
- :::info
-Автоматична настройка працює на кадрах, які мають розумну авторитетність та динаміку навколо всіх трьох осей тіла.
-Це було перевірено в основному на гоночних квадрокоптерах та X500, і очікується, що воно буде менш ефективним на трикоптерах з нахилом ротора.
-Інші два керівництва потрібні лише у випадку проблеми з автоналадкою.
:::
-- [Налаштування PID для МК (Посібник/Основи)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Основи ручного налаштування.
-- [Посібник з налаштування PID для МК (Посібник/Детальний)](../config_mc/pid_tuning_guide_multicopter.md) — Ручне налаштування з докладним поясненням.
-- [Налаштування затримки фільтра/керування MC](../config_mc/filter_tuning.md) — Узгодження затримки керування та фільтрації шумів.
-- [MC Налаштування заданого пункту (Генератор Траєкторії)](../config_mc/mc_trajectory_tuning.md)
- - [MC Jerk-обмежений тип траєкторії](../config_mc/mc_jerk_limited_type_trajectory.md)
-- [Налаштування гоночного мультикоптера](../config_mc/racer_setup.md)
+
+- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
+- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
+ - [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
+- [Multicopter Racer Setup](../config_mc/racer_setup.md)
diff --git a/uk/dronecan/ark_flow.md b/uk/dronecan/ark_flow.md
index 662e4868ecb1..4b0a5c0fdb86 100644
--- a/uk/dronecan/ark_flow.md
+++ b/uk/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ Ark Flow не завантажиться, якщо SD-карти немає у
## Відео
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/uk/dronecan/escs.md b/uk/dronecan/escs.md
index f716a198e85b..15b30b0131c1 100644
--- a/uk/dronecan/escs.md
+++ b/uk/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 підтримує ESCs, які відповідають стандарту
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (більші модулі)
- [VESC Проект](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/uk/dronecan/index.md b/uk/dronecan/index.md
index 46b3752d245a..85ce08a10b4b 100644
--- a/uk/dronecan/index.md
+++ b/uk/dronecan/index.md
@@ -33,6 +33,7 @@ DroneCAN раніше відомий як UAVCAN v0 (або просто UAVCAN)
- [Контролери ESC/двигуна](../dronecan/escs.md)
- Датчики швидкості повітря
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Датчик швидкості Thiemar](https://github.com/thiemar/airspeed)
- Приймачі ГНСС для ГНСС (GPS, GLONASS, BeiDou та інше)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ DroneCAN раніше відомий як UAVCAN v0 (або просто UAVCAN)
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Монітори живлення
- [Силовий модуль Pomegranate Systems](../dronecan/pomegranate_systems_pm.md)
- [Модуль живлення CUAV CAN PMU](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Компас
- [Професійний компас Holybro RM3100](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Датчики відстані
- [ARK Flow](ark_flow.md)
- [Авіоніка Анонімний Лазерний Альтиметр UAVCAN Інтерфейс](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Оптичний потік
- [Ark Flow](ark_flow.md)
- Загальний вузол CAN (дозволяє використання датчиків I2C, SPI, UART на шині CAN).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Налаштування обладнання
@@ -220,7 +226,7 @@ PX4 не публікує або підписується на повідомл
#### Периферійне озброєння
-Параметри PX4 DroneCAN:
+PX4 DroneCAN parameters:
- [UAVCAN_PUB_ARM](../advanced_config/parameter_reference.md#UAVCAN_PUB_ARM) ([Статус зброї](https://dronecan.github.io/Specification/7._List_of_standard_data_types/#armingstatus)): Опублікуйте, коли використовуєте компоненти DroneCAN, які вимагають статусу зброї PX4 як умову для використання.
diff --git a/uk/dronecan/raccoonlab_nodes.md b/uk/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/uk/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/uk/dronecan/raccoonlab_power.md b/uk/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/uk/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/uk/dronecan/sapog.md b/uk/dronecan/sapog.md
index a46a53d24fdd..3f9154b24c07 100644
--- a/uk/dronecan/sapog.md
+++ b/uk/dronecan/sapog.md
@@ -88,7 +88,7 @@ make RELEASE=1
Наступне відео демонструє процес:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Ручне перерахування ESC за допомогою Sapog
diff --git a/uk/features_mc/index.md b/uk/features_mc/index.md
index c1183e142c45..bdcae1025447 100644
--- a/uk/features_mc/index.md
+++ b/uk/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Точна посадка](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Запуск з катапульти або підкиданням](../flight_modes_mc/throw_launch.md)
diff --git a/uk/flight_controller/airlink.md b/uk/flight_controller/airlink.md
index 3815da0404c5..92445d9a6cf4 100644
--- a/uk/flight_controller/airlink.md
+++ b/uk/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink має два комп'ютери та інтегрований LTE-мо
## Основні характеристики
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Специфікації
@@ -85,7 +85,7 @@ AIRLink має два комп'ютери та інтегрований LTE-мо
## Аксесуари до AIRLink Enterprise Kit
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise прибуває з усім необхідним для налаштування автопілота.
diff --git a/uk/flight_controller/autopilot_pixhawk_standard.md b/uk/flight_controller/autopilot_pixhawk_standard.md
index e9888aea6dee..24ec0487e81b 100644
--- a/uk/flight_controller/autopilot_pixhawk_standard.md
+++ b/uk/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/uk/flight_controller/index.md b/uk/flight_controller/index.md
index a347ebccf421..b36cc1e646bf 100644
--- a/uk/flight_controller/index.md
+++ b/uk/flight_controller/index.md
@@ -33,6 +33,7 @@
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [Автопілоти з підтримкою виробника](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/uk/flight_controller/pixhawk.md b/uk/flight_controller/pixhawk.md
index ad8edf0ace05..5f550ef66e9e 100644
--- a/uk/flight_controller/pixhawk.md
+++ b/uk/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ PX4 не виробляє цей (або будь-який) автопілот.
- 3.3 та 6.6V ADC входи
- Внутрішній порт microUSB і розширення зовнішнього порту microUSB
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Система живлення та захист
diff --git a/uk/flight_controller/raccoonlab_fmu6x.md b/uk/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/uk/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/uk/flight_modes_fw/acro.md b/uk/flight_modes_fw/acro.md
index 6474a0ec3202..7f6d3e9b4fe5 100644
--- a/uk/flight_modes_fw/acro.md
+++ b/uk/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ _Acro режим_ - це ручний режим для виконання ак
## Параметри
-| Параметр | Опис |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Максимальна швидкість обертання корпусу x (швидкість обертання корпусу x, яку контролер намагається досягти, якщо користувач вводить ролл-стік в режимі acro). За замовчуванням: 90 градусів. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Максимальна швидкість тіла y в режимі acro (максимальна швидкість тіла y, якої намагається досягти контролер, якщо користувач вводить пітч-стик у режимі acro). За замовчуванням: 90 градусів. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Максимальна швидкість обертання корпусу z в режимі acro (максимальна швидкість обертання корпусу, якої намагається досягти контролер, якщо користувач вводить стик рискання в режимі acro). За замовчуванням: 45 градусів. |
+| Параметр | Опис |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | Максимальна швидкість обертання корпусу x (швидкість обертання корпусу x, яку контролер намагається досягти, якщо користувач вводить ролл-стік в режимі acro). За замовчуванням: 90 градусів. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Максимальна швидкість тіла y в режимі acro (максимальна швидкість тіла y, якої намагається досягти контролер, якщо користувач вводить пітч-стик у режимі acro). За замовчуванням: 90 градусів. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | Максимальна швидкість обертання корпусу z в режимі acro (максимальна швидкість обертання корпусу, якої намагається досягти контролер, якщо користувач вводить стик рискання в режимі acro). За замовчуванням: 45 градусів. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/uk/flight_modes_fw/takeoff.md b/uk/flight_modes_fw/takeoff.md
index aa0786a50405..3cb4fbbbcb8f 100644
--- a/uk/flight_modes_fw/takeoff.md
+++ b/uk/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Швидкість зльоту (встановлюється на [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN), якщо оператор не визначив) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | Це мінімальний кут нахилу заданий під час фази зльоту |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Максимальний кут підйому. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Налаштування закрилок під час зльоту |
:::info
Транспортний засіб завжди дотримується нормальних максимальних/мінальних налаштувань дросельної заслінки FW під час зльоту ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ _Детектор запуску_ піддається впливу наступ
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | Розмах крила транспортного засобу. Використовується для запобігання ударів крилом. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | Висота крил над землею (дорожній просвіт). Використовується для запобігання ударів крилом. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | Час L1 під час керування на злітній смузі. Збільшення для менш агресивної відповіді на помилки курсу. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Налаштування закрилок під час зльоту |
## Дивись також
diff --git a/uk/flight_modes_mc/follow_me.md b/uk/flight_modes_mc/follow_me.md
index 8498d3c62b1d..6ec99fb7a761 100644
--- a/uk/flight_modes_mc/follow_me.md
+++ b/uk/flight_modes_mc/follow_me.md
@@ -42,17 +42,17 @@
Кут, висота та відстань, встановлені за допомогою пульта керування RC, відкидаються, коли ви виходите з режиму слідування за мною. Якщо ви вийдете з режиму "Follow-Me" й активуєте його знову, значення будуть скинуті до їх типових значень.
:::
-Відео-демонстрація:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
-### Заходи безпеки
+### Safety Precautions
:::warning
-**Режим слідування** не реалізує жодного типу уникнення перешкод. Спеціальну увагу слід звертати при використанні цього режиму.
+**Follow-me mode** does not implement any type of obstacle avoidance. Special care must be taken when this mode is used.
:::
-Наступні попередження про польот слід дотримуватися:
+The following flight precautions should be observed:
- Режим слідування за мною слід використовувати тільки в широких відкритих місцях, які не перешкоджають дерева, електропроводи, будинки тощо.
- Встановіть висоту [слідуй за висотою](#FLW_TGT_HT) на значення, яке вище будь-яких оточуючих перешкод. За _замовчуванням_ це є 8 метрів вище домашньої (озброювання) позиції.
@@ -61,13 +61,13 @@
- Будьте готові повернутися до режиму позиціонування, якщо щось піде не так, особливо коли ви використовуєте режим слідування за мною вперше.
- Ви не можете вимкнути режим 'слідуй за мною', використовуючи рухи палицею RC (оскільки це налаштує властивості). Вам потрібно мати GroundStation, яка може відправляти сигнали перемикання режиму польоту або налаштований перемикач режиму польоту на вашому RC передавачі.
-### Дотримуйтесь мене з QGroundControl
+### Follow-Me with QGroundControl
![Follow-me QGC Example](../../assets/flight_modes/followme_qgc_example.jpg)
-Режим _Follow Me_ підтримується за допомогою _QGroundControl_ як цілі на апаратному засобі наземної станції, що має модуль GPS. Рекомендована конфігурація - це Android-пристрій з підтримкою USB OTG з двома телеметричними радіостанціями.
+_Follow Me_ mode is supported using _QGroundControl_ as a target on ground station hardware that has a GPS module. The recommended configuration is a USB OTG-capable Android device with two telemetry radios.
-Для налаштування режиму _Дотримуйся мене_:
+To setup _Follow Me_ mode:
- Підключіть телеметричне радіо до пристрою земної станції та інше до транспортного засобу (це дозволяє передавати інформацію про позицію між двома радіостанціями).
- Вимкніть режим сну на вашому пристрої Android:
@@ -81,30 +81,30 @@
- Він підніметься, поки не буде на висоті 3 метри в межах [висоти слідування](#FLW_TGT_HT), щоб уникнути можливих зіткнень перед рухом у горизонтальному напрямку.
- Коптер завжди буде коригувати свою орієнтацію, щоб бути спрямованим на ціль
-На цьому етапі ви можете почати рухатися, і дрон буде слідувати за вами.
+At this point you can start moving, and the drone will be following you.
-Режим було протестовано на наступних пристроях Android:
+The mode has been tested on the following Android devices:
- Galaxy S10
- Планшет Nexus 7
-### Дотримуйтесь мене з MAVSDK
+### Follow-me with MAVSDK
-[MAVSDK](https://mavsdk.mavlink.io/develop/en/api_reference/classmavsdk_1_1_follow_me.html) підтримує [Follow Me](https://mavsdk.mavlink.io/main/en/cpp/guide/follow_me.html), дозволяючи створювати додаток для дрона, який є ціллю Follow Me.
+[MAVSDK](https://mavsdk.mavlink.io/develop/en/api_reference/classmavsdk_1_1_follow_me.html) supports [Follow Me](https://mavsdk.mavlink.io/main/en/cpp/guide/follow_me.html), allowing you to create a drone app that is a follow-me target.
-Для отримання додаткової інформації див. документацію класу [Follow Me](https://mavsdk.mavlink.io/main/en/cpp/guide/follow_me.html), а також [приклад Follow Me](https://mavsdk.mavlink.io/main/en/cpp/examples/follow_me.html).
+For more information see the [Follow Me class](https://mavsdk.mavlink.io/main/en/cpp/guide/follow_me.html) documentation as well as the [Follow Me Example](https://mavsdk.mavlink.io/main/en/cpp/examples/follow_me.html).
-:::info
-MAVSDK наразі не рекомендується через помилку ([MAVSDK#1756](https://github.com/mavlink/MAVSDK/issues/1756), коли той самий повідомлення іноді відправляється двічі. Це може заплутати оцінювач цільового положення та швидкості.
+::: info
+MAVSDK is not currently recommended, due to a bug ([MAVSDK#1756](https://github.com/mavlink/MAVSDK/issues/1756) where the same message is occasionally sent twice. This can confuse the target position and velocity estimator.
:::
## Налаштування
-### Режим контролю висоти
+### Altitude Control Mode
![Follow Me Altitude Modes](../../assets/flight_modes/followme_altitude_modes.svg)
-Режим керування висотою визначає, чи є висота транспортного засобу відносно домашньої позиції, висоти місцевості або висоти, звітованої ціллю слідування.
+The altitude control mode determine whether the vehicle altitude is relative to the home position, terrain height, or the altitude reported by the follow target.
- `2D відстеження` (режим [висоти за замовчуванням](#FLW_TGT_ALT_M)) дозволяє дрону слідувати на висоті відносно фіксованої домашньої позиції (висота зльоту). Відносна відстань до дрона до цілі зміниться, коли ви підніметесь та опуститесь (використовуйте обережно в гірській місцевості).
@@ -117,16 +117,16 @@ MAVSDK наразі не рекомендується через помилку
- Режим відстеження `3D tracking` дозволяє дрону слідувати на висоті відносно цілі відстеження, як постачається його GPS-датчиком. Це адаптується до змін висоти цілі, наприклад, коли ви йдете вгору по пагорбу.
:::warning
-Не встановлюйте режим **Висоти ([FLW_TGT_ALT_M](#FLW_TGT_ALT_M)**) на `3D відстеження` при використанні QGC для Android (або загалом, без перевірки, що [FOLLOW_TARGET.altitude](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) є значенням AMSL).
+Do not set the **Altitude mode ([FLW_TGT_ALT_M](#FLW_TGT_ALT_M)**) to `3D Tracking` when using QGC for Android (or more generally, without checking that [FOLLOW_TARGET.altitude](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) is an AMSL value).
-Визначення повідомлення MAVLink [FOLLOW_TARGET](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) передбачає висоту відносно середнього рівня моря (AMSL), тоді як QGC на Android надсилає висоту відносно геодезичного еліпсоїда GPS. Це може відрізнятися на 200 метрів!
+The MAVLink [FOLLOW_TARGET](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) message definition expects an altitude relative to mean sea level (AMSL) while QGC on Android is sending an altitude relative to the GPS ellipsoid. This can differ as much as 200 meters!
-Дрон, ймовірно, не впаде через вбудований мінімальний обмежений безпечний висотний ліміт (1 метр), але він може літати набагато вище, ніж очікувалося. Якщо висота дрона значно відрізняється від зазначеної, припускайте, що вихідна висота наземної станції неправильна, і використовуйте 2D відстеження.
+The drone probably won't crash due to the built-in minimum safety altitude limit (1 meter), but it may fly much higher than expected. If the drone's altitude is significantly different than specified, assume that the ground station's altitude output is wrong and use 2D tracking.
:::
-### Параметри
+### Parameters
-Стандартна поведінка може бути налаштована за допомогою параметрів:
+The follow-me behavior can be configured using the following parameters:
| Параметр | Опис |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -137,7 +137,7 @@ MAVSDK наразі не рекомендується через помилку
| [FLW_TGT_MAX_VEL](../advanced_config/parameter_reference.md#FLW_TGT_MAX_VEL) | Максимальна відносна швидкість для орбітального руху навколо цілі, у м/с. - 10 м/с виявився оптимальним показником для агресивності проти плавності. - Встановлення більш високого значення означає, що траєкторія орбіти навколо цілі буде рухатися швидше, але якщо дрон фізично не здатний досягти такої швидкості, це призводить до агресивної поведінки. |
| [FLW_TGT_RS](../advanced_config/parameter_reference.md#FLW_TGT_RS) | Динамічний алгоритм фільтрації, який реагує на фільтрацію вхідної цільової локації. - `0.0` = Дуже чутливий до рухів та шумних оцінок позиції, швидкості та прискорення. - `1.0` = Дуже стабільний, але не реагує на фільтр |
-### Поради та хитрощі
+### Tips and tricks
1. Встановіть відстань [слідування](#FLW_TGT_DST) більше 12 метрів (8 метрів є "рекомендованим мінімумом").
@@ -149,7 +149,10 @@ MAVSDK наразі не рекомендується через помилку
3. Використовуючи коригування RC для висоти, відстані та кута, ви можете отримати деякі креативні знімки камери.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) Це відео демонструє перспективу виду Google Earth, змінюючи висоту на приблизно 50 метрів (високо), відстань на 1 метр (близько). Що дозволяє перспективу, як знято з супутника.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Що дозволяє перспективу, як знято з супутника.
## Відомі проблеми
diff --git a/uk/flight_modes_mc/mission.md b/uk/flight_modes_mc/mission.md
index 33b815c17f39..b2181f39a5a8 100644
--- a/uk/flight_modes_mc/mission.md
+++ b/uk/flight_modes_mc/mission.md
@@ -183,9 +183,8 @@ PX4 "приймає" наступні команди місії MAVLink у ре
- [MAV_CMD_NAV_RALLY_POINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RALLY_POINT)
-:::info
-Будь ласка, додайте звіт про проблему або PR, якщо ви знайшли відсутнє / некоректне повідомлення.
-:::info:
+::: info
+Please add an issue report or PR if you find a missing/incorrect message.
- PX4 аналізує вищезазначені повідомлення, але на них не обов'язково _реагує_. Наприклад, деякі повідомлення є специфічними для типу транспортного засобу.
- PX4 не підтримує локальні координати для команд місій (наприклад, [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ PX4 "приймає" наступні команди місії MAVLink у ре
Ви можете перевірити поточний набір, оглянувши код.
Підтримка - `MavlinkMissionManager::parse_mavlink_mission_item` у [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Закруглені повороти: Траєкторія міжточкового маршруту
PX4 очікує пряму лінію від попередньої точки маршруту до поточної цілі (він не планує будь-якого іншого шляху між точками маршруту - якщо вам потрібен такий, ви можете симулювати це додаванням додаткових точок маршруту).
diff --git a/uk/flight_modes_mc/position.md b/uk/flight_modes_mc/position.md
index c2cdb1ded941..9938c3bf9568 100644
--- a/uk/flight_modes_mc/position.md
+++ b/uk/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ _Положення_ - це відносно простий у керуванн
### Втрата позиції / безпека
-Режим позиціонування залежить від наявності прийнятної оцінки позиції. Якщо оцінка падає нижче припустимих рівнів, наприклад через втрату GPS, це може спричинити [Позиційний (GPS) Захисний Режим Втрати](../config/safety.md#position-gps-loss-failsafe). Залежно від конфігурації, наявності пульта дистанційного керування та наявності достатньої оцінки висоти, PX4 може переключитися в режим висоти, ручний режим, режим посадки або завершити роботу.
+Режим позиціонування залежить від наявності прийнятної оцінки позиції. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). Залежно від конфігурації, наявності пульта дистанційного керування та наявності достатньої оцінки висоти, PX4 може переключитися в режим висоти, ручний режим, режим посадки або завершити роботу.
## Дивись також
diff --git a/uk/flight_modes_rover/index.md b/uk/flight_modes_rover/index.md
index 4a2dfdf85f15..20cfc7741827 100644
--- a/uk/flight_modes_rover/index.md
+++ b/uk/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Режими польоту (Ровер)
+# Drive Modes (Rover)
-Режими польоту (або, точніше, "режими керування" для наземних транспортних засобів) забезпечують автопілоту підтримку, щоб полегшити ручне керування транспортним засобом, виконувати автономні місії або передавати керування зовнішній системі.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-У наземних транспортних засобах PX4 підтримуються лише [ручний режим](#manual-mode), [режим місії](#mission-mode) та [режим зовнішнього керування](#offboard-mode) (інші режими можуть бути доступні в наземній станції, але всі вони працюють так само, як ручний режим).
+- [Основна конфігурація > Режими польоту](../config/flight_mode.md) - Як зв'язати перемикачі керування RC з конкретними режимами польоту
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
-### Ручний режим
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
-_Ручний режим_ - це єдиний ручний режим для наземних транспортних засобів на PX4 і вимагає ручного контролера (RC контролера, геймпада, джойстика тощо).
+## Manual Mode
-У цьому режимі двигуни зупиняються, коли джойстики RC знаходяться в центрі.
-Щоб перемістити транспортний засіб, ви пересуваєте палички за межі центру.
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
-Як тільки ви відпустите ручки керування, вони повернуться до центральної мертвої зони.
-Це вимкне мотори та центр коліс.
-Активного гальмування немає, тому транспортний засіб може продовжувати рух, доки його імпульс не розсіється.
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
-### Режим місії
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
-[Режим місії](../flight_modes/mission.md) - це автоматичний режим, який змушує транспортний засіб виконувати передбачений автономний [план місії](../flying/missions.md), який був завантажений до керуючого пристрою польоту.
-Зазвичай місія створюється та завантажується за допомогою програми для керування наземною станцією (GCS), такої як [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
-### Зовнішнє керування
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
-[Режим безпосереднього управління](../flight_modes/offboard.md) призводить до того, що транспортний засіб слухається позиції, швидкості або орієнтації, які задаються через MAVLink.
-Не всі типи заданих точок мають сенс для наземного транспортного засобу або підтримуються.
+## Acro Mode
:::info
-Цей режим призначений для керування транспортним засобом з компаньйонних комп'ютерів та наземних станцій!
+Acro mode is only supported for differential-steering rovers.
:::
-## Подальша інформація
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-- [Основна конфігурація > Режими польоту](../config/flight_mode.md) - Як зв'язати перемикачі керування RC з конкретними режимами польоту
-- [Режими польоту (Мультикоптер)](../flight_modes_mc/README.md)
-- [Режими польоту (Фіксовані крила)](../flight_modes_fw/README.md)
-- [Режими польоту (VTOL)](../flight_modes_vtol/README.md)
+- Left Stick:
+
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
+
+- Right Stick:
+
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
+
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
+
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
+
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
+
+:::info
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
+:::
+
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
+
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/uk/flying/pre_flight_checks.md b/uk/flying/pre_flight_checks.md
index 12c111ce9af8..14709293ecc4 100644
--- a/uk/flying/pre_flight_checks.md
+++ b/uk/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# Передпольотні перевірки сенсорів/оцінювачів
+# QGroundControl Flight-Readiness Status
-PX4 виконує ряд передпольотних перевірок якості сенсорів та оцінювачів, щоб визначити, чи достатньо добре визначено позицію для увімкнення та польоту апарату (ці перевірки контролюються параметрами [COM\_ARM\_](../advanced_config/parameter_reference.md#commander)).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Будь-які помилки перед польотом повідомляються в *QGroundControl* як повідомлення `PREFLIGHT FAIL`. Повідомлення `estimator_status.gps_check_fail_flags` [в журналах](../getting_started/flight_reporting.md) також показує, які перевірки якості GPS не пройшли.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-Нижченаведені розділи перелічують помилки, їх ймовірні причини та рішення, а також будь-які параметри, які впливають на те, як проводяться передпольотні перевірки.
+## Flight Readiness Status
-## Передпольотні перевірки/помилки EKF
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-Наступні помилки (з пов’язаними перевірками та параметрами) повідомляються [EKF](../advanced_config/tuning_the_ecl_ekf.md) (і передаються в *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* Ця помилка виникає, коли IMU та дані вимірювання висоти суперечать.
-* Виконайте калібрування акселерометра та гіроскопа та перезапустіть апарат. Якщо помилка не зникає, перевірте дані датчика висоти на наявність проблем.
-* Перевірка контролюється параметром [COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT).
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* Ця помилка виникає, коли дані вимірювання швидкості IMU та GPS суперечать.
-* Перевірте дані швидкості GPS на наявність нереалістичних стрибків даних. Якщо якість GPS виглядає нормально, виконайте калібрування акселерометра та гіроскопа та перезапустіть апарат.
-* Перевірка контролюється параметром [COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL).
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* Ця помилка виникає, коли IMU та дані вимірювання позиції (або GPS, або зовнішнє бачення) суперечать.
-* Перевірте дані датчика позиції на наявність нереалістичних стрибків даних. Якщо якість даних виглядає нормальною, виконайте калібрування акселерометра та гіроскопа та перезапустіть апарат.
-* Перевірка контролюється параметром [COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS).
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## Передпольотні перевірки/помилки EKF
-* Ця помилка виникає, коли кут повороту, визначений за допомогою даних гіроскопа, і кут повороту, отриманий від магнітометра або системи зовнішнього бачення, не узгоджуються.
-* Перевірте дані IMU на наявність великих зсувів швидкості повороту та перевірте вирівнювання та калібрування магнітометра.
-* Перевірка контролюється параметром [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW)
-* Значення за замовчуванням 0,5 дозволяє різниці між навігаційним кутом відхилення та магнітним кутом відхилення (магнітометр або зовнішнє бачення) не перевищувати 50% від максимально допустимого EKF і забезпечує деякий запас для збільшення похибки на початку польоту.
-* Помилка може статися, якщо гіроскоп повороту має велике зміщення або якщо апарат переміщається чи обертається за наявності магнітних перешкод або поганого калібрування магнітометра.
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ PX4 виконує ряд передпольотних перевірок яко
-Зміщення прискорення EKF IMU – це різниця між виміряним прискоренням, яке повідомляє датчик IMU, і очікуваним прискоренням, яке повідомляє оцінювач EKF2 (який об’єднує дані про позицію та/або швидкість з ряду джерел, включаючи IMU, GNSS, датчики потоку тощо). Це зміщення може змінюватися, коли датчик увімкнено (“зміщення увімкнення”) і з часом через шум і різницю температур (“зміщення в роботі”). Число, як правило, має бути дуже малим (близько нуля), що вказує на те, що всі вимірювання з різних джерел збігаються щодо прискорення.
+Зміщення прискорення EKF IMU – це різниця між виміряним прискоренням, яке повідомляє датчик IMU, і очікуваним прискоренням, яке повідомляє оцінювач EKF2 (який об’єднує дані про позицію та/або швидкість з ряду джерел, включаючи IMU, GNSS, датчики потоку тощо). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). Число, як правило, має бути дуже малим (близько нуля), що вказує на те, що всі вимірювання з різних джерел збігаються щодо прискорення.
Попередження вказує на те, що зсув перевищує певний довільний поріг (апарату не буде дозволено злетіти). Швидше за все, це ознака того, що потрібне калібрування акселерометру або термокалібрування:
@@ -63,47 +71,45 @@ PX4 виконує ряд передпольотних перевірок яко
Це слід робити, лише якщо у вас є дані, які показують, що це покращить продуктивність оцінювача.
:::
-| Параметр | Опис |
-| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | Максимальне значення зміщення, яке дозволено оцінити EKF (вище цього значення зміщення буде обрізано, і EKF спробує скинути себе, можливо, навіть переключившись на більш здоровий EKF із робочим IMU у системі з кількома EKF). Автопілот повідомить про «велике зміщення прискорення», якщо оцінене зміщення перевищує 75% цього параметра під час передпольотної перевірки та запобіжить зльоту. Поточне значення 0.4m/s2 вже досить високе, і його збільшення призведе до того, що автопілот виявлятиме проблеми з меншою ймовірністю. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Початкова невизначеність зміщення (якщо ідеально відкалібровано, це пов’язано зі «зміщенням увімкнення» датчика). Деякі користувачі можуть захотіти зменшити це значення, якщо вони знають, що датчик добре відкалібрований і що зміщення увімкнення невелике. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | Очікуване «зміщення під час роботи» акселерометра або «як швидко ми очікуємо зміни зсуву за секунду». За замовчуванням це значення достатньо велике, щоб включити дрейф через зміну температури. Якщо IMU відкалібровано за температурою, користувач може захотіти зменшити цей параметр. |
-| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | Максимальне прискорення, при якому оцінювач намагатиметься вивчати зміщення прискорення. Це необхідно для запобігання тому, щоб оцінювач вчився зміщенню через помилки нелінійності та коефіцієнта масштабу. (Майже жоден користувач не має потреби змінювати цей параметр, за винятком випадків, коли він справді знає, що робить). |
-
+| Параметр | Опис |
+| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | Максимальне значення зміщення, яке дозволено оцінити EKF (вище цього значення зміщення буде обрізано, і EKF спробує скинути себе, можливо, навіть переключившись на більш здоровий EKF із робочим IMU у системі з кількома EKF). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. Поточне значення 0.4m/s2 вже досить високе, і його збільшення призведе до того, що автопілот виявлятиме проблеми з меншою ймовірністю. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Деякі користувачі можуть захотіти зменшити це значення, якщо вони знають, що датчик добре відкалібрований і що зміщення увімкнення невелике. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". За замовчуванням це значення достатньо велике, щоб включити дрейф через зміну температури. Якщо IMU відкалібровано за температурою, користувач може захотіти зменшити цей параметр. |
+| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | Максимальне прискорення, при якому оцінювач намагатиметься вивчати зміщення прискорення. Це необхідно для запобігання тому, щоб оцінювач вчився зміщенню через помилки нелінійності та коефіцієнта масштабу. (Майже жоден користувач не має потреби змінювати цей параметр, за винятком випадків, коли він справді знає, що робить). |
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* Ця помилка виникає, коли зсув гіроскопа IMU, оцінений EKF, є надмірним.
-* У цьому випадку надмірне означає, що оцінка зміщення перевищує 10 градусів/с (половина налаштованого обмеження, яке встановлено 20 градусів/с).
+- Ця помилка виникає, коли зсув гіроскопа IMU, оцінений EKF, є надмірним.
+- У цьому випадку надмірне означає, що оцінка зміщення перевищує 10 градусів/с (половина налаштованого обмеження, яке встановлено 20 градусів/с).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* Це повідомлення про помилку виникає, коли вимірювання прискорення від різних IMU суперечать.
-* Ця перевірка стосується лише плат із кількома IMU.
-* Ця перевірка контролюється параметром [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC).
+- Це повідомлення про помилку виникає, коли вимірювання прискорення від різних IMU суперечать.
+- Ця перевірка стосується лише плат із кількома IMU.
+- Ця перевірка контролюється параметром [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC).
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* Це повідомлення про помилку виникає, коли вимірювання кутової швидкості від різних IMU суперечать.
-* Ця перевірка стосується лише плат із кількома IMU.
-* Ця перевірка контролюється параметром [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR).
+- Це повідомлення про помилку виникає, коли вимірювання кутової швидкості від різних IMU суперечать.
+- Ця перевірка стосується лише плат із кількома IMU.
+- Ця перевірка контролюється параметром [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR).
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* Це повідомлення про помилку виникає, коли різниця в вимірюваннях від різних датчиків компаса надто велика.
-* Це вказує на погане калібрування, орієнтацію або магнітні перешкоди.
-* Ця перевірка застосовується, лише коли підключені більше одного компаса/магнітометра.
-* Перевірка контролюється параметром [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG).
+- Це повідомлення про помилку виникає, коли різниця в вимірюваннях від різних датчиків компаса надто велика.
+- Це вказує на погане калібрування, орієнтацію або магнітні перешкоди.
+- Ця перевірка застосовується, лише коли підключені більше одного компаса/магнітометра.
+- Перевірка контролюється параметром [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG).
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* Це повідомлення про помилку виникає, якщо величини нововведень горизонтальної швидкості GPS, магнітного повороту, вертикальної швидкості GPS або датчика вертикального положення (за замовчуванням барометр, але може бути далекомір або GPS, якщо використовуються нестандартні параметри) є надмірними. Нововведення - це різниця між значенням, передбаченим інерційним навігаційним розрахунком, і виміряним датчиком.
-* Користувачам слід перевірити рівні нововведень у файлі журналу, щоб визначити причину. Їх можна знайти за повідомленням `ekf2_innovations`. Поширені проблеми/рішення включають:
- * Дрейф IMU під час прогріву. Можна вирішити, перезапустивши автопілот. Може знадобитися калібрування IMU акселерометра та гіроскопа.
- * Суміжні магнітні перешкоди в поєднанні з рухом апарату. Можна вирішити, перемістивши апарат і зачекавши або перезавантаживши його.
- * Погане калібрування магнітометра в поєднанні з рухом апарату. Вирішується шляхом повторного калібрування.
- * Початковий поштовх або швидкий рух під час запуску, що спричинено поганим інерційним навігаційним рішенням. Можна вирішити, перезапустивши апарат і зведенням руху до мінімуму протягом перших 5 секунд.
-
+- Це повідомлення про помилку виникає, якщо величини нововведень горизонтальної швидкості GPS, магнітного повороту, вертикальної швидкості GPS або датчика вертикального положення (за замовчуванням барометр, але може бути далекомір або GPS, якщо використовуються нестандартні параметри) є надмірними. Нововведення - це різниця між значенням, передбаченим інерційним навігаційним розрахунком, і виміряним датчиком.
+- Користувачам слід перевірити рівні нововведень у файлі журналу, щоб визначити причину. Їх можна знайти за повідомленням `ekf2_innovations`. Поширені проблеми/рішення включають:
+ - Дрейф IMU під час прогріву. Можна вирішити, перезапустивши автопілот. Може знадобитися калібрування IMU акселерометра та гіроскопа.
+ - Суміжні магнітні перешкоди в поєднанні з рухом апарату. Можна вирішити, перемістивши апарат і зачекавши або перезавантаживши його.
+ - Погане калібрування магнітометра в поєднанні з рухом апарату. Вирішується шляхом повторного калібрування.
+ - Початковий поштовх або швидкий рух під час запуску, що спричинено поганим інерційним навігаційним рішенням. Можна вирішити, перезапустивши апарат і зведенням руху до мінімуму протягом перших 5 секунд.
## Інші параметри
@@ -112,6 +118,6 @@ PX4 виконує ряд передпольотних перевірок яко
#### COM_ARM_WO_GPS
Параметр [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) визначає, чи дозволено увімкнення без оцінки глобальної позиції.
-- `1` (за замовчуванням): Увімкнення *дозволено* без оцінки позиції для режимів польоту, які не потребують інформації про позицію (лише).
-- `0`: Увімкнення дозволено лише якщо EKF надає глобальну оцінку позиції та EKF GPS перевірки пройдено
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`: Увімкнення дозволено лише якщо EKF надає глобальну оцінку позиції та EKF GPS перевірки пройдено
diff --git a/uk/frames_autogyro/thunderfly_auto_g2.md b/uk/frames_autogyro/thunderfly_auto_g2.md
index 3894cf9d6de2..99c444702da0 100644
--- a/uk/frames_autogyro/thunderfly_auto_g2.md
+++ b/uk/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ Durafly Auto-G2, у своєму оригінальному дизайні, ма
## Відео
-@[youtube](https://youtu.be/YhXXSWz5wWs)
+
## Фотогалерея змін
diff --git a/uk/frames_multicopter/dji_f450_cuav_5nano.md b/uk/frames_multicopter/dji_f450_cuav_5nano.md
index b8963271c892..fa9493d2aa97 100644
--- a/uk/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/uk/frames_multicopter/dji_f450_cuav_5nano.md
@@ -205,12 +205,12 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці можуть бути достатньо хороші для польоту, але вам слід налаштувати кожну конструкцію рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Відео
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Подяки
diff --git a/uk/frames_multicopter/dji_f450_cuav_5plus.md b/uk/frames_multicopter/dji_f450_cuav_5plus.md
index 818bccbfb267..d99a50c800d5 100644
--- a/uk/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/uk/frames_multicopter/dji_f450_cuav_5plus.md
@@ -203,11 +203,11 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці можуть бути достатньо хороші для польоту, але вам слід налаштувати кожну конструкцію рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Відео
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Подяки
diff --git a/uk/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/uk/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 32abe17660a3..f3ca778f6819 100644
--- a/uk/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/uk/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -215,7 +215,7 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці можуть бути достатньо хороші для польоту, але вам слід налаштувати кожну конструкцію рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Подяки
diff --git a/uk/frames_multicopter/holybro_s500_v2_pixhawk4.md b/uk/frames_multicopter/holybro_s500_v2_pixhawk4.md
index 881b387126db..5d1fd4f06374 100644
--- a/uk/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/uk/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -292,7 +292,7 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці вистачають для польоту, але це добра ідея налаштувати параметри для конкретної конструкції рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Подяки
diff --git a/uk/frames_multicopter/holybro_x500V2_pixhawk5x.md b/uk/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 9d8ca159fb8f..7fe7abfbb8c9 100644
--- a/uk/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/uk/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для каркасу. Ці вистачають для польоту, але це добра ідея налаштувати параметри для конкретної конструкції рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Подяки
diff --git a/uk/frames_multicopter/holybro_x500_pixhawk4.md b/uk/frames_multicopter/holybro_x500_pixhawk4.md
index f8f5f1762120..19ce0958ebe0 100644
--- a/uk/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/uk/frames_multicopter/holybro_x500_pixhawk4.md
@@ -236,7 +236,7 @@
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці вистачають для польоту, але це добра ідея налаштувати параметри для конкретної конструкції рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Подяки
diff --git a/uk/frames_multicopter/holybro_x500v2_pixhawk6c.md b/uk/frames_multicopter/holybro_x500v2_pixhawk6c.md
index c0fd1c8815e7..265e43cee28e 100644
--- a/uk/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/uk/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Використовуйте винти гніздові з головкою M2.5*6 та закрутіть нижню пластину на 4 вісці (які ми вставили в 2 планки на 3-му кроці збірки тримача навантаження)### Шасі
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Шасі
1. Для збирання станції шасі відкрутіть заздалегідь складені винти шасі - перекрестна стрічка та вставте шасі - вертикальний стовп і затягніть той же.
@@ -200,7 +202,7 @@ Pixhawk 6C запитується за допомогою плати живле
Вибір рами встановлює параметри автопілота *за замовчуванням* для рами. Вони достатньо хороші для польоту, але гарною ідеєю є тюнінг параметрів для конкретної конструкції рами.
-Для інструкцій щодо того, як розпочати, почніть з [Авто тюнінг](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Подяки
diff --git a/uk/frames_multicopter/index.md b/uk/frames_multicopter/index.md
index 39ea0505ab03..08d11f0a092f 100644
--- a/uk/frames_multicopter/index.md
+++ b/uk/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## Відео
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
DJI Flame Wheel 450 з датчиком відстані та RTK GPS (Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
DJI Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/uk/frames_multicopter/omnicopter.md b/uk/frames_multicopter/omnicopter.md
index 6a0119beaeee..c0cc8dc8558b 100644
--- a/uk/frames_multicopter/omnicopter.md
+++ b/uk/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@
## Відео
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Моделювання
diff --git a/uk/frames_multicopter/qav_r_5_kiss_esc_racer.md b/uk/frames_multicopter/qav_r_5_kiss_esc_racer.md
index 828740c32344..7fc2c9c36796 100644
--- a/uk/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/uk/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Lumenier QAV-R 5" FPV Гоночний квадрокоптер - це жорс
- **Каркас:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Контролер польоту:** [ Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ Lumenier QAV-R 5" FPV Гоночний квадрокоптер - це жорс
Я зібрав основну центральну плату та руки, як показано у цьому відео між 09:25 та 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
Я закріпив чотири двигуни на рамі з кабелями, що виходять у напрямку центру рами. Я використав два з довших від винтів для мотора, які йдуть разом з рамою, для кожного мотора і вставив їх у дві отвори, які знаходяться далі один від одного.
@@ -241,4 +241,4 @@ Lumenier QAV-R 5" FPV Гоночний квадрокоптер - це жорс
Набори вибору конструкції встановлюють параметри автопілота *за замовчуванням* для рами. Ці вистачають для польоту, але це добра ідея налаштувати параметри для конкретної конструкції рами.
-Для інструкцій щодо того, як розпочати, почніть з [Автоналаштування](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/uk/frames_plane/index.md b/uk/frames_plane/index.md
index c80119d795c0..7f1b19010772 100644
--- a/uk/frames_plane/index.md
+++ b/uk/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## Відео
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/uk/frames_plane/reptile_dragon_2.md b/uk/frames_plane/reptile_dragon_2.md
index 1f5b49e7a1b0..8cd0f1bd0ff6 100644
--- a/uk/frames_plane/reptile_dragon_2.md
+++ b/uk/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ make ark_fmu-v6x_default upload
Вам слід активувати ручні, акро та позиційні режими на вашому контролері (принаймні для першого польоту). Інструкції дивіться у [Flight mode Configuration](../config/flight_mode.md)
-Ми також рекомендуємо налаштувати [перемикач автоматичного](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) налаштування для першого польоту, так як це полегшить включення / вимкнення автоматичного налаштування під час польоту.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
Мапування каналів для цієї збірки включено в постачальний [файл параметрів](#parameter-config). Порядок каналів - це керування газом, крен, тангаж, рульове керування, (порожнє), і режим польоту
@@ -384,7 +384,7 @@ ExpressLRS потребує `AUX1` як "канал вибору режиму".
Рекомендую виконати перший зліт в ручному режимі. Тому що у цього літака немає шасі, вам доведеться кинути літак самостійно або, в ідеалі, мати помічника, який кине його. Під час кидання будь-якого літака кидайте з невеликим підняттям носа з повною потужністю двигуна.
-Критично бути готовим дати введення задньої палиці, щоб запобігти літаку від удару по землі, якщо він випадково буде вирівняний носом вниз. Після того як літак успішно піднявся в повітря, вирушайте на висоту кількох сотень футів і переключіться на [Режим Акробатика](../flight_modes_fw/acro.md). Це гарний час для використання [Автоналагодження](../config/autotune.md) для налаштування конструкції повітряного каркасу.
+Критично бути готовим дати введення задньої палиці, щоб запобігти літаку від удару по землі, якщо він випадково буде вирівняний носом вниз. Після того як літак успішно піднявся в повітря, вирушайте на висоту кількох сотень футів і переключіться на [Режим Акробатика](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
Якщо літак гарно себе веде в режимі _Акро_, перемкніться на [Режим позиції](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ ExpressLRS потребує `AUX1` як "канал вибору режиму".
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/uk/frames_plane/turbo_timber_evolution.md b/uk/frames_plane/turbo_timber_evolution.md
index f303cd3d3240..dd58e6b2cf0d 100644
--- a/uk/frames_plane/turbo_timber_evolution.md
+++ b/uk/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ FPV підставка була закріплена зверху кришки
Загалом, ця збірка була успішною.
-Навіть з додатковою вагою встановлення Pixhawk 4 Mini літак добре балансується і має достатньо потужності, щоб зберегти свої оригінальні характеристики STOL. PX4 легко здатний стабілізувати літак, а налаштування регуляторів швидкості було здійснено за допомогою [автоналаштування для фіксованих крил](../config/autotune.md). Результати налаштування можна знайти в файлі [параметрів, посилання на який наведено нижче](#parameter-file).
+Навіть з додатковою вагою встановлення Pixhawk 4 Mini літак добре балансується і має достатньо потужності, щоб зберегти свої оригінальні характеристики STOL. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). Результати налаштування можна знайти в файлі [параметрів, посилання на який наведено нижче](#parameter-file).
Під час тестування виявлено, що зльоти можуть бути лише на відстані 10 футів (3 м) без використання закрилок. Я використовую повні закрилки при посадці, щоб сповільнити інакше ковзний фюзеляж.
@@ -171,13 +171,17 @@ FPV підставка була закріплена зверху кришки
### Відео
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Журнали польотів
-[Вечірній політ (відео польоту показано нижче)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Огляд параметрів
diff --git a/uk/frames_plane/wing_wing_z84.md b/uk/frames_plane/wing_wing_z84.md
index 74d30fe3b664..265258b6e1e6 100644
--- a/uk/frames_plane/wing_wing_z84.md
+++ b/uk/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@
### Інша Конфігурація
-Виконайте всі інші [Основні налаштування](../config/index.md), включаючи [Автоналаштування](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Розширене налаштування є необов'язковим - див. [Конфігурацію повітряного судна з фіксованим крилом](../config_fw/index.md).
diff --git a/uk/frames_rover/ackermann_rover.md b/uk/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/uk/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/uk/frames_rover/aion_r1.md b/uk/frames_rover/aion_r1.md
index ed7d032adc7d..852e42a23171 100644
--- a/uk/frames_rover/aion_r1.md
+++ b/uk/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-Транспортний засіб [Aion R1](https://www.aionrobotics.com/) був обраний для тестування та покращення підтримки диференційного приводу для PX4, а також для покращення підтримки водія для контролерів двигуна Roboclaw, таких як [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
Документація та інформація про драйвери тут також повинна полегшити роботу з контролерами Roboclaw на інших транспортних засобах, а також з транспортними засобами, такими як [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/uk/frames_rover/differential_rover.md b/uk/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/uk/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/uk/frames_rover/index.md b/uk/frames_rover/index.md
index f1cac9aa63dc..7e7124e53a5b 100644
--- a/uk/frames_rover/index.md
+++ b/uk/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Марсоходи (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Підтримка для ровера є [експериментальною](../airframes/index.md#experimental-vehicles). Волонтери та контрибютори, [внесення](../contribute/index.md) нових функцій, нових конфігурацій каркасів або інших вдосконалень дуже вітається!
:::
-PX4 підтримує ровери (безпілотні наземні транспортні засоби - UGVs) з керуванням [акермана та диференційним](#rover-types).
+![Rovers](../../assets/airframes/rover/rovers.png)
-У цьому розділі містяться журнали збірки/інструкції щодо складання та налаштування ряду UGV фреймів.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Типи Марсоходів
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 підтримує рухомі з використанням:
+## Flashing the rover build
-- **Диференційне керування**: напрямок контролюється шляхом руху лівих і правих коліс з різною швидкістю. Цей вид керування часто використовується на бульдозерах, танках та інших гусеничних транспортних засобах.
-- **Кермування Акермана**: напрямок керування контролюється спрямуванням коліс у напрямку руху ([геометрія кермування Акермана](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) компенсує той факт, що колеса на внутрішньому та зовнішньому повороті рухаються з різними швидкостями). Цей вид керування використовується на більшості комерційних транспортних засобів, включаючи автомобілі, вантажівки тощо.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-Підтримувані каркаси можна переглянути в [Довіднику про планери > Rover(Рухавець)](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## Як налаштувати Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Конфігурація керування Акермана
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Налаштування ровера з керуванням Аккермана просте:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. У конфігурації [Airframe](../config/airframe.md) виберіть _Загальний наземний транспортний засіб_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Виберіть кнопку **Застосувати та перезапустити**.
-
-1. Відкрийте [Конфігурацію та & тестування приводів](../config/actuators.md) для відображення функцій керування та регулювання на виходи контролера польоту.
-
-### Конфігурація диференційного керування
-
-1. У конфігурації [Airframe](../config/airframe.md) виберіть або _Aion Robotics R1 UGV_, або _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Виберіть кнопку **Застосувати та перезапустити**.
-
-1. Відкрийте [Конфігурацію та & тестування приводів](../config/actuators.md) та відобразіть функції лівого та правого двигуна на виходи контролера польоту.
-
-## Симуляція
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-[Класичний Газебо](../sim_gazebo_classic/index.md) надає симуляції для обох типів керування:
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
-- Ackermann: [акерманський ровер](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Диференціал: [роувер r1](../sim_gazebo_classic/vehicles.md#differential-ugv)
+## Simulation
-## Відео
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-Це відео показує [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (автомобіль Акермана).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/uk/frames_rover/rover_position_control.md b/uk/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/uk/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/uk/frames_rover/traxxas_stampede.md b/uk/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 0663d737a2be..000000000000
--- a/uk/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-Це транспортний засіб було обрано для розуміння того, як Pixhawk може бути використаний для колісних платформ. Ми вибрали використовувати автомобіль Traxxas, оскільки вони дуже популярні і це дуже сильний бренд у спільноті RC. Ідея полягала в розробці платформи, яка дозволяє легко керувати колісними UGV з автопілотом.
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## Список деталей
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) Все це використовується за винятком верхньої пластикової кришки.
-* [Pixhawk Mini (Припинено)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S Power Module
- * Модуль телеметрії 3DR 433МГц (ЄС)
-* [Контролер Spektrum Dxe](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) або інші сумісні пультів керування з PX4
-* [Приймач серійного прийому Spektrum Quad Race з різноманіттям](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Застарілий)
-
-
-## Збірка
-
-Збірка складається з дерев'яної рами, на яку були закріплені всі частини автопілота. Тести показали, що слід використовувати кращу віброізоляцію, особливо для Pixhawk та модуля Flow.
-
-![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-Для цього конкретного кріплення ми вирішили використовувати прищіпку, яка постачається з ровером, щоб прикріпити верхню пластину. Для цього було надруковано дві опори з використанням 3D-друку. Файли CAD надані [тут](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-Рекомендується **НАДЗВИЧАЙНО РЕКОМЕНДОВАНО** встановити ESC в режим навчання (див. посібник Traxxas Stampede), що знижує потужність до 50%.
-:::
-
-## Підключення виводу
-
-| PWM Output | Актуатор |
-| ---------- | -------------------- |
-| MAIN2 | Рульовий сервопривід |
-| MAIN4 | Дросель (вхід ESC) |
-
-:::info Як документовано в Посиланні на конструкцію повітряного корпусу: [Загальний наземний транспортний засіб (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## Конфігурація
-
-Ровери налаштовані за допомогою *QGroundControl* так само, як будь-який інший транспортний засіб.
-
-Основна конфігурація, специфічна для ровера, полягає в налаштуванні правильної рамки:
-1. Перейдіть до розділу [Основна конфігурація](../config/index.md) в *QGroundControl*
-1. Виберіть вкладку [Планер](../config/airframe.md).
-1. Прокрутіть список вниз, щоб знайти значок **Rover**.
-1. Виберіть **Traxxas stampede vxl 2wd** зі списку випадаючих пунктів.
-
-![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## Використання
-
-На даний момент PX4 підтримує лише режими Місія та Ручний, коли підключений дистанційне керування RC. Для використання режиму місії спочатку завантажте нову місію на транспортний засіб за допомогою QGC. Потім, ПЕРЕД ОЗБРОЄННЯМ, виберіть `MISSION`, а потім озбройтеся.
-
-:::warning
-Дуже важливо виконати місію, складену *тільки** зі звичайних точок маршруту (тобто без точок зльоту тощо), і важливо встановити висоту точки маршруту **кожної** точки на 0 для правильного виконання. Не виконання цього призведе до того, що ровер буде безперервно обертатися навколо пункту маршруту.
-:::
-
-Правильна налаштування місії виглядає наступним чином:
-
-![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## Відео
-
-
diff --git a/uk/frames_sub/bluerov2.md b/uk/frames_sub/bluerov2.md
index f09950e39bf9..23bfe8ce14d8 100644
--- a/uk/frames_sub/bluerov2.md
+++ b/uk/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 не йде з предвстановленою версією з PX4.
## Відео
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/uk/frames_sub/index.md b/uk/frames_sub/index.md
index 8edea72bd724..9014a955c3ce 100644
--- a/uk/frames_sub/index.md
+++ b/uk/frames_sub/index.md
@@ -30,6 +30,8 @@ PX4 підтримує кілька безпілотних підводних а
## Відео
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/uk/frames_vtol/index.md b/uk/frames_vtol/index.md
index 75a520cf6105..ab894b2c386b 100644
--- a/uk/frames_vtol/index.md
+++ b/uk/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Тільтротор
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/uk/frames_vtol/standardvtol.md b/uk/frames_vtol/standardvtol.md
index fc5b560db661..89c36c43d730 100644
--- a/uk/frames_vtol/standardvtol.md
+++ b/uk/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/uk/frames_vtol/tailsitter.md b/uk/frames_vtol/tailsitter.md
index 3e6378fd3f4f..b95817a91846 100644
--- a/uk/frames_vtol/tailsitter.md
+++ b/uk/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ Duo Tailsitters зазвичай більш ефективні в крейсер
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Зліт тейлсіттера (крупним планом), зависання, горизонтальний політ, переходи.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ Duo Tailsitters зазвичай більш ефективні в крейсер
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
+[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-[БПЛА Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - зліт, перехід, посадка тейлсіттера.
+
-@[youtube](https://youtu.be/pWt6uoqpPIw)
## Галерея
diff --git a/uk/frames_vtol/tiltrotor.md b/uk/frames_vtol/tiltrotor.md
index 041bfd660ae3..1b26c373c445 100644
--- a/uk/frames_vtol/tiltrotor.md
+++ b/uk/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/uk/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/uk/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index 863d278feb36..532fba85d03a 100644
--- a/uk/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/uk/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -285,7 +285,7 @@
## Відео
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## Підтримка
diff --git a/uk/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/uk/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index b8567e596d7e..4f19193ed9e2 100644
--- a/uk/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/uk/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ QuadPlane VTOL Fun Cub є стандартним повітряним судно
## Відео
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## Підтримка
diff --git a/uk/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/uk/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index 3b102121bd1e..e16b8053057c 100644
--- a/uk/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/uk/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ QuadRanger VTOL - це стандартний повітряний літак з
## Конверсія крила
-Повний журнал збірки наведено в наступному відео.
-
::: info
Зверніть увагу, що конверсія в цьому журналі компіляції виконується на крилі, яке показує пошкодження від попередньої конверсії.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Відріжте обидва 800 мм квадратні вуглецеві труби до довжини 570 мм та 230 мм.
Виготовлення пазу у понівеченому крилі глибиною 1,5 см за допомогою обертаючого інструменту з якоюсь формою керівництва для збереження постійної глибини. Ящірка повинна мати довжину, глибину і ширину одного квадратного вуглецевого труби розміром 230 мм. Воно повинно бути розташоване так, як показано нижче.
diff --git a/uk/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/uk/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index 6210c7d5cc92..f620cf515498 100644
--- a/uk/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/uk/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ Caipiroshka VTOL - це трохи модифікований *TBS Caipirinha*.
:::info *TBS Caipirinha* було замінено та більше не доступно. Ці інструкції *повинні* працювати з оновленим транспортним засобом: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). Кілька інших компонентів також було оновлено в списку деталей.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## Список деталей
diff --git a/uk/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/uk/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index f59bcefb5484..b5cf2bec4e6a 100644
--- a/uk/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/uk/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@
:::info Оригінальна рама *E-Flite Convergence* від Horizon Hobby та [Pixfalcon](../flight_controller/pixfalcon.md) були припинені. Альтернативи наведено в розділі [Придбання](#where-to-buy). :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Де купити
diff --git a/uk/getting_started/px4_basic_concepts.md b/uk/getting_started/px4_basic_concepts.md
index 6abd2ffe14d6..0ea56a2acb53 100644
--- a/uk/getting_started/px4_basic_concepts.md
+++ b/uk/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ PX4 може працювати на багатьох різних типах а
Системи на основі PX4 використовують датчики для визначення стану транспортного засобу, який їй потрібен для стабілізації транспортного засобу та увімкнення автономного керування. Стани транспортного засобу включають: позицію/висоту, курс, швидкість, швидкість польоту, орієнтацію (відносно чогось), швидкість обертання в різних вісях, рівень заряду батареї тощо.
-PX4 _мінімально потребує_ гіроскоп, [гіроскоп](../sensor/gyroscope.md), [акселерометр](../sensor/accelerometer.md), [магнітомер](../gps_compass/magnetometer.md) (компас) та [барометр](../sensor/barometer.md). Для активації всіх автоматичних режимів, а також деяких ручних/допоміжних режимів потрібен [GNSS/GPS](../gps_compass/index.md) або інший джерело глобального позиціонування. Дрони літакового типу, а також апарати VTOL повинні додатково включати датчик швидкості польоту (дуже рекомендується).
+PX4 _мінімально потребує_ гіроскоп, [гіроскоп](../sensor/gyroscope.md), [акселерометр](../sensor/accelerometer.md), [магнітомер](../gps_compass/magnetometer.md) (компас) та [барометр](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-Мінімальний набір датчиків вбудований в політні контролери [Pixhawk Series](../flight_controller/pixhawk_series.md) (а також він може бути в контролерах інших платформ). До контролера можна приєднати додаткові/зовнішні датчики.
+До контролера можна приєднати додаткові/зовнішні датчики. The following sensors are recommended:
-Для отримання додаткової інформації дивіться: [Апаратне забезпечення та налаштування датчиків](../sensor/index.md)
+- Для активації всіх автоматичних режимів, а також деяких ручних/допоміжних режимів потрібен [GNSS/GPS](../gps_compass/index.md) або інший джерело глобального позиціонування.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### Виводи: Двигуни, Сервоприводи, Актуатори, або приводи
@@ -232,7 +239,7 @@ SD карти, однак, не обов'язкові. Політні контр
Рухомі засоби в стані armed можуть бути небезпечними оскільки пропелери вже обертаються.
:::
-Увімкнення, тобто arming, за замочуванням виконується (на передавачах Mode 2) утримуючи throttle/yaw RC стік в _нижньому правому_ положенні одну секунду (для вимкнення, тобто disarming, утримуйте стік у нижньому лівому положенні). Також альтернативно є можливість налаштувати PX4 для увімкнення за допомогою RC перемикача або кнопки (й можна відправляти MAVLink команди увімкнення з наземної станції).
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. Також альтернативно є можливість налаштувати PX4 для увімкнення за допомогою RC перемикача або кнопки (й можна відправляти MAVLink команди увімкнення з наземної станції).
Для зменшення нещасних випадків, коли рухомі засоби на землі, вони повинні бути увімкненими якомога менше часу. За замовчуванням рухомі засоби:
@@ -242,6 +249,7 @@ SD карти, однак, не обов'язкові. Політні контр
- Увімкнення запобігається, якщо засіб не в "нормальному" стані.
- Увімкнення запобігається, якщо засіб має [запобіжний перемикач](#safety-switch) який не увімкнений.
- Увімкнення запобігається, якщо VTOL знаходиться в режимі літака ([за замовчуванням](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
В стані prearmed можна користуватись приводами, тоді як disarmed вимикає усе живлення. Prearmed та disarmed стани є безпечними, а конкретний рухомий засіб може підтримувати один зі станів або обидва.
diff --git a/uk/getting_started/tunes.md b/uk/getting_started/tunes.md
index e1bbd691d49a..0253a49e6c9f 100644
--- a/uk/getting_started/tunes.md
+++ b/uk/getting_started/tunes.md
@@ -180,7 +180,7 @@
-- Попередження про низький заряд батареї ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Попередження про низький заряд акумулятора - швидке
@@ -190,7 +190,7 @@
-- Попередження про критично низький заряд батареї ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### Попередження GPS - повільне
diff --git a/uk/getting_started/vehicle_status.md b/uk/getting_started/vehicle_status.md
index f6c9b97b0191..8138f2712afa 100644
--- a/uk/getting_started/vehicle_status.md
+++ b/uk/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4 надає візуальні (LED) та звукові (Buzzer) сповіщення про "загальний рівень" стану апарату та його готовності до польоту. Ці сповіщення вказують, наприклад, чи правильно відкалібрований апарат, чи має він SD-карту, чи має визначення позиції, чи безпечно до нього наближатися, чи він увімкнений, чи він готовий до польоту тощо.
-Крім того, PX4 надає більш детальну інформацію про готовність до польоту в повідомленнях GCS, отриманих в результаті передпольотних перевірок.
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-Світлодіодні, звукові та GCS сповіщення:
+The LED, tune, and GCS notifications are linked below:
* [Значення LED індикаторів](../getting_started/led_meanings.md)
* [Значення звуків та мелодій](../getting_started/tunes.md)
-* [Передпольотні перевірки (внутрішні)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/uk/gps_compass/index.md b/uk/gps_compass/index.md
index 3dc210accefd..e177995397d5 100644
--- a/uk/gps_compass/index.md
+++ b/uk/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
:::info PX4 також підтримує [GPS приймачі реального часу (RTK)](../gps_compass/rtk_gps.md) і **Пост-обробку кінематичну (PPK)** GNSS, які розширюють GNSS системи до точності сантиметрового рівня.
:::
-
## Підтримка GNSS та/або компаса
PX4 повинен працювати з будь-яким пристроєм, що підтримує зв'язок через протоколи u-blox, MTK Ashtech або Emlid, або через UAVCAN.
Ця таблиця містить не-RTK GNSS-пристрої (більшість з яких також мають компас). Вони були протестовані командою розробників PX4 або користуються популярністю у спільноті PX4.
-| Пристрій | GPS | Компас | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Примітки |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:------------------------------ |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Підтримує PPK. Очікується RTK. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | опціональний | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Пристрій | GPS | Компас | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | Примітки |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:------------------------------ |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Підтримує PPK. Очікується RTK. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | опціональний | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ GPS може бути використано як джерело для об'є
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/uk/gps_compass/magnetometer.md b/uk/gps_compass/magnetometer.md
index a41d1f315878..a49f332e8fa5 100644
--- a/uk/gps_compass/magnetometer.md
+++ b/uk/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ PX4 можна використовувати з багатьма деталям
| :-------------------------------------------------------------------------------------------------------------- | :----: | :-----------------------------: |
| [Магнітометр UAVCAN Avionics Anonymous](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Компас/Магнітометр Holybro DroneCAN RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Примітка:
diff --git a/uk/gps_compass/rtk_gps.md b/uk/gps_compass/rtk_gps.md
index ce73143190cf..6a47942ddd88 100644
--- a/uk/gps_compass/rtk_gps.md
+++ b/uk/gps_compass/rtk_gps.md
@@ -39,12 +39,16 @@ PX4 підтримує GPS [u-blox M8P](https://www.u-blox.com/en/product/neo-m8
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Положення двох антен Septentrio | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Голова Септентріо подвійної антени | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Примітки:
- ✓ або конкретний номер артикулу вказує на те, що функція підтримується, тоді як ✗ або пусте поле вказує на те, що функція не підтримується. "?" означає "невідомо".
@@ -52,7 +56,6 @@ PX4 підтримує GPS [u-blox M8P](https://www.u-blox.com/en/product/neo-m8
- Деякі RTK-модулі можна використовувати лише в певній ролі (база або ровер), тоді як інші можна використовувати як взаємозамінні.
- У списку може бути відсутнє деяке зняте з виробництва обладнання, яке все ще підтримується. Наприклад, [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) більше не випускається і може бути вилучений зі списку у наступному релізі. Перевірте попередні версії, якщо тут не згадано модуль, який перестали випускати.
-
## Налаштування/Конфігурація розташування
Позиціонування RTK вимагає _пару_ [пристроїв RTK GNSS](#supported-devices): "базового" для земельної станції та "роувера" для транспортного засобу.
@@ -125,10 +128,12 @@ GPS може бути використаний як джерело для об'
Під час використання GPS для злиття по курсу вам доведеться налаштувати наступні параметри:
-| Параметр | Налаштування |
-| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | Кут, який утворює *базова лінія* (лінія між двома GPS антенами) відносно осі x транспортного засобу (передня/задня вісь, як показано [тут](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Встановіть бітову позицію 3 "Напрямок подвійної антени" на `1` (тобто додайте 8 до значення параметра). |
+| Параметр | Налаштування |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Встановіть бітову позицію 3 "Напрямок подвійної антени" на `1` (тобто додайте 8 до значення параметра). |
+
+
:::tip
Якщо ви використовуєте цю функцію, всі інші конфігурації мають бути налаштовані стандартно (наприклад, [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -167,7 +172,6 @@ GPS може бути використаний як джерело для об'
Другий приймач GPS може бути використаний як резервний (RTK або не RTK). Дивіться розділ [Конфігурація GPS EKF2](../advanced_config/tuning_the_ecl_ekf.md#gps).
-
diff --git a/uk/ros2/user_guide.md b/uk/ros2/user_guide.md
index 7d82bad44543..f70f687e1ee6 100644
--- a/uk/ros2/user_guide.md
+++ b/uk/ros2/user_guide.md
@@ -9,58 +9,58 @@
У [посібнику з міграції](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) пояснюється, що потрібно зробити, щоб перенести програми ROS 2 з PX4 v1.13 на PX4 v1.14.
Якщо ви досі працюєте на PX4 v1.13, дотримуйтесь інструкцій в [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## Загальний огляд
-Пайплайн додатків для ROS 2 дуже простий завдяки використанню комунікаційного проміжного програмного забезпечення [uXRCE-DDS](../middleware/uxrce_dds.md).
+The application pipeline for ROS 2 is very straightforward, thanks to the use of the [uXRCE-DDS](../middleware/uxrce_dds.md) communications middleware.
![Architecture uXRCE-DDS with ROS 2](../../assets/middleware/xrce_dds/architecture_xrce-dds_ros2.svg)
-Проміжне програмне забезпечення uXRCE-DDS складається з клієнта, що працює на PX4, і агента, що працює на комп'ютері-компаньйоні, з двостороннім обміном даними між ними по послідовному, UDP, TCP або користувацькому каналу зв'язку. Агент діє як проксі для клієнта з метою публікації та підписки на теми в глобальному просторі даних DDS.
+The uXRCE-DDS middleware consists of a client running on PX4 and an agent running on the companion computer, with bi-directional data exchange between them over a serial, UDP, TCP or custom link. The agent acts as a proxy for the client to publish and subscribe to topics in the global DDS data space.
-PX4 [клієнт uxrce_dds](../modules/modules_system.md#uxrce-dds-client) генерується під час збірки та за замовчуванням включений у прошивку PX4. Він включає як код клієнта "загального" мікро XRCE-DDS, так і код перекладу, специфічний для PX4, який він використовує для публікації/передачі даних з/у теми uORB. Підмножина повідомлень uORB, які генеруються в клієнті, перелічені в [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Генератор використовує визначення повідомлень uORB у дереві джерела: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg), щоб створити код для відправлення повідомлень ROS 2.
+The PX4 [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) is generated at build time and included in PX4 firmware by default. It includes both the "generic" micro XRCE-DDS client code, and PX4-specific translation code that it uses to publish to/from uORB topics. The subset of uORB messages that are generated into the client are listed in [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). The generator uses the uORB message definitions in the source tree: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg) to create the code for sending ROS 2 messages.
-Програми ROS 2 потрібно створювати в робочій області, яка має _ті самі_ визначення повідомлень, які використовувалися для створення клієнтського модуля uXRCE-DDS у мікропрограмі PX4. Ви можете включити їх, клонуючи інтерфейсний пакет [PX4/px4_msgs](https://github.com/PX4/px4_msgs) у своє робоче середовище ROS 2 (гілки у репозиторії відповідають повідомленням для різних випусків PX4).
+ROS 2 applications need to be built in a workspace that has the _same_ message definitions that were used to create the uXRCE-DDS client module in the PX4 Firmware. You can include these by cloning the interface package [PX4/px4_msgs](https://github.com/PX4/px4_msgs) into your ROS 2 workspace (branches in the repo correspond to the messages for different PX4 releases).
-Зверніть увагу, що сам по собі _агент_ micro XRCE-DDS <0>не має залежності0> від клієнтського коду. Це може бути побудовано з [вихідний код](https://github.com/eProsima/Micro-XRCE-DDS-Agent) або як самостійний елемент, або як частина збірки ROS, або встановлено як snap.
+Note that the micro XRCE-DDS _agent_ itself has no dependency on client-side code. It can be built from [source](https://github.com/eProsima/Micro-XRCE-DDS-Agent) either standalone or as part of a ROS build, or installed as a snap.
-Зазвичай вам потрібно запустити як клієнт, так і агента при використанні ROS 2. Зверніть увагу, що клієнт uXRCE-DDS вбудований в прошивку за замовчуванням, але не запускається автоматично, за винятком збірок симулятора.
+You will normally need to start both the client and agent when using ROS 2. Note that the uXRCE-DDS client is built into firmware by default but not started automatically except for simulator builds.
-:::info У PX4v1.13 та раніше, ROS 2 був залежний від визначень у [px4_ros_com](https://github.com/PX4/px4_ros_com). Цей репозиторій більше не потрібен, але містить корисні приклади.
+::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## Встановлення та налаштування
-Підтримувані платформи ROS 2 для розробки PX4 - ROS 2 "Humble" на Ubuntu 22.04 та ROS 2 "Foxy" на Ubuntu 20.04.
+The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
-ROS 2 "Humble" рекомендується, оскільки це поточний розподіл ROS 2 LTS. ROS 2 "Foxy" досягла кінця свого життя в травні 2023 року, але все ще стабільна і працює з PX4.
+ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 не так добре протестований на Ubuntu 22.04, як на Ubuntu 20.04 (на момент написання), і Ubuntu 20.04 потрібний, якщо ви хочете використовувати [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
-Для налаштування ROS 2 для використання з PX4:
+To setup ROS 2 for use with PX4:
- [Встановити PX4](#install-px4) (для використання симулятора PX4)
- [Встановіть ROS 2](#install-ros-2)
- [Налаштування агента та клієнта Micro XRCE-DDS](#setup-micro-xrce-dds-agent-client)
- [Створіть та запустіть робоче середовище ROS 2](#build-ros-2-workspace)
-Інші залежності архітектури, які встановлюються автоматично, такі як _Fast DDS_, не враховуються.
-
+Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
### Встановлення PX4
-Вам потрібно встановити інструментальний набір розробки PX4, щоб використовувати симулятор.
+You need to install the PX4 development toolchain in order to use the simulator.
-:::info Єдиним залежністю ROS 2 від PX4 є набір визначень повідомлень, який він отримує з [px4_msgs](https://github.com/PX4/px4_msgs). Вам потрібно встановити PX4 лише в разі, якщо вам потрібен симулятор (як у цьому посібнику), або якщо ви створюєте збірку, яка публікує власні теми uORB.
+::: info The only dependency ROS 2 has on PX4 is the set of message definitions, which it gets from [px4_msgs](https://github.com/PX4/px4_msgs). You only need to install PX4 if you need the simulator (as we do in this guide), or if you are creating a build that publishes custom uORB topics.
:::
-Налаштуйте середовище розробки PX4 на Ubuntu звичайним шляхом:
+Set up a PX4 development environment on Ubuntu in the normal way:
```sh
cd
@@ -70,13 +70,13 @@ cd PX4-Autopilot/
make px4_sitl
```
-Зверніть увагу, що вищезазначені команди встановлять рекомендований симулятор для вашої версії Ubuntu. Якщо ви хочете встановити PX4, але зберегти вашу існуючу установку симулятора, запустіть `ubuntu.sh` вище з прапорцем `--no-sim-tools`.
+Note that the above commands will install the recommended simulator for your version of Ubuntu. If you want to install PX4 but keep your existing simulator installation, run `ubuntu.sh` above with the `--no-sim-tools` flag.
-Для отримання додаткової інформації та усунення неполадок див. [Середовище розробки Ubuntu](../dev_setup/dev_env_linux_ubuntu.md) та [Завантажити вихідний код PX4](../dev_setup/building_px4.md).
+For more information and troubleshooting see: [Ubuntu Development Environment](../dev_setup/dev_env_linux_ubuntu.md) and [Download PX4 source](../dev_setup/building_px4.md).
### Встановлення ROS 2
-Щоб встановити ROS 2 і його залежності:
+To install ROS 2 and its dependencies:
1. Встановлення ROS 2.
@@ -100,15 +100,14 @@ make px4_sitl
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- Інструкції вище відтворено з офіційного посібника з установки: [Встановлення ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). Ви можете встановити _або_ робочий стіл (`ros-humble-desktop`) _або_ мінімалістичні версії (`ros-humble-ros-base`), *і* засоби розробки (`ros-dev-tools`).
+ Інструкції вище відтворено з офіційного посібника з установки: [Встановлення ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
:::tab foxy Щоб встановити ROS 2 "Foxy" на Ubuntu 20.04:
- - Дотримуйтесь офіційного посібника з встановлення: [Встановіть ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- Ви можете встановити _або_ робочий стіл (`ros-foxy-desktop`) _або_ мінімалістичні версії (`ros-foxy-ros-base`), *і* засоби розробки (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -119,17 +118,15 @@ make px4_sitl
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### Налаштування агента та клієнта Micro XRCE-DDS
-Для того щоб ROS 2 міг спілкуватися з PX4, [клієнт uXRCE-DDS](../modules/modules_system.md#uxrce-dds-client) повинен працювати на PX4, підключений до агента micro XRCE-DDS, який працює на компаньйоновому комп'ютері.
+For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
#### Налаштувати агента
-Агент може бути встановлений на компаньйоновий комп'ютер [різними способами](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation). Нижче ми покажемо, як побудувати агента "standalone" з вихідних кодів та підключитися до клієнта, який працює на симуляторі PX4.
+The agent can be installed onto the companion computer in a [number of ways](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation). Below we show how to build the agent "standalone" from source and connect to a client running on the PX4 simulator.
-Для налаштування та запуску агента:
+To setup and start the agent:
1. Відкрийте термінал.
1. Введіть наступні команди для витягування та побудови агента з вихідного коду:
@@ -151,48 +148,52 @@ make px4_sitl
MicroXRCEAgent udp4 -p 8888
```
-Агент зараз працює, але ви не побачите багато, поки ми не почнемо PX4 (у наступному кроці).
+The agent is now running, but you won't see much until we start PX4 (in the next step).
-::: інформація
-Ви можете залишити агента, що працює в цьому терміналі!
-Зверніть увагу, що дозволено лише одного агента на підключений канал зв'язку.
+::: info
+You can leave the agent running in this terminal!
+Note that only one agent is allowed per connection channel.
:::
#### Запустіть клієнта
-Симулятор PX4 автоматично запускає клієнт uXRCE-DDS, підключаючись до порту UDP 8888 на локальному хості.
+The PX4 simulator starts the uXRCE-DDS client automatically, connecting to UDP port 8888 on the local host.
-Для запуску симулятора (і клієнта):
+To start the simulator (and client):
1. Відкрийте новий термінал в корені репозиторію **PX4 Autopilot**, який був встановлений вище.
:::: tabs
::: tab humble
+
- Розпочніть симуляцію PX4 у [Gazebo](../sim_gazebo_gz/index.md) за допомогою:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Почніть симуляцію PX4 [Симуляція Gazebo Classic](../sim_gazebo_classic/index.md) за допомогою:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
-Агент та клієнт зараз працюють, вони повинні підключитися.
+The agent and client are now running they should connect.
-Термінал PX4 відображає вивід [NuttShell/PX4 Системна Консоль](../debug/system_console.md) під час завантаження та роботи PX4. Як тільки агент підключає вихід, вивід повинен містити повідомлення `INFO`, що показують створення записувачів даних:
+The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -201,9 +202,9 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
...
```
-Термінал агента micro XRCE-DDS також повинен почати показувати вивід, оскільки в мережі DDS створюються еквівалентні теми:
+The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -213,17 +214,16 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
### Створення робочого простору ROS 2
-Цей розділ показує, як створити робоче середовище ROS 2, розміщене в вашій домашній директорії (змініть команди за необхідності, щоб розмістити вихідний код в іншому місці).
+This section shows how create a ROS 2 workspace hosted in your home directory (modify the commands as needed to put the source code elsewhere).
-Пакети [px4_ros_com](https://github.com/PX4/px4_ros_com) та [px4_msgs](https://github.com/PX4/px4_msgs) клонуються до папки робочого простору, а потім використовується інструмент `colcon` для збірки робочого простору. Приклад виконується за допомогою `ros2 launch`.
+The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://github.com/PX4/px4_msgs) packages are cloned to a workspace folder, and then the `colcon` tool is used to build the workspace. The example is run using `ros2 launch`.
-:::info Приклад будує [Приклад застосунку ROS 2 Listener](#ros-2-listener), розташований в [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) також потрібний, щоб приклад міг інтерпретувати теми PX4 ROS 2.
+::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Створення робочого простору
-Створити та побудувати робочий простір:
+To create and build the workspace:
1. Відкрийте новий термінал.
1. Створіть новий каталог робочого простору та перейдіть до нього за допомогою:
@@ -249,55 +249,62 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
У результаті буде зібрано усі каталоги у `/src` за допомогою вихідного набору інструментів.
-
#### Запуск прикладу
-Щоб запустити виконувані файли, які ви щойно побудували, вам потрібно джерело `local_setup.bash`. Це надає доступ до "гаків середовища" для поточного робочого простору. Іншими словами, воно робить виконувані файли, що були тільки що побудовані, доступними в поточному терміналі.
+To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
-:::info У [початкових навчальних посібниках ROS2](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html#source-the-overlay) рекомендується _відкрити новий термінал_ для запуску ваших виконавчих файлів.
+::: info The [ROS2 beginner tutorials](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html#source-the-overlay) recommend that you _open a new terminal_ for running your executables.
:::
-В новому терміналі:
+In a new terminal:
1. Перейдіть на верхній рівень каталогу вашого робочого простору та джерело середовища ROS 2 (у цьому випадку "Humble"):
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -307,13 +314,14 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
```sh
source install/local_setup.bash
```
+
1. Тепер запустіть приклад. Зверніть увагу, що тут ми використовуємо `ros2 launch`, який описано нижче.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
-Якщо це працює, ви повинні бачити дані, які друкуються на терміналі / консолі, де ви запустили слухача ROS:
+If this is working you should see data being printed on the terminal/console where you launched the ROS listener:
```sh
RECEIVED DATA FROM SENSOR COMBINED
@@ -332,22 +340,22 @@ accelerometer_integral_dt: 4739
## Керування Транспортним Засобом
-Для контролю за додатками, додатки ROS 2:
+To control applications, ROS 2 applications:
- підписатися на (слухати) тематичні теми, опубліковані PX4
- опублікувати у темах, які спонукають PX4 виконати певну дію.
-Теми, які ви можете використовувати, визначені в [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml), і ви можете отримати більше інформації про їх дані в [Посилання на повідомлення uORB](../msg_docs/index.md). Наприклад, [VehicleGlobalPosition](../msg_docs/VehicleGlobalPosition.md) може бути використано для отримання глобального положення транспортного засобу, тоді як [VehicleCommand](../msg_docs/VehicleCommand.md) може бути використано для виконання дій, таких як зльот та посадка.
+The topics that you can use are defined in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml), and you can get more information about their data in the [uORB Message Reference](../msg_docs/index.md). For example, [VehicleGlobalPosition](../msg_docs/VehicleGlobalPosition.md) can be used to get the vehicle global position, while [VehicleCommand](../msg_docs/VehicleCommand.md) can be used to command actions such as takeoff and land.
-[Приклади застосувань ROS 2](#ros-2-example-applications), наведені нижче, надають конкретні приклади того, як використовувати ці теми.
+The [ROS 2 Example applications](#ros-2-example-applications) examples below provide concrete examples of how to use these topics.
## Проблеми сумісності
-Цей розділ містить інформацію, яка може вплинути на те, як ви пишете свій код ROS.
+This section contains information that may affect how you write your ROS code.
### Налаштування QoS підписника ROS 2
-Код ROS 2, який підписується на теми, опубліковані PX4, _повинен_ вказати відповідну (сумісну) настройку QoS, щоб слухати теми. Зокрема, вузли повинні підписатися, використовуючи попередньо визначену якість обслуговування даних сенсорів ROS 2 (з [прикладу вихідного коду слухача](#ros-2-listener)):
+ROS 2 code that subscribes to topics published by PX4 _must_ specify a appropriate (compatible) QoS setting in order to listen to topics. Specifically, nodes should subscribe using the ROS 2 predefined QoS sensor data (from the [listener example source code](#ros-2-listener)):
```cpp
...
@@ -358,14 +366,13 @@ subscription_ = this->create_subscription("/fmu/o
...
```
-Це потрібно, оскільки типові налаштування [Якості обслуговування (QoS)](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-profiles) ROS 2 відрізняються від налаштувань, що використовуються PX4. Не всі комбінації налаштувань якості обслуговування відправник-підписник [Qos можливі](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-compatibilities), і виявляється, що типові налаштування ROS 2 для підписки не є такими! Зверніть увагу, що код ROS не повинен встановлювати налаштування QoS при публікації (налаштування PX4 сумісні з типовими налаштуваннями ROS у цьому випадку).
+This is needed because the ROS 2 default [Quality of Service (QoS) settings](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-profiles) are different from the settings used by PX4. Not all combinations of publisher-subscriber [Qos settings are possible](https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html#qos-compatibilities), and it turns out that the default ROS 2 settings for subscribing are not! Note that ROS code does not have to set QoS settings when publishing (the PX4 settings are compatible with ROS defaults in this case).
-
### Узгодження систем координат ROS 2 & PX4
-Локальна/світова та тілові системи координат, що використовуються в ROS та PX4, відрізняються.
+The local/world and body frames used by ROS and PX4 are different.
| Frame | PX4 | ROS |
| ----- | ------------------------------------------------ | ---------------------------------------------- |
@@ -373,52 +380,79 @@ subscription_ = this->create_subscription("/fmu/o
| World | FRD or NED (X **N**orth, Y **E**ast, Z **D**own) | FLU or ENU (X **E**ast, Y **N**orth, Z **U**p) |
:::tip
-Дивіться [REP105: Системи координат для мобільних платформ](http://www.ros.org/reps/rep-0105.html) для отримання додаткової інформації про системи координат ROS.
+See [REP105: Coordinate Frames for Mobile Platforms](http://www.ros.org/reps/rep-0105.html) for more information about ROS frames.
:::
-Обидві системи координат показані на зображенні нижче (FRD зліва / FLU справа).
+Both frames are shown in the image below (FRD on the left/FLU on the right).
![Reference frames](../../assets/lpe/ref_frames.png)
-Конвенції FRD (NED) приймаються на **всі** теми PX4, якщо явно не вказано в відповідному визначенні повідомлення. Отже, вузли ROS 2, які хочуть співпрацювати з PX4, повинні дбати про конвенції кадрів.
+The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly specified in the associated message definition. Therefore, ROS 2 nodes that want to interface with PX4 must take care of the frames conventions.
- Для повороту вектора з ENU на NED потрібно виконати дві основні обертання:
- спочатку обертання на кут pi/2 навколо вісі `Z` (вгору),
- потім обертання на кут пі навколо вісі `X` (старий схід/новий північ).
-- Для повороту вектора з NED на ENU потрібно виконати дві основні обертання:
--
- - спочатку обертання на кут pi/2 навколо вісі `Z` (вниз),
- - потім обертання на кут пі навколо вісі `X` (старий північ/новий схід). Зверніть увагу, що дві отримані операції математично еквівалентні.
+
+- To rotate a vector from NED to ENU two basic rotations must be performed:
+- - first a pi/2 rotation around the `Z`-axis (down),
+ - then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- Для обертання вектора з FLU на FRD достатньо обертання навколо вісі `X` (передньої) на пі.
- Для обертання вектора з FRD на FLU достатньо обертання на пі радіан навколо вісі `X` (передній).
-Приклади векторів, які потребують обертання:
+Examples of vectors that require rotation are:
- усі поля в повідомленні [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md); конвертація ENU в NED необхідна перед їхнім відправленням.
- всі поля в повідомленні [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md); потрібно виконати конвертацію з FLU в FRD перед їх відправленням.
-Подібно до векторів, також кватерніони, що представляють відношення транспортного засобу (тіло) відносно. світова рамка потребує конвертації.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
-[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) надає спільну бібліотеку [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) для легкого виконання таких перетворень.
+[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
### Синхронізація часу ROS, Gazebo та PX4
-За замовчуванням синхронізація часу між ROS 2 та PX4 автоматично керується проміжним ПЗ [uXRCE-DDS](https://micro-xrce-dds.docs.eprosima.com/en/latest/time_sync.html), а статистика синхронізації часу доступна при прослуховуванні мостової теми `/fmu/out/timesync_status`. Коли клієнт uXRCE-DDS працює на контролері польоту, а агент працює на супутниковому комп'ютері, це є бажана поведінка, оскільки зміщення часу, дрейф часу та затримка у комунікації обчислюються та автоматично компенсуються.
+By default, time synchronization between ROS 2 and PX4 is automatically managed by the [uXRCE-DDS middleware](https://micro-xrce-dds.docs.eprosima.com/en/latest/time_sync.html) and time synchronization statistics are available listening to the bridged topic `/fmu/out/timesync_status`. When the uXRCE-DDS client runs on a flight controller and the agent runs on a companion computer this is the desired behavior as time offsets, time drift, and communication latency, are computed and automatically compensated.
-Для симуляцій Gazebo PX4 використовує тему Gazebo `/clock` як [джерело часу](../sim_gazebo_gz/index.md#px4-gazebo-time-synchronization) замість. Цей годинник завжди трохи не синхронізований відносно. годинник операційної системи (фактор реального часу ніколи не є точно один) і він може навіть працювати набагато швидше або повільніше залежно від [переваг користувача](http://sdformat. org/spec? elem=physics&ver=1.9). Зверніть увагу, що це відрізняється від процедури [симуляційного блокування](../simulation/index.md#lockstep-simulation), яка була прийнята з Gazebo Classic.
+For Gazebo simulations PX4 uses the Gazebo `/clock` topic as [time source](../sim_gazebo_gz/index.md#px4-gazebo-time-synchronization) instead. This clock is always slightly off-sync w.r.t. the OS clock (the real time factor is never exactly one) and it can can even run much faster or much slower depending on the [user preferences](http://sdformat.org/spec?elem=physics&ver=1.9). Note that this is different from the [simulation lockstep](../simulation/index.md#lockstep-simulation) procedure adopted with Gazebo Classic.
-Користувачі ROS2 мають дві можливості щодо [джерела часу](https://design.ros2.org/articles/clock_and_time.html) їх вузлів.
+ROS2 users have then two possibilities regarding the [time source](https://design.ros2.org/articles/clock_and_time.html) of their nodes.
#### Вузли ROS2 використовують годинник ОС як джерело часу
-Цей сценарій, який розглядається на цій сторінці та в керівництві [offboard_control](./offboard_control.md), також є стандартною поведінкою вузлів ROS2. Годинник ОС діє як джерело часу, тому його можна використовувати лише тоді, коли фактор реального часу симуляції дуже близький до одиниці. Часовий синхронізатор клієнта uXRCE-DDS потім з'єднує годинник ОС на стороні ROS2 з годинником Gazebo на стороні PX4. Користувачеві не потрібно вживати жодних подальших заходів.
+This scenario, which is the one considered in this page and in the [offboard_control](./offboard_control.md) guide, is also the standard behavior of the ROS2 nodes. The OS clock acts as time source and therefore it can be used only when the simulation real time factor is very close to one. The time synchronizer of the uXRCE-DDS client then bridges the OS clock on the ROS2 side with the Gazebo clock on the PX4 side. No further action is required by the user.
#### Вузли ROS2 використовують годинник Gazebo як джерело часу
-У цьому сценарії ROS2 також використовує тему Gazebo `/clock` як джерело часу. Цей підхід має сенс, якщо симуляція Gazebo працює з коефіцієнтом реального часу, відмінним від одиниці, або якщо ROS2 потрібно безпосередньо взаємодіяти з Gazebo. На стороні ROS2 пряме взаємодія з Gazebo досягається за допомогою пакету [ros_gz_bridge](https://github.com/gazebosim/ros_gz) з репозиторію [ros_gz](https://github.com/gazebosim/ros_gz). Прочитайте [repo](https://github.com/gazebosim/ros_gz#readme) та [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs, щоб дізнатися правильну версію, яка повинна бути встановлена в залежності від вашої версії ROS2 та Gazebo.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Якщо пакет встановлено та джерело підключено, вузол `parameter_bridge` надає можливості мостування і може бути використаний для створення одностороннього моста `/clock`:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -489,13 +523,13 @@ public:
Рядки нижче створюють виробника для теми uORB `SensorCombined`, яка може бути зіставлена з одним або кількома сумісними підписниками ROS 2 для теми ROS 2 `fmu/sensor_combined/out`.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
-Інстанціювання класу `SensorCombinedListener` як вузла ROS виконується у функції `main`.
+The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
```cpp
int main(int argc, char *argv[])
@@ -508,7 +542,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
Цей конкретний приклад має пов'язаний файл запуску за посиланням [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). Це дозволяє запускати його за допомогою команди [`ros2 launch`](#ros2-launch).
@@ -608,7 +642,6 @@ ROS 2 потребує мати ті _самі_ визначення повід
- Одним із варіантів є використання опції `-n` при запуску [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) з командного рядка. Ця техніка може бути використана як у симуляційних, так і в реальних транспортних засобах.
- Спеціальний простір імен може бути наданий для симуляцій (тільки) за допомогою встановлення змінної середовища `PX4_UXRCE_DDS_NS` перед запуском симуляції.
-
:::info Зміна простору імен під час виконання додасть потрібний простір імен як префікс до всіх полів `topic` в [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Отже, команди, подібні до:
```sh
@@ -627,6 +660,7 @@ PX4_UXRCE_DDS_NS=uav_1 make px4_sitl gz_x500
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -643,7 +677,7 @@ ros2 topic list
Якщо PX4 підключений до агента, результатом буде список типів теми:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -664,7 +698,7 @@ ros2 topic echo /fmu/out/vehicle_status
Команда виведе деталі теми під час оновлення.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -685,7 +719,7 @@ hil_state: 0
Ви можете отримати статистику про швидкість повідомлень, використовуючи `ros2 topic hz`. Наприклад, щоб отримати ставки для `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -714,8 +748,6 @@ average rate: 247.485
Для отримання інформації про файли запуску див. [Посібники ROS 2 > Створення файлів запуску](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Відстеження проблем
### Відсутні залежності
@@ -723,30 +755,50 @@ average rate: 247.485
Стандартна установка повинна включати всі необхідні інструменти для ROS 2.
Якщо щось відсутнє, його можна додати окремо:
+
- Інструменти збірки **`colcon`** повинні бути в інструментах розробки. Можна встановити за допомогою:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- Бібліотеку Eigen3, яку використовує бібліотека трансформацій, повинно бути в обох пакунків: desktop та base. Воно повинно бути встановлено, як показано:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Додаткова інформація
diff --git a/uk/sensor/airspeed.md b/uk/sensor/airspeed.md
index 15635523f839..2686d0a7d9c0 100644
--- a/uk/sensor/airspeed.md
+++ b/uk/sensor/airspeed.md
@@ -15,6 +15,7 @@
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- На базі [Ефекту Вентурі](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) датчик швидкості польоту ефекту Вентурі.
diff --git a/uk/sensor/barometer.md b/uk/sensor/barometer.md
index 1d9da50adbc2..bfa02f9993f8 100644
--- a/uk/sensor/barometer.md
+++ b/uk/sensor/barometer.md
@@ -13,6 +13,7 @@
Вони також присутні в іншому обладнанні:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
На момент написання водії/частини включають: bmp280, bmp388 (та BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/uk/sensor/optical_flow.md b/uk/sensor/optical_flow.md
index 40901194ccb8..b3eaffcc8692 100644
--- a/uk/sensor/optical_flow.md
+++ b/uk/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_Датчики оптичного потоку_ використовують камеру та датчик відстані направлені вниз для оцінки швидкості.
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Відео: PX4 утримує позицію за допомогою датчика потоку ARK для оцінки швидкості (у [Режим позиції](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/uk/sensor/rangefinders.md b/uk/sensor/rangefinders.md
index 2943b9a73f7b..3312ae03fb6a 100644
--- a/uk/sensor/rangefinders.md
+++ b/uk/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Датчики відстані надають вимірювання відстані, які можуть бути використані для [слідування за місцевістю](../flying/terrain_following_holding.md#terrain_following), [утримання на місці](../flying/terrain_following_holding.md#terrain_hold) (тобто точне зависання для фотографії), покращення поведінки при посадці ([умовна допомога в діапазоні](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), попередження про регуляторні висотні обмеження, запобігання зіткненням тощо.
-Цей розділ містить перелік датчиків відстані, підтримуваних PX4 (посилання на більш докладну документацію), [загальну конфігурацію](#configuration), необхідну для всіх дальномерів, [тестування](#testing) та інформацію про [класичну симуляцію Gazebo](#gazebo-classic-simulation). Додаткову інформацію щодо налаштування та конфігурації надається в темах, посилених нижче (та в бічній панелі).
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). Додаткову інформацію щодо налаштування та конфігурації надається в темах, посилених нижче (та в бічній панелі).
@@ -34,6 +34,8 @@
PX4 підтримує: SF11/c та SF/LW20. PX4 також може бути використаний з наступними припиненими моделями: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 також підтримує [LightWare LiDAR SF45 Обертовий Лідар](https://www.lightwarelidar.com/shop/sf45-b-50-m/) для застосувань у [запобіганні зіткнень](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar).
### Дальніміри TeraRanger
@@ -62,9 +64,28 @@ PX4 підтримує наступні моделі, підключені че
Інтерфейс лазерного альтиметра [Avionics Anonymous UAVCAN](../dronecan/avanon_laser_interface.md) дозволяє підключати кілька поширених дальномерів (наприклад, [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md) тощо) до шини [CAN](../can/index.md) через [DroneCAN](../dronecan/index.md), інтерфейс, що є надійнішим, ніж I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## Конфігурація/Налаштування
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
Дальні вимірювачі зазвичай підключаються до порту або послідовного (PWM), або I2C (залежно від драйвера пристрою), і активуються на порту шляхом встановлення певного параметра.
@@ -116,6 +137,13 @@ listener distance_sensor 5
Для отримання додаткової інформації див.: [Розробка > Налагодження/Журналювання> Налагодження датчика/Теми за допомогою команди слухача](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Класичний симулятор Gazebo
Лідар та сонарні дальномери можуть бути використані в симуляторі [Gazebo Classic](../sim_gazebo_classic/index.md). Для цього вам потрібно запустити симулятор, використовуючи модель автомобіля, яка включає дальномір.
diff --git a/uk/sensor/sfxx_lidar.md b/uk/sensor/sfxx_lidar.md
index 2106098fcf47..29aef09a3f0b 100644
--- a/uk/sensor/sfxx_lidar.md
+++ b/uk/sensor/sfxx_lidar.md
@@ -55,9 +55,9 @@ LightWare розробляє широкий спектр легких, зага
Встановіть параметр [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) для відповідності моделі дальноміра, а потім перезавантажте.
-## Серійне налаштування
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Серійне налаштування {#serial_hardware_setup}
### Апаратне забезпечення
@@ -76,6 +76,8 @@ LightWare розробляє широкий спектр легких, зага
Потім встановіть параметр [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) для відповідності моделі дальноміра та перезавантажте.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## Детальна інформація
- [Довідник модулів: Датчик відстані (Драйвер) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/uk/sensor_bus/i2c_general.md b/uk/sensor_bus/i2c_general.md
index a10d62fc4b4b..237b192927e8 100644
--- a/uk/sensor_bus/i2c_general.md
+++ b/uk/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ i2cdetect -b 1
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## Розробка I2C
Розробка програмного забезпечення для пристроїв I2C описана в [Шині I2C (Огляд розробки)](../sensor_bus/i2c_development.md).
diff --git a/uk/sim_airsim/index.md b/uk/sim_airsim/index.md
index 5aae34638aa0..119b1a1c1b16 100644
--- a/uk/sim_airsim/index.md
+++ b/uk/sim_airsim/index.md
@@ -8,7 +8,9 @@
[AirSim](https://microsoft.github.io/AirSim/) - це відкритий кросплатформовий симулятор для дронів, побудований на _Unreal Engine_. Він забезпечує фізично та візуально реалістичні симуляції Pixhawk/PX4, використовуючи або апаратну імітацію (HITL), або програмну імітацію (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## Налаштування PX4
@@ -18,7 +20,9 @@
#### AirSim з PX4 на WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
:::note WSL
2 не є підтримуваним [середовищем розробки PX4 для Windows](../dev_setup/dev_env_windows_cygwin.md), в основному через те, що недосить просто відображати інтерфейси симуляторів, які працюють у WSL 2, у звичайному середовищі Windows. Це обмеження не стосується AirSim, оскільки його інтерфейс працює нативно у Windows.
@@ -26,11 +30,15 @@
#### Microsoft AirSim: програми для досліджень і промисловості (Віртуальний саміт розробників PX4 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Автономні перевірки дронів за допомогою AirSim і PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Детальна інформація
diff --git a/uk/sim_flightgear/index.md b/uk/sim_flightgear/index.md
index 448b3a9940d4..ba7220adb16c 100644
--- a/uk/sim_flightgear/index.md
+++ b/uk/sim_flightgear/index.md
@@ -12,7 +12,7 @@
**Підтримувані Транспортні Засоби:** Автожир, Літак, Рухомий об'єкт.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/uk/sim_gazebo_classic/index.md b/uk/sim_gazebo_classic/index.md
index 7ff862da58a6..6bbf9f57b2fc 100644
--- a/uk/sim_gazebo_classic/index.md
+++ b/uk/sim_gazebo_classic/index.md
@@ -8,7 +8,7 @@ Gazebo Classic - це потужне середовище 3D симуляції
**Рухомі засоби що підтримуються:** квадрокоптер ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter)), гексакоптер (Typhoon H480), [загальний стандартний ВЗІП (квадроплан)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), засіб з ВЗІП з хвоста, літак, ровер, підводний рухомий засіб (UUV).
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Діаграма: плагін Gazebo](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -305,7 +305,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
У наведеному нижче відео видно, що розташування середовища збігається зі світом:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Запуск Gazebo та PX4 окремо
diff --git a/uk/sim_gazebo_classic/multi_vehicle_simulation.md b/uk/sim_gazebo_classic/multi_vehicle_simulation.md
index 03995356a6dd..9a9ea8f85b54 100644
--- a/uk/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/uk/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ Tools/simulation/gazebo-classic/sitl_multiple_run.sh [-m ] [-n
### Відео: кілька літаків
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Відео: кілька ВЗІП
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Збірка та тестування (XRCE-DDS)
diff --git a/uk/sim_gazebo_gz/index.md b/uk/sim_gazebo_gz/index.md
index 043b2fb8f49c..6b01dfb8e6ec 100644
--- a/uk/sim_gazebo_gz/index.md
+++ b/uk/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo раніше була відома як "Gazebo Ignition" (тоді як
[Gazebo](https://gazebosim.org/home) - це робототехнічний симулятор з відкритим кодом. Він замінює старий симулятор [Gazebo Classic](../sim_gazebo_classic/README.md) та є єдиною версією Gazebo, що підтримується для Ubuntu 22.04 і далі.
-**Засоби що підтримуються:** Квадрокоптер, Літак, ВЗІП
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
:::note
Дивіться [Симуляція](../simulation/README.md) для загальної інформації про симуляцію, середовище симуляції та налаштування симуляції (наприклад засоби, що підтримуються).
@@ -40,14 +40,17 @@ make px4_sitl gz_x500
Рухомі засоби, що підтримуються, а також команди `make` перелічені нижче. Зверніть увагу, що усі цілі збірки make для gazebo мають префікс `gz_`.
-| Рухомий засіб | Команда | `PX4_SYS_AUTOSTART` |
-| --------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Квадрокоптер (x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Квадрокоптер (x500) з камерою глибини](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Квадрокоптер (x500) з візуальною одометрією](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [ВЗІП](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Літак](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Покращений літак](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Рухомий засіб | Команда | `PX4_SYS_AUTOSTART` |
+| --------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Квадрокоптер (x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Квадрокоптер (x500) з камерою глибини](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Квадрокоптер (x500) з візуальною одометрією](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [ВЗІП](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Літак](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Покращений літак](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
Усі [моделі засобів](../sim_gazebo_gz/vehicles.md) (та [світів](#specify-world)) включені як підмодуль з репозиторію [Моделі Gazebo](../sim_gazebo_gz/gazebo_models.md).
@@ -189,7 +192,7 @@ ARGS ./build/px4_sitl_default/bin/px4
- Якщо надано менше ніж 6 значень, то відсутні фіксуються на нулі.
- Можна використовувати лише зі змінною `PX4_SIM_MODEL` (не `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: встановлює файл світу Gazebo для нової симуляції. Якщо не вказано, тоді використовується [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf).
+- `PX4_GZ_WORLD`: встановлює файл світу Gazebo для нової симуляції. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- Ця змінна ігнорується, якщо наявна модель вже запущена.
- Це значення повинно бути [вказано для обраного планера](#adding-new-worlds-and-models), але може бути перевизначено використовуючи цей аргумент.
@@ -264,7 +267,7 @@ SDF файли, файли сіток, текстури та будь-що ін
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` встановлює симулятор за замовчуванням (Gz) для цього конкретного планера.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` встановлює [світ за замовчуванням](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) для цього конкретного планера.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Встановлення значення за замовчуванням для `PX4_SIM_MODEL` дозволить запустити симуляцію лише з:
diff --git a/uk/sim_gazebo_gz/vehicles.md b/uk/sim_gazebo_gz/vehicles.md
index 7460bb815fae..075d2260b234 100644
--- a/uk/sim_gazebo_gz/vehicles.md
+++ b/uk/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@
Моделі включені у PX4 як підмодуль який отримується з [Репозиторію моделей Gazebo](../sim_gazebo_gz/gazebo_models.md).
-Типи рухомих засобів що підтримуються: мультиротор, ВЗІП, літак.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
Дивіться [Рухомі засоби Gazebo Classic](../sim_gazebo_classic/vehicles.md) для засобів, що працюють зі старішою [Симуляцією Gazebo "Classic"](../sim_gazebo_classic/index.md). Зверніть увагу, що моделі засобів не взаємозамінні між двома версіями симулятору: засоби на цій сторінці будуть працювати тільки з (новим) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### Квадрокоптер X500 з монокулярною камерою
-Ці моделі мають доданий простий датчик монокулярної камери (на моделі фізично немає візуалізації камери).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
Ця камера поки що не може використовуватись для трансляції відео або захоплення зображень у QGroundControl. Використовуйте [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) для відстеження додаткової роботи, необхідної для повної реалізації цих випадків використання.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Літак/Фіксоване крило
### Стандартний літак
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/uk/sim_jsbsim/index.md b/uk/sim_jsbsim/index.md
index e6919a29bef9..88f63c4724b9 100644
--- a/uk/sim_jsbsim/index.md
+++ b/uk/sim_jsbsim/index.md
@@ -10,7 +10,7 @@
**Підтримувані транспортні засоби:** літак, квадротор, гексаротор
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
:::info Див. [Симуляція](../simulation/index.md) для загальної інформації про симулятори, середовище симуляції та конфігурацію симуляції (наприклад, підтримувані транспортні засоби).
:::
diff --git a/uk/sim_sih/index.md b/uk/sim_sih/index.md
index 6f2bc1bf8d25..640240172fc3 100644
--- a/uk/sim_sih/index.md
+++ b/uk/sim_sih/index.md
@@ -42,29 +42,29 @@ To run the SIH, you will need a:
- QGroundControl for flying the vehicle via GCS.
- Development computer for visualizing the virtual vehicle (optional).
-Починаючи з PX4 v1.14, ви можете запускати SIH "як SITL", у цьому випадку контролер польоту не потрібен.
+From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Налаштування SIH
+## Starting SIH
-Щоб налаштувати SIH
+To set up/start SIH:
-1. Підключіть контролер польоту до настільного комп’ютера за допомогою кабелю USB
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Відкрийте QGroundControl і зачекайте, поки контролер польоту також завантажиться та підключиться.
1. Відкрийте [Vehicle Setup > Airframe](../config/airframe.md), а потім виберіть потрібний каркас:
- [Квадрокоптер SIH X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH літак AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-Потім автопілот перезавантажиться. Після перезапуску модуль `sih` запускається, і транспортний засіб має відображатися на карті наземної станції керування.
+Потім автопілот перезавантажиться. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
Літак повинен злітати в ручному режимі на повному газі.
Крім того, якщо літак розбився, оцінювач стану може втратити своє виправлення.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ does not _need_ a visualiser — you can connect with QGroundControl and fly the
- `-d`, щоб розпочати роботу з послідовним пристроєм `/dev/ttyACM0` на Linux. На macOS це буде `/dev/tty.usbmodem1`.
- `-b`, щоб встановити швидкість передачі даних через послідовний порт на `2000000`.
- `-o`, щоб запустити jMAVSim тільки у _режимі відображення_ (тобто фізичний двигун вимкнено, і jMAVSim лише відображає траєкторію, надану SIH в реальному часі).
- - додайте прапорець `-a`, щоб відобразити літак, або '-t', щоб відобразити вертикальнітник. Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. Якщо цей прапорець не вказаний, за замовчуванням відображатиметься квадрокоптер.
1. Через кілька секунд можна знову відкрити _QGroundControl_.
На цьому етапі систему можна запустити та вивести в польот. Транспортний засіб можна спостерігати за рухом в jMAVSim та на екрані _польоту QGC_.
-## Запуск SIH як SITL (без апаратних засобів)
+## SIH as SITL (no FC)
-SIH можна запустити як SITL (Software-In-The-Loop) з версії 1.14. Це означає, що код симуляції виконується на ноутбуці/комп'ютері, подібно до Gazebo або jMAVSim. У цьому випадку не потрібне апаратне забезпечення контролера польоту.
+SIH можна запустити як SITL (Software-In-The-Loop) з версії 1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
Для запуску SIH як SITL:
@@ -119,6 +119,8 @@ SIH можна запустити як SITL (Software-In-The-Loop) з версі
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL дозволяє виконувати симуляцію швидше, ніж у реальному часі. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,17 +135,32 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Динамічний режим
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
Динамічні моделі для різних транспортних засобів:
- Квадротор: [pdf звіт](https://github.com/PX4/PX4-user_guide/raw/main/assets/simulation/SIH_dynamic_model.pdf).
-- З нерухомим крилом: на основі кандидатської дисертації: «Моделювання динаміки маневрених безпілотних літальних апаратів з нерухомим крилом» Khan, Waqas, під керівництвом Nahon, Meyer, Університет Макгілла, докторська дисертація, 2016.
-- Tailsitter: Натхненний магістерською дисертацією: «Моделювання та керування безпілотним літальним апаратом з літаючим крилом» Chiappinelli, Romain, під керівництвом Nahon, Meyer, Університет Макгілла, магістерська робота, 2018.
+- Fixed-wing: Inspired by the PhD thesis: "Dynamics modeling of agile fixed-wing unmanned aerial vehicles." Khan, Waqas, під керівництвом Nahon, Meyer, Університет Макгілла, докторська дисертація, 2016.
+- Tailsitter: Inspired by the master's thesis: "Modeling and control of a flying wing tailsitter unmanned aerial vehicle." Chiappinelli, Romain, під керівництвом Nahon, Meyer, Університет Макгілла, магістерська робота, 2018.
## Відео
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Автори
diff --git a/uk/simulation/failsafes.md b/uk/simulation/failsafes.md
index 313b90d12c6e..0651bcd69c6e 100644
--- a/uk/simulation/failsafes.md
+++ b/uk/simulation/failsafes.md
@@ -37,6 +37,8 @@
Змінивши [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) в польоті, ви також можете перевірити відновлення працездатності для симуляції неточної оцінки стану батареї або технології заряджання в повітрі.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## Помилка датчику/системи
[Введення помилок](../debug/failure_injection.md) може бути використано для симуляції різного типу відмов у багатьох датчиках та системах. Наприклад, це може бути використано для імітації відсутнього або переривчастого сигналу GPS, сигналу РК який перервався або застиг на певному значенні, збої в системі уникнення, і багато іншого.
diff --git a/uk/simulation/index.md b/uk/simulation/index.md
index f6f6176d4b51..38a7cbb2aa65 100644
--- a/uk/simulation/index.md
+++ b/uk/simulation/index.md
@@ -15,11 +15,10 @@ PX4 підтримує як симуляцію _Software In the Loop (SITL)_, д
Наступні симулятори підтримуються основною командою розробників PX4.
-| Симулятор | Опис |
-| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
Ми дуже рекомендуємо цей тренажер.
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/README.md), з більш досконалими моделями рендерингу, фізики та сенсорів. Це єдина версія Gazebo, доступна з Ubuntu Linux 22.04.
Потужне середовище 3D-симуляції, яке особливо підходить для тестування обходу перешкод та комп'ютерного зору. Він також може бути використаний для [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) і зазвичай використовується з [ROS](../simulation/ros_interface.md), набором інструментів для автоматизації керування апаратами.
Потужне середовище 3D-симуляції, яке особливо підходить для тестування обходу перешкод та комп'ютерного зору. Він також може бути використаний для [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) і зазвичай використовується з [ROS](../simulation/ros_interface.md), набором інструментів для автоматизації керування апаратами.
|
-| [jMAVSim](../sim_jmavsim/index.md) | Простий мультироторний симулятор, який дозволяє літати на _коптерах_ по симульованому світу.
Його легко налаштувати і можна використовувати для перевірки того, що ваш апарат може злітати, летіти, приземлятися і належним чином реагувати на різні несправності (наприклад, несправність GPS). Він також може бути використаний для [симуляції декількох апаратів] (../sim_jmavsim/multi_vehicle.md).
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/README.md), з більш досконалими моделями рендерингу, фізики та сенсорів. Це єдина версія Gazebo, доступна з Ubuntu Linux 22.04.
Потужне середовище 3D-симуляції, яке особливо підходить для тестування обходу перешкод та комп'ютерного зору. Він також може бути використаний для [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) і зазвичай використовується з [ROS](../simulation/ros_interface.md), набором інструментів для автоматизації керування апаратами.
Потужне середовище 3D-симуляції, яке особливо підходить для тестування обходу перешкод та комп'ютерного зору. Він також може бути використаний для [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) і зазвичай використовується з [ROS](../simulation/ros_interface.md), набором інструментів для автоматизації керування апаратами.
1: Data stuck (triggers if data is exactly constant for 2s in FW mode)
2: Innovation check (see ASPD_FS_INNOV)
3: Load factor check (triggers if measurement is below stall speed)
+
4: First principle check (airspeed change vs. throttle and pitch)
-
[0, 15]
+
[0, 31]
7
@@ -8784,6 +8785,13 @@ table {
Disabled (0)
+
+
ASPD_FP_T_WINDOW (FLOAT)
+
First principle airspeed check time window
Comment: Window for comparing airspeed change to throttle and pitch change. Triggers when the airspeed change within this window is negative while throttle increases and the vehicle pitches down. Is meant to catch degrading airspeed blockages as can happen when flying through icing conditions. Relies on FW_THR_TRIM being set accurately.
+
[0, ?]
+
2.0
+
s
+
ASPD_FS_INNOV (FLOAT)
Airspeed failure innovation threshold
Comment: This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.
@@ -9409,20 +9417,20 @@ table {
BAT_AVRG_CURRENT (FLOAT)
Expected battery current in flight
Comment: This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.
[0, 500] (0.1)
-
15.0
+
15
A
BAT_CRIT_THR (FLOAT)
Critical threshold
Comment: Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.
-
[0.05, 0.25] (0.01)
+
[0.05, 0.5] (0.01)
0.07
norm
BAT_EMERGEN_THR (FLOAT)
Emergency threshold
Comment: Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.
-
[0.03, 0.1] (0.01)
+
[0.03, 0.5] (0.01)
0.05
norm
@@ -9770,34 +9778,6 @@ table {
Disabled (0)
-
-
COM_ARM_EKF_HGT (FLOAT)
-
Maximum EKF height innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
1.0
-
-
-
-
COM_ARM_EKF_POS (FLOAT)
-
Maximum EKF position innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_VEL (FLOAT)
-
Maximum EKF velocity innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
-
-
COM_ARM_EKF_YAW (FLOAT)
-
Maximum EKF yaw innovation test ratio that will allow arming
-
[0.1, 1.0] (0.05)
-
0.5
-
-
COM_ARM_HFLT_CHK (INT32)
Enable FMU SD card hardfault detection check
Comment: This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.
@@ -10620,6 +10600,62 @@ table {
-1
+
+
UCAN1_FB0_SUB (INT32)
+
Cyphal ESC 0 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB1_SUB (INT32)
+
Cyphal ESC 1 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB2_SUB (INT32)
+
Cyphal ESC 2 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB3_SUB (INT32)
+
Cyphal ESC 3 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB4_SUB (INT32)
+
Cyphal ESC 4 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB5_SUB (INT32)
+
Cyphal ESC 5 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB6_SUB (INT32)
+
Cyphal ESC 6 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
+
+
UCAN1_FB7_SUB (INT32)
+
Cyphal ESC 7 zubax feedback port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_GPS0_SUB (INT32)
GPS 0 subscription port ID
@@ -10648,6 +10684,13 @@ table {
-1
+
+
UCAN1_READ_PUB (INT32)
+
Cyphal ESC readiness port ID
+
[-1, 6143]
+
-1
+
+
UCAN1_SERVO_PUB (INT32)
Cyphal Servo publication port ID
@@ -11101,19 +11144,20 @@ table {
EKF2_GPS_CHECK (INT32)
-
Integer bitmask controlling GPS checks
Comment: Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT
Bitmask:
0: Min sat count (EKF2_REQ_NSATS)
-
1: Max PDOP (EKF2_REQ_PDOP)
-
2: Max horizontal position error (EKF2_REQ_EPH)
-
3: Max vertical position error (EKF2_REQ_EPV)
-
4: Max speed error (EKF2_REQ_SACC)
-
5: Max horizontal position rate (EKF2_REQ_HDRIFT)
-
6: Max vertical position rate (EKF2_REQ_VDRIFT)
-
7: Max horizontal speed (EKF2_REQ_HDRIFT)
-
8: Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)
+
Integer bitmask controlling GPS checks
Comment: Each threshold value is defined by the parameter indicated next to the check. Drift and offset checks only run when the vehicle is on ground and stationary.
Bitmask:
0: Sat count (EKF2_REQ_NSATS)
+
1: PDOP (EKF2_REQ_PDOP)
+
2: EPH (EKF2_REQ_EPH)
+
3: EPV (EKF2_REQ_EPV)
+
4: Speed accuracy (EKF2_REQ_SACC)
+
5: Horizontal position drift (EKF2_REQ_HDRIFT)
+
6: Vertical position drift (EKF2_REQ_VDRIFT)
+
7: Horizontal speed offset (EKF2_REQ_HDRIFT)
+
8: Vertical speed offset (EKF2_REQ_VDRIFT)
+
9: Spoofing
-
[0, 511]
-
245
+
[0, 1023]
+
1023
@@ -11905,13 +11949,6 @@ table {
0.4
s
-
-
FW_SPOILERS_DESC (FLOAT)
-
Spoiler descend setting
-
[0.0, 1.0] (0.01)
-
0.
-
norm
-
FW_SPOILERS_LND (FLOAT)
Spoiler landing setting
@@ -11990,7 +12027,7 @@ table {
FW_LND_AIRSPD (FLOAT)
-
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.
+
Landing airspeed
Comment: The calibrated airspeed setpoint during landing. If set <= 0, landing airspeed = FW_AIRSPD_MIN by default.
[-1.0, ?] (0.1)
-1.
m/s
@@ -12004,7 +12041,7 @@ table {
FW_LND_EARLYCFG (INT32)
-
Early landing configuration deployment
Comment: When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.
+
Early landing configuration deployment
Comment: Allows to deploy the landing configuration (flaps, landing airspeed, etc.) already in the loiter-down waypoint before the final approach. Otherwise is enabled only in the final approach.
Disabled (0)
@@ -12018,14 +12055,14 @@ table {
FW_LND_FL_PMAX (FLOAT)
-
Flare, maximum pitch
Comment: Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, maximum pitch
Comment: Maximum pitch during landing flare.
[0, 45.0] (0.5)
15.0
deg
FW_LND_FL_PMIN (FLOAT)
-
Flare, minimum pitch
Comment: Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered
+
Flare, minimum pitch
Comment: Minimum pitch during landing flare.
[-5, 15.0] (0.5)
2.5
deg
@@ -12046,7 +12083,7 @@ table {
FW_LND_NUDGE (INT32)
-
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
参数对照:
+
Landing touchdown nudging option
Comment: Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nudging is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).
参数对照:
0: Disable nudging
1: Nudge approach angle
2: Nudge approach path
@@ -12071,14 +12108,14 @@ table {
FW_LND_THRTC_SC (FLOAT)
-
Altitude time constant factor for landing
Comment: Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
+
Altitude time constant factor for landing
Comment: During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.
[0.2, 1.0] (0.1)
1.0
FW_LND_USETER (INT32)
-
Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible
Comment: NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
+
Use terrain estimation during landing
Comment: This is critical for detecting when to flare, and should be enabled if possible. NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.
Values:
0: Disable the terrain estimate
1: Use the terrain estimate to trigger the flare (only)
2: Calculate landing glide slope relative to the terrain estimate
@@ -12255,7 +12292,7 @@ table {
FW_POS_STK_CONF (INT32)
-
RC stick configuration fixed-wing
Comment: Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
+
Custom stick configuration
Comment: Applies in manual Position and Altitude flight modes.
Bitmask:
0: Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)
1: Enable airspeed setpoint via sticks in altitude and position flight mode
@@ -12265,7 +12302,7 @@ table {
FW_R_LIM (FLOAT)
-
Maximum roll angle
Comment: The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.
+
Maximum roll angle setpoint
Comment: Applies in any altitude controlled flight mode.
[35.0, 65.0] (0.5)
50.0
deg
@@ -12649,35 +12686,35 @@ table {
FW_P_LIM_MAX (FLOAT)
-
Maximum pitch angle
Comment: The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.
+
Maximum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[0.0, 60.0] (0.5)
30.0
deg
FW_P_LIM_MIN (FLOAT)
-
Minimum pitch angle
Comment: The minimum pitch angle setpoint for a height-rate or altitude controlled mode.
+
Minimum pitch angle setpoint
Comment: Applies in any altitude controlled flight mode.
[-60.0, 0.0] (0.5)
-30.0
deg
FW_THR_IDLE (FLOAT)
-
Idle throttle
Comment: This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, "landed" conditions will engage idle throttle.
+
Idle throttle
Comment: This is the minimum throttle while on the ground ("landed") in auto modes.
[0.0, 0.4] (0.01)
0.0
norm
FW_THR_MAX (FLOAT)
-
Throttle limit max
Comment: Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.
+
Throttle limit max
Comment: Applies in any altitude controlled flight mode. Should be set accordingly to achieve FW_T_CLMB_MAX.
[0.0, 1.0] (0.01)
1.0
norm
FW_THR_MIN (FLOAT)
-
Throttle limit min
Comment: Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.
+
Throttle limit min
Comment: Applies in any altitude controlled flight mode. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates.
[0.0, 1.0] (0.01)
0.0
norm
@@ -12691,7 +12728,7 @@ table {
FW_TKO_AIRSPD (FLOAT)
-
Takeoff Airspeed
Comment: The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.
+
Takeoff Airspeed
Comment: The calibrated airspeed setpoint during the takeoff climbout. If set <= 0, FW_AIRSPD_MIN will be set by default.
[-1.0, ?] (0.1)
-1.0
m/s
@@ -12705,14 +12742,14 @@ table {
FW_T_CLMB_R_SP (FLOAT)
-
Default target climbrate
Comment: The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.
+
Default target climbrate
Comment: In auto modes: default climb rate output by controller to achieve altitude setpoints. In manual modes: maximum climb rate setpoint.
[0.5, 15] (0.01)
3.0
m/s
FW_T_F_ALT_ERR (FLOAT)
-
Minimum altitude error needed to descend with max airspeed. A negative value disables fast descend
+
Fast descend: minimum altitude error
Comment: Minimum altitude error needed to descend with max airspeed and minimal throttle. A negative value disables fast descend.
[-1.0, ?]
-1.0
@@ -12726,21 +12763,21 @@ table {
FW_T_I_GAIN_PIT (FLOAT)
-
Integrator gain pitch
Comment: Integrator gain on the pitch part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain pitch
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 2.0] (0.05)
0.1
FW_T_PTCH_DAMP (FLOAT)
-
Pitch damping factor
Comment: This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.
+
Pitch damping gain
[0.0, 2.0] (0.1)
0.1
FW_T_RLL2THR (FLOAT)
-
Roll -> Throttle feedforward
Comment: Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.
+
Roll -> Throttle feedforward
Comment: Is used to compensate for the additional drag created by turning. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns.
[0.0, 20.0] (0.5)
15.0
@@ -12754,42 +12791,42 @@ table {
FW_T_SINK_MAX (FLOAT)
-
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.
+
Maximum descent rate
Comment: This sets the maximum descent rate that the controller will use.
[1.0, 15.0] (0.5)
5.0
m/s
FW_T_SINK_R_SP (FLOAT)
-
Default target sinkrate
Comment: The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.
+
Default target sinkrate
Comment: In auto modes: default sink rate output by controller to achieve altitude setpoints. In manual modes: maximum sink rate setpoint.
[0.5, 15] (0.01)
2.0
m/s
FW_T_SPDWEIGHT (FLOAT)
-
Speed <--> Altitude priority
Comment: This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
+
Speed <--> Altitude priority
Comment: Adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.
[0.0, 2.0] (1.0)
1.0
FW_T_SPD_DEV_STD (FLOAT)
-
Airspeed rate measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.
+
Airspeed rate measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_PRC_STD (FLOAT)
-
Process noise standard deviation for the airspeed rate in the airspeed filter
Comment: This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.
+
Process noise standard deviation for the airspeed rate
Comment: This is defining the noise in the airspeed rate for the constant airspeed rate model of the TECS airspeed filter.
[0.01, 10.0] (0.1)
0.2
m/s^2
FW_T_SPD_STD (FLOAT)
-
Airspeed measurement standard deviation for airspeed filter
Comment: This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.
+
Airspeed measurement standard deviation
Comment: For the airspeed filter in TECS.
[0.01, 10.0] (0.1)
0.2
m/s
@@ -12810,28 +12847,28 @@ table {
FW_T_THR_DAMPING (FLOAT)
-
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.
+
Throttle damping factor
Comment: This is the damping gain for the throttle demand loop.
[0.0, 1.0] (0.01)
0.05
FW_T_THR_INTEG (FLOAT)
-
Integrator gain throttle
Comment: Integrator gain on the throttle part of the control loop. Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
+
Integrator gain throttle
Comment: Increase it to trim out speed and height offsets faster, with the downside of possible overshoots and oscillations.
[0.0, 1.0] (0.005)
0.02
FW_T_VERT_ACC (FLOAT)
-
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.
+
Maximum vertical acceleration
Comment: This is the maximum vertical acceleration either up or down that the controller will use to correct speed or height errors.
[1.0, 10.0] (0.5)
7.0
m/s^2
FW_WIND_ARSP_SC (FLOAT)
-
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.
+
Wind-based airspeed scaling factor
Comment: Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind.
[0, ?] (0.01)
0.
@@ -13053,7 +13090,7 @@ table {
GPS_1_PROTOCOL (INT32)
-
Protocol for Main GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
参数对照:
+
Protocol for Main GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
0: Auto detect
1: u-blox
2: MTK
@@ -13105,7 +13142,7 @@ table {
GPS_2_PROTOCOL (INT32)
-
Protocol for Secondary GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
参数对照:
+
Protocol for Secondary GPS
Comment: Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.
Values:
0: Auto detect
1: u-blox
2: MTK
@@ -13218,7 +13255,7 @@ table {
GF_ACTION (INT32)
-
Geofence violation action
Comment: Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
参数对照:
+
Geofence violation action
Comment: Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.
Values:
0: None
1: Warning
2: Hold mode
@@ -13253,7 +13290,7 @@ table {
GF_SOURCE (INT32)
-
Geofence source
Comment: Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
参数对照:
+
Geofence source
Comment: Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS
Values:
0: GPOS
1: GPS
@@ -16265,7 +16302,7 @@ table {
-
名称
参数描述
[Min, Max] (Incr.)
默认值
单位
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -16319,14 +16356,14 @@ table {
FW_GPSF_LT (INT32)
-
GPS failure loiter time
Comment: The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
+
GPS failure loiter time
Comment: The time the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.
[0, 3600]
30
s
FW_GPSF_R (FLOAT)
-
GPS failure fixed roll angle
Comment: Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).
+
GPS failure fixed roll angle
Comment: Roll angle in GPS failure loiter mode.
[0.0, 30.0] (0.5)
15.0
deg
@@ -16501,7 +16538,7 @@ table {
-
名称
参数描述
[Min, Max] (Incr.)
默认值
单位
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -17780,7 +17817,7 @@ table {
-
名称
参数描述
[Min, Max] (Incr.)
默认值
单位
+
Name
Description
[Min, Max] (Incr.)
Default
Units
@@ -17842,6 +17879,13 @@ table {
Disabled (0)
+
+
RC_GHST_TEL_EN (INT32)
+
Ghost RC telemetry enable
Comment: Ghost telemetry enable
+
+
Disabled (0)
+
+
## RC Input
@@ -19593,13 +19637,6 @@ table {
名称
参数描述
[Min, Max] (Incr.)
默认值
单位
-
-
RA_ACC_RAD_DEF (FLOAT)
-
Default acceptance radius
-
[0.1, 100] (0.01)
-
0.5
-
m
-
RA_ACC_RAD_GAIN (FLOAT)
Tuning parameter for corner cutting
Comment: The geometric ideal acceptance radius is multiplied by this factor to account for kinematic and dynamic effects. Higher value -> The rover starts to cut the corner earlier.
@@ -19609,8 +19646,8 @@ table {
RA_ACC_RAD_MAX (FLOAT)
-
Maximum acceptance radius
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Used as tuning parameter. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set equal to RA_ACC_RAD_DEF to disable corner cutting).
-
[0.1, 100] (0.01)
+
Maximum acceptance radius for the waypoints
Comment: The controller scales the acceptance radius based on the angle between the previous, current and next waypoint. Higher value -> smoother trajectory at the cost of how close the rover gets to the waypoint (Set to -1 to disable corner cutting).
+
[-1, 100] (0.01)
3
m
@@ -19635,6 +19672,20 @@ table {
1
m
+
+
RA_MAX_ACCEL (FLOAT)
+
Maximum acceleration for the rover
Comment: This is used for the acceleration slew rate, the feed-forward term for the speed controller during missions and the corner slow down effect. Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set.
+
[-1, 100] (0.01)
+
-1
+
m/s^2
+
+
+
RA_MAX_JERK (FLOAT)
+
Maximum jerk
Comment: Limit for forwards acc/deceleration change. This is used for the corner slow down effect. Note: RA_MAX_ACCEL, RA_MISS_VEL_GAIN and RA_MISS_VEL_MIN also have to be set for this to be enabled.
+
[-1, 100] (0.01)
+
-1
+
m/s^3
+
RA_MAX_SPEED (FLOAT)
Speed the rover drives at maximum throttle
Comment: This is used for the feed-forward term of the speed controller. A value of -1 disables the feed-forward term in which case the Integrator (RA_SPEED_I) becomes necessary to track speed setpoints.
@@ -19649,24 +19700,31 @@ table {
0.5236
rad
+
+
RA_MAX_STR_RATE (FLOAT)
+
Maximum steering rate for the rover
+
[-1, 1000] (0.01)
+
-1
+
deg/s
+
RA_MISS_VEL_DEF (FLOAT)
Default rover velocity during a mission
-
[0.1, 100] (0.01)
-
3
+
[0, 100] (0.01)
+
2
m/s
RA_MISS_VEL_GAIN (FLOAT)
-
Tuning parameter for the velocity reduction during cornering
Comment: Lower value -> More velocity reduction during cornering
-
[0.1, 100] (0.01)
+
Tuning parameter for the velocity reduction during cornering
Comment: The cornering speed is equal to the inverse of the acceptance radius of the WP multiplied with this factor. Lower value -> More velocity reduction during cornering.
+
[0.05, 100] (0.01)
5
RA_MISS_VEL_MIN (FLOAT)
-
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (To disable this feature set it equal to RA_MISSION_VEL_DEF)
-
[0.1, 100] (0.01)
+
Minimum rover velocity during a mission
Comment: The velocity off the rover is reduced based on the corner it has to take to smooth the trajectory (Set to -1 to disable)
+
[-1, 100] (0.01)
1
m/s
@@ -22094,7 +22152,7 @@ table {
IMU_INTEG_RATE (INT32)
-
IMU integration rate
Comment: The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
参数对照:
+
IMU integration rate
Comment: The rate at which raw IMU data is integrated to produce delta angles and delta velocities. Recommended to set this to a multiple of the estimator update period (currently 10 ms for ekf2).
Values:
100: 100 Hz
200: 200 Hz
250: 250 Hz
@@ -22277,7 +22335,7 @@ table {
SENS_BOARD_ROT (INT32)
-
Board rotation
Comment: This parameter defines the rotation of the FMU board relative to the platform.
参数对照:
+
Board rotation
Comment: This parameter defines the rotation of the FMU board relative to the platform.
Values:
0: No rotation
1: Yaw 45°
2: Yaw 90°
@@ -23359,7 +23417,7 @@ table {
SENS_MPDT9_ROT (INT32)
-
MappyDot Sensor 9 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
参数对照:
+
MappyDot Sensor 9 Rotation
Comment: This parameter defines the rotation of the Mappydot sensor relative to the platform.
Values:
0: No rotation
1: Yaw 45°
2: Yaw 90°
@@ -23613,7 +23671,7 @@ table {
SEP_DUMP_COMM (INT32)
-
Log GPS communication data
Comment: Dump raw communication data from and to the connected receiver to the log file.
Values:
+
Log GPS communication data
Comment: Log raw communication between the driver and connected receivers. For example, "To receiver" will log all commands and corrections sent by the driver to the receiver.
Values:
0: Disabled
1: From receiver
2: To receiver
@@ -23766,7 +23824,7 @@ table {
SEP_YAW_OFFS (FLOAT)
Heading/Yaw offset for dual antenna GPS
Comment: Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover antenna is placed on the right side of the vehicle and the moving base antenna is on the left side.
Reboot required: True
-
[0, 360]
+
[-360, 360]
0
deg
@@ -23801,6 +23859,48 @@ table {
0
+
+
RC_DSM_PRT_CFG (INT32)
+
Serial Configuration for DSM RC Input Driver
Comment: Configure on which serial port to run DSM RC Input Driver. DSM RC (Spektrum) driver.
参数对照:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
+
+
RC_GHST_PRT_CFG (INT32)
+
Serial Configuration for GHST RC Input Driver
Comment: Configure on which serial port to run GHST RC Input Driver. Ghost (GHST) RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
0
+
+
RC_PORT_CONFIG (INT32)
Serial Configuration for RC Input Driver
Comment: Configure on which serial port to run RC Input Driver. Setting this to 'Disabled' will use a board-specific default port for RC input.
参数对照:
@@ -23822,6 +23922,27 @@ table {
300
+
+
RC_SBUS_PRT_CFG (INT32)
+
Serial Configuration for SBUS RC Input Driver
Comment: Configure on which serial port to run SBUS RC Input Driver. SBUS RC driver.
Values:
+
0: Disabled
+
6: UART 6
+
101: TELEM 1
+
102: TELEM 2
+
103: TELEM 3
+
104: TELEM/SERIAL 4
+
201: GPS 1
+
202: GPS 2
+
203: GPS 3
+
300: Radio Controller
+
301: Wifi Port
+
401: EXT2
+
Reboot required: true
+
+
+
300
+
+
SER_EXT2_BAUD (INT32)
Baudrate for the EXT2 Serial Port
Comment: Configure the Baudrate for the EXT2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
@@ -23894,7 +24015,7 @@ table {
SER_GPS2_BAUD (INT32)
-
Baudrate for the GPS 2 Serial Port
Comment: Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
+
Baudrate for the GPS 2 Serial Port
Comment: Configure the Baudrate for the GPS 2 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
参数对照:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -23984,7 +24105,7 @@ table {
SER_RC_BAUD (INT32)
-
Baudrate for the Radio Controller Serial Port
Comment: Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
参数对照:
+
Baudrate for the Radio Controller Serial Port
Comment: Configure the Baudrate for the Radio Controller Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24089,7 +24210,7 @@ table {
SER_TEL3_BAUD (INT32)
-
Baudrate for the TELEM 3 Serial Port
Comment: Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
Values:
+
Baudrate for the TELEM 3 Serial Port
Comment: Configure the Baudrate for the TELEM 3 Serial Port. Note: certain drivers such as the GPS can determine the Baudrate automatically.
参数对照:
0: Auto
50: 50 8N1
75: 75 8N1
@@ -24318,22 +24439,22 @@ table {
SIH_LOC_H0 (FLOAT)
Initial AMSL ground altitude
Comment: This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
[-420.0, 8848.0] (0.01)
-
32.34
+
489.4
m
-
SIH_LOC_LAT0 (INT32)
-
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-850000000, 850000000]
-
454671160
-
deg*1e7
+
SIH_LOC_LAT0 (FLOAT)
+
Initial geodetic latitude
Comment: This value represents the North-South location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-90, 90]
+
47.397742
+
deg
-
SIH_LOC_LON0 (INT32)
-
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
-
[-1800000000, 1800000000]
-
-737578370
-
deg*1e7
+
SIH_LOC_LON0 (FLOAT)
+
Initial geodetic longitude
Comment: This value represents the East-West location on Earth where the simulation begins. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.
+
[-180, 180]
+
8.545594
+
deg
SIH_L_PITCH (FLOAT)
@@ -24533,7 +24654,7 @@ table {
SYS_FAC_CAL_MODE (INT32)
-
Enable factory calibration mode
Comment: If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
参数对照:
+
Enable factory calibration mode
Comment: If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.
Values:
0: Disabled
1: All sensors
2: All sensors except mag
@@ -24589,7 +24710,7 @@ table {
SYS_HITL (INT32)
-
Enable HITL/SIH mode on next boot
Comment: While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
参数对照:
+
Enable HITL/SIH mode on next boot
Comment: While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).
Values:
-1: external HITL
0: HITL and SIH disabled
1: HITL enabled
diff --git a/zh/advanced_config/prearm_arm_disarm.md b/zh/advanced_config/prearm_arm_disarm.md
index aea1f5c6a1cd..86d79225813f 100644
--- a/zh/advanced_config/prearm_arm_disarm.md
+++ b/zh/advanced_config/prearm_arm_disarm.md
@@ -32,16 +32,14 @@ PX4 allows you to configure how pre-arming, arming and disarming work using para
Arming/disarming parameters can be found in [Parameter Reference > Commander](../advanced_config/parameter_reference.md#commander) (search for `COM_ARM_*` and `COM_DISARM_*`).
:::
-
-
-## 解锁手法
+## Arming/Disarming Gestures {#arm_disarm_gestures}
默认情况下,载具可以通过移动遥控器的油门/偏航摇杆到特定的位置,并保持 1 秒来解锁和锁定。
- **Arming:** Throttle minimum, yaw maximum
- **Disarming:** Throttle minimum, yaw minimum
-RC controllers will have different gestures [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers) (as controller mode affects the sticks used for throttle and yaw):
+RC controllers will use different sticks for throttle and yaw [based on their mode](../getting_started/rc_transmitter_receiver.md#types-of-remote-controllers), and hence different gestures:
- **Mode 2**:
- _Arm:_ Left stick to bottom right.
@@ -50,15 +48,15 @@ RC controllers will have different gestures [based on their mode](../getting_sta
- _Arm:_ Left-stick to right, right-stick to bottom.
- _Disarm:_ Left-stick to left, right-stick to the bottom.
-可以使用[COM_RC_ARM_HYST](#COM_RC_ARM_HYST)参数来配置保持时间。
-
-| 参数 | 描述 |
-| ------------------------------------------------------------------------------------------------------- | --------------------------------------- |
-| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | 遥控器的摇杆在解锁/锁定发生之前必须保持在解锁/锁定的位置。(默认:1 秒)。 |
+The required hold time can be configured using [COM_RC_ARM_HYST](#COM_RC_ARM_HYST). Note that by default ([COM_DISARM_MAN](#COM_DISARM_MAN)) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
-
+| 参数 | 描述 |
+| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| [MAN_ARM_GESTURE](../advanced_config/parameter_reference.md#MAN_ARM_GESTURE) | Enable arm/disarm stick guesture. `0`: Disabled, **`1`**: Enabled (default). |
+| [COM_DISARM_MAN](../advanced_config/parameter_reference.md#COM_DISARM_MAN) | Enable disarming in flight via switch/stick/button in MC manual thrust modes. `0`: Disabled, `1`: Enabled (default). |
+| [COM_RC_ARM_HYST](../advanced_config/parameter_reference.md#COM_RC_ARM_HYST) | 遥控器的摇杆在解锁/锁定发生之前必须保持在解锁/锁定的位置。(默认:1 秒)。 |
-## 解锁按钮/开关
+## 解锁按钮/开关 {#arm_disarm_switch}
An _arming button_ or "momentary switch" can be configured to trigger arm/disarm _instead_ of [gesture-based arming](#arm_disarm_gestures) (setting an arming switch disables arming gestures). 按钮应该保持按下([名义上](#COM_RC_ARM_HYST))1 秒来解锁(当锁定时)或者锁定(当解锁时)。
@@ -89,16 +87,16 @@ By default vehicles will automatically disarm on landing, or if you take too lon
## Pre-Arm Checks
-To reduce accidents, vehicles are only allowed to arm certain conditions are met. Arming is prevented if:
+To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a [safety switch](../getting_started/px4_basic_concepts.md#safety-switch) that has not been engaged.
- The vehicle has a [remote ID](../peripherals/remote_id.md) that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode ([by default](../advanced_config/parameter_reference.md#CBRK_VTOLARMING)).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
-- Many more ...
+- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
-The current failed checks can be viewed in QGroundControl (v4.2.0 and later): [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm).
+The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md). The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
diff --git a/zh/airframes/airframe_reference.md b/zh/airframes/airframe_reference.md
index 150717c20f98..23d405c19df2 100644
--- a/zh/airframes/airframe_reference.md
+++ b/zh/airframes/airframe_reference.md
@@ -592,21 +592,29 @@ div.frame_variant td, div.frame_variant th {
diff --git a/zh/assembly/_assembly.md b/zh/assembly/_assembly.md
index 5a2d8f512523..0c44da38f398 100644
--- a/zh/assembly/_assembly.md
+++ b/zh/assembly/_assembly.md
@@ -143,6 +143,27 @@ Note however that a separate base module is required for the ground station (see
+
+
+## Airspeed Sensor
+
+[Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL frames.
+They are so important because the autopilot does not have other means to detect stall.
+
+Almost all airspeeds sensors are connected support connection via the [I2C bus](../sensor_bus/i2c_general.md) and can be plugged into the Pixhawk standard I2C port as shown below (for a Holybro Airspeed sensor and Pixhawk 6C).
+There is no need to separately power the sensor.
+
+![Airspeed sensor connected to Pixhawk 6c](../../assets/assembly/airspeed_sensor_i2c.png)
+
+Note that if there are not enough free I2C ports for your peripherals, you can use an I2C Bus splitter to split the port into multiple ports.
+
+:::warning
+Some I2C devices use 5V SCL/SDA lines, while the Pixhawk standard I2C port expects 3.3V.
+You can use an I2C level converter to connect these devices to a Pixhawk flight controller.
+:::
+
+
+
## Radio Control (Optional)
A [Remote Control (RC) system](../getting_started/rc_transmitter_receiver.md) can be used to manually control a UAS.
@@ -161,7 +182,7 @@ The [Connecting Receivers](../getting_started/rc_transmitter_receiver.md#connect
Generally the correct port is easy to infer from the labels on the flight controller:
-- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI` .
+- Spektrum/DSM receivers usually connect to an input that includes `DSM` in the label, such as: `DSM`, `DSM/SBUS RC`, `DSM RC`, `DSM/SBUS/RSSI`.
- PPM or SBUS receivers connect to the RC input, which is most commonly labeled `RC IN`, but may be a port with `SBUS` or `PPM` in the label.
- Pixhawk flight controllers usually come with cables for connecting to the common RC receiver types.
@@ -206,8 +227,17 @@ For more information see [Basic Concepts > SD Cards (Removable Memory)](../getti
The diagram below shows how flight controller, motors, control surface actuators, other actuators and other systems might be wired, showing both power and PWM control signal connections.
A particular vehicle might have more/fewer motors and actuators, but the wiring _approach_ when using PWM outputs is likely to be similar!
+
+
+![FW vehicle motor and servo wiring with PM, BEC, Servo](../../assets/assembly/power_all_fw.png)
+
+
+
+
![Motor and servo wiring with PM, PDB, BEC, Servo](../../assets/assembly/power_all.png)
+
+
The following sections explain each part in more detail.
:::tip
@@ -238,6 +268,8 @@ For example, the CUAV Pixhawk 6x has I2C power ports `POWER 1` and `POWER 2`, an
Even though power ports are part of the Pixhawk connector standard, you should check FC specific documentation for power setup.
:::
+
+
### Power Distribution Board (PDB)
In this example the power output from the battery is first connected to a power distribution board (PDB), which breaks out the power from the input into multiple parallel outputs.
@@ -245,6 +277,8 @@ You don't have to use a PDB, but it can simplify wiring, in particular for vehic
A more capable PDB may incorporate a power module (in which case they replace a stand alone module), ESCs for controlling a number of motors, and may also integrate a BEC (battery elimination circuit) for supplying power to servos and other peripherals.
+
+
### Motors
Brushless motors are powered and controlled via ESCs (electronic speed controllers).
@@ -253,13 +287,14 @@ PWM ESCs are connected with two input wires from the battery for power, two inpu
The power wires should be twisted in order to reduce electromagnetic interference, and kept as short and "tidy" on the frame as possible.
Any outputs on either PWM output bus can be connected to any actuators, motor, or other PWM controlled hardware, and later mapped to a particular actuator that is controlled by PX4 when configuring the [Actuator Outputs](../config/actuators.md#actuator-outputs).
-Note though:
+
+Note:
- By preference you should connect ESC to FMU PWM bus outputs because they are lower-latency than IO PWM outputs.
Note that the PWM outputs are often labeled `AUX` or `MAIN`.
Use the `AUX` bus if both are present, and `MAIN` otherwise.
- [DShot ESC](../peripherals/dshot.md) (recommended) can only be used on the FMU PWM outputs.
-- Motor outputs should be grouped together as much as possible rather than spread randomly across both output busses.
+- Motor outputs should be grouped together as much as possible rather than spread randomly across both the FMU and IO busses.
This is because if you assign some function to an output, such as DShot ESC, you can't then assign adjacent unused pins for anything other than a DShot ESC.
### Servos
@@ -269,18 +304,18 @@ Typical wiring for power and control is shown below.
![Servo wiring](../../assets/assembly/servos.png)
-Servos usually have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
-A battery elimination circuit is used to provide a regulated voltage from the battery, at the level expected by your servos.
-This is connected to the middle "Power" rail on the PWM output bus and powers all connected servos.
+PWM servos have a three wire connector that provides both power and PWM control signals (the middle pin is the power/voltage high).
+You can connect the servo outputs to any pins or bus you like, and later on configure what the output actually does in PX4.
-:::warning
The power rail cannot be powered by the FC itself!
-It can only have the one voltage provided by your BEC, so either use servos that all accept the same voltage, or you'll need to separately power any others that use a different voltage.
-:::
+A battery elimination circuit may be used to provide a regulated voltage from the battery to the middle "Power" rail on the PWM output bus, which in turn powers all connected servos.
-As for motors, you can connect the servo outputs to any pins or bus you like, and configure what the output actually does in PX4.
+:::warning
+The power rail can only have the one voltage provided by your BEC.
+If you don't use servos that all accept the same voltage, you'll need to separately power those that use a different voltage.
+:::
-### Other Peripherals
+## Other Peripherals
Other peripherals, such as high-power radios, cameras, and so on have their own power requirements.
These will usually be supplied off a separate BEC.
diff --git a/zh/assembly/assembly_fw.md b/zh/assembly/assembly_fw.md
index 383cb788c709..c0074caa3509 100644
--- a/zh/assembly/assembly_fw.md
+++ b/zh/assembly/assembly_fw.md
@@ -1,5 +1,6 @@
---
frame: Plane
+title: Assembling a Fixed-Wing
newEditLink: en/assembly/_assembly.md
---
diff --git a/zh/assembly/assembly_mc.md b/zh/assembly/assembly_mc.md
index f5a82c554f1c..43e31d59b8df 100644
--- a/zh/assembly/assembly_mc.md
+++ b/zh/assembly/assembly_mc.md
@@ -1,5 +1,6 @@
---
frame: Multicopter
+title: Assembling a Multicopter
newEditLink: en/assembly/_assembly.md
---
diff --git a/zh/assembly/assembly_vtol.md b/zh/assembly/assembly_vtol.md
index dc24b4803a23..2eaabf87760f 100644
--- a/zh/assembly/assembly_vtol.md
+++ b/zh/assembly/assembly_vtol.md
@@ -1,4 +1,5 @@
---
+title: Assembling a VTOL
frame: VTOL
newEditLink: en/assembly/_assembly.md
---
diff --git a/zh/can/index.md b/zh/can/index.md
index b21d43d969f9..d4f62e8698a3 100644
--- a/zh/can/index.md
+++ b/zh/can/index.md
@@ -56,20 +56,22 @@ PX4 can be built to run as open-source DroneCAN firmware on supported CAN hardwa
关于 DroneCAN (UAVCANv0) 的介绍和在 QGroundControl 中设置的实用示例:
-@[youtube](https://youtu.be/IZMTq9fTiOM)
+
### Cyphal
-无人机 UAVCAN v1 — PX4 开发者虚拟峰会 2020
+UAVCAN v1 for drones (Cyphal) — PX4 Developer Summit Virtual 2020
-@[youtube](https://youtu.be/6Bvtn_g8liU)
+
---
-在NXP UAVCAN 板上使用 PX4 开始使用 UAVCAN v1- PX4 开发者虚拟峰会 2020 @[youtube](https://youtu.be/MwdHwjaXYKs)
+Getting started using UAVCAN v1 with PX4 on the NXP UAVCAN Board — PX4 Developer Summit Virtual 2020
+
+
---
UAVCAN:一个高度可靠的发布-订阅协议,用于硬实时车辆内网络 — PX4 开发者虚拟峰会 2019
-@[youtube](https://youtu.be/MBtROivYPik)
+
diff --git a/zh/complete_vehicles_mc/betafpv_beta75x.md b/zh/complete_vehicles_mc/betafpv_beta75x.md
index 3961828a64cc..1c9270c87570 100644
--- a/zh/complete_vehicles_mc/betafpv_beta75x.md
+++ b/zh/complete_vehicles_mc/betafpv_beta75x.md
@@ -56,4 +56,4 @@ To install and configure PX4:
## Video
-@[youtube](https://youtu.be/_-O0kv0Qsh4)
+
diff --git a/zh/complete_vehicles_mc/crazyflie2.md b/zh/complete_vehicles_mc/crazyflie2.md
index b73077a8283d..1aaa6679ea90 100644
--- a/zh/complete_vehicles_mc/crazyflie2.md
+++ b/zh/complete_vehicles_mc/crazyflie2.md
@@ -317,7 +317,3 @@ To connect to Crazyflie 2.0 via MAVROS:
```
- Restart QGroundControl if it doesn't connect.
-
-## Flying
-
-@[youtube](https://youtu.be/2Bcy3k1h5uc)
diff --git a/zh/complete_vehicles_mc/crazyflie21.md b/zh/complete_vehicles_mc/crazyflie21.md
index 99e211363dd8..d805a563eaca 100644
--- a/zh/complete_vehicles_mc/crazyflie21.md
+++ b/zh/complete_vehicles_mc/crazyflie21.md
@@ -303,4 +303,4 @@ To connect to Crazyflie 2.1 via MAVROS:
## Flying
-@[youtube](https://www.youtube.com/watch?v=0qy7O3fVN2c)
+
diff --git a/zh/complete_vehicles_mc/nanomind110.md b/zh/complete_vehicles_mc/nanomind110.md
index 72df8b17772b..c0e3e9f136a5 100644
--- a/zh/complete_vehicles_mc/nanomind110.md
+++ b/zh/complete_vehicles_mc/nanomind110.md
@@ -22,7 +22,7 @@ The user guide is [here](http://mindpx.net/assets/accessories/NanoMind_110_user_
### Flight video
-@[youtube](https://youtu.be/bLtKa--Buic)
+
### Where to buy
diff --git a/zh/computer_vision/collision_prevention.md b/zh/computer_vision/collision_prevention.md
index 8f1c663d733f..9c854d6c94ba 100644
--- a/zh/computer_vision/collision_prevention.md
+++ b/zh/computer_vision/collision_prevention.md
@@ -41,8 +41,6 @@ Configure collision prevention by [setting the following parameters](../advanced
| [CP_GO_NO_DATA](../advanced_config/parameter_reference.md#CP_GO_NO_DATA) | 设置为 1 可以使无人机/无人车在没有传感器覆盖的方向移动(默认值是0/`False`)。 |
| [MPC_POS_MODE](../advanced_config/parameter_reference.md#MPC_POS_MODE) | 设置为 0 或 3 以启用位置模式下的防撞(默认是 4)。 |
-
-
## 算法描述
所有传感器的数据融合到机身周围的 36 个扇区中,每个扇区包含传感器数据和上次观测时间信息,或者指示该扇区没有可用数据。 当控制无人机向特定的方向移动时,就会检查该方向半球内的所有扇区,以查看此次移动是否会使机身靠近任何障碍物。 如果是这样,无人机的速度就会受到限制。
@@ -57,8 +55,6 @@ Configure collision prevention by [setting the following parameters](../advanced
根据边余量的大小,邻近的扇区比命令扇区“更好”,则可以按 [CP_GUIDE_ANG](#CP_GUIDE_ANG) 指定的角度修改请求输入的方向。 这有助于微调用户输入,以“引导”机身绕过障碍物,而不是卡在障碍物上。
-
-
### 航程数据丢失
If the autopilot does not receive range data from any sensor for longer than 0.5s, it will output a warning _No range data received, no movement allowed_. 这会导致强制将 xy 的速度设置为 0。 After 5 seconds of not receiving any data, the vehicle will switch into [HOLD mode](../flight_modes_mc/hold.md). If you want the vehicle to be able to move again, you will need to disable Collision Prevention by either setting the parameter [CP_DIST](#CP_DIST) to a negative value, or switching to a mode other than [Position mode](../flight_modes_mc/position.md) (e.g. to _Altitude mode_ or _Stabilized mode_).
@@ -69,9 +65,7 @@ If the autopilot does not receive range data from any sensor for longer than 0.5
使能参数 [CP_GO_NO_DATA=1](#CP_GO_NO_DATA) 时要小心,这会使无人机飞出传感器覆盖的区域。 如果多个传感器中有一个失去连接,故障传感器所覆盖的区域将被视为未覆盖,可以在该区域移动不受限制。
:::
-
-
-### CP_DELAY 延迟调整
+### CP_DELAY Delay Tuning {#delay_tuning}
There are two main sources of delay which should be accounted for: _sensor delay_, and vehicle _velocity setpoint tracking delay_. 这两个延迟来源都可以通过 [CP_DELAY](#CP_DELAY) 这个参数来调整。
@@ -83,9 +77,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
如果车速在接近障碍物时发生振荡(即减速,加速,减速),则延迟设置太高。
:::
-
-
-### CP_GUIDE_ANG 制导调试
+### CP_GUIDE_ANG Guidance Tuning {#angle_change_tuning}
取决于机身,环境类型和飞行员技能,可能需要不同数量的制导。 将 [CP_GUIDE_ANG](#CP_GUIDE_ANG) 参数设置为 0 将禁用制导,从而使得无人机只能在正确的方向上移动。 增大此参数将使无人机选择最佳方向来避开障碍物,从而更容易飞过狭窄的间隙,并与物体周围保持最小间距。
@@ -96,9 +88,7 @@ Vehicle _velocity setpoint tracking delay_ can be measured by flying at full spe
如果只有一个距离传感器指向前方时无人机感到“卡住”,这可能是因为由于缺乏信息,制导无法安全地调整方向。
:::
-
-
-## PX4 距离传感器
+## PX4 Distance Sensor {#rangefinder}
### Lanbao PSK-CM8JL65-CC5
@@ -146,9 +136,7 @@ The obstacle overlay in QGC will look like this:
您可以从 [功能 PR](https://github.com/PX4/PX4-Autopilot/pull/12179) 中看到所需的修改。 请回馈你的更改!
:::
-
-
-## 机载计算机设置
+## Companion Setup {#companion}
如果使用机载计算机或者外部传感器,需要提供 [OBSTACLE_DISTANCE](https://mavlink.io/en/messages/common.html#OBSTACLE_DISTANCE) 消息流,该消息流反映检测到障碍物的时间和位置。
@@ -164,9 +152,20 @@ The tested companion software is the _local_planner_ from the [PX4/PX4-Avoidance
软硬件的配置应遵照 [PX4/avoidance](https://github.com/PX4/PX4-Avoidance) 代码仓库的说明。 In order to emit `OBSTACLE_DISTANCE` messages you must use the _rqt_reconfigure_ tool and set the parameter `send_obstacles_fcu` to true.
-## Gazebo设置
+## Gazebo Simulation
+
+_Collision Prevention_ can be tested using [Gazebo](../sim_gazebo_gz/index.md) with the [x500_lidar](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) model. To do this, start a simulation with the x500 lidar model by running the following command:
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+Next, adjust the relevant parameters to the appropriate values and add arbitrary obstacles to your simulation world to test the collision prevention functionality.
+
+The diagram below shows how the simulation looks when viewed in Gazebo.
-_Collision Prevention_ can also be tested using Gazebo. 设置方法请遵照[PX4/avoidance](https://github.com/PX4/PX4-Avoidance)的说明。
+![RViz image of collision detection using the x500_lidar model in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar_viz.png)
+
diff --git a/zh/computer_vision/obstacle_avoidance.md b/zh/computer_vision/obstacle_avoidance.md
index 4e75c82c627c..b2b75beb707c 100644
--- a/zh/computer_vision/obstacle_avoidance.md
+++ b/zh/computer_vision/obstacle_avoidance.md
@@ -56,6 +56,8 @@ If PX4 stops receiving setpoint updates for more than half a second it will swit
PX4 通过 [设置](../advanced_config/parameters.md) 参数 [COM_OBS_AVOID](../advanced_config/parameter_reference.md#COM_OBS_AVOID) 为1 来使能自主避障功能。
+Note that PX4 also requires that the companion computer meets the requirements of the [Path Planning Interface](../computer_vision/path_planning_interface.md). For example, the vehicle will fail the prearm check `Avoidance system not ready` if the companion computer isn't broadcasting a MAVLink `HEARTBEAT` with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE).
+
:::note
`COM_OBS_AVOID` 还使能了 [安全着陆](../computer_vision/safe_landing.md),以及使用了 PX4 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) (轨迹接口)将外部路径规划服务与 PX4 集成的其他功能。
:::
diff --git a/zh/computer_vision/path_planning_interface.md b/zh/computer_vision/path_planning_interface.md
index 31a2131f4203..527133ae158a 100644
--- a/zh/computer_vision/path_planning_interface.md
+++ b/zh/computer_vision/path_planning_interface.md
@@ -1,17 +1,23 @@
# 路径规划接口
-PX4 使用数个 MAVLink 接口来整合机载计算机的路径规划服务(包括在执行航线任务时避障,[安全着陆](../computer_vision/safe_landing.md)和未来的一些服务):
+PX4 uses a number of MAVLink interfaces for integrating path planning services from a companion computer (including [obstacle avoidance in missions](../computer_vision/obstacle_avoidance.md#mission-mode-avoidance), [safe landing](../computer_vision/safe_landing.md), and future services):
+
+- There are two [MAVLink Path Planning Protocol](https://mavlink.io/en/services/trajectory.html) interfaces:
-- 有两个 [MAVLink 路径规划协议](https://mavlink.io/en/services/trajectory.html) 接口:
- [TRAJECTORY_REPRESENTATION_WAYPOINTS](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_WAYPOINTS): Used by PX4 to send the _desired path_. May be used by path planning software to send PX4 a stream of setpoints for the _planned path_.
- [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) may (alternatively) be used by path planning software to send PX4 the _planned path_ as a bezier curve. 曲线表示给定时间段内机体(移动的)位置设定值。
-- [HEARTBEAT(心跳包)/连接协议](https://mavlink.io/en/services/heartbeat.html) 用于检测“生命证明”。
+
+- The [HEARTBEAT/Connection Protocol](https://mavlink.io/en/services/heartbeat.html) is used for "proof of life" detection.
+
+ ::: info The companion computer must have a component id of [MAV_COMP_ID_OBSTACLE_AVOIDANCE](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_OBSTACLE_AVOIDANCE) and be streaming a [HEARTBEAT](https://mavlink.io/en/messages/common.html#HEARTBEAT) with [HEARTBEAT.system_status=MAV_STATE_ACTIVE](https://mavlink.io/en/messages/common.htmlMAV_STATE_ACTIVE) in order to arm while obstacle avoidance is enabled (otherwise the vehicle will fail the prearm check: `Avoidance system not ready`). 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
+
- [LOCAL_POSITION_NED](https://mavlink.io/en/messages/common.html#LOCAL_POSITION_NED) 和 [ALTITUDE](https://mavlink.io/en/messages/common.html#ALTITUDE) 分别用来发送机体本地位置和高度。
如果 [COM_OBS_AVOID=1](../advanced_config/parameter_reference.md#COM_OBS_AVOID),那么 PX4 的路径规划功能会在自动化模式 (着陆Landing、起飞Takeoff、保持Hold、任务Mission、返回Return)下启用 。 在这些模式中,路径规划软件将为 PX4 提供预设航点;如果软件无法支持特定的飞行模式,则必须将设定值从机体上向下一个位置镜像。
:::tip
-The message flows from PX4 UORB topics, through MAVLink, to ROS and back again are all documented in [PX4/PX4-Avoidance > Message Flows](https://github.com/PX4/PX4-Avoidance#message-flows). 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
+The message flows from PX4 UORB topics, through MAVLink, to ROS and back again are all documented in [PX4/PX4-Avoidance > Message Flows](https://github.com/PX4/PX4-Avoidance#message-flows).
+:::
所有使用此接口的服务均发送并且接收相同类型/格式的消息。 Developers can therefore use this interface to create their own new companion-side path planning services or tweak the existing planner software.
@@ -30,9 +36,7 @@ Companion-side hardware setup and hardware/software configuration is provided in
实际需要的设置/配置取决于所用的规划器。
:::warning
-Only one planner can run on the companion computer at a time (at the time of writing).
-This means that offboard features that use different planners cannot be enabled on the same vehicle at the same time (e.g., a vehicle can support obstacle avoidance and collision prevention, but not also safe landing - or vice versa).
-:::
+Only one planner can run on the companion computer at a time (at the time of writing). This means that offboard features that use different planners cannot be enabled on the same vehicle at the same time (e.g., a vehicle can support obstacle avoidance and collision prevention, but not also safe landing - or vice versa). 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
@@ -45,7 +49,8 @@ PX4 sends information about the _desired path_ to the companion computer (when `
Path planner software sends back setpoints for the _planned path_ using either `TRAJECTORY_REPRESENTATION_WAYPOINTS` (see [Companion Waypoint Interface](#companion_waypoint_interface)) or [TRAJECTORY_REPRESENTATION_BEZIER](https://mavlink.io/en/messages/common.html#TRAJECTORY_REPRESENTATION_BEZIER) (see [Companion Bezier Trajectory Interface](#bezier_interface)). 不同之处在于,前者航点参数只是指定下一个设定的目标航点,而贝塞尔轨迹则描述精确的车辆运动(即随时间变化的设定点)。
:::warning
-路由规划软件在执行任务时不应混用这些接口(PX4 将使用最近收到的任意类型的消息)。 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
+路由规划软件在执行任务时不应混用这些接口(PX4 将使用最近收到的任意类型的消息)。
+:::
@@ -102,8 +107,7 @@ PX4 中各字段定义如下:
- When external path planning is enabled:
- if the `HEARTBEAT` is lost PX4 will emit a status message (which is displayed in _QGroundControl_) stating either "Avoidance system lost" or "Avoidance system timeout" (depending on the vehicle state). 这项提醒与当前的飞行模式无关。
- if a trajectory message is not received for more than 0.5 seconds and the vehicle is in an autonomous mode (Return, Mission, Takeoff, Land), the vehicle will switch into [Hold mode](../flight_modes_mc/hold.md). ::: info A planner must always provide points in this timeframe.
- - A planner will mirror back setpoints it receives when the vehicle is in a mode/state for which it doesn't provide path planning. (i.e. the vehicle will follow its desired path, delayed by a very small amount).
-:::
+ - A planner will mirror back setpoints it receives when the vehicle is in a mode/state for which it doesn't provide path planning. (i.e. the vehicle will follow its desired path, delayed by a very small amount). 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
- If the execution time of the last-supplied Bezier trajectory expires during path planning (when using the [Bezier Trajectory Interface](#bezier_interface)), this is treated the same as not getting a new message within 0.5 seconds (i.e. vehicle switches to [Hold mode](../flight_modes_mc/hold.md)).
@@ -138,7 +142,8 @@ The path planning software (running on the companion computer) _may_ send the pl
消息定义了无人机应遵循的路径(由控制点定义),从消息 `时间戳` 开始,在时间 `delta` 后到达终点。 PX4 使用消息发送时间、当前时间和贝塞尔曲线的总时间(delta)计算其新的轨迹设定点(沿曲线趋势来预测的当前位置/速度/加速度)。
-::: info For example, say the message was sent 0.1 seconds ago, and `delta` (curve duration) is 0.3s. PX4 可以在曲线中以 0.1 秒间隔的精度计算其轨迹设定点。 因此,开发者可以使用这个接口来创建自己新的机载计算机端路径规划服务,或调整现有的规划者软件。
+::: info For example, say the message was sent 0.1 seconds ago, and `delta` (curve duration) is 0.3s. PX4 可以在曲线中以 0.1 秒间隔的精度计算其轨迹设定点。
+:::
更详细地讲,`TRAJECTORY_REPRESENTATION_BEZIER` 被解析为:
diff --git a/zh/computer_vision/safe_landing.md b/zh/computer_vision/safe_landing.md
index 87c63b4e5cb0..0286c4d27f82 100644
--- a/zh/computer_vision/safe_landing.md
+++ b/zh/computer_vision/safe_landing.md
@@ -33,9 +33,7 @@ This covers the common setup for obstacle avoidance and collision prevention, an
配置信息除了其他外,还包括使用不同的相机怎样设置安全着陆,无人机大小和决定是否降落的高度。
-
-
-## 安全着陆接口
+## Safe Landing Interface {#interface}
PX4 使用 [Path Planning Offboard Interface](../computer_vision/path_planning_interface.md) 集成机载计算机中的路径规划服务(包括 [任务中自主避障](../computer_vision/obstacle_avoidance.md#mission_mode),[安全着陆](../computer_vision/safe_landing.md)以及更多的服务)。
diff --git a/zh/concept/flight_tasks.md b/zh/concept/flight_tasks.md
index 67cdb1a4c985..d372443be974 100644
--- a/zh/concept/flight_tasks.md
+++ b/zh/concept/flight_tasks.md
@@ -172,10 +172,14 @@ The following videos provide an overview of flight tasks in PX4. The first cover
A description of how flight modes work in PX4 v1.9 (Dennis Mannhart, Matthias Grob).
-@[youtube](https://youtu.be/-dkQG8YLffc)
+
+
+
### Overview of multicopter control from sensors to motors (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/orvng_11ngQ?t=560)
+
+
+
The relevant section of this video is an update of flight tasks in PX4 v11.1 at (9min 20sec). The [slides can be found here (PDF)](https://static.sched.com/hosted_files/px4developersummitvirtual2020/1b/PX4%20Developer%20Summit%202020%20-%20Overview%20of%20multicopter%20control%20from%20sensors%20to%20motors.pdf) - Slides 9 and 12 are relevant.
diff --git a/zh/config/_autotune.md b/zh/config/_autotune.md
new file mode 100644
index 000000000000..f5f8cfb93dba
--- /dev/null
+++ b/zh/config/_autotune.md
@@ -0,0 +1,276 @@
+
+
+
+
+# Auto-tuning (Multicopter)
+
+
+
+
+# Auto-tuning (Fixed-Wing)
+
+
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+:::warning
+Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
+
+- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
+- Be ready to abort the autotuning process. You can do this by changing flight modes
or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch))
.
+- Verify that the vehicle flies well after tuning.
+
+:::
+
+
+
+## Pre-tuning Test
+
+The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
+
+To make sure the vehicle is stable enough for auto-tuning:
+
+1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
+
+1. Take off and
hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or [Manual/Stabilized mode](../flight_modes_mc/manual_stabilized.md)
fly at cruise speed in [Position mode](../flight_modes_fw/position.md) or [Altitude mode](../flight_modes_fw/altitude.md)
.
+
+1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
+1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
+1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
+
+If the drone can stabilize itself within 2 oscillations it is ready for the [auto-tuning procedure](#auto-tuning-procedure).
+
+::: warning
+If the drone cannot stabilize itself sufficiently, follow the instructions in the [troubleshooting](#troubleshooting) section. These explain the minimal manual tuning to prepare the vehicle for auto-tuning.
+:::
+
+## Auto-tuning Procedure
+
+The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
+
+The recommended mode for autotuning is
[Altitude mode](../flight_modes_mc/altitude.md)
[Hold mode](../flight_modes_fw/hold.md)
, but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
+
+The test steps are:
+
+1. Perform the [pre-tuning test](#pre-tuning-test).
+
+1. Takeoff using RC control
in [Altitude mode](../flight_modes_mc/altitude.md).
+ Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
+ Once flying at cruise speed, activate [Hold mode](../flight_modes_fw/hold.md).
+ This will guide the plane to fly in circle at constant altitude and speed.
+
+1. Enable autotune.
+
+
+
TIP
+
+ If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch) is configured you can just toggle the switch to the "enabled" position.
+
+
+
+ 1. In QGroundControl, open the menu **Vehicle setup > PID Tuning**:
+
+ ![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
+
+ 1. Select either the _Rate Controller_ or _Attitude Controller_ tabs.
+ 1. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors).
+ 1. Read the warning popup and click on **OK** to start tuning.
+
+1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
+1.
Manually land and disarm to apply the new tuning parameters.
+ Takeoff carefully and manually test that the vehicle is stable.
The tuning will be immediately/automatically be applied and tested in flight (by default).
+ PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
+
+::: warning
+If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
+:::
+
+Additional notes:
+
+
+
+- The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md).
+ You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
+
+
+
+
+- Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md).
+ However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
+
+
+
+- Whether tuning is applied while flying or after landing can be [configured using parameters](#apply-tuning-when-in-air-landed).
+
+## Troubleshooting
+
+### Drone oscillates when performing the pre-tuning test
+
+
+
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop:
+
+- Decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
+
+
+
+
+Slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
+
+- Increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
+
+Fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
+
+- Decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
+
+
+
+### The auto-tuning sequence fails
+
+If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients.
+
+Increase the
parameter by steps of 1 and trigger the auto-tune again.
+
+### The drone oscillates after auto-tuning
+
+Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#drone-oscillates-when-performing-the-pre-tuning-test).
+
+### I still can't get it to work
+
+Attempt manual tuning using the guides listed in [See also](#see-also) below.
+
+## Optional Configuration
+
+### Apply Tuning when In-Air/Landed
+
+
+
+
+By multicopters land before parameters are applied.
+This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) parameter:
+
+
+
+
+By default fixed wing tuning the parameters are applied while flying, and then PX4 runs a test to confirm that the controllers work properly.
+This behaviour can be configured using the [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameter:
+
+
+
+- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
+- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
+- `2`: apply immediately (default for fixed-wings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
+
+
+
+### Enable/Disable Autotune Switch
+
+A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel (note, this is only supported on fixed-wing vehicles).
+
+To map a switch:
+
+1. Select an RC channel on your controller to use for the autotune enable/disable switch.
+1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
+1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
+
+The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]`) and enabled when the switch channel is above `0.5`.
+
+If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis) before flight.
+
+### Select Tuning Axis
+
+Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
+
+- bit `0`: roll (default)
+- bit `1`: pitch (default)
+- bit `2`: yaw
+
+
+
+## Developers/SDKs
+
+Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
+
+At time of writing the message is resent at regular intervals to poll PX4 for progress: the `COMMAND_ACK` includes result that the operation is in progress, and also the progress as a percentage. The operation completes when the progress is 100% or the vehicle lands and disarms.
+
+::: info This is not a MAVLink-compliant implementation of a [command protocol long running command](https://mavlink.io/en/services/command.html#long_running_commands). PX4 should stream progress as the protocol does not allow polling.
+:::
+
+The feature is not yet supported by MAVSDK.
+
+## Background/Detail
+
+PX4 uses [PID controllers](../flight_stack/controller_diagrams.md) (rate, attitude, velocity, and position) to calculate the outputs required to move a vehicle from its current estimated state to match a desired setpoint. The controllers must be well tuned in order to get the best performance out of a vehicle. In particular, a poorly tuned rate controller results in less stable flight in all modes, and takes longer to recover from disturbances.
+
+Generally if you use a [frame configuration](../config/airframe.md) that is similar to your vehicle then the vehicle will be able to fly. However unless the configuration precisely matches your hardware you should tune the rate and attitude controllers. Tuning the velocity and position controllers is less important because they are less affected by vehicle dynamics, and the default tuning configuration for a similar airframe is often sufficient.
+
+Autotuning provides an automatic mechanism to tune the rate and attitude controllers. It can be used to tune fixed-wing and multicopter vehicles, and VTOL vehicles when flying as a multicopter or as a fixed-wing (transition between modes must be manually tuned). In theory it should work for other vehicle types that have a rate controller, but currently only the above types are supported.
+
+Automatic tuning works well for the multicopter and fixed-wing vehicle configurations supported by PX4, provided the frame is not too flexible (see [below for more information](#does-autotuning-work-for-all-supported-airframes)).
+
+The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
+
+The tuning process takes about 40 seconds ([between 19 and 70 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
+
+### FAQ
+
+#### What frames types are supported?
+
+Autotuning is enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
+
+While it is not yet enabled for other frame types, in theory it an be used with any frame that uses a rate controller.
+
+#### Does autotuning work for all supported airframes?
+
+The mathematical model used by autotuning to estimate the dynamics of the drone assumes this it is a linear system with no coupling between the axes (SISO), and with a limited complexity (2 poles and 2 zeros). If the real drone is too far from those conditions, the model will not be able to represent the real dynamics of the drone.
+
+In practise, autotuning generally works well for fixed-wing and multicopter, provided the frame is not too flexible.
+
+#### How long does autotuning take?
+
+Tuning takes 5s-20s per axis (aborted if tuning could not be established in 20s) + 2s pause between each axis + 4s of testing if the new gains are applied in air.
+
+A multicopter must tune all three axes, and by default does not test the new gains in-air. Tuning will therefore take between 19s (`5 + 2 + 5 + 2 + 5`) and 64s (`20x3 + 2x2`).
+
+By default a fixed-wing vehicle tunes all three axes and then tests the new gains in-air. The range is therefore between 25s (`5 + 2 + 5 + 2 + 5 + 2 + 4`) and 70s (`20x3 + 3x2 + 4`).
+
+Note however that the above settings are defaults. A multicopter can choose to run the tests in air, and a fixed-wing can choose not to. Further, a fixed-wing can choose to tune fewer axes.
+
+Anecdotally, it usually takes around 40s for either vehicle.
+
+
+
+
+
+
+## See also
+
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
+- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `MC_AT_`).
+
+
+
+
+## See also
+
+- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
+- [Parameters > Autotuning](../advanced_config/parameter_reference.md#autotune) (prefixed with `FW_AT_`).
+
+
diff --git a/zh/config/autotune.md b/zh/config/autotune.md
deleted file mode 100644
index e8d28107c50c..000000000000
--- a/zh/config/autotune.md
+++ /dev/null
@@ -1,207 +0,0 @@
-# 自动调整
-
-Auto-tuning automates the process of tuning the PX4 rate and attitude controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional"). It is currently enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
-
-Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
-
-:::warning
-Auto-tuning is performed while flying. The airframe must fly well enough to handle moderate disturbances, and should be closely attended:
-
-- Test that your vehicle is [stable enough for autotuning](#pre-tuning-test).
-- Be ready to abort the autotuning process. You can do this by changing flight modes or using an auto-tune enable/disable switch ([if configured](#enable-disable-autotune-switch-fixed-wing)).
-- Verify that the vehicle flies well after tuning.
-
-:::
-
-@[youtube](https://youtu.be/5xswOhhqrIQ)
-
-## Pre-tuning Test
-
-The vehicle must be able to fly and adequately stabilize itself before running auto-tune. This test ensures that the vehicle can fly safely in position controlled modes.
-
-::: info During [Airframe Setup](../config/airframe.md) you should have selected the frame that most closely matches your vehicle. This may fly well enough to run autotuning.
-:::
-
-To make sure the vehicle is stable enough for auto-tuning:
-
-1. Perform a normal preflight safety checklist to ensure the flight zone is clear and has enough space.
-1. Takeoff and prepare for the test
- - **Multicopters:** Take off and hover at 1m above ground in [Altitude mode](../flight_modes_mc/altitude.md) or Stabilized mode.
- - **Fixed-wing:** Take off and fly at cruise speed in [Position mode](../flight_modes_mc/position.md) or [Altitude mode](../flight_modes_mc/altitude.md).
-1. Use the RC transmitter roll stick to perform the following maneuver, tilting the vehicle just a few degrees: _roll left > roll right > center_ (The whole maneuver should take about 3 seconds). The vehicle should stabilise itself within 2 oscillations.
-1. Repeat the maneuver, tilting with larger amplitudes at each attempt. If the vehicle can stabilise itself within 2 oscillations at ~20 degrees move to the next step.
-1. Repeat the same maneuvers but on the pitch axis. As above, start with small angles and confirm that the vehicle can stabilise itself within 2 oscillations before increasing the tilt.
-
-If the drone can stabilize itself within 2 oscillations it is ready for the auto-tuning procedure.
-
-If not, go to the [troubleshooting](#troubleshooting) section, which explains the minimal manual tuning to prepare the vehicle for auto-tuning.
-
-### Auto-tuning Procedure
-
-The auto-tuning sequence must be performed in a **safe flight zone, with enough space**. It takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). For best results, we recommend running the test in calm weather conditions.
-
-The recommended modes for autotuning are [Hold mode](../flight_modes_fw/hold.md) (FW) and [Altitude mode](../flight_modes_mc/altitude.md) (MC), but any other flight mode can be used. During auto tuning, the RC sticks can still be used to fly the vehicle.
-
-::: info The auto-tuning sequence can be aborted at any time by changing flight modes or using the [enable/disable Autotune switch](#enable-disable-autotune-switch-fixed-wing) (if configured).
-:::
-
-The test steps are:
-
-1. Perform the [pre-tuning test](#pre-tuning-test).
-1. Takeoff using RC control and prepare for test:
- - **Multicopters:** Takeoff using the remote controller in [Altitude mode](../flight_modes_mc/altitude.md). Hover the vehicle at a safe distance and at a few meters above ground (between 4 and 20m).
- - **Fixed-wing:** Once flying at cruise speed, activate [Hold mode](../flight_modes_mc/hold.md). This will guide the plane to fly in circle at constant altitude and speed.
-1. Enable autotune.
-
-:::tip
-If an [Enable/Disable Autotune Switch](#enable-disable-autotune-switch-fixed-wing) is configured you can just toggle the switch to the "enabled" position.
-:::
-
- 1. In QGroundControl, open the menu: **Vehicle setup > PID Tuning**
-
- ![Tuning Setup > Autotune Enabled](../../assets/qgc/setup/autotune/autotune.png)
-
- 1. Select either the _Rate Controller_ or _Attitude Controller_ tabs.
- 1. Ensure that the **Autotune enabled** button is enabled (this will display the **Autotune** button and remove the manual tuning selectors).
- 1. Read the warning popup and click on **OK** to start tuning.
-
-1. The drone will first start to perform quick roll motions followed by pitch and yaw motions. The progress is shown in the progress bar, next to the _Autotune_ button.
-1. Apply the tuning:
-
- - **Fixed-Wing:** The tuning will be immediately/automatically be applied and tested in flight (by default). PX4 will then run a 4 second test and revert the new tuning if a problem is detected.
- - **Multicopters:** Manually land and disarm to apply the new tuning parameters. Takeoff carefully and manually test that the vehicle is stable.
-
-1. If any strong oscillations occur, land immediately and follow the instructions in the [Troubleshooting](#troubleshooting) section below.
-
-Additional notes:
-
-- **VTOL:** Hybrid VTOL fixed-wing vehicles must be tuned twice, following multicopter instructions in MC mode and fixed-wing instructions in FW mode.
-- **Multicopter:** The instructions above tune the vehicle in [Altitude mode](../flight_modes_mc/altitude.md). You can instead takeoff in [Takeoff mode](../flight_modes_mc/takeoff.md) and tune in [Position mode](../flight_modes_mc/position.md) if the vehicle is is _known_ to be stable in these modes.
-- **Fixed-wing:** Autotuning can also be run in [Altitude mode](../flight_modes_fw/altitude.md) or [Position mode](../flight_modes_fw/position.md). However running the test while flying straight requires a larger safe area for tuning, and does not give a significantly better tuning result.
-- Whether tuning is applied in-air or after landing can be [configured using parameters](#apply-parameters-when-in-air-landed).
-
-## Troubleshooting
-
-#### The drone oscillates when performing the testing maneuvers prior to the auto-tuning
-
-- slow oscillations (1 oscillation per second or slower): this often occurs on large platforms and means that the attitude loop is too fast compared to the rate loop.
- - **Multicopter:** decrease [MC_ROLL_P](../advanced_config/parameter_reference.md#MC_ROLL_P) and [MC_PITCH_P](../advanced_config/parameter_reference.md#MC_PITCH_P) by steps of 1.0.
- - **Fixed-wing:** increase [FW_R_TC](../advanced_config/parameter_reference.md#FW_R_TC) and [FW_P_TC](../advanced_config/parameter_reference.md#FW_P_TC) by steps of 0.1.
-- fast oscillations (more than 1 oscillation per second): this is because the gain of the rate loop is too high.
- - **Multicopter:** decrease `MC_[ROLL|PITCH|YAW]RATE_K` by steps of 0.02
- - **Fixed-wing:** decrease [FW_RR_P](../advanced_config/parameter_reference.md#FW_RR_P), [FW_PR_P](../advanced_config/parameter_reference.md#FW_PR_P), [FW_YR_P](../advanced_config/parameter_reference.md#FW_YR_P) by steps of 0.01.
-
-#### The auto-tuning sequence fails
-
-If the drone was not moving enough during auto-tuning, the system identification algorithm might have issues to find the correct coefficients. Increase the [FW_AT_SYSID_AMP](../advanced_config/parameter_reference.md#FW_AT_SYSID_AMP), [MC_AT_SYSID_AMP](../advanced_config/parameter_reference.md#MC_AT_SYSID_AMP) by steps of 1 and trigger the auto-tune again.
-
-#### The drone oscillates after auto-tuning
-
-Due to effects not included in the mathematical model such as delays, saturation, slew-rate, airframe flexibility, the loop gain can be too high. To fix this, follow the same steps described [when the drone oscillates in the pre-tuning test](#the-drone-oscillates-when-performing-the-testing-maneuvers-prior-to-the-auto-tuning).
-
-#### I still can't get it to work
-
-Attempt manual tuning using the appropriate guides:
-
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-
-## Optional Configuration
-
-### Apply Parameters When In-Air/Landed
-
-By default MC vehicles land before parameters are applied, while FW vehicles apply the parameters in-air and then test that the controllers work properly. This behaviour can be configured using the [MC_AT_APPLY](../advanced_config/parameter_reference.md#MC_AT_APPLY) and [FW_AT_APPLY](../advanced_config/parameter_reference.md#FW_AT_APPLY) parameters respectively:
-
-- `0`: the gains are not applied. This is used for testing purposes if the user wants to inspect results of the auto-tuning algorithm without using them directly.
-- `1`: apply the gains after disarm (default for multirotors). The operator can then test the new tuning while taking-off carefully.
-- `2`: apply immediately (default for fixed-fings). The new tuning is applied, disturbances are sent to the controller and the stability is monitored during the next 4 seconds. If the control loop is unstable, the control gains are immediately reverted back to their previous value. If the test passes, the pilot can then use the new tuning.
-
-### Enable/Disable Autotune Switch (Fixed-Wing)
-
-A remote control switch can be configured to enable/disable autotune (in any mode) using an RC AUX channel.
-
-To map a switch:
-
-1. Select an RC channel on your controller to use for the autotune enable/disable switch.
-1. Set [RC_MAP_AUX1](../advanced_config/parameter_reference.md#RC_MAP_AUX1) to match the RC channel for your switch (you can use any of `RC_MAP_AUX1` to `RC_MAP_AUX6`).
-1. Set [FW_AT_MAN_AUX](../advanced_config/parameter_reference.md#FW_AT_MAN_AUX) to the selected channel (i.e. `1: Aux 1` if you mapped `RC_MAP_AUX1`).
-
-The auto tuner will be disabled when the switch is below `0.5` (on the manual control setpoint range of of `[-1, 1]` and enabled when the switch channel is above `0.5`.
-
-If using an RC AUX switch to enable autotuning, make sure to [select the tuning axes](#select-tuning-axis-fixed-wing) before flight.
-
-### Select Tuning Axis (Fixed-Wing)
-
-Fixed-wing vehicles (only) can select which axes are tuned using the [FW_AT_AXES](../advanced_config/parameter_reference.md#FW_AT_AXES) bitmask parameter:
-
-- bit `0`: roll (default)
-- bit `1`: pitch (default)
-- bit `2`: yaw
-
-## Developers/SDKs
-
-Autotuning is started using [MAV_CMD_DO_AUTOTUNE_ENABLE](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_AUTOTUNE_ENABLE) MAVLink command.
-
-At time of writing the message is resent at regular intervals to poll PX4 for progress: the `COMMAND_ACK` includes result that the operation is in progress, and also the progress as a percentage. The operation completes when the progress is 100% or the vehicle lands and disarms.
-
-::: info This is not a MAVLink-compliant implementation of a [command protocol long running command](https://mavlink.io/en/services/command.html#long_running_commands). PX4 should stream progress as the protocol does not allow polling.
-:::
-
-The feature is not yet supported by MAVSDK.
-
-## Background/Detail
-
-PX4 uses [PID controllers](../flight_stack/controller_diagrams.md) (rate, attitude, velocity, and position) to calculate the outputs required to move a vehicle from its current estimated state to match a desired setpoint. The controllers must be well tuned in order to get the best performance out of a vehicle. In particular, a poorly tuned rate controller results in less stable flight in all modes, and takes longer to recover from disturbances.
-
-Generally if you use a [frame configuration](../config/airframe.md) that is similar to your vehicle then the vehicle will be able to fly. However unless the configuration precisely matches your hardware you should tune the rate and attitude controllers. Tuning the velocity and position controllers is less important because they are less affected by vehicle dynamics, and the default tuning configuration for a similar airframe is often sufficient.
-
-Autotuning provides an automatic mechanism to tune the rate and attitude controllers. It can be used to tune fixed-wing and multicopter vehicles, and VTOL vehicles when flying as a multicopter or as a fixed-wing (transition between modes must be manually tuned). In theory it should work for other vehicle types that have a rate controller, but currently only the above types are supported.
-
-Automatic tuning works well for the multicopter and fixed-wing vehicle configurations supported by PX4, provided the frame is not too flexible (see [below for more information](#does-autotuning-work-for-all-supported-airframes)).
-
-The vehicle must be flying in an altitude-stabilized mode (such as [Altitude mode](../flight_modes_mc/altitude.md), [Hold mode](../flight_modes_mc/hold.md), or [Position mode](../flight_modes_mc/position.md)). The flight stack will apply a small disturbance to the vehicle in each axis and then attempt to calculate the new tuning parameters. For fixed-wing vehicles the new tuning is applied in-air by default, after which the vehicle tests the new settings and reverts the tuning if the controllers are not stable. For multicopter, the vehicle lands and applies the new tuning parameters after disarming; the pilot is expected to then take off carefully and test the tuning.
-
-The tuning process takes about 40 seconds ([between 19 and 68 seconds](#how-long-does-autotuning-take)). The default behaviour can be configured using [parameters](#optional-configuration).
-
-### FAQ
-
-#### What frames types are supported?
-
-Autotuning is enabled for multicopter, fixed-wing, and hybrid VTOL fixed-wing vehicles.
-
-While it is not yet enabled for other frame types, in theory it an be used with any frame that uses a rate controller.
-
-#### Does autotuning work for all supported airframes?
-
-The mathematical model used by autotuning to estimate the dynamics of the drone assumes this it is a linear system with no coupling between the axes (SISO), and with a limited complexity (2 poles and 2 zeros). If the real drone is too far from those conditions, the model will not be able to represent the real dynamics of the drone.
-
-In practise, autotuning generally works well for fixed-wing and multicopter, provided the frame is not too flexible.
-
-#### How long does autotuning take?
-
-Tuning takes 5s-20s per axis (aborted if tuning could not be established in 20s) + 2s pause between each axis + 4s of testing if the new gains are applied in air.
-
-A multicopter must tune all three axes, and by default does not test the new gains in-air. Tuning will therefore take between 19s (`5 + 2 + 5 + 2 + 5`) and 64s (`20x3 + 2x2`).
-
-By default a fixed-wing vehicle tunes all three axes and then tests the new gains in-air. The range is therefore between 25s (`5 + 2 + 5 + 2 + 5 + 2 + 4`) and 70s (`20x3 + 3x2 + 4`).
-
-Note however that the above settings are defaults. A multicopter can choose to run the tests in air, and a fixed-wing can choose not to. Further, a fixed-wing can choose to tune fewer axes.
-
-Anecdotally, it usually takes around 40s for either vehicle.
-
-
-
-
-## See also
-
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter_basic.md) (Manual/Simple)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md) (Advanced/Detailed)
-- [Fixed-Wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
diff --git a/zh/config/autotune_fw.md b/zh/config/autotune_fw.md
new file mode 100644
index 000000000000..4501eb89f8ec
--- /dev/null
+++ b/zh/config/autotune_fw.md
@@ -0,0 +1,7 @@
+---
+title: Fixed-wing Auto-Tuning
+frame: Plane
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/zh/config/autotune_mc.md b/zh/config/autotune_mc.md
new file mode 100644
index 000000000000..196209a83e0d
--- /dev/null
+++ b/zh/config/autotune_mc.md
@@ -0,0 +1,7 @@
+---
+title: Multicopter Auto-Tuning
+frame: Multicopter
+newEditLink: en/config/_autotune.md
+---
+
+
diff --git a/zh/config/autotune_vtol.md b/zh/config/autotune_vtol.md
new file mode 100644
index 000000000000..37dcc9748396
--- /dev/null
+++ b/zh/config/autotune_vtol.md
@@ -0,0 +1,10 @@
+# Autotuning (VTOL)
+
+Auto-tuning automates the process of tuning the PX4 rate and attitude PID controllers, which are the most important controllers for stable and responsive flight (other tuning is more "optional").
+
+Tuning only needs to be done once, and is recommended unless you're using a vehicle that has already been tuned by the manufacturer (and not modified since).
+
+Hybrid VTOL fixed-wing vehicles ("VTOL") must be tuned following the multicopter instructions in MC mode and then the fixed-wing instructions in FW mode:
+
+- [Auto-tune (Multicopter)](../config/autotune_mc.md)
+- [Auto-tune (Fixed-wing)](../config/autotune_mc.md)
diff --git a/zh/config/battery.md b/zh/config/battery.md
index b4bc3ad63752..ce33f125356e 100644
--- a/zh/config/battery.md
+++ b/zh/config/battery.md
@@ -136,7 +136,7 @@ The easiest way to calibrate the divider is by using _QGroundControl_ and follow
This setting is not needed if you are using the basic configuration (without load compensation etc.)
:::
-If you are using [Current-based Load Compensation](#current_based_load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
+If you are using [Load Compensation](#load_compensation) or [Current Integration](#current_integration) the amps per volt divider must be calibrated.
The easiest way to calibrate the dividers is by using _QGroundControl_ and following the step-by-step guide on [Setup > Power Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/power.html) (QGroundControl User Guide).
@@ -147,71 +147,34 @@ The easiest way to calibrate the dividers is by using _QGroundControl_ and follo
## 基于电压估计的负载补偿
-::: info
-With well configured load compensation the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-:::
-
-Load compensation attempts to counteract the fluctuation in measured voltage/estimated capacity under load that occur when using the [basic configuration](#basic_settings). This works by estimating what the voltage would be for the _unloaded_ battery, and using that voltage (instead of the measured voltage) for estimating the remaining capacity.
-
-::: info To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use).
-:::
-
-PX4 supports two load compensation methods, which are enabled by [setting](../advanced_config/parameters.md) either of the two parameters below:
+With well configured load compensation, the voltage used for battery capacity estimation is much more stable, varying far less when flying up and down.
-- [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) - [Current-based Load Compensation](#current_based_load_compensation) (recommended).
-- [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) - [Thrust-based Load Compensation](#thrust_based_load_compensation).
+PX4 implements a current-based load compensation that uses a real-time estimate of the internal resistance of the battery. When a current flows through a battery, the internal resistance causes a voltage drop, reducing the output voltage (measured voltage) of the battery compared to its open-circuit voltage (no-load voltage). By estimating the internal resistance, the fluctuation in measured voltage under load that occurs when using the [basic configuration](#basic_settings) can be compensated. This leads to a much more accurate estimation of the remaining capacity.
-
+To use the load compensation you will still need to set the [basic configuration](#basic_settings). The _Empty Voltage_ ([BATn_V_EMPTY](../advanced_config/parameter_reference.md#BAT1_V_EMPTY), where `n` is the battery number) should be set higher (than without compensation) because the compensated voltage gets used for the estimation (typically set a bit below the expected rest cell voltage when empty after use). You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-### 基于电流的负载补偿(推荐)
+::: info Alternatively, the value for the internal resistance can be [set manually](../advanced_config/parameters.md) using [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) (advanced). A positive value in this parameter will be used for the internal resistance instead of the estimated value. There are LiPo chargers that can measure the internal resistance of your battery. A typical value for LiPo batteries is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
-This load compensation method relies on current measurement to determine load. It is far more accurate than [Thrust-based Load Compensation](#thrust_based_load_compensation) but requires that you have a current sensor.
-
-To enable this feature:
-
-1. Set the parameter [BAT1_R_INTERNAL](../advanced_config/parameter_reference.md#BAT1_R_INTERNAL) to the internal resistance of battery 1 (and repeat for other batteries).
-
- :::tip
-There are LiPo chargers out there which can measure the internal resistance of your battery.
-A typical value is 5mΩ per cell but this can vary with discharge current rating, age and health of the cells.
+By default `BAT1_R_INTERNAL` is set to `-1` which enables the estimation algorithm. Setting it to `0` disables load compensation.
:::
-1. You should also calibrate the [Amps per volt divider](#current_divider) in the basic settings screen.
-
-
-
-### Thrust-based Load Compensation
-
-This load compensation method estimates the load based on the total thrust that gets commanded to the motors.
-
-:::warning
-This method is not particularly accurate because there's a delay between thrust command and current, and because the thrust in not linearly proportional to the current. Use [Current-based Load Compensation](#current_based_load_compensation) instead if your vehicle has a current sensor.
-:::
-
-To enable this feature:
-
-1. Set the parameter [BAT1_V_LOAD_DROP](../advanced_config/parameter_reference.md#BAT1_V_LOAD_DROP) to how much voltage drop a cell shows under the load of full throttle.
-
## Voltage-based Estimation Fused with Current Integration
-::: info
-This is the most accurate way to measure relative battery consumption.
-If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-:::
+This method is the most accurate way to measure relative battery consumption. If set up correctly with a healthy and fresh charged battery on every boot, then the estimation quality will be comparable to that from a smart battery (and theoretically allow for accurate remaining flight time estimation).
-This method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
+The method evaluates the remaining battery capacity by _fusing_ the voltage-based estimate for the available capacity with a current-based estimate of the charge that has been consumed. It requires hardware that can accurately measure current.
To enable this feature:
-1. 首先使用 [当前负载补偿](#current_based_load_compensation) 精确校准电压估计。
+1. First set up accurate voltage estimation using [load compensation](#load_compensation).
:::tip
Including calibrating the [Amps per volt divider](#current_divider) setting.
:::
-1. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
+2. Set the parameter [BAT1_CAPACITY](../advanced_config/parameter_reference.md#BAT1_CAPACITY) to around 90% of the advertised battery capacity (usually printed on the battery label).
::: info
Do not set this value too high as this may result in a poor estimation or sudden drops in estimated capacity.
diff --git a/zh/config/flight_mode.md b/zh/config/flight_mode.md
index c3242f464a17..c3e19f2959b0 100644
--- a/zh/config/flight_mode.md
+++ b/zh/config/flight_mode.md
@@ -82,7 +82,7 @@ Most transmitters do not have 6-way switches, so if you need to be able to suppo
On the FrSky Taranis this process involves assigning a "logical switch" to each combination of positions of the two real switches. Each logical switch is then assigned to a different PWM value on the same channel.
-The video below shows how this is done with the *FrSky Taranis* transmitter.@[youtube](https://youtu.be/TFEjEQZqdVA)
+The video below shows how this is done with the *FrSky Taranis* transmitter.
The *QGroundControl* configuration is then [as described above](#flight-mode-selection).
diff --git a/zh/config/index.md b/zh/config/index.md
index 99824d44001b..f41850a2d735 100644
--- a/zh/config/index.md
+++ b/zh/config/index.md
@@ -52,13 +52,17 @@ Joystick/GamePad:
### Tuning
-- [Autotune](../config/autotune.md) (Recommended on vehicles and frames that support it)
+Auto-tuning is supported, and recommended, on the following frames:
+
+- [Autotune (Multicopter)](../config/autotune_mc.md)
+- [Autotune (Fixed Wing)](../config/autotune_fw.md)
+- [Autotune (VTOL)](../config/autotune_vtol.md)
## 视频教程
The video below shows most of the calibration process (it uses an older version of _QGroundControl_, but most of the process is unchanged).
-@[youtube](https://youtu.be/91VGmdSlbo4)
+
## Support
diff --git a/zh/config/safety.md b/zh/config/safety.md
index 324853685992..c3f1c99a7a88 100644
--- a/zh/config/safety.md
+++ b/zh/config/safety.md
@@ -2,9 +2,15 @@
PX4有许多安全功能,可以在发生故障时保护并恢复您的机体:
-- _故障保护_允许您指定可以安全飞行的区域和条件,以及在触发故障保护时将执行的[操作](#failsafe-actions)(例如着陆、定点悬停或返回指定点)。 最重要的故障保护设置在 _QGroundControl_ 的[安全设置](#qgroundcontrol-safety-setup)页面中配置。 其他设置必须通过[参数](#other-safety-settings)页面配置。
+- _故障保护_允许您指定可以安全飞行的区域和条件,以及在触发故障保护时将执行的[操作](#failsafe-actions)(例如着陆、定点悬停或返回指定点)。 最重要的故障保护设置在 _QGroundControl_ 的[安全设置](#qgroundcontrol-safety-setup)页面中配置。 Others must be configured via [parameters](../advanced_config/parameters.md).
- [安全开关](#emergency-switches) 在遥控器上可以用于立即停止发动机或在出现问题时返回车辆。
+## QGroundControl 安全设置
+
+The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes many of the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
+![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+
## 故障保护动作
当触发故障保护时, 默认行为 (针对大多数故障保护情况) 是在执行相关故障保护动作之前保持 [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) 秒钟。 这使用户有时间注意到正在发生的情况,并在需要时取消故障保护。 在大多数情况下,可以通过使用 RC或 GCS 切换模式来做到这一点(注意在故障保护保持期间, 移动 RC操纵杆不会触发取消操作)。
@@ -27,32 +33,67 @@ PX4有许多安全功能,可以在发生故障时保护并恢复您的机体
当不同的故障保护被触发时精确的动作行为,可以通过[故障保护状态机仿真](safety_simulation.md)测试。
:::
-## QGroundControl 安全设置
+### 返航设置
-The _QGroundControl_ Safety Setup page is accessed by clicking the _QGroundControl_ icon, **Vehicle Setup**, and then **Safety** in the sidebar. This includes the most important failsafe settings (battery, RC loss etc.) and the settings for the triggered actions _Return_ and _Land_.
+
-![Safety Setup(QGC)](../../assets/qgc/setup/safety/safety_setup.png)
+_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. The default settings for each vehicle are usually suitable, though for fixed wing vehicles you will usually need to define a mission landing.
-### 低电量故障保护
+::: tip
+If you want to change the configuration you should carefully read the [Return mode](../flight_modes/return.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the return mode and landing behaviour, such as the altitude to fly back, and the loiter time if you need to deploy landing gear.
+
+![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-The low battery failsafe is triggered when the battery capacity drops below one (or more warning) level values.
+### 降落模式设置
+
+_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). The default settings for each vehicle are usually suitable.
+
+::: tip
+If you want to change the configuration you should carefully read the [Land mode](../flight_modes_fw/land.md) documentation _for your vehicle type_ to understand the options.
+:::
+
+QGC allows users to set some aspects of the landing behaviour, such as the time to disarm after landing and the descent rate (for multicopters only).
+
+![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
+
+## Battery Failsafes
+
+### Battery level failsafe
+
+The low battery failsafe is triggered when the battery capacity drops below battery failafe level values. You can configure both the levels and the failsafe actions at each level in QGroundControl.
![Safety - Battery (QGC)](../../assets/qgc/setup/safety/safety_battery.png)
-The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`). With this configuration the failsafe will trigger warning, then return, and finally landing if capacity drops below the respective levels.
+The most common configuration is to set the values and action as above (with `Warn > Failsafe > Emergency`), and to set the [Failsafe Action](#COM_LOW_BAT_ACT) to warn at "warn level", trigger Return mode at "Failsafe level", and land immediately at "Emergency level".
+
+The settings and underlying parameters are shown below.
+
+| 设置 | 参数 | 描述 |
+| --------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
+| 故障保护动作 | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | Warn, Return, or Land based when capacity drops below the trigger levels. |
+| 电池警告水平 | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | 需做出警告(或其他动作)的电量百分比。 |
+| 电池故障保护水平 | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | 电量低于该百分比则返航(或者执行其他事前选择动作)。 |
+| 电量紧急水平 | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | 电量低于该百分比则(立即)触发降落动作。 |
+
+### Flight Time Failsafes
-It is also possible to set the _Failsafe Action_ to warn, return, or land when the [Battery Failsafe Level](#BAT_CRIT_THR) failsafe level is reached.
+There are several other "battery related" failsafe mechanisms that may be configured using parameters:
+
+- The "remaining flight time for safe return" failsafe ([COM_FLTT_LOW_ACT](#COM_FLTT_LOW_ACT)) is engaged when PX4 estimates that the vehicle has just enough battery remaining for a return mode landing. You can configure this to ignore the failsafe, warn, or engage Return mode.
+- The "maximum flight time failsafe" ([COM_FLT_TIME_MAX](#COM_FLT_TIME_MAX)) allows you to set a maximum flight time after takeoff, at which the vehicle will automatically enter return mode (it will also "warn" at 90% of this time). This is like a "hard coded" estimate of the total flight time in a battery. The feature is disabled by default.
+- The "minimum battery" for arming parameter ([COM_ARM_BAT_MIN](#COM_ARM_BAT_MIN)) prevents arming in the first place if the battery level is below the specified value.
The settings and underlying parameters are shown below.
-| 设置 | 参数 | 描述 |
-| --------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------ |
-| 故障保护动作 | [COM_LOW_BAT_ACT](../advanced_config/parameter_reference.md#COM_LOW_BAT_ACT) | 当电池电量过低时,根据下面的每个水平值执行警告、返航、降落三者之一,或分别设置警告、返航或降落。 |
-| 电池警告水平 | [BAT_LOW_THR](../advanced_config/parameter_reference.md#BAT_LOW_THR) | 需做出警告(或其他动作)的电量百分比。 |
-| 电池故障保护水平 | [BAT_CRIT_THR](../advanced_config/parameter_reference.md#BAT_CRIT_THR) | 电量低于该百分比则返航(或者执行其他事前选择动作)。 |
-| 电量紧急水平 | [BAT_EMERGEN_THR](../advanced_config/parameter_reference.md#BAT_EMERGEN_THR) | 电量低于该百分比则(立即)触发降落动作。 |
+| 设置 | 参数 | 描述 |
+| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| Low flight time for safe return action | [COM_FLTT_LOW_ACT](../advanced_config/parameter_reference.md#COM_FLTT_LOW_ACT) | Action when return mode can only just reach safety with remaining battery. `0`: None, `1`: Warning, `3`: Return mode (default). |
+| Maximum flight time failsafe level | [COM_FLT_TIME_MAX](../advanced_config/parameter_reference.md#COM_FLT_TIME_MAX) | Maximum allowed flight time before Return mode will be engaged, in seconds. `-1`: Disabled (default). |
-### Manual Control Loss failsafe
+## Manual Control Loss Failsafe
The manual control loss failsafe may be triggered if the connection to the [RC transmitter](../getting_started/rc_transmitter_receiver.md) or [joystick](../config/joystick.md) is lost, and there is no fallback. If using an [RC transmitter](../getting_started/rc_transmitter_receiver.md) this is triggered if the RC [transmitter link is lost](../getting_started/rc_transmitter_receiver.md#set-signal-loss-behaviour). If using [joysticks](../config/joystick.md) connected over a MAVLink data link, this is triggered if the joysticks are disconnected or the data link is lost.
@@ -67,12 +108,12 @@ Additional (and underlying) parameter settings are shown below.
| 参数 | 设置 | 描述 |
| ------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
-| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
+| [COM_RC_LOSS_T](../advanced_config/parameter_reference.md#COM_RC_LOSS_T) | Manual Control Loss Timeout | Time after last setpoint received from the selected manual control source after which manual control is considered lost. This must be kept short because the vehicle will continue to fly using the old manual control setpoint until the timeout triggers. |
+| [COM_FAIL_ACT_T](../advanced_config/parameter_reference.md#COM_FAIL_ACT_T) | Failsafe Reaction Delay | Delay in seconds between failsafe condition being triggered (`COM_RC_LOSS_T`) and failsafe action (RTL, Land, Hold). In this state the vehicle waits in hold mode for the manual control source to reconnect. This might be set longer for long-range flights so that intermittent connection loss doesn't immediately invoke the failsafe. It can be to zero so that the failsafe triggers immediately. |
| [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) | 故障保护动作 | Disabled, Loiter, Return, Land, Disarm, Terminate. |
| [COM_RCL_EXCEPT](../advanced_config/parameter_reference.md#COM_RCL_EXCEPT) | RC Loss Exceptions | Set the modes in which manual control loss is ignored: Mission, Hold, Offboard. |
-### 数据链路丢失故障保护
+## 数据链路丢失故障保护
The Data Link Loss failsafe is triggered if a telemetry link (connection to ground station) is lost.
@@ -85,7 +126,7 @@ The settings and underlying parameters are shown below.
| 数据链路丢失超时 | [COM_DL_LOSS_T](../advanced_config/parameter_reference.md#COM_DL_LOSS_T) | 数据连接断开后到故障保护触发之前的时间。 |
| 故障保护动作 | [NAV_DLL_ACT](../advanced_config/parameter_reference.md#NAV_DLL_ACT) | Disabled, Hold mode, Return mode, Land mode, Disarm, Terminate. |
-### 地理围栏故障保护
+## 地理围栏故障保护
The _Geofence Failsafe_ is triggered when the drone breaches a "virtual" perimeter. In its simplest form, the perimeter is set up as a cylinder centered around the home position. If the vehicle moves outside the radius or above the altitude the specified _Failsafe Action_ will trigger.
@@ -113,46 +154,9 @@ The following settings also apply, but are not displayed in the QGC UI.
| Preemptive geofence triggering | [GF_PREDICT](../advanced_config/parameter_reference.md#GF_PREDICT) | (Experimental) Trigger geofence if current motion of the vehicle is predicted to trigger the breach (rather than late triggering after the breach). |
| 飞行终止断路器 | [CBRK_FLIGHTTERM](../advanced_config/parameter_reference.md#CBRK_FLIGHTTERM) | 启用/禁用飞行终止操作(默认禁用)。 |
-### 返航设置
-
-
-
-_Return_ is a common [failsafe action](#failsafe-actions) that engages [Return mode](../flight_modes/return.md) to return the vehicle to the home position. This section shows how to set the land/loiter behaviour after returning.
-
-![Safety - Return Home Settings (QGC)](../../assets/qgc/setup/safety/safety_return_home.png)
-
-The settings and underlying parameters are shown below:
-
-| 设置 | 参数 | 描述 |
-| ------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| 爬升高度 | [RTL_RETURN_ALT](../advanced_config/parameter_reference.md#RTL_RETURN_ALT) | 返航飞行时,机体上升到该最低高度(如果低于)。 |
-| 返航行为 | | Choice list of _Return then_: Land, Loiter and do not land, or Loiter and land after a specified time. |
-| 悬停高度 | [RTL_DESCEND_ALT](../advanced_config/parameter_reference.md#RTL_DESCEND_ALT) | 如果选择了返航并悬停,您还可以指定机体保持的高度。 |
-| 悬停时间 | [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY) | 如果选择返航并悬停随后降落,您还可以指定机体将保持悬停多长时间。 |
-
-::: info The return behaviour is defined by [RTL_LAND_DELAY](../advanced_config/parameter_reference.md#RTL_LAND_DELAY). If negative the vehicle will land immediately. Additional information can be found in [Return mode](../flight_modes/return.md).
-:::
+## Position (GNSS) Loss Failsafe
-### 降落模式设置
-
-_Land at the current position_ is a common [failsafe action](#failsafe-actions) (in particular for multicopters), that engages [Land Mode](../flight_modes_mc/land.md). This section shows how to control when and if the vehicle automatically disarms after landing. For Multicopters (only) you can additionally set the descent rate.
-
-![Safety - Land Mode Settings (QGC)](../../assets/qgc/setup/safety/safety_land_mode.png)
-
-The settings and underlying parameters are shown below:
-
-| 设置 | 参数 | 描述 |
-| ------------------------------ | ------------------------------------------------------------------------------ | ---------------------------------------- |
-| 几秒后锁定 | [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | 选中复选框以指定机体在降落后上锁。 该值必须是非零的,但可以是小于一秒的小数。 |
-| Landing Descent Rate (MC only) | [MPC_LAND_SPEED](../advanced_config/parameter_reference.md#MPC_LAND_SPEED) | Rate of descent. |
-
-## 其他故障保护设置
-
-This section contains information about failsafe settings that cannot be configured through the _QGroundControl_ [Safety Setup](#qgroundcontrol-safety-setup) page.
-
-### 位置(GPS)丢失故障保护
-
-The _Position Loss Failsafe_ is triggered if the quality of the PX4 position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
+The _Position Loss Failsafe_ is triggered if the quality of the PX4 global position estimate falls below acceptable levels (this might be caused by GPS loss) while in a mode that requires an acceptable position estimate.
The failure action is controlled by [COM_POSCTL_NAVL](../advanced_config/parameter_reference.md#COM_POSCTL_NAVL), based on whether RC control is assumed to be available (and altitude information):
@@ -175,9 +179,9 @@ Parameters that only affect Fixed-wing vehicles:
| [FW_GPSF_LT](../advanced_config/parameter_reference.md#FW_GPSF_LT) | Loiter time (waiting for GPS recovery before it goes into land or flight termination). 设置为 0 以禁用。 |
| [FW_GPSF_R](../advanced_config/parameter_reference.md#FW_GPSF_R) | 以一定的横滚/侧倾角盘旋。 |
-### Offboard 中断故障保护
+## Offboard 中断故障保护
-The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under Offboard control. Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
+The _Offboard Loss Failsafe_ is triggered if the offboard link is lost while under [Offboard control](../flight_modes/offboard.md). Different failsafe behaviour can be specified based on whether or not there is also an RC connection available.
The relevant parameters are shown below:
@@ -186,13 +190,7 @@ The relevant parameters are shown below:
| [COM_OF_LOSS_T](../advanced_config/parameter_reference.md#COM_OF_LOSS_T) | Offboard 连接中断后到触发故障保护前的延迟。 |
| [COM_OBL_RC_ACT](../advanced_config/parameter_reference.md#COM_OBL_RC_ACT) | 如果遥控可用,则故障保护动作:定点模式、定高模式、手动模式、返航模式、降落模式、保持模式。 |
-### Mission Feasibility Checks
-
-A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
-
-As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
-
-### 交通规避故障保护
+## 交通规避故障保护
The Traffic Avoidance Failsafe allows PX4 to respond to transponder data (e.g. from [ADSB transponders](../advanced_features/traffic_avoidance_adsb.md)) during missions.
@@ -202,7 +200,7 @@ The relevant parameters are shown below:
| ------------------------------------------------------------------------------ | ------------------------- |
| [NAV_TRAFF_AVOID](../advanced_config/parameter_reference.md#NAV_TRAFF_AVOID) | 设置故障保护动作:禁用、警告、返航模式、降落模式。 |
-### Quad-chute Failsafe
+## Quad-chute Failsafe
Failsafe for when a VTOL vehicle can no longer fly in fixed-wing mode, perhaps due to the failure of a pusher motor, airspeed sensor, or control surface. If the failsafe is triggered, the vehicle will immediately switch to multicopter mode and execute the action defined in parameter [COM_QC_ACT](#COM_QC_ACT).
@@ -221,6 +219,16 @@ The parameters that control when the quad-chute will trigger are listed in the t
| [VT_FW_QC_R](../advanced_config/parameter_reference.md#VT_FW_QC_R) | Absolute roll threshold for quad-chute triggering in FW mode. |
| [VT_FW_QC_P](../advanced_config/parameter_reference.md#VT_FW_QC_P) | Absolute pitch threshold for quad-chute triggering in FW mode. |
+## High Wind Failsafe
+
+The high wind failsafe can trigger a warning and/or other mode change when the wind speed exceeds the warning and maximum wind-speed threshhold values. The relevant parameters are listed in the table below.
+
+| 参数 | 描述 |
+| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [COM_WIND_MAX](../advanced_config/parameter_reference.md#COM_WIND_MAX) | Wind speed threshold that triggers failsafe action, in m/s ([COM_WIND_MAX_ACT](#COM_WIND_MAX_ACT)). |
+| [COM_WIND_MAX_ACT](../advanced_config/parameter_reference.md#COM_WIND_MAX_ACT) | High wind failsafe action (following [COM_WIND_MAX](#COM_WIND_MAX) trigger). Can be set to: `0`: None (Default), `1`: [Warning](#act_warn), `2`: [Hold](#act_hold), `3`: [Return](#act_return), `4`: [Terminate](#act_term), `5`: [Land](#act_land). |
+| [COM_WIND_WARN](../advanced_config/parameter_reference.md#COM_WIND_WARN) | Wind speed threshold that triggers periodic failsafe warning. |
+
## 故障检测器
The failure detector allows a vehicle to take protective action(s) if it unexpectedly flips, or if it is notified by an external failure detection system.
@@ -260,6 +268,12 @@ The [failure detector](#failure-detector), if [enabled](#CBRK_FLIGHTTERM), can a
| [FD_EXT_ATS_EN](../advanced_config/parameter_reference.md#FD_EXT_ATS_EN) | 启用 AUX5 或 MAIN5(取决于飞控板)上的 PWM 输入,以便从外部自动触发系统(ATS)启用故障保护。 默认值:禁用。 |
| [FD_EXT_ATS_TRIG](../advanced_config/parameter_reference.md#FD_EXT_ATS_TRIG) | 来自外部自动触发系统的用于接通故障保护的 PWM 阈值。 默认值:1900m/s。 |
+## Mission Feasibility Checks
+
+A number of checks are run to ensure that a mission can only be started if it is _feasible_. For example, the checks ensures that the first waypoint isn't too far away, and that the mission flight path doesn't conflict with any geofences.
+
+As these are not strictly speaking "failsafes" they are documented in [Mission Mode (FW) > Mission Feasibility Checks](../flight_modes_fw/mission.md#mission-feasibility-checks) and [Mission Mode (MC) > Mission Feasibility Checks](../flight_modes_mc/mission.md#mission-feasibility-checks).
+
## 应急开关
Remote control switches can be configured (as part of _QGroundControl_ [Flight Mode Setup](../config/flight_mode.md)) to allow you to take rapid corrective action in the event of a problem or emergency; for example, to stop all motors, or activate [Return mode](#return-switch).
@@ -298,9 +312,11 @@ The arm/disarm switch immediately disarms (stop) motors for those [flight modes]
A return switch can be used to immediately engage [Return mode](../flight_modes/return.md).
-## 其他安全设置
+## Arming/Disarming Settings
+
+The [commander module](../advanced_config/parameter_reference.md#commander) has a number of parameters prefixed with `COM_ARM` that configure whether the vehicle can arm at all, and under what conditions (note that some parameters named with the prefix `COM_ARM` are used to arm other systems). Parameters prefixed with `COM_DISARM_` affect disarming behaviour.
-### 超时自动上锁
+### Auto-Disarming Timeouts
You can set timeouts to automatically disarm a vehicle if it is too slow to takeoff, and/or after landing (disarming the vehicle removes power to the motors, so the propellers won't spin).
@@ -311,6 +327,22 @@ The [relevant parameters](../advanced_config/parameters.md) are shown below:
| [COM_DISARM_LAND](../advanced_config/parameter_reference.md#COM_DISARM_LAND) | 降落后自动上锁的超时时间。 |
| [COM_DISARM_PRFLT](../advanced_config/parameter_reference.md#COM_DISARM_PRFLT) | 如果起飞速度太慢,将启动自动上锁。 |
+### Arming Pre-Conditions
+
+These parameters can be used to set conditions that prevent arming.
+
+| Parameter | Description |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [COM_ARMABLE](../advanced_config/parameter_reference.md#COM_ARMABLE) | Enable arming (at all). `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_BAT_MIN](../advanced_config/parameter_reference.md#COM_ARM_BAT_MIN) | Minimum battery level for arming. `0`: Disabled (default). Values: `0`-`0.9`, |
+| [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) | Enable arming without GPS. `0`: Disabled, `1`: Enabled (default). |
+| [COM_ARM_MIS_REQ](../advanced_config/parameter_reference.md#COM_ARM_MIS_REQ) | Require valid mission to arm. `0`: Disabled (default), `1`: Enabled . |
+| [COM_ARM_SDCARD](../advanced_config/parameter_reference.md#COM_ARM_SDCARD) | Require SD card to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+| [COM_ARM_AUTH_REQ](../advanced_config/parameter_reference.md#COM_ARM_AUTH_REQ) | Requires arm authorisation from an external (MAVLink) system. Flag to allow arming (at all). `1`: Enabled, `0`: Disabled (default). Associated configuration parameters are prefixed with `COM_ARM_AUTH_`. |
+| [COM_ARM_ODID](../advanced_config/parameter_reference.md#COM_ARM_ODID) | Require healthy Remote ID system to arm. `0`: Disabled (default), `1`: Warning, `2`: Enabled. |
+
+In addition there are a number of parameters that configure system and sensor limits that make prevent arming if exceeded: [COM_CPU_MAX](../advanced_config/parameter_reference.md#COM_CPU_MAX), [COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC), [COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR), [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG), [COM_ARM_MAG_STR](../advanced_config/parameter_reference.md#COM_ARM_MAG_STR).
+
## 更多信息
- [QGroundControl User Guide > Safety Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/safety.html)
diff --git a/zh/config_fw/index.md b/zh/config_fw/index.md
index 374468bfd245..dfb311ef9e82 100644
--- a/zh/config_fw/index.md
+++ b/zh/config_fw/index.md
@@ -9,7 +9,7 @@ This topic is the recommended entry point when performing first-time configurati
The main steps are:
- [Standard Configuration](../config/index.md)
-- [Autotune](../config/autotune.md) - PID Tuning
+- [Autotune](../config/autotune_fw.md) - PID Tuning
::: info Autotune simplifies the manual process described in: [Fixed-wing Rate/Attitude Controller Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md).
:::
diff --git a/zh/config_fw/pid_tuning_guide_fixedwing.md b/zh/config_fw/pid_tuning_guide_fixedwing.md
index 2fe7db84912f..78eb422f0d28 100644
--- a/zh/config_fw/pid_tuning_guide_fixedwing.md
+++ b/zh/config_fw/pid_tuning_guide_fixedwing.md
@@ -2,8 +2,7 @@
This guide explains how to manually tune the fixed-wing PID loop. 它是为高级用户/专家设计的,因为错误的 PID 调节可能会使您的飞机坠毁。
-:::note
-[Autotune](../config/autotune.md) 是推荐给大多数用户的, 因为它更快, 更容易, 并且为大多数机型提供了很好的调校。 建议对自动调整不起作用或必须进行更加的调校的机型进行手工调整。
+::: info [Autotune](../config/autotune_fw.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. 建议对自动调整不起作用或必须进行更加的调校的机型进行手工调整。
:::
## 前置条件
diff --git a/zh/config_mc/index.md b/zh/config_mc/index.md
index 6fdd20b9c29e..1df14217e06d 100644
--- a/zh/config_mc/index.md
+++ b/zh/config_mc/index.md
@@ -1,22 +1,22 @@
# 多旋翼配置
-Multicopter configuration and calibration follows the same high level steps as other frames: selection of firmware, configuration of the frame including actuator/motor geometry and output mappings, sensor configuration and calibration, configuration of safety and other features, and finally tuning.
+多旋翼的配置和校准遵循与其他框架相同的高级步骤:选择固件,配置框架,包括执行器/电机几何和输出映射,传感器配置和校准,安全和其他功能的配置,最后进行调整。
-This topic explains how to configure a multicopter using selected topics from [Standard Configuration](../config/index.md), [Advanced Configuration](../advanced_config/index.md), and [Flight Controller Peripherals](../peripherals/index.md), along with multicopter-specific tuning topics.
+本章节介绍了如何使用[标准配置](../config/index.md)、[高级配置](../advanced_config/index.md)和[飞行控制器外设](../peripherals/index.md)以及多旋翼特定的调参章节。
::: info
-This topic is the recommended entry point when performing first-time configuration and calibration of a new multicopter frame.
+本节是首次配置和校准新的多旋翼机架时的推荐入口点。
:::
-## Loading Firmware
+## 加载固件
-The first step is to [load PX4 firmware](../config/firmware.md) onto your [flight controller](../flight_controller/index.md). This is most easily done using QGroundControl, which will automatically select appropriate firmware for your particular controller hardware. By default QGC will install the latest stable version of PX4, but you can choose beta or custom versions instead if needed.
+第一步是 [加载 PX4 固件](../config/firmware.md) 到您的[飞控](../flight_controller/index.md)上。 这一步最容易通过使用 QGroundControl 完成,它会自动选择适合您特定控制器硬件的固件。 默认情况下,QGC 会安装最新的稳定版本的 PX4,但如果需要,您可以选择测试版或自定义版本。
-Relevant topics:
+相关章节:
-- [Loading Firmware](../config/firmware.md)
+- [加载固件](../config/firmware.md)
-## Frame Selection and Configuration
+## 机架选择和配置
This section explains how to configure the vehicle type (multicopter), specific motor/flight control geometry, and motor outputs.
@@ -48,7 +48,7 @@ Relevant topics:
- [Actuator Configuration and Testing](../config/actuators.md) — Vehicle geometry, output mapping, motor configuration, testing.
- [ESC Calibration](../advanced_config/esc_calibration.md) — Do between output mapping and motor configuration (topic above) for PWM and OneShot ESC.
-## Sensor Setup and Calibration
+## 传感器设置和校准
PX4 most commonly relies on a magnetometer (compass) for direction information, a barometer for altitude, a gyroscope for body rates, an accelerometer for attitude and a GPS/GNSS for global position. Pixhawk flight controllers (and many others) have inbuilt magnetometer, accelerometer, gyroscope, and barometer. The inbuilt compass usually isn't particularly reliable, and it is common to also add an external compass (usually combined with a GNSS receiver in the same device).
@@ -73,7 +73,7 @@ PX4 can use other peripherals, such as distance sensors, optical flow sensors, t
:::
-## Manual Control Setup
+## 手动控制设置
Pilots can control a vehicle manually using either a Radio Control (RC) System or a Joystick/Gamepad controller connected via QGroundControl.
@@ -90,28 +90,31 @@ Joystick/GamePad:
- [Joystick Setup](../config/joystick.md) (includes button/flight mode mapping)
-## Safety Configuration
+## 安全配置
PX4 can be configured to automatically handle conditions such as low battery, losing radio or data links, flying too far from the home location, and so on:
- [Battery Estimation Tuning](../config/battery.md) — estimate remaining power (needed for low power failsafe).
- [Safety Configuration (Failsafes)](../config/safety.md)
-## Tuning
+## 调参
Tuning is the final step, carried out only after most other setup and configuration is complete.
- Rate and attitude controllers:
-- [Autotune](../config/autotune.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+- [Autotune](../config/autotune_mc.md) — Automates tuning PX4 rate and attitude controllers (recommended).
+
+ ::: info Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes. It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
+
+ Manual tuning using these guides are only needed if there is a problem with autotune:
+
+ - [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
+ - [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- ::: info
-Automatic tuning works on frames that have reasonable authority and dynamics around all the body axes.
-It has primarily been tested on racing quads and X500, and is expected to be less effective on tricopters with a tiltable rotor.
-The other two guides are only needed if there is a problem with autotune.
:::
-- [MC PID Tuning (Manual/Basic)](../config_mc/pid_tuning_guide_multicopter_basic.md) — Manual tuning basic how to.
-- [MC PID Tuning Guide (Manual/Detailed)](../config_mc/pid_tuning_guide_multicopter.md) — Manual tuning with detailed explanation.
+
- [MC Filter/Control Latency Tuning](../config_mc/filter_tuning.md) — Trade off control latency and noise filtering.
- [MC Setpoint Tuning (Trajectory Generator)](../config_mc/mc_trajectory_tuning.md)
- [MC Jerk-limited Type Trajectory](../config_mc/mc_jerk_limited_type_trajectory.md)
@@ -137,9 +140,9 @@ My assumption is that the mixing system can cope with whatever geometry you thro
Yes but it must be physically feasible. E.g. if you make a quadrotor where all motors turn the same way it will "deal" with it but that cannot work without very specific controllers. Same for a monocopter or a tricopter without swiveling one motor.
-->
-## See Also
+## 另见
-- [QGroundControl > Setup](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/setup_view.html)
+- [QGroundControl > 设置](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/setup_view/setup_view.html)
- [Flight Controller Peripherals](../peripherals/index.md) - Setup specific sensors, optional sensors, actuators, and so on.
- [Advanced Configuration](../advanced_config/index.md) - Factory/OEM calibration, configuring advanced features, less-common configuration.
- Vehicle-Centric Config/Tuning:
diff --git a/zh/config_mc/pid_tuning_guide_multicopter.md b/zh/config_mc/pid_tuning_guide_multicopter.md
index d56cfd77403e..74b14cef6e4f 100644
--- a/zh/config_mc/pid_tuning_guide_multicopter.md
+++ b/zh/config_mc/pid_tuning_guide_multicopter.md
@@ -3,7 +3,7 @@
本主题提供有关 PX4 控制器以及如何调参的详细信息。
:::tip
-推荐用[自动调参](../config/autotune.md) ,用于 _在悬停油门附近_, 因为这个方法简单直观且快速. 这就是许多机体所需要的全部。
+[Autotune](../config/autotune_mc.md) is recommended for tuning the vehicles _around the hover thrust point_, as the approach described is intuitive, easy, and fast. 这就是许多机体所需要的全部。
:::
当调整悬停推力点不足时使用自动调参(例如,在机体上,在更高推力时存在非线性和振荡)。 它还有助于更深入地了解基本调参原理的工作方式,并了解如何使用[airmode](#airmode-mixer-saturation)设置。
diff --git a/zh/config_mc/pid_tuning_guide_multicopter_basic.md b/zh/config_mc/pid_tuning_guide_multicopter_basic.md
index 873a40c1e79c..d4f5b5c0058f 100644
--- a/zh/config_mc/pid_tuning_guide_multicopter_basic.md
+++ b/zh/config_mc/pid_tuning_guide_multicopter_basic.md
@@ -3,7 +3,7 @@
This tutorial explains how to _manually_ tune the PID loops on PX4 for all [multicopter setups](../airframes/airframe_reference.md#copter) (Quads, Hexa, Octo etc).
:::tip
-[Autotune](../config/autotune.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
+[Autotune](../config/autotune_mc.md) is recommended for most users, as it is far faster, easier and provides good tuning for most frames. Manual tuning is recommended for frames where autotuning does not work, or where fine-tuning is essential.
:::
Generally if you're using an appropriate [supported frame configuration](../airframes/airframe_reference.md#copter), the default tuning should allow you to fly the vehicle safely. Tuning is recommended for all new vehicle setups to get the _very best_ performance, because relatively small hardware and assembly changes can affect the gains required tuning gains for optimal flight. For example, different ESCs or motors change the optimal tuning gains.
diff --git a/zh/contribute/docs.md b/zh/contribute/docs.md
index d439a8f5ca25..8cf9b613ee8f 100644
--- a/zh/contribute/docs.md
+++ b/zh/contribute/docs.md
@@ -207,6 +207,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
- Break lines on sentences by preference. Don't break lines based on some arbitrary line length.
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
+4. Videos:
+
+ - Youtube videos can be added using the format `` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
+ - Use instructional videos sparingly as they date badly, and are hard to maintain.
+ - Cool videos of airframes in flight are always welcome.
+
## 许可证
Add new files in folders that cover similar topics. Then reference them in the sidebar (`/en/SUMMARY.md`) in line with the existing structure!
diff --git a/zh/debug/gdb_hardfault.md b/zh/debug/gdb_hardfault.md
index 20142fd5e4f7..a5fd368a3e4e 100644
--- a/zh/debug/gdb_hardfault.md
+++ b/zh/debug/gdb_hardfault.md
@@ -6,7 +6,7 @@ A hard fault is a state when a CPU executes an invalid instruction or accesses a
The following video demonstrates hardfault debugging on PX4 using Eclipse and a JTAG debugger. It was presented at the PX4 Developer Conference 2019.
-@[youtube](https://youtu.be/KZkAM_PVOi0)
+
## Debugging Hard Faults in NuttX
diff --git a/zh/dev_airframes/adding_a_new_frame.md b/zh/dev_airframes/adding_a_new_frame.md
index 8c03ae6e0b76..d12ac4a224cc 100644
--- a/zh/dev_airframes/adding_a_new_frame.md
+++ b/zh/dev_airframes/adding_a_new_frame.md
@@ -299,10 +299,9 @@ If the airframe is for a **new group** you additionally need to:
The following topics explain how to tune the parameters that will be specified in the config file:
-- [Autotuning](../config/autotune.md)
-- [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md)
-- [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md)
-- [VTOL Configuration](../config_vtol/index.md)
+- [Autotuning (Multicopter)](../config/autotune_mc.md) (or [Multicopter PID Tuning Guide](../config_mc/pid_tuning_guide_multicopter.md))
+- [Autotuning (Fixed-wing)](../config/autotune_fw.md) (or [Fixed-wing PID Tuning Guide](../config_fw/pid_tuning_guide_fixedwing.md))
+- [Autotuning (VTOL)](../config/autotune_vtol.md) ([VTOL Configuration](../config_vtol/index.md))
## Add Frame to QGroundControl
diff --git a/zh/dev_setup/building_px4.md b/zh/dev_setup/building_px4.md
index 7a9fd9077964..c33dc4a3f280 100644
--- a/zh/dev_setup/building_px4.md
+++ b/zh/dev_setup/building_px4.md
@@ -178,7 +178,7 @@ The `region 'flash' overflowed by XXXX bytes` error indicates that the firmware
If you're building the _vanilla_ master branch, the most likely cause is using an unsupported version of GCC. In this case, install the version specified in the [Developer Toolchain](../dev_setup/dev_env.md) instructions.
-If building your own branch, it is possibly you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
+If building your own branch, it is possible that you have increased the firmware size over the 1MB limit. In this case you will need to remove any drivers/modules that you don't need from the build.
### Parrot Bebop
diff --git a/zh/dev_setup/dev_env_linux_ubuntu.md b/zh/dev_setup/dev_env_linux_ubuntu.md
index dfc448c76c77..704f815fdda3 100644
--- a/zh/dev_setup/dev_env_linux_ubuntu.md
+++ b/zh/dev_setup/dev_env_linux_ubuntu.md
@@ -77,7 +77,7 @@ This video shows how to install the toolchain for NuttX and simulation targets (
The video suggests that you build source using JMAVSim, entering the command: `make px4_sitl jmavsim`. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in [Building the Code](../dev_setup/building_px4.md#first-build-using-a-simulator)
:::
-@[youtube](https://youtu.be/OtValQdAdrU).
+
## Other Targets
diff --git a/zh/dev_setup/dev_env_mac.md b/zh/dev_setup/dev_env_mac.md
index 1fd781b51495..298c19c191ae 100644
--- a/zh/dev_setup/dev_env_mac.md
+++ b/zh/dev_setup/dev_env_mac.md
@@ -11,7 +11,7 @@ This setup is supported by the PX4 dev team. To build other targets you will nee
## Homebrew 安装
-@[youtube](https://youtu.be/tMbMGiMs1cQ)
+
## Base Setup
diff --git a/zh/dev_setup/qtcreator.md b/zh/dev_setup/qtcreator.md
index a3fe1c337d01..0a81d4b57fd7 100644
--- a/zh/dev_setup/qtcreator.md
+++ b/zh/dev_setup/qtcreator.md
@@ -16,7 +16,7 @@ Qt creator offers clickable symbols, auto-completion of the complete codebase an
The video below shows how it is used.
-@[youtube](https://www.youtube.com/watch?v=Bkk8zttWxEI&rel=0&vq=hd720)
+
## IDE Setup
@@ -52,6 +52,6 @@ cd build/creator
cmake ../.. -G "CodeBlocks - Unix Makefiles"
```
-That's it! Start _Qt Creator_, then complete the steps in the video below to set up the project to build.
+That's it! Start _Qt Creator_ and then set up the project to build.
-@[youtube](https://www.youtube.com/watch?v=0pa0gS30zNw&rel=0&vq=hd720)
+
diff --git a/zh/dronecan/ark_flow.md b/zh/dronecan/ark_flow.md
index 966863a0b543..bf9ab850a010 100644
--- a/zh/dronecan/ark_flow.md
+++ b/zh/dronecan/ark_flow.md
@@ -119,7 +119,7 @@ If you see a solid red LED there is an error and you should check the following:
## Video
-@[youtube](https://www.youtube.com/watch?v=SAbRe1fi7bU&list=PLUepQApgwSozmwhOo-dXnN33i2nBEl1c0)
+
diff --git a/zh/dronecan/escs.md b/zh/dronecan/escs.md
index 29d6498fe3f4..4a479d60f9b8 100644
--- a/zh/dronecan/escs.md
+++ b/zh/dronecan/escs.md
@@ -8,3 +8,4 @@ PX4 supports DroneCAN compliant ESCs. For more information, see the following ar
- [Zubax Telega](zubax_telega.md)
- [Vertiq](../peripherals/vertiq.md) (larger modules)
- [VESC Project](../peripherals/vesc.md)
+- [RaccoonLab Cyphal and DroneCAN PWM nodes](raccoonlab_nodes.md)
diff --git a/zh/dronecan/index.md b/zh/dronecan/index.md
index 4f819530a620..7289f73e7ac8 100644
--- a/zh/dronecan/index.md
+++ b/zh/dronecan/index.md
@@ -33,6 +33,7 @@ Supported hardware includes (this is not an exhaustive list):
- [ESC/Motor controllers](../dronecan/escs.md)
- Airspeed sensors
+ - [RaccoonLab airspeed sensor](https://docs.raccoonlab.co/guide/airspeed)
- [Thiemar airspeed sensor](https://github.com/thiemar/airspeed)
- GNSS receivers for GNSS (GPS, GLONASS, BeiDou, and so on)
- [ARK GPS](../dronecan/ark_gps.md)
@@ -46,19 +47,24 @@ Supported hardware includes (this is not an exhaustive list):
- [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps)
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
+ - [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
- [Zubax GNSS](https://zubax.com/products/gnss_2)
- Power monitors
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
+ - [RaccoonLab CAN Power Connectors and Management Units](../dronecan/raccoonlab_power.md)
- Compass
- [Holybro RM3100 Professional Grade Compass](https://holybro.com/products/dronecan-rm3100-compass)
+ - [RaccoonLab RM3100 Magnetometer](https://docs.raccoonlab.co/guide/gps_mag_baro/mag_rm3100.html)
- Distance sensors
- [ARK Flow](ark_flow.md)
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
+ - [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
- Optical Flow
- [Ark Flow](ark_flow.md)
- Generic CAN Node (enables use of I2C, SPI, UART sensors on the CAN bus).
- [ARK CANnode](../dronecan/ark_cannode.md)
+ - [RaccoonLab Nodes](../dronecan/raccoonlab_nodes.md)
## Hardware Setup
diff --git a/zh/dronecan/raccoonlab_nodes.md b/zh/dronecan/raccoonlab_nodes.md
new file mode 100644
index 000000000000..4a663b9e6d25
--- /dev/null
+++ b/zh/dronecan/raccoonlab_nodes.md
@@ -0,0 +1,67 @@
+# RaccoonLab Mini/Micro Nodes
+
+Mini/Micro are general purpose CAN nodes. The functionality of these devices depends on the firmware they are running.
+The default and most popular usage is as a PWM-CAN adapter to control ESCs and servos using CAN (Cyphal or DroneCAN) communication:
+
+- Micro is the smallest node with 2 groups of pins (PWM/5V/GND) to control 2 servos or ESCs.
+- Mini v2: Features 2 x PWM/5V/GND for controlling servos or ESCs and 2 x PWM/FB/GND for controlling and receiving feedback from ESCs via UART.
+
+## Cyphal/DroneCAN CAN-PWM Adapter Firmware
+
+_Cyphal/DroneCAN CAN-PWM_ firmwares are the default for Mini and Micro nodes.
+These convert a typical PX4 CAN setpoint to PWM for controlling ESCs or servos.
+
+Please refer to the corresponding RaccoonLab docs pages for details: [Cyphal/CAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/cyphal.html), [DroneCAN-PWM](https://docs.raccoonlab.co/guide/can_pwm/dronecan.html).
+
+![Mini v2 Node with Servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_with_servo.png)
+
+## Cyphal & DroneCAN Rangefinder Firmware
+
+The _Cyphal & DroneCAN Rangefinder_ firmware is a single firmware that can work in either Cyphal or DroneCAN mode.
+It supports LW20/I2C, Garmin Lite v3/I2C and TL-Luna/UART lidars.
+For details, please check the [Rangefinder](https://docs.raccoonlab.co/guide/can_pwm/rangefinder.html) page.
+
+![Mini v2 Node with servo and ESC](../../assets/hardware/can_nodes/raccoonlab_mini_v2_lw20_i2c.png)
+
+## DroneCAN Fuel Sensor Firmware
+
+_DroneCAN fuel tank_ firmware is based on the [AS5600 sensor board](https://docs.raccoonlab.co/guide/as5600/).
+Please refer to [DroneCAN Fuel Tank](https://docs.raccoonlab.co/guide/can_pwm/fuel_tank.html) for details.
+
+## DroneCAN Servo Gripper Firmware
+
+_DroneCAN servo gripper_ is part of a [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+Please refer to [DroneCAN Servo Gripper](https://docs.raccoonlab.co/guide/can_pwm/servo_gripper.html) for details.
+
+## Custom Firmware
+
+**Custom firmware** can be developed by anyone.
+If you require custom features, you can use the [Mini Node Template Application](https://github.com/RaccoonlabDev/mini_v2_node).
+You can configure the external pins to work in UART, I2C or ADC mode.
+From the box, it supports basic Cyphal/DroneCAN features.
+It has publishers and subscribers as an example.
+
+## Which node to choose?
+
+The differences between [Mini v2](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_mini_v2.html) and [Micro](https://docs.raccoonlab.co/guide/can_pwm/can_pwm_micro.html) are summarized in the table below.
+For more details, please refer to the corresponding pages.
+
+| | | Mini v2 | Micro |
+| - | --------------- | ----------------------------------------- | ------------------------------------------- |
+| | Image | ![RaccoonLab Mini v2 Node][Mini v2 Node] | ![RaccoonLab Micro Node][Micro Node] |
+| 1 | Input voltage | 5.5V – 30V | 4.5V – 5.5V |
+| 2 | DC-DC | Yes | No |
+| 3 | Groups of pins | - PWM+5V+GND x2 - PWM+FB+GND x2 | * PWM+5V+GND x2 |
+| 4 | CAN connectors | - UCANPHY Micro x2 - 6-pin Molex x2 | * UCANPHY Micro x2 |
+| 5 | SWD interface | - | * |
+| 6 | Size, LxWxH, mm | 42x35x12 | 20x10x5 |
+| 7 | Mass, g | 5 | 3 |
+
+[Mini v2 Node]: ../../assets/hardware/can_nodes/raccoonlab_mini_node.png
+[Micro Node]: ../../assets/hardware/can_nodes/raccoonlab_micro_node.png
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/zh/dronecan/raccoonlab_power.md b/zh/dronecan/raccoonlab_power.md
new file mode 100644
index 000000000000..245658e1cf36
--- /dev/null
+++ b/zh/dronecan/raccoonlab_power.md
@@ -0,0 +1,41 @@
+# RaccoonLab Power Connectors and Management Units
+
+## CAN Power Connectors
+
+CAN power connectors are designed for light unmanned aerial (UAV) and other vehicles for providing power over CAN using [CAN power cables](https://docs.raccoonlab.co/guide/pmu/wires/).
+
+There are two types of devices:
+
+1. `CAN-MUX` devices provide power from XT30 connector to CAN.
+ There are 2 variation of this type of the device with different number of connectors.
+2. `Power connector node` is designed to pass current (up to 60A) to power load and CAN, measure voltage and current on load.
+ It behaves as Cyphal/DroneCAN node.
+
+Please refer to the RaccoonLab docs [CAN Power Connectors](https://docs.raccoonlab.co/guide/pmu/power/) page.
+
+**Connection example diagram**
+
+Here are the examples:
+
+- The first shows how to use both external high voltage power and 5V CAN power for different nodes with MUX.
+ The [NODE](raccoonlab_nodes.md) (the large one in the left diagram) is connected to a high-voltage power source (here 30 V).
+ In this case, the [uNODE](raccoonlab_nodes.md) (smaller one on the left schematic) is powered directly from the autopilot.
+- The second example shows how to connect multiple [uNODEs](raccoonlab_nodes.md) that are powered by the autopilot (5V).
+ If these nodes are powered from a separate DCDC, that DCDC should also be connected to one of these connectors.
+
+![RaccoonLab CAN Power Connector Example Diagram](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_power_connector_example.png)
+
+## Power Management Unit
+
+![raccoonlab pmu ](../../assets/hardware/power_module/raccoonlab_can/raccoonlab_pmu.jpg)
+
+This board monitors the battery (voltage and current) and allows control over charging, source and load using he DroneCAN interface.
+It might be useful for applications where you need to control the power of the drone including the board computer and charging process.
+
+Please refer to the RaccoonLab docs [Power & Connectivity](https://docs.raccoonlab.co/guide/pmu/) page.
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store/search?q=raccoonlab)
diff --git a/zh/dronecan/sapog.md b/zh/dronecan/sapog.md
index ce6609cec26f..4228e0b77b11 100644
--- a/zh/dronecan/sapog.md
+++ b/zh/dronecan/sapog.md
@@ -88,7 +88,7 @@ Make sure to turn each of the motors in the correct direction, as the ESC will a
The following video demonstrates the process:
-@[youtube](https://www.youtube.com/watch?v=4nSa8tvpbgQ)
+
### Manual ESC Enumeration using Sapog
diff --git a/zh/features_mc/index.md b/zh/features_mc/index.md
index 5037f5668e60..5c07ec3aac6b 100644
--- a/zh/features_mc/index.md
+++ b/zh/features_mc/index.md
@@ -4,4 +4,5 @@ This section lists features that are specific to (or customised for) multicopter
- [Flight Modes](../flight_modes_mc/index.md)
- [Precision Landing](../advanced_features/precland.md)
+- [Terrain Following/Holding](../flying/terrain_following_holding.md)
- [Throw Launch](../flight_modes_mc/throw_launch.md)
diff --git a/zh/flight_controller/airlink.md b/zh/flight_controller/airlink.md
index 32ad485870b7..3e82cf6c4b65 100644
--- a/zh/flight_controller/airlink.md
+++ b/zh/flight_controller/airlink.md
@@ -20,7 +20,7 @@ AIRLink has two computers and integrated LTE Module:
## Feature Highlights
-@[youtube](https://youtu.be/VcBx9DLPN54)
+
## Specifications
@@ -85,7 +85,7 @@ Purchase from the original Sky-Drones Store (worldwide shipping with 1-2 days or
## AIRLink Enterprise Kit Accessories
-@[youtube](https://youtu.be/lex7axW8WQg)
+
AIRLink Enterprise arrives with everything needed to setup the autopilot system.
diff --git a/zh/flight_controller/autopilot_pixhawk_standard.md b/zh/flight_controller/autopilot_pixhawk_standard.md
index b5c68dba022d..534775c3abd1 100644
--- a/zh/flight_controller/autopilot_pixhawk_standard.md
+++ b/zh/flight_controller/autopilot_pixhawk_standard.md
@@ -13,6 +13,7 @@ The boards in this category are:
- [Holybro Pixhawk 6X-RT](../flight_controller/pixhawk6x-rt.md) (FMUv6X)
- [CUAV Pixahwk V6X](../flight_controller/cuav_pixhawk_v6x.md) (FMUv6X)
- [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) (FMUv6X)
+- [RaccoonLab FMUv6X Autopilot](../flight_controller/raccoonlab_fmu6x.md) (FMUv6X)
- [Holybro Pixhawk 6C](../flight_controller/pixhawk6c.md) (FMUv6C)
- [Holybro Pixhawk 6C Mini](../flight_controller/pixhawk6c_mini.md) (FMUv6C)
- [Holybro Pix32 v6](../flight_controller/holybro_pix32_v6.md) (FMUv6C)
diff --git a/zh/flight_controller/index.md b/zh/flight_controller/index.md
index 807f7f2f48e1..ba808386d381 100644
--- a/zh/flight_controller/index.md
+++ b/zh/flight_controller/index.md
@@ -32,6 +32,7 @@ PX4-compatible flight controllers documented in this library are listed below. T
- [Holybro pix32 v6 (FMUv6C)](../flight_controller/holybro_pix32_v6.md)
- [mRo Pixracer (FMUv4)](../flight_controller/pixracer.md)
- [mRo Pixhawk (FMUv2)](../flight_controller/mro_pixhawk.md)
+ - [RaccoonLab FMUv6X Autopilot (FMUv6X)](../flight_controller/raccoonlab_fmu6x.md)
- [由制造商支持的自动驾驶仪](../flight_controller/autopilot_manufacturer_supported.md)
- [AIRLink](../flight_controller/airlink.md)
- [AirMind MindPX](../flight_controller/mindpx.md)
diff --git a/zh/flight_controller/pixhawk.md b/zh/flight_controller/pixhawk.md
index f2d92e2d0ea5..50ac684b234d 100644
--- a/zh/flight_controller/pixhawk.md
+++ b/zh/flight_controller/pixhawk.md
@@ -84,7 +84,7 @@ Order mRo Pixhawk from:
- 3.3 and 6.6V ADC inputs
- Internal microUSB port and external microUSB port extension
-@[youtube](https://youtu.be/gCCC5A-Bvv4)
+
### Power System and Protection
diff --git a/zh/flight_controller/raccoonlab_fmu6x.md b/zh/flight_controller/raccoonlab_fmu6x.md
new file mode 100644
index 000000000000..02c8e59da834
--- /dev/null
+++ b/zh/flight_controller/raccoonlab_fmu6x.md
@@ -0,0 +1,162 @@
+# RaccoonLab FMUv6X Autopilot
+
+:::warning
+PX4 does not manufacture this (or any) autopilot.
+Contact the [manufacturer](https://raccoonlab.co) for hardware support or compliance issues.
+:::
+
+The [RaccoonLab FMUv6X](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) flight controller is based on the following Pixhawk® standards: [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf), [Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf), and [Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf).
+
+Equipped with a high-performance H7 Processor, modular design, triple redundancy, temperature-controlled IMU board, and isolated sensor domains, it delivers exceptional performance, reliability, and flexibility.
+At RaccoonLab, we focus on DroneCAN and Cyphal-based onboard control system buses.
+Our autopilot is part of a larger DroneCAN and Cyphal ecosystem, making it an ideal choice for next-generation intelligent vehicles.
+
+![RaccoonLab FMUv6X](../../assets/flight_controller/raccoonlab/fmuv6x.png)
+
+RaccoonLab offers versatile HATs for both Raspberry Pi and NVIDIA Jetson Xavier NX, enhancing connectivity and functionality.
+The [Jetson Xavier NX HAT](https://docs.raccoonlab.co/guide/nx_hat/) is designed to integrate the CAN bus with the Jetson Xavier NX, enabling access to Cyphal and DroneCAN protocols.
+The [Raspberry Pi CM4 HAT](https://docs.raccoonlab.co/guide/rpi_hat/) provides robust features, including CAN bus connectivity, an LTE modem, internal voltage measurement, SWD debugging for other MCUs, and UART communication with PX4 over MAVLINK.
+These HATs expand the capabilities of devices, making them ideal for advanced robotics and UAV applications.
+
+:::tip
+This autopilot is [supported](../flight_controller/autopilot_pixhawk_standard.md) by the PX4 maintenance and test teams.
+:::
+
+## Key Design Points
+
+- High performance STM32H753 Processor
+- Modular flight controller: separated IMU, FMU, and Base system connected by a 100-pin & a 50-pin Pixhawk Autopilot Bus connector.
+- Redundancy: 3x IMU sensors & 2x Barometer sensors on separate buses
+- Triple redundancy domains: Completely isolated sensor domains with separate buses and separate power control
+- Newly designed vibration isolation system to filter out high frequency vibration and reduce noise to ensure accurate readings
+- Ethernet interface for high-speed mission computer integration
+
+## Processors & Sensors
+
+- FMU Processor: STM32H753
+ - 32 Bit Arm Cortex-M7, 480MHz, 2MB flash memory, 1MB RAM
+- IO Processor: STM32F100
+ - 32 Bit Arm Cortex-M3, 24MHz, 8KB SRAM
+- On-board sensors
+ - Accel/Gyro: ICM-20649 or BMI088
+ - Accel/Gyro: ICM-42688-P
+ - Accel/Gyro: ICM-42670-P
+ - Mag: BMM150
+ - Barometer: 2x BMP388
+
+## Electrical data
+
+- Voltage Ratings:
+ - Max input voltage: 36V
+ - USB Power Input: 4.75\~5.25V
+ - Servo Rail Input: 0\~36V
+- Current Ratings:
+ - `TELEM1` output current limiter: 1.5A
+ - All other port combined output current limiter: 1.5A
+
+## Mechanical data
+
+- Dimensions
+ - Flight Controller Module: 38.8 x 31.8 x 14.6mm
+ - Standard Baseboard: 52.4 x 103.4 x 16.7mm
+ - Mini Baseboard: 43.4 x 72.8 x 14.2 mm
+- Weight
+ - Flight Controller Module: 23g
+ - Standard Baseboard: 51g
+ - Mini Baseboard: 26.5g
+
+3D model can be downloaded on [GrabCAD](https://grabcad.com/library/raccoonlab-autopilot-1).
+
+![RaccoonLab FMUv6X drawings](../../assets/flight_controller/raccoonlab/fmuv6x-drw.png)
+
+## Interfaces
+
+- 16- PWM servo outputs
+- R/C input for Spektrum / DSM
+- Dedicated R/C input for PPM and S.Bus input
+- Dedicated analog / PWM RSSI input and S.Bus output
+- 4 general purpose serial ports
+ - 3 with full flow control
+ - 1 with separate 1.5A current limit (`TELEM1`)
+ - 1 with I2C and additional GPIO line for external NFC reader
+- 2 GPS ports
+ - 1 full GPS plus Safety Switch Port
+ - 1 basic GPS port
+- 1 I2C port
+- 1 Ethernet port
+ - Transformerless Applications
+ - 100Mbps
+- 1 SPI bus
+ - 2 chip select lines
+ - 2 data-ready lines
+ - 1 SPI SYNC line
+ - 1 SPI reset line
+- 2 CAN Buses for CAN peripheral
+ - CAN Bus has individual silent controls or ESC RX-MUX control
+- 2 Power input ports with SMBus
+ - 1 AD & IO port
+ - 2 additional analog input
+ - 1 PWM/Capture input
+ - 2 Dedicated debug and GPIO lines
+
+## Serial Port Mapping
+
+| UART | Device | Port |
+| ------ | ---------- | ------------------------------- |
+| USART1 | /dev/ttyS0 | GPS |
+| USART2 | /dev/ttyS1 | TELEM3 |
+| USART3 | /dev/ttyS2 | Debug Console |
+| UART4 | /dev/ttyS3 | UART4 & I2C |
+| UART5 | /dev/ttyS4 | TELEM2 |
+| USART6 | /dev/ttyS5 | PX4IO/RC |
+| UART7 | /dev/ttyS6 | TELEM1 |
+| UART8 | /dev/ttyS7 | GPS2 |
+
+## Voltage Ratings
+
+_RaccoonLab FMUv6X_ can be triple-redundant on the power supply if three power sources are supplied.
+The three power rails are: **POWER1**, **POWER2** and **USB**.
+The **POWER1** & **POWER2** ports on the RaccoonLab FMUv6X uses the 6 circuit [2.00mm Pitch CLIK-Mate Wire-to-Board PCB Receptacle](https://www.molex.com/molex/products/part-detail/pcb_receptacles/5024430670).
+
+**Normal Operation Maximum Ratings**
+
+Under these conditions all power sources will be used in this order to power the system:
+
+1. **POWER1** and **POWER2** inputs (4.9V to 5.5V)
+2. **USB** input (4.75V to 5.25V)
+
+:::tip
+The manufacturer [RaccoonLab Docs](https://docs.raccoonlab.co/guide/autopilot/RCLv6X.html) are the canonical reference for the RaccoonLab FMUv6X Autopilot.
+They should be used by preference as they contain the most complete and up to date information.
+:::
+
+## Where to Buy
+
+[RaccoonLab Store](https://raccoonlab.co/store)
+
+[Cyphal store](https://cyphal.store)
+
+## Building Firmware
+
+:::tip
+Most users will not need to build this firmware!
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target:
+
+```sh
+make px4_fmu-v6x_default
+```
+
+## Supported Platforms / Airframes
+
+Any multicopter / airplane / rover or boat that can be controlled with normal RC servos or Futaba S-Bus servos.
+The complete set of supported configurations can be seen in the [Airframes Reference](../airframes/airframe_reference.md).
+
+## Further info
+
+- [Pixhawk Autopilot FMUv6X Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-012%20Pixhawk%20Autopilot%20v6X%20Standard.pdf)
+- [Pixhawk Autopilot Bus Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-010%20Pixhawk%20Autopilot%20Bus%20Standard.pdf)
+- [Pixhawk Connector Standard](https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-009%20Pixhawk%20Connector%20Standard.pdf)
+- [RaccoonLab docs](http://docs.raccoonlab.co)
diff --git a/zh/flight_modes_fw/acro.md b/zh/flight_modes_fw/acro.md
index 99bc978f2ff6..58e460d80fd8 100644
--- a/zh/flight_modes_fw/acro.md
+++ b/zh/flight_modes_fw/acro.md
@@ -16,8 +16,9 @@ RPY摇杆输入被转换为角速度命令,通过自动驾驶仪稳定。 Thro
## 参数
-| 参数 | 描述 |
-| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | 机体轴x轴最大速率(用户在acro模式下施加滚转轴满杆操纵时,控制器试图达到的机体轴x轴速率) 默认:90度 Default: 90 degrees. |
-| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
-| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | 机体轴z轴最大速率(用户在acro模式下施加偏航轴满杆操纵时,控制器试图达到的机体轴z轴速率) 默认:45度 Default: 45 degrees. |
+| 参数 | 描述 |
+| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [FW_ACRO_X_MAX](../advanced_config/parameter_reference.md#FW_ACRO_X_MAX) | 机体轴x轴最大速率(用户在acro模式下施加滚转轴满杆操纵时,控制器试图达到的机体轴x轴速率) 默认:90度 Default: 90 degrees. |
+| [FW_ACRO_Y_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Y_MAX) | Acro body y max rate (the body y rate the controller is trying to achieve if the user applies full pitch stick input in acro mode). Default: 90 degrees. |
+| [FW_ACRO_Z_MAX](../advanced_config/parameter_reference.md#FW_ACRO_Z_MAX) | 机体轴z轴最大速率(用户在acro模式下施加偏航轴满杆操纵时,控制器试图达到的机体轴z轴速率) 默认:45度 Default: 45 degrees. |
+| [FW_ACRO_YAW_EN](../advanced_config/parameter_reference.md#FW_ACRO_YAW_EN) | Enable yaw rate controller (if disabled the pilot commands directly the yaw actuator). `0`: Disabled (Default), `1`: Enabled. |
diff --git a/zh/flight_modes_fw/takeoff.md b/zh/flight_modes_fw/takeoff.md
index b784a95d31bd..82fe79465803 100644
--- a/zh/flight_modes_fw/takeoff.md
+++ b/zh/flight_modes_fw/takeoff.md
@@ -45,6 +45,7 @@ Parameters that affect both catapult/hand-launch and runway takeoffs:
| [FW_TKO_AIRSPD](../advanced_config/parameter_reference.md#FW_TKO_AIRSPD) | Takeoff airspeed (is set to [FW_AIRSPD_MIN](../advanced_config/parameter_reference.md#FW_AIRSPD_MIN) if not defined by operator) |
| [FW_TKO_PITCH_MIN](../advanced_config/parameter_reference.md#FW_TKO_PITCH_MIN) | This is the minimum pitch angle setpoint during the climbout phase |
| [FW_T_CLMB_MAX](../advanced_config/parameter_reference.md#FW_T_CLMB_MAX) | Maximum climb rate. |
+| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
::: info
The vehicle always respects normal FW max/min throttle settings during takeoff ([FW_THR_MIN](../advanced_config/parameter_reference.md#FW_THR_MIN), [FW_THR_MAX](../advanced_config/parameter_reference.md#FW_THR_MAX)).
@@ -110,7 +111,6 @@ Runway takeoff is affected by the following parameters:
| [FW_WING_SPAN](../advanced_config/parameter_reference.md#FW_WING_SPAN) | The wingspan of the vehicle. Used to prevent wingstrikes. |
| [FW_WING_HEIGHT](../advanced_config/parameter_reference.md#FW_WING_HEIGHT) | The height of the wings above ground (ground clearance). Used to prevent wingstrikes. |
| [RWTO_NPFG_PERIOD](../advanced_config/parameter_reference.md#RWTO_NPFG_PERIOD) | L1 period while steering on runway. Increase for less aggressive response to course errors. |
-| [FW_FLAPS_TO_SCL](../advanced_config/parameter_reference.md#FW_FLAPS_TO_SCL) | Flaps setpoint during takeoff |
## See Also
diff --git a/zh/flight_modes_mc/follow_me.md b/zh/flight_modes_mc/follow_me.md
index 1808af335106..df1f523b4b11 100644
--- a/zh/flight_modes_mc/follow_me.md
+++ b/zh/flight_modes_mc/follow_me.md
@@ -42,11 +42,11 @@ Users can adjust the follow angle, height and distance using an RC controller as
Angle, height, and distance values set using the RC controller are discarded when you exit follow-me mode. If you exit Follow-Me mode and activate it again the values will be reset to their defaults.
:::
-Demo video:
+### Video
-@[youtube](https://youtu.be/csuMtU6seXI?t=155)
+
-### 安全须知
+### Safety Precautions
:::warning
**Follow-me mode** does not implement any type of obstacle avoidance. Special care must be taken when this mode is used.
@@ -119,9 +119,9 @@ The altitude control mode determine whether the vehicle altitude is relative to
:::warning
Do not set the **Altitude mode ([FLW_TGT_ALT_M](#FLW_TGT_ALT_M)**) to `3D Tracking` when using QGC for Android (or more generally, without checking that [FOLLOW_TARGET.altitude](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) is an AMSL value).
-The MAVLink [FOLLOW_TARGET](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) message definition expects an altitude relative to mean sea level (AMSL) while QGC on Android is sending an altitude relative to the GPS ellipsoid. This can differ as much as 200 meters! This can differ as much as 200 meters!
+The MAVLink [FOLLOW_TARGET](https://mavlink.io/en/messages/common.html#FOLLOW_TARGET) message definition expects an altitude relative to mean sea level (AMSL) while QGC on Android is sending an altitude relative to the GPS ellipsoid. This can differ as much as 200 meters!
-The drone probably won't crash due to the built-in minimum safety altitude limit (1 meter), but it may fly much higher than expected. If the drone's altitude is significantly different than specified, assume that the ground station's altitude output is wrong and use 2D tracking. ::: If the drone's altitude is significantly different than specified, assume that the ground station's altitude output is wrong and use 2D tracking.
+The drone probably won't crash due to the built-in minimum safety altitude limit (1 meter), but it may fly much higher than expected. If the drone's altitude is significantly different than specified, assume that the ground station's altitude output is wrong and use 2D tracking.
:::
### Parameters
@@ -149,7 +149,10 @@ The follow-me behavior can be configured using the following parameters:
3. Using the RC Adjustment for height, distance and angle, you can get some creative camera shots.
- @[youtube](https://www.youtube.com/watch?v=o3DhvCL_M1E) This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite. Which allows a perspective as shot from a satellite.
+
+
+
+ This video demonstrates a Google-Earth view perspective, by adjusting the height to around 50 meters (high), distance to 1 meter (close). Which allows a perspective as shot from a satellite.
## 已知的问题
diff --git a/zh/flight_modes_mc/mission.md b/zh/flight_modes_mc/mission.md
index cbeaef2cc108..017bf2084d31 100644
--- a/zh/flight_modes_mc/mission.md
+++ b/zh/flight_modes_mc/mission.md
@@ -185,7 +185,6 @@ Rally Points
::: info
Please add an issue report or PR if you find a missing/incorrect message.
-::: info:
- PX4 parses the above messages, but they are not necessary _acted_ on. For example, some messages are vehicle-type specific.
- PX4 does not support local frames for mission commands (e.g. [MAV_FRAME_LOCAL_NED](https://mavlink.io/en/messages/common.html#MAV_FRAME_LOCAL_NED)).
@@ -194,6 +193,8 @@ Please add an issue report or PR if you find a missing/incorrect message.
You can check the current set by inspecting the code.
Support is `MavlinkMissionManager::parse_mavlink_mission_item` in [/src/modules/mavlink/mavlink_mission.cpp](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/mavlink/mavlink_mission.cpp).
+:::
+
## Rounded turns: Inter-Waypoint Trajectory
PX4 expects to follow a straight line from the previous waypoint to the current target (it does not plan any other kind of path between waypoints - if you need one you can simulate this by adding additional waypoints).
diff --git a/zh/flight_modes_mc/position.md b/zh/flight_modes_mc/position.md
index e306115b015e..740e665e6536 100644
--- a/zh/flight_modes_mc/position.md
+++ b/zh/flight_modes_mc/position.md
@@ -71,7 +71,7 @@ While very rare on a well calibrated vehicle, sometimes there may be problems wi
### 位置丢失/安全
-位置模式依赖于一个可接受的位置估计。 If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gps-loss-failsafe). 如果估计值低于可接受的水平,例如由于 GPS 丢失,这可能会触发位置 (GPS) 丢失故障保护 根据配置,是否有遥控器,以及是否有足够的高度估计,PX4 可能会切换到高度模式、手动模式、降落模式或终止。
+位置模式依赖于一个可接受的位置估计。 If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe). 如果估计值低于可接受的水平,例如由于 GPS 丢失,这可能会触发位置 (GPS) 丢失故障保护 根据配置,是否有遥控器,以及是否有足够的高度估计,PX4 可能会切换到高度模式、手动模式、降落模式或终止。
## See Also
diff --git a/zh/flight_modes_rover/index.md b/zh/flight_modes_rover/index.md
index 2610957fb2b6..e5f16f7af8fc 100644
--- a/zh/flight_modes_rover/index.md
+++ b/zh/flight_modes_rover/index.md
@@ -1,37 +1,101 @@
-# Flight Modes (Rover)
+# Drive Modes (Rover)
-Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle or to execute autonomous missions.
-PX4 ground vehicles only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+
+This section outlines all supported drive modes for rovers. Note that certain flight modes have different implementations for the specific modules.
+
+:::warning
+Selecting any other mode than those below will either stop the rover or can lead to undefined behavior.
+:::
+
+## Manual Mode
+
+The _Manual_ mode stops the rover when the RC control sticks are centred.
+To manually move/drive the vehicle you move the sticks outside of the centre.
+
+[**Differential-steering Rover**](../frames_rover/differential_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _yaw rate_ of the vehicle.
+
+[**Ackermann Rover**](../frames_rover/ackermann_rover.md): When under manual control the throttle and roll sticks control the _speed_ and _steering angle_ of the vehicle.
+
+![Rover Manual Sticks](../../assets/airframes/rover/flight_modes/manual_inputs.png)
+
+Note that the rover does not attempt to maintain a specific orientation or compensate for external factors like slopes or uneven terrain!
+The user is responsible for making the necessary adjustments to the stick inputs to keep the rover on the desired course.
+
+## Acro Mode
+
+:::info
+Acro mode is only supported for differential-steering rovers.
+:::
+
+Acro Mode is similar to [Manual mode](#manual-mode), but with closed-loop yaw rate control.
+In this mode, the left stick input remains open-loop for forward speed control, while the right stick input commands a desired yaw rate setpoint, which is then maintained by the rover's closed-loop control system.
-### Manual Mode
+- Left Stick:
-_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+ Behavior remains the same as in manual mode, directly controlling the rover's forward speed in an open-loop manner.
-In this mode, motors are stopped when RC control sticks are centered.
-To move the vehicle you move the sticks outside of the center.
+- Right Stick:
-As soon as you release the control sticks they will return to the center deadzone.
-This will turn off the motors and center the wheels.
-There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+ - Centered: Rover stops rotating and tries to maintains its current heading.
+ - Pushed left/right: Rover rotates counter-clockwise/clockwise at the rate commanded by the stick input, using a closed-loop controller (e.g., PID) to try to ensure the vehicle yaw rate matches the given setpoint.
-### Mission Mode
+See [Tuning(basic)](../frames_rover/differential_rover.md#tuning-basic) to go through the necessary setup to use acro mode for differential-steering rovers.
-[Mission mode](../flight_modes/mission.md) is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+## Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
-### Offboard Mode
+### Mission commands
+
+Following is the list of currently implemented and tested mission related commands:
+
+| QGC mission item | Command | Description |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| Mission start | [MAV_CMD_MISSION_START](https://mavlink.io/en/messages/common.html#MAV_CMD_MISSION_START) | Starts the mission. |
+| Waypoint | [MAV_CMD_NAV_WAYPOINT](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT) | Navigate to waypoint. |
+| Return to launch | [MAV_CMD_NAV_RETURN_TO_LAUNCH](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_RETURN_TO_LAUNCH) | Return to the launch location. |
+| Delay until | [MAV_CMD_NAV_DELAY](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_DELAY) | The rover will stop for a specified amount of time. |
+| Set launch location | [MAV_CMD_DO_SET_HOME](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_HOME) | Changes launch location to specified coordinates. |
+| Jump to item | [MAV_CMD_DO_JUMP](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_JUMP) (and other jump commands) | Jump to specified mission item. |
+| Loiter (all) | [MAV_CMD_NAV_LOITER_UNLIM](https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM) (and other loiter commands) | This will simply stop the rover. |
+
+### Pure Pursuit Guidance Logic
+
+The steering and throttle setpoints are generated from the mission plan using a pure pursuit algorithm:
+
+![Pure Pursuit Algorithm](../../assets/airframes/rover/flight_modes/pure_pursuit_algorithm.png)
+
+The controller takes the intersection point between a circle around the vehicle and the line segment connecting the previous and current waypoint.
+The radius of the circle around the vehicle is used to tune the controller and is often referred to as look-ahead distance.
-[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
-Not all setpoint types make sense for a ground vehicle, or are supported.
+The look ahead distance sets how aggressive the controller behaves and is defined as $l_d = v \cdot k$.
+It depends on the velocity $v$ of the rover and a tuning parameter $k$ that can be set with the parameter [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN).
:::info
-This mode is intended for vehicle control from companion computers and ground stations!
+A lower value of [PP_LOOKAHD_GAIN](#PP_LOOKAHD_GAIN) makes the controller more aggressive but can lead to oscillations!
:::
-## Further Information
+The lookahead is constrained between [PP_LOOKAHD_MAX](#PP_LOOKAHD_MAX) and [PP_LOOKAHD_MIN](#PP_LOOKAHD_MIN).
-- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
-- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
-- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
-- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+If the distance from the path to the rover is bigger than the lookahead distance, the rover will target the point on the path that is closest to the rover.
+
+To summarize, the following parameters can be used to tune the controller:
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---- |
+| [PP_LOOKAHD_GAIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_GAIN) | Main tuning parameter | - |
+| [PP_LOOKAHD_MAX](../advanced_config/parameter_reference.md#PP_LOOKAHD_MAX) | Maximum value for the look ahead radius | m |
+| [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) | Minimum value for the look ahead radius | m |
+
+:::note
+Both [Ackermann](../frames_rover/ackermann_rover.md#mission-parameters) and [differential-steering](../frames_rover/differential_rover.md#tuning-mission) rovers have further tuning parameters that are specific to the respective modules.
+:::
+
+## Return Mode
+
+This mode uses the [pure pursuit guidance logic](#pure-pursuit-guidance-logic) with the launch position as goal.
+Return mode can be activated through the respective [mission command](#mission-commands) or through the ground station UI.
diff --git a/zh/flying/pre_flight_checks.md b/zh/flying/pre_flight_checks.md
index cf43fb41e874..cd585e00e6a8 100644
--- a/zh/flying/pre_flight_checks.md
+++ b/zh/flying/pre_flight_checks.md
@@ -1,42 +1,50 @@
-# 飞行前传感器 / 估算器检查
+# QGroundControl Flight-Readiness Status
-PX4 performs a number of preflight sensor quality and estimator checks to determine if there is a good enough position estimate to arm and fly the vehicle (these checks are controlled by the [COM\_ARM\_](../advanced_config/parameter_reference.md#commander) parameters).
+PX4 performs a number of preflight sensor quality and estimator checks to determine if, for example, there is a good enough position estimate to fly the vehicle in the current mode, and will block arming if the vehicle is not ready.
-:::tip
-Any preflight errors are reported in *QGroundControl* as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) also shows which GPS quality checks are failing.
+QGroundControl can be used to determine whether the vehicle is ready to fly, and more importantly what checks are failing.
+
+::: tip
+You can also get readiness notifications from the [vehicle status LEDs](../getting_started/led_meanings.md) and [warning tunes](../getting_started/tunes.md). However QGC is the only way to determine the precise reasons why PX4 will not arm.
:::
-The sections below list the errors, their likely causes and solutions, and any parameters that affect how the preflight checks are run.
+## Flight Readiness Status
-## EKF 飞行前检查 / 错误
+The overall "readiness to fly" is displayed in QGroundControl in the top left corner near the **Q** menu icon, as shown below:
+
+![QGC flight readiness indicators from top left corner](../../assets/flying/qgc_flight_readiness.png)
+
+The three states are:
+
+- "Ready to Fly" (Green background): The vehicle is ready to fly in all modes, and can be armed.
+- "Ready to Fly" (Amber background): The vehicle is ready to fly in the current mode and can be armed, but some check is failing that means it will not be able to switch to some other mode.
+- "Not Ready" (Amber background): The vehicle is not ready to fly in the current mode, and cannot be armed.
+
+## QGC Arming Check Report
+
+
-The following errors (with associated checks and parameters) are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to *QGroundControl*):
+You can find out what prearming checks are failing using the QGroundControl [Arming Check Report](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.html#arm) in _Fly View_. To access this UI select the [Flight Readiness Status](#flight-readiness-status) indicator in the top left corner of QGroundControl's Fly View.
-#### PREFLIGHT FAIL: EKF HGT ERROR
+![QGC Arming Check Report](../../assets/flying/qgc_arming_checks_ui.png)
-* 当 IMU 和高度测量数据不一致时会产生此错误。
-* 执行加速度计和陀螺仪校准并重新启动飞行器。 如果错误仍然存在,请检查高度传感器数据是否存在问题。
-* 检查由[COM_ARM_EKF_HGT](../advanced_config/parameter_reference.md#COM_ARM_EKF_HGT)参数控制。
+The Arming Check Report will then pop up and list all current warnings, with a toggle on the right of each warning that expands each entry with additional information and possible solutions.
-#### PREFLIGHT FAIL: EKF VEL ERROR
+Once each issue is resolved it will disappear from the UI. When all issues blocking arming have been removed you can use the arm button to display the arming confirmation slider, and arm the vehicle (or you can just take off).
-* 当 IMU 和 GPS 速度测量数据不一致时会产生此错误。
-* 检查 GPS 速度数据是否存在不真实的数据跳转。 如果 GPS 质量看起来没有问题,请执行加速度计和陀螺仪校准并重新启动飞行器。
-* 检查由[COM_ARM_EKF_VEL](../advanced_config/parameter_reference.md#COM_ARM_EKF_VEL)参数控制。
+::: tip
+The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later), and works with PX4 v1.14 and later.
+:::
+
+## Flight Logs
-#### PREFLIGHT FAIL: EKF HORIZ POS ERROR
+Preflight errors are also reported in _QGroundControl_ as `PREFLIGHT FAIL` messages. The `estimator_status.gps_check_fail_flags` message [in the logs](../getting_started/flight_reporting.md) shows which GPS quality checks are failing.
-* 当 IMU 和位置测量数据(GPS 或外部视觉)不一致时会产生此问题。
-* 检查位置传感器数据是否存在不真实的数据跳转。 如果数据质量看起来不错,请执行加速度计和陀螺仪校准并重新启动飞行器。
-* 检查由[COM_ARM_EKF_POS](../advanced_config/parameter_reference.md#COM_ARM_EKF_POS)参数控制。
+Note that the [Arming Check Report](#qgc-arming-check-report) is a much easier way to determine reasons for failure, but the logs may be useful in versions prior to PX4 v1.14.
-#### PREFLIGHT FAIL: EKF YAW ERROR
+## EKF 飞行前检查 / 错误
-* 当使用陀螺仪数据估计的偏航角和来自磁力计或外部视觉系统的偏航角不一致时,产生该误差。
-* 检查 IMU 数据是否存在较大的偏航率漂洗,并检查磁力计的对准和校准。
-* The check is controlled by the [COM_ARM_EKF_YAW](../advanced_config/parameter_reference.md#COM_ARM_EKF_YAW) parameter
-* The default value of 0.5 allows the differences between the navigation yaw angle and magnetic yaw angle (magnetometer or external vision) to be no more than 50% of the maximum tolerated by the EKF and provides some margin for error increase when flight commences.
-* 如果偏航陀螺仪有较大的偏移量,或者飞行器在存在磁干扰或者磁力计校准的情况下移动或者旋转,则可能会校准失败。
+This sections lists errors, with associated checks and parameters, that are reported by the [EKF](../advanced_config/tuning_the_ecl_ekf.md) (and propagate to _QGroundControl_). These are provided for information only (the QGC Arming Checks UI is the best way to get error and solution information).
#### PREFLIGHT FAIL: EKF HIGH IMU ACCEL BIAS
@@ -44,7 +52,7 @@ The following errors (with associated checks and parameters) are reported by the
-The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on (“turn-on bias”) and over time due to noise and temperature differences (“in-run bias”). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
+The EKF IMU acceleration bias is the difference between the measured acceleration reported by the IMU sensor and the expected acceleration reported by the EKF2 estimator (which fuses position and/or velocity data from a number of sources, including the IMU, GNSS, flow sensors etc.). This bias may change when the sensor is turned on ("turn-on bias") and over time due to noise and temperature differences ("in-run bias"). The number should generally be very small (near zero), indicating that measurements from different sources all agree on the acceleration.
The warning indicates that the bias is higher than some arbitrary threshold (the vehicle will not be allowed to take off). It is most likely a sign that accelerometer or thermal calibration are required:
@@ -65,45 +73,43 @@ It should only be attempted if you have data showing it will improve the perform
| Parameter | Description |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a “high accel bias” if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
-| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the “turn-on bias” of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
-| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected “in-run bias” of the accelerometer or “how fast do we expect the bias to change per second”. By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
+| [EKF2_ABL_LIM](../advanced_config/parameter_reference.md#EKF2_ABL_LIM) | The maximum bias value that the EKF is allowed to estimate (above this value the bias will be clipped and EKF will attempt to reset itself, possibly even switching to a more healthy EKF with a working IMU in a multi-EKF system). The autopilot will report a "high accel bias" if the estimated bias exceeds 75% of this parameter during a preflight check and prevent takeoff. The current value of 0.4m/s2 is already quite high and increasing it would make the autopilot less likely to detect an issue. |
+| [EKF2_ABIAS_INIT](../advanced_config/parameter_reference.md#EKF2_ABIAS_INIT) | Initial bias uncertainty (if perfectly calibrated, this is related to the "turn-on bias" of the sensor). Some users might want to reduce that value if they know that the sensor is well calibrated and that the turn-on bias is small. |
+| [EKF2_ACC_B_NOISE](../advanced_config/parameter_reference.md#EKF2_ACC_B_NOISE) | The expected "in-run bias" of the accelerometer or "how fast do we expect the bias to change per second". By default, this value is large enough to include the drift due to a temperature change. If the IMU is temperature calibrated, the user might want to reduce this parameter. |
| [EKF2_ABL_ACCLIM](../advanced_config/parameter_reference.md#EKF2_ABL_ACCLIM) | The maximum acceleration at which the estimator will try to learn an acceleration bias. This is to prevent the estimator from learning a bias due to non-linearity and scale factor errors. (Almost no user should need to change that parameter except if they really know what they are doing). |
-
#### PREFLIGHT FAIL: EKF HIGH IMU GYRO BIAS
-* 当由 EKF 估计的 IMU 陀螺仪偏差过大时会产生该错误。
-* Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
+- 当由 EKF 估计的 IMU 陀螺仪偏差过大时会产生该错误。
+- Excessive in this case means that the bias estimate exceeds 10deg/s (half the configured limit, which is hardcoded to 20deg/s).
#### PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
-* 当来自不同 IMU 单元的加速度测量值不一致时,会产生此错误消息。
-* 此检查仅适用于具有多个 IMU 的板。
-* 检查由[COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC)参数控制。
+- 当来自不同 IMU 单元的加速度测量值不一致时,会产生此错误消息。
+- 此检查仅适用于具有多个 IMU 的板。
+- 检查由[COM_ARM_IMU_ACC](../advanced_config/parameter_reference.md#COM_ARM_IMU_ACC)参数控制。
#### PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
-* 当来自不同 IMU 单元的角速率测量值不一致时,会产生此错误消息。
-* 此检查仅适用于具有多个 IMU 的板。
-* 检查由[COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR)参数控制。
+- 当来自不同 IMU 单元的角速率测量值不一致时,会产生此错误消息。
+- 此检查仅适用于具有多个 IMU 的板。
+- 检查由[COM_ARM_IMU_GYR](../advanced_config/parameter_reference.md#COM_ARM_IMU_GYR)参数控制。
#### PREFLIGHT FAIL: COMPASS SENSORS INCONSISTENT - CHECK CALIBRATION
-* This error message is produced when the difference in measurements from different compass sensors is too great.
-* It indicates bad calibration, orientation or magnetic interference.
-* This check only applies to when more than one compass/magnetometer is connected.
-* The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
+- This error message is produced when the difference in measurements from different compass sensors is too great.
+- It indicates bad calibration, orientation or magnetic interference.
+- This check only applies to when more than one compass/magnetometer is connected.
+- The check is controlled by the [COM_ARM_MAG_ANG](../advanced_config/parameter_reference.md#COM_ARM_MAG_ANG) parameter.
#### PREFLIGHT FAIL: EKF INTERNAL CHECKS
-* 如果水平 GPS 速度、偏航角、垂直 GPS 速度或者垂直位置传感器(气压计默认情况下可以使测距仪或 GPS ,如果使用非标准参数)其中之一新息过多,会产生此错误消息。 新息指的是惯性导航计算预测值与传感器测量值之间的差异。
-* 用户应检查日志文件中新息级别以确定原因。 这些可以在`ekf2_innovations`消息下找到。 常见问题 / 解决方案包括:
- * IMU 启动时漂移。 可以通过重启自驾仪来解决。 可能需要 IMU 加速度计和陀螺仪校准。
- * 相邻磁干扰在飞行器运动中。 通过等待或者重新上电解决。
- * 磁力计校准不良在飞行器运动中。。 通过重新校准解决。
- * 启动时的初始冲击或快速移动导致惯性导航失败。 通过重新启动飞行器并在前 5 秒内最大限度地减少移动来解决此问题。
-
+- 如果水平 GPS 速度、偏航角、垂直 GPS 速度或者垂直位置传感器(气压计默认情况下可以使测距仪或 GPS ,如果使用非标准参数)其中之一新息过多,会产生此错误消息。 新息指的是惯性导航计算预测值与传感器测量值之间的差异。
+- 用户应检查日志文件中新息级别以确定原因。 这些可以在`ekf2_innovations`消息下找到。 常见问题 / 解决方案包括:
+ - IMU 启动时漂移。 可以通过重启自驾仪来解决。 可能需要 IMU 加速度计和陀螺仪校准。
+ - 相邻磁干扰在飞行器运动中。 通过等待或者重新上电解决。
+ - 磁力计校准不良在飞行器运动中。。 通过重新校准解决。
+ - 启动时的初始冲击或快速移动导致惯性导航失败。 通过重新启动飞行器并在前 5 秒内最大限度地减少移动来解决此问题。
## 其他参数
@@ -112,6 +118,6 @@ The following parameters also affect preflight checks.
#### COM_ARM_WO_GPS
The [COM_ARM_WO_GPS](../advanced_config/parameter_reference.md#COM_ARM_WO_GPS) parameter controls whether or not arming is allowed without a global position estimate.
-- `1` (default): Arming *is* allowed without a position estimate for flight modes that do not require position information (only).
-- `0`:只有当 EKF 提供全球位置估计并且 EKF GPS 质量检查正在通过时,才允许解锁。
+- `1` (default): Arming _is_ allowed without a position estimate for flight modes that do not require position information (only).
+- `0`:只有当 EKF 提供全球位置估计并且 EKF GPS 质量检查正在通过时,才允许解锁。
diff --git a/zh/frames_autogyro/thunderfly_auto_g2.md b/zh/frames_autogyro/thunderfly_auto_g2.md
index f2005991b74a..d0eda14b596a 100644
--- a/zh/frames_autogyro/thunderfly_auto_g2.md
+++ b/zh/frames_autogyro/thunderfly_auto_g2.md
@@ -118,7 +118,7 @@ The whole part is glued, using a hot-melt adhesive, under the engine on the bott
## 视频:
-@https://youtu.be/YhXXSWz5wWs
+
## Photo gallery of changes
diff --git a/zh/frames_multicopter/dji_f450_cuav_5nano.md b/zh/frames_multicopter/dji_f450_cuav_5nano.md
index 159c12ec284d..5ab883970b3b 100644
--- a/zh/frames_multicopter/dji_f450_cuav_5nano.md
+++ b/zh/frames_multicopter/dji_f450_cuav_5nano.md
@@ -205,12 +205,12 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 视频
-@[youtube](https://youtu.be/b0bKNdDqVHw)
+
## Acknowledgments
diff --git a/zh/frames_multicopter/dji_f450_cuav_5plus.md b/zh/frames_multicopter/dji_f450_cuav_5plus.md
index 12ae9890d388..00aa1f8f82b6 100644
--- a/zh/frames_multicopter/dji_f450_cuav_5plus.md
+++ b/zh/frames_multicopter/dji_f450_cuav_5plus.md
@@ -203,11 +203,11 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 视频
-@[youtube](https://youtu.be/r-IkaVpN1Ko)
+
## Acknowledgments
diff --git a/zh/frames_multicopter/holybro_qav250_pixhawk4_mini.md b/zh/frames_multicopter/holybro_qav250_pixhawk4_mini.md
index 85b23b59f951..60366fdecd30 100644
--- a/zh/frames_multicopter/holybro_qav250_pixhawk4_mini.md
+++ b/zh/frames_multicopter/holybro_qav250_pixhawk4_mini.md
@@ -215,7 +215,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These may be good enough to fly with, but you should tune each frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/zh/frames_multicopter/holybro_s500_v2_pixhawk4.md b/zh/frames_multicopter/holybro_s500_v2_pixhawk4.md
index c03161b0a1a7..d0a6b1560609 100644
--- a/zh/frames_multicopter/holybro_s500_v2_pixhawk4.md
+++ b/zh/frames_multicopter/holybro_s500_v2_pixhawk4.md
@@ -292,7 +292,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/zh/frames_multicopter/holybro_x500V2_pixhawk5x.md b/zh/frames_multicopter/holybro_x500V2_pixhawk5x.md
index 087e2f9f788f..5a5b4bbbccd1 100644
--- a/zh/frames_multicopter/holybro_x500V2_pixhawk5x.md
+++ b/zh/frames_multicopter/holybro_x500V2_pixhawk5x.md
@@ -216,7 +216,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/zh/frames_multicopter/holybro_x500_pixhawk4.md b/zh/frames_multicopter/holybro_x500_pixhawk4.md
index e32da6b414ea..724baf047107 100644
--- a/zh/frames_multicopter/holybro_x500_pixhawk4.md
+++ b/zh/frames_multicopter/holybro_x500_pixhawk4.md
@@ -236,7 +236,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
## 调试
diff --git a/zh/frames_multicopter/holybro_x500v2_pixhawk6c.md b/zh/frames_multicopter/holybro_x500v2_pixhawk6c.md
index ffaed21b7227..45b136168dfe 100644
--- a/zh/frames_multicopter/holybro_x500v2_pixhawk6c.md
+++ b/zh/frames_multicopter/holybro_x500v2_pixhawk6c.md
@@ -49,7 +49,9 @@ This topic provides full instructions for building the [Holybro X500 V2 ARF Kit]
[![Assembly7](../../assets/airframes/multicopter/x500_v2_holybro_pixhawk6c/assembly7.png)](https://youtu.be/Qjs6pqarRIY)
-1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)### Landing Gear
+1. Use Socket Cap Screws M2.5*6 and screw the bottom plate on the 4 hangers (that we inserted in the 2 bars on the 3rd step of the payload holder assembly)
+
+### Landing Gear
1. To assemble the landing gear, loosen the pre-assembled screws of the Landing Gear-Cross Bar and insert the Landing Gear-Vertical Pole and fasten the same.
@@ -200,7 +202,7 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Auto-tune](../config/autotune.md).
+For instructions on how, start from [Auto-tune](../config/autotune_mc.md).
## Acknowledgements
diff --git a/zh/frames_multicopter/index.md b/zh/frames_multicopter/index.md
index baf232cc6111..426b4d078192 100644
--- a/zh/frames_multicopter/index.md
+++ b/zh/frames_multicopter/index.md
@@ -19,16 +19,16 @@ The linked sections instructions for assembling and configuring copter frames.
## 视频
-@[youtube](https://www.youtube.com/watch?v=LnUmYgAINBc&vq=hd720)
+
带距离传感器和RTK全球定位系统的大疆F450(Pixhawk 3 Pro)
-@[youtube](https://www.youtube.com/watch?v=JovSwzoTepU)
+
大疆Matrice 100 (Pixhawk 1)
-@[youtube](https://www.youtube.com/watch?v=3OGs0ONemGc)
+
QAV-R 5" KISS ESC Racer (Pixracer)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
diff --git a/zh/frames_multicopter/omnicopter.md b/zh/frames_multicopter/omnicopter.md
index 93f45a69791a..849ed4eb5b61 100644
--- a/zh/frames_multicopter/omnicopter.md
+++ b/zh/frames_multicopter/omnicopter.md
@@ -101,7 +101,7 @@ Make sure the motors do not overheat with the changed settings.
## Video
-@[youtube](https://www.youtube.com/watch?v=nsPkQYugfzs)
+
## Simulation
diff --git a/zh/frames_multicopter/qav_r_5_kiss_esc_racer.md b/zh/frames_multicopter/qav_r_5_kiss_esc_racer.md
index eb3e4acefa02..8ba37d1bcf5f 100644
--- a/zh/frames_multicopter/qav_r_5_kiss_esc_racer.md
+++ b/zh/frames_multicopter/qav_r_5_kiss_esc_racer.md
@@ -7,7 +7,7 @@ Key information:
- **Frame:** [Lumenier QAV-R 5"](http://www.getfpv.com/qav-r-fpv-racing-quadcopter-5.html)
- **Flight controller:** [Pixracer](../flight_controller/pixracer.md)
-@[youtube](https://youtu.be/wMYgqvsNEwQ)
+
![QAV Racer complete](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview.jpg) ![QAV Racer complete 2](../../assets/airframes/multicopter/qav_r_5_kiss_esc_racer/preview2.jpg)
@@ -43,7 +43,7 @@ These parts cover the sending side for standard FPV 5.8GHz analog FM video. You
I assembled the basic center plate and the arms like shown in this video between 09:25 and 13:26:
-@[youtube](https://youtu.be/7SIpJccXZjM)
+
I mounted the four motors to the frame with the cables coming out towards the center of the frame. I used two of the longer motor screws that come with the frame for each motor and put them in the two holes which are further apart.
@@ -241,4 +241,4 @@ Ideally you should also do:
Airframe selection sets *default* autopilot parameters for the frame. These are good enough to fly with, but it is a good idea to tune the parameters for a specific frame build.
-For instructions on how, start from [Autotune](../config/autotune.md).
+For instructions on how, start from [Autotune](../config/autotune_mc.md).
diff --git a/zh/frames_plane/index.md b/zh/frames_plane/index.md
index 5c5b2cd60c53..a2e2a47dbb5d 100644
--- a/zh/frames_plane/index.md
+++ b/zh/frames_plane/index.md
@@ -20,10 +20,17 @@ The linked sections instructions for assembling and configuring fixed-wing frame
## 视频
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
-@[youtube](https://www.youtube.com/watch?v=8m4_NpTQn0E&vq=hd720)
+
+
+---
+
+
+
+---
+
+
diff --git a/zh/frames_plane/reptile_dragon_2.md b/zh/frames_plane/reptile_dragon_2.md
index 2173b08b1783..c1353e728d65 100644
--- a/zh/frames_plane/reptile_dragon_2.md
+++ b/zh/frames_plane/reptile_dragon_2.md
@@ -334,7 +334,7 @@ You may need to modify some parameters for your build In particular you should c
You should enable Manual, Acro, and Position modes on your controller (at least for the first flight). For instructions see [Flight mode Configuration](../config/flight_mode.md)
-We also recommend configuring an [autotuning switch](../config/autotune.md#enable-disable-autotune-switch-fixed-wing) for the first flight, as this makes it easier to enable/disable autotuning while flying.
+We also recommend configuring an [autotuning switch](../config/autotune_fw.md#enable-disable-autotune-switch) for the first flight, as this makes it easier to enable/disable autotuning while flying.
The channel mappings for this build are included in the supplied [params file](#parameter-config). The channel order is throttle, roll, pitch, yaw, (blank), and flight mode
@@ -384,7 +384,7 @@ I recommend checking the following items:
I recommend performing the first takeoff in manual mode. Because this airplane has no landing gear, you will either need to throw the airplane yourself, or ideally have a helper throw it. When throwing any airplane, throw at a slightly nose up attitude with full throttle.
-It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune.md) to tune the airframe.
+It's critical to be ready to give aft stick input to prevent the airplane from impacting the ground if it happens to be trimmed nosedown. Once the airplane is successfully airborne, cruise up to an altitude of a few hundred feet and switch to [Acro mode](../flight_modes_fw/acro.md). This is a good time to use [Autotuning](../config/autotune_fw.md) to tune the airframe.
If the airplane is well behaved in _Acro mode_, switch to [Position mode](../flight_modes_fw/position.md).
@@ -404,4 +404,4 @@ Overall, this build was a success. The RD2 flies well in this configuration and
FPV video of flight log:
-@[youtube](https://www.youtube.com/watch?v=VqNWwIPWJb0&ab_channel=ChrisSeto)
+
diff --git a/zh/frames_plane/turbo_timber_evolution.md b/zh/frames_plane/turbo_timber_evolution.md
index f7a2e78ba583..e473239f2fac 100644
--- a/zh/frames_plane/turbo_timber_evolution.md
+++ b/zh/frames_plane/turbo_timber_evolution.md
@@ -153,7 +153,7 @@ The plastic case of the SIK telemetry radio was removed to reduce weight and dec
Overall, this build was a success.
-Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
+Even with the added weight of the Pixhawk 4 Mini installation, the airplane balances well and has plenty of power to retain its original STOL characterisitics. PX4 is easily capable of stabilizing the airplane and fine tuning of the rate loops were accomplished using [fixed-wing autotuning](../config/autotune_fw.md). The results of tuning can be found in the [parameter file linked below](#parameter-file).
In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I use full flaps on landing to slow the otherwise slippery airframe.
@@ -171,13 +171,17 @@ In testing I found takeoffs can be as short as only 10ft (3m) using no flaps. I
### Videos
-@[youtube](https://www.youtube.com/watch?v=vMFCi3G5s6E)
+
-@[youtube](https://youtu.be/1DUV7QjcXrA)
+---
+
+
### Flight Logs
-[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719) @[youtube](https://www.youtube.com/watch?v=6CqigySqyAQ&ab_channel=ChrisSeto)
+[Evening Flight (video of flight shown below)](https://review.px4.io/plot_app?log=d3f2c1f9-f802-48c1-ab5d-3983fc8b8719)
+
+
### Parameter File
diff --git a/zh/frames_plane/wing_wing_z84.md b/zh/frames_plane/wing_wing_z84.md
index e170f132693e..c9644865b297 100644
--- a/zh/frames_plane/wing_wing_z84.md
+++ b/zh/frames_plane/wing_wing_z84.md
@@ -79,6 +79,6 @@ Set up the [Actuator Configuration](../config/actuators.md) to match the wiring
### Other Configuration
-Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune.md).
+Perform all the the other [Basic Configuration](../config/index.md), including [Autotuning](../config/autotune_fw.md).
Advanced tuning is optional - see [Fixed-wing Vehicle Configuration](../config_fw/index.md).
diff --git a/zh/frames_rover/ackermann_rover.md b/zh/frames_rover/ackermann_rover.md
new file mode 100644
index 000000000000..4ac98b9a73a1
--- /dev/null
+++ b/zh/frames_rover/ackermann_rover.md
@@ -0,0 +1,170 @@
+# Ackermann Rover
+
+
+
+An _Ackermann rover_ controls its direction by pointing the front wheels in the direction of travel — the [Ackermann steering geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates.
+This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+![Axial Trail Honcho](../../assets/airframes/rover/rover_ackermann/axial_trail_honcho.png)
+
+:::info
+PX4 does not require that the vehicle uses the Ackermann geometry and will work with any front-steering rover.
+:::
+
+## Basic Setup
+
+To start using the ackermann rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Ackermann_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic ackermann rover'](../../assets/config/airframe/airframe_generic_rover_ackermann.png)
+
+ ::: warning
+ Do not use the _Generic Ground Vehicle (Ackermann)_ airframe as that will load the [(Deprecated) Rover Position Control](../frames_rover/rover_position_control.md) module.
+
+:::
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe is not displayed and you have checked that you are using rover firmware (not the default), you can alternatively enable this frame by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `51000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Drive modes](../flight_modes_rover/index.md)).
+
+:::info
+Many features of this module are disabled by default, and are only enabled by setting certain parameters.
+The [Tuning (basic)](#tuning-basic) section goes through the minimum setup required to start driving missions
+and the [Tuning (advanced)](#tuning-advanced) section outlines the remaining features and tuning variables of the module.
+:::
+
+## Tuning (Basic)
+
+To start driving missions navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---- |
+| [RA_WHEEL_BASE](../advanced_config/parameter_reference.md#RA_WHEEL_BASE) | Wheel-base of the rover which is measured from the back to the front wheel | m |
+| [RA_MAX_STR_ANG](../advanced_config/parameter_reference.md#RA_MAX_STR_ANG) | Maximum steering angle of the rover | deg |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default velocity the rover will drive during the mission | m/s |
+
+![Geometric parameters](../../assets/airframes/rover/rover_ackermann/geometric_parameters.png)
+
+This is enough to start driving missions, but depending on the rover might not yet lead to satisfactory performance .
+If that is the case further tuning is required which is outlined in [Mission parameters](#mission-parameters).
+
+## Tuning (Advanced)
+
+To get an overview of all parameters that are related to the Ackermann rover module navigate to the _Rover Ackermann_ group in the _Parameters_ section of QGroundControl.
+
+### General Parameters
+
+These parameters affect the general behaviour of the rover. This will influence both auto and manual modes.
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---- |
+| [RA_MAX_SPEED](../advanced_config/parameter_reference.md#RA_MAX_SPEED) | Speed the rover drives at maximum throttle | m/s |
+
+This is used for a feed-forward term on the speed controller in mission mode and necessary for the [acceleration slew rate](#slew-rates).
+
+#### Slew Rates
+
+Slew rates limit how fast the signal that is sent to the motors is allowed to change:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----- |
+| [RA_MAX_ACCEL](../advanced_config/parameter_reference.md#RA_MAX_ACCEL) | Limit on the acceleration of the rover | m/s^2 |
+| [RA_MAX_STR_RATE](../advanced_config/parameter_reference.md#RA_MAX_STR_RATE) | Limit on the steering rate | deg/s |
+
+:::warning
+The slew rates are not based on measurements but on assumed linear relation between the throttle input and [RA_MAX_SPEED](#RA_MAX_SPEED) or steering input and [RA_MAX_STR_ANG](#RA_MAX_STR_ANG) respectively.
+Therefore these two parameters have to be set for the slew rates to work!
+:::
+
+## Mission Parameters
+
+These parameters only affect vehicle in [Mission Mode](../flight_modes_rover/index.md#mission-mode).
+
+:::warning
+The parameters in [Tuning (basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Pure Pursuit Guidance Logic](../flight_modes_rover/index.md#pure-pursuit-guidance-logic) for the basic tuning process.
+
+:::info
+Increasing [PP_LOOKAHD_MIN](../advanced_config/parameter_reference.md#PP_LOOKAHD_MIN) can help to make the steering less aggressive at slow speeds.
+This can be useful especially if the [corner slow down effect](#corner-slow-down) is enabled.
+:::
+
+### Cornering Parameters
+
+#### Corner cutting
+
+The module employs a special cornering logic causing the rover to "cut corners" to achieve a smooth trajectory.
+This is done by scaling the acceptance radius based on the corner the rover has to drive (for geometric explanation see [Cornering logic](#mission-cornering-logic-info-only)).
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_comparison.png)
+
+The degree to which corner cutting is allowed can be tuned, or disabled, with the following parameters:
+
+| Parameter | Description | Unit |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---- |
+| [NAV_ACC_RAD](../advanced_config/parameter_reference.md#NAV_ACC_RAD) | Default acceptance radius | m |
+| [RA_ACC_RAD_MAX](../advanced_config/parameter_reference.md#RA_ACC_RAD_MAX) | Maximum radius the acceptance radius can be scaled to | m |
+| [RA_ACC_RAD_GAIN](../advanced_config/parameter_reference.md#RA_ACC_RAD_GAIN) | Tuning parameter | - |
+
+The tuning parameter is a multiplicand on the calculated ideal acceptance radius to account for dynamic effects.
+
+#### Corner slow down
+
+To smoothen the trajectory further and reduce the risk of the rover rolling over, the mission speed is reduced as the rover gets closer to a waypoint:
+
+- During cornering the rover drives at a speed that is equal to the the inverse of the acceptance radius (calculated using the [corner cutting logic](#corner-cutting)) multiplied with a tuning parameter called [RA_MISS_VEL_GAIN](#RA_MISS_VEL_GAIN).
+- In between waypoints (straight line) the rover speed is regulated such that it will arrive at the acceptance radius of the waypoint with the desired cornering speed.
+ This requires [RA_MAX_ACCEL](#RA_MAX_ACCEL) and [RA_MAX_JERK](#RA_MAX_JERK) to be set.
+
+The mission speed is constrained between a minimum allowed speed [RA_MISS_VEL_MIN](#RA_MISS_VEL_MIN) and the default mission speed [RA_MISS_VEL_DEF](#RA_MISS_VEL_DEF).
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
+| [RA_MISS_VEL_DEF](../advanced_config/parameter_reference.md#RA_MISS_VEL_DEF) | Default mission speed | $m/s$ |
+| [RA_MISS_VEL_MIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_MIN) | Minimum the speed can be reduced to during cornering | $m/s$ |
+| [RA_MISS_VEL_GAIN](../advanced_config/parameter_reference.md#RA_MISS_VEL_GAIN) | Tuning parameter for the velocity reduction | - |
+| [RA_MAX_JERK](../advanced_config/parameter_reference.md#RA_MAX_JERK) | Limit for forwards acc/deceleration change. | $m/s^3$ |
+
+### Mission Cornering Logic (Info only)
+
+To enable a smooth trajectory, the acceptance radius of waypoints is scaled based on the angle between a line segment from the current-to-previous and current-to-next waypoints.
+The ideal trajectory would be to arrive at the next line segment with the heading pointing towards the next waypoint.
+For this purpose the minimum turning circle of the rover is inscribed tangentially to both line segments.
+
+![Cornering Logic](../../assets/airframes/rover/rover_ackermann/cornering_logic.png)
+
+The acceptance radius of the waypoint is set to the distance from the waypoint to the tangential points between the circle and the line segments:
+
+$$
+\begin{align*}
+r_{min} &= \frac{L}{\sin\left( \delta_{max}\right) } \\
+\theta &= \frac{1}{2}\arccos\left( \frac{\vec{a}*\vec{b}}{|\vec{a}||\vec{b}|}\right) \\
+r_{acc} &= \frac{r_{min}}{\tan\left( \theta\right) }
+\end{align*}
+$$
+
+| Symbol | Description | Unit |
+| ----------------------------------- | ---------------------------------- | ---- |
+| $\vec{a}$ | Vector from current to previous WP | m |
+| $\vec{b}$ | Vector from current to next WP | m |
+| $r_{min}$ | Minimum turn radius | m |
+| $\delta_{max}$ | Maximum steer angle | m |
+| $r_{acc}$ | Acceptance radius | m |
+
+
diff --git a/zh/frames_rover/aion_r1.md b/zh/frames_rover/aion_r1.md
index a1f90422d637..621522acfc41 100644
--- a/zh/frames_rover/aion_r1.md
+++ b/zh/frames_rover/aion_r1.md
@@ -2,7 +2,7 @@
-The [Aion R1](https://www.aionrobotics.com/)vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
+The [Aion R1](https://www.aionrobotics.com/) vehicle was chosen to test and improve the differential drive support for PX4, and to improve driver support for Roboclaw Motor Controllers, such as the [RoboClaw 2x15A](https://www.basicmicro.com/RoboClaw-2x15A-Motor-Controller_p_10.html).
The documentation and driver information here should also make it easier to work with Roboclaw controllers on other vehicles, and to work with vehicles like the [Aion R6](https://www.aionrobotics.com/r6).
diff --git a/zh/frames_rover/differential_rover.md b/zh/frames_rover/differential_rover.md
new file mode 100644
index 000000000000..18ce21b88b9c
--- /dev/null
+++ b/zh/frames_rover/differential_rover.md
@@ -0,0 +1,116 @@
+# Differential-steering Rovers
+
+
+
+:::warning
+Support for rover is [experimental](../airframes/index.md#experimental-vehicles).
+Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
+:::
+
+A differential-steering rover's motion is controlled using a differential drive mechanism, where the left and right wheel speeds are adjusted independently to achieve the desired forward speed and yaw rate.
+
+Forward motion is achieved by driving both wheels at the same speed in the same direction.
+Rotation is achieved by driving the wheels at different speeds in opposite directions, allowing the rover to turn on the spot.
+
+![Aion R1](../../assets/airframes/rover/aion_r1/r1_rover_no_bg.png)
+
+## Basic Setup
+
+To start using the differential-steering rover:
+
+1. Enable the module by flashing the [PX4 rover build](../frames_rover/index.md#flashing-the-rover-build) onto your flight controller.
+
+2. In the [Airframe](../config/airframe.md) configuration select the _Generic Rover Differential_:
+
+ ![QGC screenshot showing selection of the airframe 'Generic Rover Differential'](../../assets/config/airframe/airframe_generic_rover_differential.png)
+
+ Select the **Apply and Restart** button.
+
+ ::: info
+ If this airframe does not show up in the UI, it can alternatively be selected by setting the [SYS_AUTOSTART](../advanced_config/parameter_reference.md#SYS_AUTOSTART) parameter to `50000`.
+
+:::
+
+3. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the motor functions to flight controller outputs.
+
+This is sufficient to drive the the rover in [manual mode](../flight_modes_rover/index.md#manual-mode) (see [Flight modes](../flight_modes_rover/index.md)).
+
+:::info
+The parameter [RD_MAN_YAW_SCALE](../advanced_config/parameter_reference.md#RD_MAN_YAW_SCALE) can be used to scale the manual input for the yaw rate.
+:::
+
+## Tuning (Basic)
+
+This section goes through the basic parameters that need to be set to use all other features for the differential-steering rover.
+Navigate to [Parameters](../advanced_config/parameters.md) in QGroundControl and set the following parameters:
+
+1. [RD_WHEEL_TRACK](../advanced_config/parameter_reference.md#RD_WHEEL_TRACK) [m]: Measure the distance from the center of the right wheel to the center of the left wheel.
+
+ ![Wheel track](../../assets/airframes/rover/rover_differential/wheel_track.png)
+
+2. [RD_MAX_SPEED](../advanced_config/parameter_reference.md#RD_MAX_SPEED) [m/s]: In manual mode, drive the rover with full throttle and enter the observed speed as the parameter.
+
+3. [RD_MAX_YAW_RATE](../advanced_config/parameter_reference.md#RD_MAX_YAW_RATE) [deg/s]: This is the maximum yaw rate you want to allow for your rover.
+ This will define the stick-to-yaw-rate mapping in acro mode as well as setting an upper limit for the yaw rate in mission mode.
+
+4. [RD_YAW_RATE_P](../advanced_config/parameter_reference.md#RD_YAW_RATE_P) and [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) [-]: Tuning parameters for the closed-loop yaw rate controller.
+
+ ::: info
+ This can be tuned by setting all previous parameters and then setting the rover to _acro mode_.
+ Use the right stick to yaw the rover on the spot and then observe the desired and actual yaw rate in the flight log.
+ Change parameters and iterate.
+
+ Suggestion: Start the tuning process with [RD_YAW_RATE_I](../advanced_config/parameter_reference.md#RD_YAW_RATE_I) equal to zero and only set if necessary.
+
+:::
+
+This is enough to start using the rover in acro mode.
+To start driving mission the parameters in [Tuning (Mission)](#tuning-mission) also must be set.
+
+## Tuning (Mission)
+
+:::warning
+The parameters in [Tuning (Basic)](#tuning-basic) must also be set to drive missions!
+:::
+
+The module uses a control algorithm called pure pursuit, see [Mission Mode](../flight_modes_rover/index.md#mission-mode) for the basic tuning process.
+The additional parameters are separated into the following sections:
+
+### Mission Velocity
+
+These parameters tune velocity control in missions:
+
+- [RD_MISS_SPD_DEF](#RD_MISS_SPD_DEF): Sets the default velocity ($m/s$) for the rover during the mission.
+- [RD_MAX_ACCEL](#RD_MAX_ACCEL) ($m/s^2$) and [RD_MAX_JERK](#RD_MAX_JERK) ($m/s^3$) are used to calculate a velocity trajectory such that the rover comes to a smooth stop as it reaches a waypoint.
+- [RD_SPEED_P](#RD_SPEED_P) and [RD_SPEED_I](#RD_SPEED_I) are used to tune the closed-loop velocity controller during missions.
+
+### Yaw Rate
+
+The yaw rate setpoint is calculated by using the heading error calculated by the pure pursuit algorithm for a PID controller that can be tuned with [RD_HEADING_P](#RD_HEADING_P) and [RD_HEADING_I](#RD_HEADING_I).
+
+:::info
+There is some degree of overlap between this tuning and the pure pursuit controller gain set in [Mission Mode](../flight_modes_rover/index.md#mission-mode) as they both have an influence on how aggressive the rover will steer.
+:::
+
+### State Machine
+
+The module employs the following state machine to make full use of a differential-steering rovers ability to turn on the spot:
+![Differential state machine](../../assets/airframes/rover/rover_differential/differential_state_machine.png)
+
+These transition thresholds can be set with [RD_TRANS_DRV_TRN](#RD_TRANS_DRV_TRN) and [RD_TRANS_TRN_DRV](#RD_TRANS_TRN_DRV).
+
+### Parameters
+
+The following parameters affect the differential-steering rover in mission mode (overview):
+
+| Parameter | Description | Unit |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- |
+| [RD_MISS_SPD_DEF](../advanced_config/parameter_reference.md#RD_MISS_SPD_DEF) | Mission speed for the rover | $m/s$ |
+| [RD_MAX_ACCEL](../advanced_config/parameter_reference.md#RD_MAX_ACCEL) | Maximum acceleration for the rover | $m/s^2$ |
+| [RD_MAX_JERK](../advanced_config/parameter_reference.md#RD_MAX_JERK) | Maximum jerk for the rover | $m/s^3$ |
+| [RD_SPEED_P](../advanced_config/parameter_reference.md#RD_SPEED_P) | Proportional gain for speed controller | - |
+| [RD_SPEED_I](../advanced_config/parameter_reference.md#RD_SPEED_I) | Integral gain for speed controller | * |
+| [RD_HEADING_P](../advanced_config/parameter_reference.md#RD_HEADING_P) | Proportional gain for heading controller | - |
+| [RD_HEADING_I](../advanced_config/parameter_reference.md#RD_HEADING_I) | Integral gain for heading controller | * |
+| [RD_TRANS_DRV_TRN](../advanced_config/parameter_reference.md#RD_TRANS_DRV_TRN) | Heading error threshold to switch from driving to spot turning | deg |
+| [RD_TRANS_TRN_DRV](../advanced_config/parameter_reference.md#RD_TRANS_TRN_DRV) | Heading error threshold to switch from spot turning to driving | deg |
diff --git a/zh/frames_rover/index.md b/zh/frames_rover/index.md
index 763d4d456289..21af0009e8ca 100644
--- a/zh/frames_rover/index.md
+++ b/zh/frames_rover/index.md
@@ -1,4 +1,4 @@
-# Rovers (UGVs)
+# Rovers
@@ -6,54 +6,44 @@
Support for rover is [experimental](../airframes/index.md#experimental-vehicles). Maintainer volunteers, [contribution](../contribute/index.md) of new features, new frame configurations, or other improvements would all be very welcome!
:::
-PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+![Rovers](../../assets/airframes/rover/rovers.png)
-This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+PX4 supports the following rover types:
-![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+- [**Differential steering**](../frames_rover/differential_rover.md): direction is controlled by moving the left- and right-side wheels at different speeds (also know as skid or tank steering). This kind of steering is commonly used on bulldozers, tanks, and other tracked vehicles.
+- [**Ackermann steering**](../frames_rover/ackermann_rover.md): direction is controlled by pointing wheels in the direction of travel. This kind of steering is used on most commercial vehicles, including cars, trucks etc.
-## Rover Types
+The supported flight modes can be seen in [Flight modes](../flight_modes_rover/index.md#) and the supported frames in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
-PX4 supports rovers with:
+## Flashing the rover build
-- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
-- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+Rovers use a custom build that must be flashed onto your flight controller instead of the default PX4 build:
-The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover).
+1. First build the rover firmware for your flight controller from the `main` branch (there is no release build, so you can't just select this build from QGroundControl).
-## How to Configure a Rover
+ To build for rover with the `make` command, replace the `_default` suffix with `_rover`. For example, to build rover for px4_fmu-v6x boards, you would use the command:
-### Ackermann Steering Configuration
+ ```sh
+ make px4_fmu-v6x_rover
+ ```
-Setting up a rover with Ackermann steering is straightforward:
+ ::: info You can also enable the modules in default builds by adding the respective line to your [board configuration](../hardware/porting_guide_config.md) (e.g. for fmu-v6x you might add one of these lines to [`main/boards/px4/fmu-v6x/default.px4board`](https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/default.px4board)):
-1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle_.
+ ```sh
+ CONFIG_MODULES_ROVER_DIFFERENTIAL=y
+ CONFIG_MODULES_ROVER_ACKERMANN=y
+ ```
- ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
-
- Select the **Apply and Restart** button.
-
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
-
-### Differential Steering Configuration
-
-1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX_
-
- ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
-
-Select the **Apply and Restart** button.
+ Note that adding the rover module may lead to flash overflow, in which case you will need to disable modules that you do not plan to use (such as those related to multicopter or fixed wing).
+:::
-1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+2. Load the **custom firmware** that you just built onto your flight controller (see [Loading Firmware > Installing PX4 Main, Beta or Custom Firmware](../config/firmware.md#installing-px4-main-beta-or-custom-firmware)).
## Simulation
-[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
-
-- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
-- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
-
-## 视频
+[Gazebo](../sim_gazebo_gz/index.md) provides simulations for both types of steering:
-This video shows the [Traxxas Stampede Rover](../frames_rover/traxxas_stampede.md) (an Ackermann vehicle).
+- [Differential-steering rover](../sim_gazebo_gz/vehicles.md#differential-rover)
+- [Ackermann rover](../sim_gazebo_gz/vehicles.md#ackermann-rover)
-@[youtube](https://youtu.be/N3HvSKS3nCw)
+![Rover gazebo simulation](../../assets/airframes/rover/rover_simulation.png)
\ No newline at end of file
diff --git a/zh/frames_rover/rover_position_control.md b/zh/frames_rover/rover_position_control.md
new file mode 100644
index 000000000000..ab941493719f
--- /dev/null
+++ b/zh/frames_rover/rover_position_control.md
@@ -0,0 +1,178 @@
+# (Deprecated) Rover Position Control
+
+
+
+:::warning
+This information applies to the original generic rover module that was derived from the fixed wing controller.
+It has been replaced with new modules for [Ackermann](../frames_rover/ackermann_rover.md) and [Differential-steering](../frames_rover/differential_rover.md) rovers.
+This module is no longer supported and will receive no updates.
+:::
+
+PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with [ackermann and differential](#rover-types) steering.
+
+This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
+
+![Traxxas Rover Picture](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+## Rover Types
+
+PX4 supports rovers with:
+
+- **Differential steering**: direction is controlled by moving the left- and right-side wheels at different speeds.
+
+ This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
+
+- **Ackermann steering**: direction is controlled by pointing wheels in the direction of travel ([ackermann geometry](https://en.wikipedia.org/wiki/Ackermann_steering_geometry) compensates for the fact that wheels on the inside and outside of the turn move at different rates).
+ This kind of steering is used on most commercial vehicles, including cars, trucks etc.
+
+The supported frames can be seen in [Airframes Reference > Rover](../airframes/airframe_reference.md#rover): these are the frames like _Generic Ground Vehicle (Deprecated)_ that include "(Deprecated)" in their name.
+
+## How to Configure a Rover
+
+### Ackermann Steering Configuration
+
+Setting up a rover with Ackermann steering is straightforward:
+
+1. In the [Airframe](../config/airframe.md) configuration, select the _Generic Ground Vehicle (Deprecated)_.
+
+ ![Select Ackermann steered airframe](../../assets/config/airframe/airframe_rover_ackermann.png)
+
+ Select the **Apply and Restart** button.
+
+2. Open the [Actuators Configuration & Testing](../config/actuators.md) to map the steering and throttle functions to flight controller outputs.
+
+### Differential Steering Configuration
+
+1. In the [Airframe](../config/airframe.md) configuration, select either the _Aion Robotics R1 UGV_ or _NXP Cup car: DF Robot GPX (Deprecated)_
+
+ ![Select Differential steered airframe](../../assets/config/airframe/airframe_rover_aion.png)
+
+Select the **Apply and Restart** button.
+
+1. Open the [Actuators Configuration & Testing](../config/actuators.md) and map the left and right motor functions to flight controller outputs.
+
+## Simulation
+
+[Gazebo Classic](../sim_gazebo_classic/index.md) provides simulations for both types of steering:
+
+- Ackermann: [ackermann rover](../sim_gazebo_classic/vehicles.md#ackermann-ugv)
+- Differential: [r1 rover](../sim_gazebo_classic/vehicles.md#differential-ugv)
+
+## Drive Modes (Rover)
+
+Flight modes (or more accurately "Drive modes" for ground vehicles) provide autopilot support to make it easier to manually drive the vehicle, to execute autonomous missions, or to defer control to an external system.
+
+PX4 ground vehicles using the deprecated rover position control module only support [manual mode](#manual-mode), [mission mode](#mission-mode) and [offboard mode](#offboard-mode) (other modes may be offered in a ground station, but these all behave just like manual mode).
+
+### Manual Mode
+
+_Manual mode_ is the only manual mode for ground vehicles on PX4, and requires a manual controller (RC controller, gamepad, joystick etc.).
+
+In this mode, motors are stopped when RC control sticks are centered.
+To move the vehicle you move the sticks outside of the center.
+
+As soon as you release the control sticks they will return to the center deadzone.
+This will turn off the motors and center the wheels.
+There is no active braking, so the vehicle may continue to move until its momentum dissipates.
+
+### Mission Mode
+
+_Mission mode_ is an automatic mode that causes the vehicle to execute a predefined autonomous [mission](../flying/missions.md) plan that has been uploaded to the flight controller.
+The mission is typically created and uploaded with a Ground Control Station (GCS) application, such as [QGroundControl](https://docs.qgroundcontrol.com/master/en/).
+
+### Offboard Mode
+
+[Offboard mode](../flight_modes/offboard.md) causes the vehicle to obey position, velocity, or attitude, setpoints provided over MAVLink.
+Not all setpoint types make sense for a ground vehicle, or are supported.
+
+:::info
+This mode is intended for vehicle control from companion computers and ground stations!
+:::
+
+## Further Information
+
+- [Basic Configuration > Flight Modes](../config/flight_mode.md) - How to map RC control switches to specific flight modes
+- [Flight Modes (Multicopter)](../flight_modes_mc/index.md)
+- [Flight Modes (Fixed-wing)](../flight_modes_fw/index.md)
+- [Flight Modes (VTOL)](../flight_modes_vtol/index.md)
+
+## Traxxas Stampede VXL
+
+This vehicle was chosen to understand how a Pixhawk could be used for wheeled platforms.
+We chose to use a Traxxas vehicle as they are very popular and it is a very strong brand in the RC community.
+The idea was to develop a platform that allows for easy control of wheeled UGVs with an autopilot.
+
+![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
+
+### Parts List
+
+- [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) All of this is used except for the top plastic cover.
+- [Pixhawk Mini (Discontinued)](../flight_controller/pixhawk_mini.md)
+ - 3DR 10S Power Module
+ - 3DR 433MHz Telemetry Module (EU)
+- [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) or other PX4-compatible remotes
+- [Spektrum Quad Race Serial Receiver w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
+- [PX4Flow](../sensor/px4flow.md) (Deprecated)
+
+### Assembly
+
+The assembly consists of a wooden frame on which all the autopilot parts were attached.
+Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
+
+![Stampede Chassis](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
+
+![Wooden Panel Top](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
+
+![Wooden Panel Bottom](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
+
+![Traxxas Stampede Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
+
+![Side View Final Assembly](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
+
+![Wodden panel fixture](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
+
+For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.
+For this, two supports were 3D printed.
+The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
+
+:::warning
+It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
+:::
+
+### Output Connections
+
+| PWM Output | Actuator |
+| ---------- | --------------------------------------- |
+| MAIN2 | Steering servo |
+| MAIN4 | Throttle (ESC input) |
+
+### Configuration
+
+Rovers are configured using _QGroundControl_ in the same way as any other vehicle.
+
+The main rover-specific configuration is setting the correct frame:
+
+1. Switch to the [Basic Configuration](../config/index.md) section in _QGroundControl_
+2. Select the [Airframe](../config/airframe.md) tab.
+3. Scroll down the list to find the **Rover** icon.
+4. Choose **Traxxas stampede vxl 2wd** from the drop down list.
+
+![Select Airframe](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
+
+### Usage
+
+At the current time, PX4 only supports Mission and Manual modes when a RC remote is connected.
+To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
+
+:::warning
+It is very important to do a mission composed \*only\*\* of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of \*\*every\*\* waypoint to 0 for correct execution.
+Failing to do so will cause the rover to continuously spin around a waypoint.
+:::
+
+A correct mission setup looks as follows:
+
+![mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
+
+## Video
+
+
diff --git a/zh/frames_rover/traxxas_stampede.md b/zh/frames_rover/traxxas_stampede.md
deleted file mode 100644
index 1f34c09cd792..000000000000
--- a/zh/frames_rover/traxxas_stampede.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Traxxas Stampede VXL
-
-选择这辆车是为了了解Pixhawk如何能够用于轮式平台。 我们选择使用 Traxxas 车辆,因为它们非常受欢迎,是遥控车社区中一个非常强大的品牌。 其目的是建立一个平台,便于使用自动驾驶器控制轮式UGV。
-
-![Traxxas Stampede VXL](../../assets/airframes/rover/traxxas_stampede_vxl/stampede.jpg)
-
-## 配件列表
-
-* [Traxxas Stampede](https://traxxas.com/products/models/electric/stampede-vxl-tsm) 除了顶部塑料封面外,其余部分都被使用。
-* [Pixhawk Mini (停产)](../flight_controller/pixhawk_mini.md)
- * 3DR 10S 电源模块
- * 3DR 433MHz Telemetry Module (EU)
-* [Spektrum Dxe Controller](http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM1000) 或其他 PX4 兼容的遥控器
-* [Spektrum Quad Race 系列接收机 w/Diversity](http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM4648)
-* [PX4Flow](../sensor/px4flow.md) (Deprecated)
-
-
-## 组装
-
-组装体由一个木质框组成,上面安装所有的自驾仪部件。 测试显示,应使用良好的减震装置,尤其是对于Pixhawk飞控和光流模块。
-
-![底盘](../../assets/airframes/rover/traxxas_stampede_vxl/stampede_chassis.jpg)
-
-![木质面板顶部](../../assets/airframes/rover/traxxas_stampede_vxl/panel_top.jpg)
-
-![木制面板底部](../../assets/airframes/rover/traxxas_stampede_vxl/panel_bottom.jpg)
-
-![整体图](../../assets/airframes/rover/traxxas_stampede_vxl/final_assembly.jpg)
-
-![侧视图](../../assets/airframes/rover/traxxas_stampede_vxl/final_side.jpg)
-
-![木板](../../assets/airframes/rover/traxxas_stampede_vxl/mounting_detail.jpg)
-
-对于这个特定的安装,我们选择使用由小车提供的架子来连接上覆板。 为此,使用3D打印了两个支架。 The CAD files are provided [here](https://github.com/PX4/PX4-user_guide/raw/main/assets/airframes/rover/traxxas_stampede_vxl/plane_holders.zip).
-
-:::warning
-It is **HIGHLY RECOMMENDED** to set the ESC in training mode (see Traxxas Stampede Manual), which reduces power to 50%.
-:::
-
-## 输出接口
-
-| PWM 输出 | 执行器 |
-| ------ | ---------- |
-| MAIN2 | 转向马达/舵机 |
-| MAIN4 | 油门 (ESC输入) |
-
-::: info As documented in the Airframe Reference: [Generic ground vehicle (Ackermann)](../airframes/airframe_reference.md#rover_rover_generic_ground_vehicle_(ackermann)).
-:::
-
-## 配置
-
-Rovers are configured using *QGroundControl* in the same way as any other vehicle.
-
-主要的跟小车相关的配置是要设置正确的机架类型:
-1. Switch to the [Basic Configuration](../config/index.md) section in *QGroundControl*
-1. 选择 [Airframe](../config/airframe.md) 选项卡。
-1. Scroll down the list to find the **Rover** icon.
-1. Choose **Traxxas stampede vxl 2wd** from the drop down list.
-
-![选择机架](../../assets/airframes/rover/traxxas_stampede_vxl/airframe_px4_rover_traxxas_stampede_vxl_2wd.jpg)
-
-
-## 用法
-
-目前,当ESC遥控器时,PX4只支持 [MISSION](../flight_modes/mission.md) 和MANUAL 模式。 要使用任务模式,请先通过QGC上传一个新任务。 然后,在ARMING之前,选择 `MISSION` 然后再选择ARM。
-
-:::warning
-It is very important to do a mission composed *only** of normal waypoints (i.e. no takeoff waypoints etc.) and it is crucial to set the waypoint height of **every** waypoint to 0 for correct execution. 如果不这样做,驾驶员就会继续在航点周围旋转。
-:::
-
-正确的任务设置如下:
-
-![任务 Mission](../../assets/airframes/rover/traxxas_stampede_vxl/correct_mission.jpg)
-
-
-## 视频
-
-
diff --git a/zh/frames_sub/bluerov2.md b/zh/frames_sub/bluerov2.md
index bbb2d18d2e86..25d37f2568b4 100644
--- a/zh/frames_sub/bluerov2.md
+++ b/zh/frames_sub/bluerov2.md
@@ -40,6 +40,6 @@ BlueROV2 does not come with PX4 installed. You will need to:
## Video
-@[youtube](https://www.youtube.com/watch?v=1sUaURmlmT8)
+
diff --git a/zh/frames_sub/index.md b/zh/frames_sub/index.md
index 6b73e7cabe7d..74c11dd1acf4 100644
--- a/zh/frames_sub/index.md
+++ b/zh/frames_sub/index.md
@@ -30,6 +30,8 @@ This section lists fully assembled vehicles where you can update the software to
## Videos
-@[youtube](https://youtu.be/1sUaURmlmT8)
+
-@[youtube](https://youtu.be/xSXSoUK-iBM)
+---
+
+
diff --git a/zh/frames_vtol/index.md b/zh/frames_vtol/index.md
index 4f6e6b3bee4d..56e91484ee5c 100644
--- a/zh/frames_vtol/index.md
+++ b/zh/frames_vtol/index.md
@@ -113,7 +113,7 @@ VTOL configuration is covered in a number of sections:
VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
-@[youtube](https://youtu.be/37BIBAzD6fE)
+
@@ -121,28 +121,28 @@ VTOL Control & Airspeed Fault Detection (PX4 Developer Summit 2019)
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/)
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md)
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
### Tiltrotor
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
### QuadPlane VTOL
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/zh/frames_vtol/standardvtol.md b/zh/frames_vtol/standardvtol.md
index 23de19134518..f6fab32ad4ea 100644
--- a/zh/frames_vtol/standardvtol.md
+++ b/zh/frames_vtol/standardvtol.md
@@ -16,14 +16,12 @@ This section contains videos that are specific to Standard VTOL (videos that app
[FunCub QuadPlane](../frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=4K8yaa6A0ks&vq=hd720)
-
+
[Falcon Vertigo QuadPlane](../frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md)
-@[youtube](https://youtu.be/h7OHTigtU0s)
-
+
[Ranger QuadPlane](../frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md)
-@[youtube](https://www.youtube.com/watch?v=7tGXkW6d3sA&vq=hd720)
+
diff --git a/zh/frames_vtol/tailsitter.md b/zh/frames_vtol/tailsitter.md
index 71eefa11dd84..dc4c784df662 100644
--- a/zh/frames_vtol/tailsitter.md
+++ b/zh/frames_vtol/tailsitter.md
@@ -62,7 +62,7 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
[TBS Caipiroshka](../frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md) - Tailsitter takeoff (close up), hover, level flight, transitions.
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
---
@@ -71,18 +71,14 @@ This section contains videos that are specific to Tailsitter VTOL (videos that a
-@[youtube](https://youtu.be/gjHj6YsxcZk)
+
### Quad
-
-
[UAV Works VALAQ Patrol Tailsitter](https://www.valaqpatrol.com/valaq_patrol_technical_data/) - Tailsitter takeoff, transition, landing.
-@[youtube](https://youtu.be/pWt6uoqpPIw)
+
+
## Gallery
diff --git a/zh/frames_vtol/tiltrotor.md b/zh/frames_vtol/tiltrotor.md
index 1d07a55451c7..91282554f0da 100644
--- a/zh/frames_vtol/tiltrotor.md
+++ b/zh/frames_vtol/tiltrotor.md
@@ -11,4 +11,4 @@ This section contains videos that are specific to Tiltrotor VTOL (videos that ap
[Convergence Tiltrotor](../frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md) [OMP Hobby ZMO FPV](../frames_vtol/vtol_tiltrotor_omp_hobby_zmo_fpv.md)
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
diff --git a/zh/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md b/zh/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
index 62dd2d78bc69..af95bb301b60 100644
--- a/zh/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
+++ b/zh/frames_vtol/vtol_quadplane_falcon_vertigo_hybrid_rtf_dropix.md
@@ -286,7 +286,7 @@ After you finish calibration the VTOL is ready to fly.
## 视频
-@[youtube](https://youtu.be/h7OHTigtU0s)
+
## 技术支持
diff --git a/zh/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md b/zh/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
index 4247560a10c4..6856ddb91222 100644
--- a/zh/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
+++ b/zh/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.md
@@ -71,8 +71,7 @@ After you finish calibration the VTOL is ready to fly.
## 视频
-@[youtube](https://youtu.be/4K8yaa6A0ks)
-
+
## 技术支持
diff --git a/zh/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md b/zh/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
index bd2b1f3d04af..dc541580c16f 100644
--- a/zh/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
+++ b/zh/frames_vtol/vtol_quadplane_volantex_ranger_ex_pixhawk.md
@@ -50,14 +50,10 @@ The tools required for the conversion are;
## Wing conversion
-A full build log is provided in the following video.
-
::: info
Please note that the conversion in this build log is performed on a wing that shows damage from a previous conversion.
:::
-@[youtube](https://youtu.be/l_ppJ_HhAUQ)
-
Cut both 800mm square carbon tubes to a length of 570mm and 230mm.
Making a slot in the Styrofoam wing 1.5cm deep using a rotary tool with some form of guidance to keep a fixed depth. The slot should be the length, depth and width of one 230mm square carbon tube. It should be located as indicated below.
diff --git a/zh/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md b/zh/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
index 14410320c135..740c2b970741 100644
--- a/zh/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
+++ b/zh/frames_vtol/vtol_tailsitter_caipiroshka_pixracer.md
@@ -5,7 +5,7 @@ The Caipiroshka VTOL is a slightly modified *TBS Caipirinha*.
::: info The *TBS Caipirinha* has been superseded and is no longer available. These instructions *should* work with the updated vehicle: [TBS Caipirinha 2](https://team-blacksheep.com/products/prod:tbs_caipi2_pnp). A number of other components have been updated in the parts list too.
:::
-@[youtube](https://www.youtube.com/watch?v=acG0aTuf3f8&vq=hd720)
+
## 配件列表
diff --git a/zh/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md b/zh/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
index 3da97dac9087..35e9a21a7c82 100644
--- a/zh/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
+++ b/zh/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.md
@@ -4,7 +4,7 @@ The [E-Flite Convergence](https://youtu.be/HNedXQ_jhYo) can easily be converted
::: info The original Horizon Hobby *E-Flite Convergence* frame and [Pixfalcon](../flight_controller/pixfalcon.md) have been discontinued. Alternatives are provided in the [Purchase](#where-to-buy) section. :::
-@[youtube](https://youtu.be/E61P2f2WPNU)
+
## Where to Buy
diff --git a/zh/getting_started/index.md b/zh/getting_started/index.md
deleted file mode 100644
index b9fed8b9f3c1..000000000000
--- a/zh/getting_started/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# 开始使用 PX4 自动驾驶仪
-
-本节概述了您需要了解的基本概念,以便使用PX4 组装和控制无人飞机。
-
-[Basic Concepts](../getting_started/px4_basic_concepts.md) — Overview of Drones, PX4, Drone Hardware, Payloads, Ground Stations, Radio Control systems.
-
-[飞行报告](../getting_started/flight_reporting.md) — 下载详细的飞行日志用于调试分析。
diff --git a/zh/getting_started/px4_basic_concepts.md b/zh/getting_started/px4_basic_concepts.md
index e9451754bfe0..e170694cd2d9 100644
--- a/zh/getting_started/px4_basic_concepts.md
+++ b/zh/getting_started/px4_basic_concepts.md
@@ -96,11 +96,18 @@ For more information see: [Flight Controller Selection](flight_controller_select
PX4 uses sensors to determine vehicle state, which it needs in order to stablise the vehicle and enable autonomous control. The vehicle states include: position/altitude, heading, speed, airspeed, orientation (attitude), rates of rotation in different axes, battery level, and so on.
-PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes. Fixed-wing and VTOL-vehicles should additionally include an [airspeed sensor](../sensor/airspeed.md) (highly recommended).
+PX4 _minimally requires_ a [gyroscope](../sensor/gyroscope.md), [accelerometer](../sensor/accelerometer.md), [magnetometer](../gps_compass/magnetometer.md) (compass) and [barometer](../sensor/barometer.md). This minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms).
-The minimal set of sensors is incorporated into [Pixhawk Series](../flight_controller/pixhawk_series.md) flight controllers (and may also be in other controller platforms). Additional/external sensors can be attached to the controller.
+Additional/external sensors can be attached to the controller. The following sensors are recommended:
-For more information see: [Sensor Hardware & Setup](../sensor/index.md)
+- A [GNSS/GPS](../gps_compass/index.md) or other source of global position is needed to enable all automatic modes, and some manual/assisted modes.
+
+ Typically a module that combines a GNSS and Compass is used, as an external compass can be made less susceptible to electromomagnetic interference than the internal compass in the flight controller.
+- [Airspeed sensors](../sensor/airspeed.md) are highly recommended for fixed-wing and VTOL-vehicles.
+- [Distance Sensors \(Rangefinders\)](../sensor/rangefinders.md) are highly recommended for all vehicle types, as they allow smoother and more robust landings, and enable features such as terrain following on multicopters.
+- [Optical Flow Sensors](../sensor/optical_flow.md) can be used with distance sensors on multcopters and VTOL to support navigation in GNSS-denied environments.
+
+For more information about sensors see: [Sensor Hardware & Setup](../sensor/index.md).
### 输出:电机,舵机,执行器
@@ -231,7 +238,7 @@ A vehicle is said to be _armed_ when all motors and actuators are powered, and _
Armed vehicles can be dangerous as propellors will be spinning.
:::
-Arming is triggered by default (on Mode 2 transmitters) by holding the RC throttle/yaw stick on the _bottom right_ for one second (to disarm, hold stick on bottom left). 还可以使用遥控上的按钮来配置 PX4 解锁(也可以从地面站发送MAVLink解锁命令)。
+Arming and disarming are triggered by default using RC stick _gestures_. On Mode 2 transmitters you arm by holding the RC throttle/yaw stick on the _bottom right_ for one second, and to disarm you hold the stick on bottom left for one second. 还可以使用遥控上的按钮来配置 PX4 解锁(也可以从地面站发送MAVLink解锁命令)。
To reduce accidents, vehicles should be armed as little as possible when the vehicle is on the ground. By default, vehicles are:
@@ -241,6 +248,7 @@ To reduce accidents, vehicles should be armed as little as possible when the veh
- 载具如果不是在“健康”状态,则会解锁不通过。
- Arming is prevented if the vehicle has a [safety switch](#safety-switch) that has not been engaged.
- 如果VTOL飞行器处于固定翼飞机模式,则阻止解锁([默认情况下](../advanced_config/parameter_reference.md#CBRK_VTOLARMING))。
+- Arming may be prevented due to a number of other optional [arming pre-condition settings](../config/safety.md#arming-pre-conditions), such as low battery.
When prearmed you can still use actuators, while disarming unpowers everything. Prearmed and disarmed should both be safe, and a particular vehicle may support either or both.
diff --git a/zh/getting_started/tunes.md b/zh/getting_started/tunes.md
index 78aae04e994b..1d5cd556f67b 100644
--- a/zh/getting_started/tunes.md
+++ b/zh/getting_started/tunes.md
@@ -180,7 +180,7 @@ Your browser does not support the audio element.
-- Low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### 电量消耗过快警告
@@ -190,7 +190,7 @@ Your browser does not support the audio element.
-- Critical low battery warning ([failsafe](../config/safety.md#low-battery-failsafe)).
+- Critical low battery warning ([failsafe](../config/safety.md#battery-level-failsafe)).
#### GPS信号弱警告
diff --git a/zh/getting_started/vehicle_status.md b/zh/getting_started/vehicle_status.md
index e6efc73812dc..5f291eb67625 100644
--- a/zh/getting_started/vehicle_status.md
+++ b/zh/getting_started/vehicle_status.md
@@ -2,10 +2,10 @@
PX4提供基于机载视觉(LED)和声音(蜂鸣器)的高级飞行状态和飞行准备提示。 例如,这些提示表明飞行器是否正确校准,是否有SD卡,是否有位置锁定,是否可以安全起飞,是否解锁,是否可以起飞等。
-此外,PX4在地面站的起飞前检查中提供更详细的关于起飞准备的信息。
+In addition, PX4 provides more fine-grained information about readiness to fly in QGroundControl.
-LED,蜂鸣器声音和GCS提示如下:
+The LED, tune, and GCS notifications are linked below:
* [LED含义](../getting_started/led_meanings.md)
* [蜂鸣器声音含义](../getting_started/tunes.md)
-* [飞行前检查(内部)](../flying/pre_flight_checks.md)
\ No newline at end of file
+* [QGroundControl Flight-Readiness Status](../flying/pre_flight_checks.md)
\ No newline at end of file
diff --git a/zh/gps_compass/index.md b/zh/gps_compass/index.md
index bb8f1f0fe5be..79a89b02b3a7 100644
--- a/zh/gps_compass/index.md
+++ b/zh/gps_compass/index.md
@@ -12,35 +12,35 @@ Up to two GPS modules can be connected using either a UART or the CAN bus:
::: info PX4 also supports [Real Time Kinematic (RTK)](../gps_compass/rtk_gps.md) and **Post-Processing Kinematic (PPK)** GNSS Receivers, which extend GNSS systems to centimetre-level precision.
:::
-
## 支持的GPS模块
任何运行在PX4的元件应通过u-blox、MTK Ashtech 或 Emlid 协议或UAVCAN进行通信。
下表包括了一些无RTK的GPS模块(其中大部分也有指南针)。 下面的设备PX4开发团队测试过了,或者是在PX4社区中受欢迎的。
-| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | 备注 |
-|:------------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
-| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
-| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
-| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
-| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
-| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
-| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
-| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
-| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
-| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
-| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
-| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
-| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
-| [Holybro DroneCAN M9N GPS](https://holybro.com/products/dronecan-m9n-gps) | M9N | BMM150 | ✓ | ✓ | |
-| [Hobbyking u-blox Neo-M8N GPS with Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
-| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
-| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
-| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
-| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
-| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
-| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
+| Device | GPS | Compass | [CAN](../dronecan/index.md) | Buzzer / SafeSw / LED | 备注 |
+|:---------------------------------------------------------------------- |:-----------:|:-------------------------:|:---------------------------:|:---------------------:|:--------------------------- |
+| [ARK GPS](https://arkelectron.com/product/ark-gps/) | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
+| [Avionics Anonymous UAVCAN GNSS/Mag][avionics_anon_can_gnss] | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
+| [CUAV NEO 3 GPS](../gps_compass/gps_cuav_neo_3.md) | M9N | IST8310 | | ✓ | |
+| [CUAV NEO 3 Pro GPS](../gps_compass/gps_cuav_neo_3pro.md) | M9N | RM3100 | ✓ | ✓ | + Baro |
+| [CUAV NEO 3X GPS](../gps_compass/gps_cuav_neo_3x.md) | M9N | RM3100 | ✓ | ✗✓✓ | + Baro. |
+| [CubePilot Here2 GNSS GPS (M8N)](../gps_compass/gps_hex_here2.md) | M8N | ICM20948 | | ✓ | Superseded by HERE3 |
+| [Emlid Reach M+](https://emlid.com/reach/) | ✓ | ✗ | | ✗ | Supports PPK. RTK expected. |
+| [Holybro DroneCAN M8N GPS](../dronecan/holybro_m8n_gps.md) | M8N | BMM150 | ✓ | ✗ | + Baro |
+| [Holybro Micro M8N GPS](https://holybro.com/products/micro-m8n-gps) | M8N | IST8310 | | ✗ | |
+| [Holybro Nano Ublox M8 5883 GPS][hb_nano_m8_5883] | UBX-M8030 | QMC5883 | | ✗ | |
+| [Holybro M8N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M8N | IST8310 | | ✓ | |
+| [Holybro M9N GPS](../gps_compass/gps_holybro_m8n_m9n.md) | M9N | IST8310 | | ✓ | |
+| [Holybro DroneCAN M9N GPS][hb_can_m9n] | M9N | BMM150 | ✓ | ✓ | |
+| [Hobbyking u-blox Neo-M8N GPS & Compass][hk_ublox_neo_8mn] | M8N | ✓ | | ✗ | |
+| [LOCOSYS Hawk A1 GNSS receiver](../gps_compass/gps_locosys_hawk_a1.md) | MC-1612-V2b | optional | | ✗✗✓ | |
+| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | ✗✗✓ | |
+| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | ✗✗✓ | |
+| [mRo GPS u-blox Neo-M8N Dual Compass][mro_neo8mn_dual_mag] | M8N | LIS3MDL, IST8308 | | ✗ | |
+| [RaccoonLab L1 GNSS NEO-M8N][RccnLabGNSS250] | NEO-M8N | RM3100 | ✓ | ✗✗✓ | + Baro |
+| [Sky-Drones SmartAP GPS](../gps_compass/gps_smartap.md) | M8N | HMC5983, IST8310, LIS3MDL | | ✓ | + Baro |
+| [Zubax GNSS 2](https://zubax.com/products/gnss_2) | MAX-M8Q | LIS3MDL | | ✗ | + Baro |
@@ -152,3 +152,5 @@ Compass calibration for an included compass part is covered in: [Compass Configu
[hk_ublox_neo_8mn]: https://hobbyking.com/en_us/ublox-neo-m8n-gps-with-compass.html
[mro_neo8mn_dual_mag]: https://store.mrobotics.io/product-p/m10034-8308.htm
[hb_nano_m8_5883]: https://holybro.com/products/nano-m8-5883-gps-module
+[hb_can_m9n]: https://holybro.com/products/dronecan-m9n-gps
+[RccnLabGNSS250]: https://docs.raccoonlab.co/guide/gps_mag_baro/gnss_v250.html
diff --git a/zh/gps_compass/magnetometer.md b/zh/gps_compass/magnetometer.md
index 26a164232a50..0fac602ef797 100644
--- a/zh/gps_compass/magnetometer.md
+++ b/zh/gps_compass/magnetometer.md
@@ -42,6 +42,7 @@ This list contains stand-alone magnetometer modules (without GNSS).
| :--------------------------------------------------------------------------------------------------------------- | :-----: | :-----------------------------: |
| [Avionics Anonymous UAVCAN Magnetometer](https://www.tindie.com/products/avionicsanonymous/uavcan-magnetometer/) | ? | |
| [Holybro DroneCAN RM3100 Compass/Magnetometer](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
+| [RaccoonLab DroneCAN/Cyphal Magnetometer RM3100](https://holybro.com/products/dronecan-rm3100-compass) | RM3100 | ✓ |
Note:
diff --git a/zh/gps_compass/rtk_gps.md b/zh/gps_compass/rtk_gps.md
index 6e1783ded196..254b614447fb 100644
--- a/zh/gps_compass/rtk_gps.md
+++ b/zh/gps_compass/rtk_gps.md
@@ -39,12 +39,16 @@ The RTK compatible devices below that are expected to work with PX4 (it omits di
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | | ✓ | |
+| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | | |
+| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | ✓ | Septentrio dual antenna heading | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | | ✓ | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | | ✓ | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | | |
+
+
Notes:
- ✓ or a specific part number indicate that a features is supported, while ✗ or empty show that the feature is not supported. "?" indicates "unknown".
@@ -52,7 +56,6 @@ Notes:
- Some RTK modules can only be used in a particular role (base or rover), while others can be used interchangeably.
- The list may omit some discontinued hardware that is still supported. For example [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) is discontinued and may be removed from the list in a future release. Check earlier versions if a discontinued module is not mentioned here.
-
## Positioning Setup/Configuration
RTK positioning requires a _pair_ of [RTK GNSS devices](#supported-devices): a "base" for the ground station and a "rover" for the vehicle.
@@ -125,10 +128,12 @@ GPS can be used as a source for yaw fusion when using modules where _yaw output
When using GPS for yaw fusion you will need to configure the following parameters:
-| Parameter | Setting |
-| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GPS_YAW_OFFSET](../advanced_config/parameter_reference.md#GPS_YAW_OFFSET) | The angle made by the *baseline* (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here](../config/flight_controller_orientation.md#calculating-orientation)). |
-| [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+| Parameter | Setting |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [GPS_YAW_OFFSET][GPS_YAW_OFFSET] | The angle made by the _baseline_ (the line between the two GPS antennas) relative to the vehicle x-axis (front/back axis, as shown [here][fc_orientation]). |
+| [EKF2_GPS_CTRL][EKF2_GPS_CTRL] | Set bit position 3 "Dual antenna heading" to `1` (i.e. add 8 to the parameter value). |
+
+
:::tip
If using this feature, all other configuration should be setup up as normal (e.g. [RTK Positioning](../gps_compass/rtk_gps.md#positioning-setup-configuration)).
@@ -167,7 +172,6 @@ You may also need to tune some parameters as the default parameters are tuned as
A second GPS receiver can be used as a backup (either RTK or non RTK). See the [EKF2 GPS Configuration](../advanced_config/tuning_the_ecl_ekf.md#gps) section.
-
diff --git a/zh/ros2/user_guide.md b/zh/ros2/user_guide.md
index e129b4508488..6d0eb24a1bbf 100644
--- a/zh/ros2/user_guide.md
+++ b/zh/ros2/user_guide.md
@@ -9,38 +9,39 @@ ROS 2-PX4 架构在ROS 2和PX4之间进行了深度整合。 允许 ROS 2 订阅
The [migration guide](../middleware/uxrce_dds.md#fast-rtps-to-uxrce-dds-migration-guidelines) explains what you need to do in order to migrate ROS 2 apps from PX4 v1.13 to PX4 v1.14.
If you're still working on PX4 v1.13, please follow the instructions in the [PX4 v1.13 Docs](https://docs.px4.io/v1.13/en/ros/ros2_comm.html).
+
+
:::
## 概述
-由于使用 [uXRCE-DDS](../middleware/uxrce_dds.md) 通信中间件,因此ROS 2的应用程序流程非常简单。
+The application pipeline for ROS 2 is very straightforward, thanks to the use of the [uXRCE-DDS](../middleware/uxrce_dds.md) communications middleware.
![Architecture uXRCE-DDS with ROS 2](../../assets/middleware/xrce_dds/architecture_xrce-dds_ros2.svg)
-uXRCE-DDS的中间件由运行在PX4上的客户端(Client)和运行在机载计算机上的代理端(Agent)组成, 通过串口、UDP、TCP或其他链路实现双向数据互联。 代理端(Agent)充当客户端(Client)的代理在DDS全局数据空间中发布和订阅话题。
+The uXRCE-DDS middleware consists of a client running on PX4 and an agent running on the companion computer, with bi-directional data exchange between them over a serial, UDP, TCP or custom link. The agent acts as a proxy for the client to publish and subscribe to topics in the global DDS data space.
-The PX4 [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) is generated at build time and included in PX4 firmware by default. 它包含“通用”XRCE-DDS客户端(Client)代码和PX4 特定翻译代码以支持用来发布或获取来自uORB的话题 。 为客户端(Client)生成的 uORB 消息的子集在 [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml) 中定义。 生成器使用代码树: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg) 中的 uORB 消息定义来创建 ROS 2 消息代码。
+The PX4 [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) is generated at build time and included in PX4 firmware by default. It includes both the "generic" micro XRCE-DDS client code, and PX4-specific translation code that it uses to publish to/from uORB topics. The subset of uORB messages that are generated into the client are listed in [PX4-Autopilot/src/modules/uxrce_dds_client/dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). The generator uses the uORB message definitions in the source tree: [PX4-Autopilot/msg](https://github.com/PX4/PX4-Autopilot/tree/main/msg) to create the code for sending ROS 2 messages.
-ROS 2 应用程序应该在具有 _相同的_ 消息定义的工作区中构建,即在 PX4 Firmware 中创建 uXRCE-DDS客户端(Client)模块时使用的消息。 你可以通过克隆接口包 [PX4/px4_msgs](https://github.com/PX4/px4_msgs) 到你的 ROS 2 工作空间中(仓库中的分支对应于不同版本 PX4 消息)。
+ROS 2 applications need to be built in a workspace that has the _same_ message definitions that were used to create the uXRCE-DDS client module in the PX4 Firmware. You can include these by cloning the interface package [PX4/px4_msgs](https://github.com/PX4/px4_msgs) into your ROS 2 workspace (branches in the repo correspond to the messages for different PX4 releases).
-请注意,micro XRCE-DDS _代理(Agent)_ 本身并不依赖客户端代码。 可以通过 [源码](https://github.com/eProsima/Micro-XRCE-DDS-Agent)单独或作为ROS的一部分通过编译生成,也可以通过snap安装。
+Note that the micro XRCE-DDS _agent_ itself has no dependency on client-side code. It can be built from [source](https://github.com/eProsima/Micro-XRCE-DDS-Agent) either standalone or as part of a ROS build, or installed as a snap.
-您通常需要在使用 ROS 2 时同时启动客户端(Client)和代理人(Agent)。 请注意,uXRCE-DDS客户端默认是编译进固件中的,但除模拟器构建外,不会自动启动。
+You will normally need to start both the client and agent when using ROS 2. Note that the uXRCE-DDS client is built into firmware by default but not started automatically except for simulator builds.
-::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). 该仓库不再需要了,但的确包含了有用的例子。
+::: info In PX4v1.13 and earlier, ROS 2 was dependent on definitions in [px4_ros_com](https://github.com/PX4/px4_ros_com). This repo is no longer needed, but does contain useful examples.
:::
-
## 安装设置
The supported ROS 2 platforms for PX4 development are ROS 2 "Humble" on Ubuntu 22.04, and ROS 2 "Foxy" on Ubuntu 20.04.
ROS 2 "Humble" is recommended because it is the current ROS 2 LTS distribution. ROS 2 "Foxy" reached end-of-life in May 2023, but is still stable and works with PX4.
-::: info PX4 is not as well tested on Ubuntu 22.04 as it is on Ubuntu 20.04 (at time of writing), and Ubuntu 20.04 is needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
+::: info Ubuntu 20.04 and Foxy are needed if you want to use [Gazebo Classic](../sim_gazebo_classic/index.md).
:::
To setup ROS 2 for use with PX4:
@@ -50,17 +51,16 @@ To setup ROS 2 for use with PX4:
- [安装Micro XRCE-DDS 代理(Agent)& 客户端(Client)](#setup-micro-xrce-dds-agent-client)
- [构建 & 运行 ROS 2 工作空间](#build-ros-2-workspace)
-框架的其他依赖关系将自动安装,如 _Fast DDS_。
-
+Other dependencies of the architecture that are installed automatically, such as _Fast DDS_, are not covered.
### 安装PX4
-您需要安装 PX4 开发工具链才能使用模拟器。
+You need to install the PX4 development toolchain in order to use the simulator.
-::: info The only dependency ROS 2 has on PX4 is the set of message definitions, which it gets from [px4_msgs](https://github.com/PX4/px4_msgs). 您只需要安装 PX4 当您需要模拟器时(如我们在本指南中所做的那样), 或者如果您正在创建一个发布自定义uORB话题。
+::: info The only dependency ROS 2 has on PX4 is the set of message definitions, which it gets from [px4_msgs](https://github.com/PX4/px4_msgs). You only need to install PX4 if you need the simulator (as we do in this guide), or if you are creating a build that publishes custom uORB topics.
:::
-通过以下方式在 Ubuntu 上配置一个 PX4 开发环境:
+Set up a PX4 development environment on Ubuntu in the normal way:
```sh
cd
@@ -76,7 +76,7 @@ For more information and troubleshooting see: [Ubuntu Development Environment](.
### 安装 ROS 2
-安装 ROS 2 及其依赖:
+To install ROS 2 and its dependencies:
1. Install ROS 2.
@@ -100,15 +100,14 @@ For more information and troubleshooting see: [Ubuntu Development Environment](.
source /opt/ros/humble/setup.bash && echo "source /opt/ros/humble/setup.bash" >> .bashrc
```
- The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), *and* the development tools (`ros-dev-tools`).
+ The instructions above are reproduced from the official installation guide: [Install ROS 2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html). You can install _either_ the desktop (`ros-humble-desktop`) _or_ bare-bones versions (`ros-humble-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
-
::: tab foxy To install ROS 2 "Foxy" on Ubuntu 20.04:
- - Follow the official installation guide: [Install ROS 2 Foxy](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/).
+ - Follow the official installation guide: [Install ROS 2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html).
- You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), *and* the development tools (`ros-dev-tools`).
+ You can install _either_ the desktop (`ros-foxy-desktop`) _or_ bare-bones versions (`ros-foxy-ros-base`), _and_ the development tools (`ros-dev-tools`).
:::
::::
@@ -119,17 +118,15 @@ For more information and troubleshooting see: [Ubuntu Development Environment](.
pip install --user -U empy==3.3.4 pyros-genmsg setuptools
```
-
-
### 安装Micro XRCE-DDS 代理(Agent)& 客户端(Client)
For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.md#uxrce-dds-client) must be running on PX4, connected to a micro XRCE-DDS agent running on the companion computer.
#### 设置代理(Agent)
-代理(Agent)可以通过 [数种方式](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) 安装到任务计算机上。 下面我们将演示如何从源代码构建“独立”代理(Agent),并连接到在 PX4 模拟器上运行的客户端(Client)。
+The agent can be installed onto the companion computer in a [number of ways](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation). Below we show how to build the agent "standalone" from source and connect to a client running on the PX4 simulator.
-设置并启动代理:
+To setup and start the agent:
1. 打开一个终端。
1. 输入以下命令从仓库获取源代码并构建代理(Agent):
@@ -151,48 +148,52 @@ For ROS 2 to communicate with PX4, [uXRCE-DDS client](../modules/modules_system.
MicroXRCEAgent udp4 -p 8888
```
-代理正在运行,但在我们启动PX4 (下一步)之前,您不会看到太多。
+The agent is now running, but you won't see much until we start PX4 (in the next step).
::: info
You can leave the agent running in this terminal!
-请注意,每个连接端口只允许一个代理(Agent)。
+Note that only one agent is allowed per connection channel.
:::
#### 启动客户端(Client)
-PX4 模拟器自动启动 uXRCE-DDS客户端,连接到本地主机上的 UDP 8888 端口。
+The PX4 simulator starts the uXRCE-DDS client automatically, connecting to UDP port 8888 on the local host.
-启动模拟器(和客户端Client):
+To start the simulator (and client):
1. Open a new terminal in the root of the **PX4 Autopilot** repo that was installed above.
:::: tabs
::: tab humble
+
- Start a PX4 [Gazebo](../sim_gazebo_gz/index.md) simulation using:
```sh
make px4_sitl gz_x500
```
+
:::
::: tab foxy
+
- Start a PX4 [Gazebo Classic](../sim_gazebo_classic/index.md) simulation using:
```sh
make px4_sitl gazebo-classic
```
+
:::
::::
-代理(Agent)和客户端(Client)现在将运行并建立连接。
+The agent and client are now running they should connect.
-PX4 终端显示 [NuttShell/PX4 系统控制台](../debug/system_console.md) PX4 启动和运行。 代理(Agent)连接后输出应该包含 `INFO` 显示创建数据写入的消息:
+The PX4 terminal displays the [NuttShell/PX4 System Console](../debug/system_console.md) output as PX4 boots and runs. As soon as the agent connects the output should include `INFO` messages showing creation of data writers:
-```
+```sh
...
INFO [uxrce_dds_client] synchronized with time offset 1675929429203524us
INFO [uxrce_dds_client] successfully created rt/fmu/out/failsafe_flags data writer, topic id: 83
@@ -201,9 +202,9 @@ INFO [uxrce_dds_client] successfully created rt/fmu/out/timesync_status data wr
...
```
-Micro XRCE-DDS代理(Agent)终端也应开始显示输出,因为DDS网络中创建了相同的主题:
+The micro XRCE-DDS agent terminal should also start to show output, as equivalent topics are created in the DDS network:
-```
+```sh
...
[1675929445.268957] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x00000001, publisher_id: 0x0DA(3), participant_id: 0x001(1)
[1675929445.269521] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x00000001, datawriter_id: 0x0DA(5), publisher_id: 0x0DA(3)
@@ -213,14 +214,13 @@ Micro XRCE-DDS代理(Agent)终端也应开始显示输出,因为DDS网络中
### Build ROS 2 Workspace
-本节将展示如何在您的主目录中创建一个 ROS 2 工作空间(将源代码放在别处需要修改相关指令)。
+This section shows how create a ROS 2 workspace hosted in your home directory (modify the commands as needed to put the source code elsewhere).
-[px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://github.com/PX4/px4_msgs) 软件包克隆到一个工作区文件夹,然后使用 `colcon` 工具来构建工作区。 The example is run using `ros2 launch`.
+The [px4_ros_com](https://github.com/PX4/px4_ros_com) and [px4_msgs](https://github.com/PX4/px4_msgs) packages are cloned to a workspace folder, and then the `colcon` tool is used to build the workspace. The example is run using `ros2 launch`.
::: info The example builds the [ROS 2 Listener](#ros-2-listener) example application, located in [px4_ros_com](https://github.com/PX4/px4_ros_com). [px4_msgs](https://github.com/PX4/px4_msgs) is needed too so that the example can interpret PX4 ROS 2 topics.
:::
-
#### Building the Workspace
To create and build the workspace:
@@ -249,28 +249,31 @@ A naming convention for workspace folders can make it easier to manage workspace
:::: tabs
::: tab humble
+
```sh
cd ..
source /opt/ros/humble/setup.bash
colcon build
```
+
:::
::: tab foxy
+
```sh
cd ..
source /opt/ros/foxy/setup.bash
colcon build
```
+
:::
::::
This builds all the folders under `/src` using the sourced toolchain.
-
#### Running the Example
To run the executables that you just built, you need to source `local_setup.bash`. This provides access to the "environment hooks" for the current workspace. In other words, it makes the executables that were just built available in the current terminal.
@@ -285,19 +288,23 @@ In a new terminal:
:::: tabs
::: tab humble
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/humble/setup.bash
```
+
:::
::: tab foxy
+
```sh
cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
```
+
:::
::::
@@ -307,9 +314,10 @@ In a new terminal:
```sh
source install/local_setup.bash
```
+
1. Now launch the example. Note here that we use `ros2 launch`, which is described below.
- ```
+ ```sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py
```
@@ -362,7 +370,6 @@ This is needed because the ROS 2 default [Quality of Service (QoS) settings](htt
-
### ROS 2 & PX4 Frame Conventions
The local/world and body frames used by ROS and PX4 are different.
@@ -386,9 +393,9 @@ The FRD (NED) conventions are adopted on **all** PX4 topics unless explicitly sp
- first a pi/2 rotation around the `Z`-axis (up),
- then a pi rotation around the `X`-axis (old East/new North).
+
- To rotate a vector from NED to ENU two basic rotations must be performed:
--
- - first a pi/2 rotation around the `Z`-axis (down),
+- - first a pi/2 rotation around the `Z`-axis (down),
- then a pi rotation around the `X`-axis (old North/new East). Note that the two resulting operations are mathematically equivalent.
- To rotate a vector from FLU to FRD a pi rotation around the `X`-axis (front) is sufficient.
- To rotate a vector from FRD to FLU a pi rotation around the `X`-axis (front) is sufficient.
@@ -398,7 +405,7 @@ Examples of vectors that require rotation are:
- all fields in [TrajectorySetpoint](../msg_docs/TrajectorySetpoint.md) message; ENU to NED conversion is required before sending them.
- all fields in [VehicleThrustSetpoint](../msg_docs/VehicleThrustSetpoint.md) message; FLU to FRD conversion is required before sending them.
-Similarly to vectors, also quanternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
+Similarly to vectors, also quaternions representing the attitude of the vehicle (body frame) w.r.t. the world frame require conversion.
[PX4/px4_ros_com](https://github.com/PX4/px4_ros_com) provides the shared library [frame_transforms](https://github.com/PX4/px4_ros_com/blob/main/include/px4_ros_com/frame_transforms.h) to easily perform such conversions.
@@ -416,9 +423,36 @@ This scenario, which is the one considered in this page and in the [offboard_con
#### ROS2 nodes use the Gazebo clock as time source
-In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository. Read through the [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs to find out the right version that has to be installed depending on your ROS2 and Gazebo versions.
+In this scenario, ROS2 also uses the Gazebo `/clock` topic as time source. This approach makes sense if the Gazebo simulation is running with real time factor different from one, or if ROS2 needs to directly interact with Gazebo. On the ROS2 side, direct interaction with Gazebo is achieved by the [ros_gz_bridge](https://github.com/gazebosim/ros_gz) package of the [ros_gz](https://github.com/gazebosim/ros_gz) repository.
+
+Use the following commands to install the correct ROS 2/gz interface packages (not just the bridge) for the ROS2 and Gazebo version(s) supported by PX4.
-Once the package is installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
+:::: tabs
+
+::: tab humble To install the bridge for use with ROS 2 "Humble" and Gazebo Garden (on Ubuntu 22.04):
+
+```sh
+sudo apt install ros-humble-ros-gzgarden
+```
+
+:::
+
+::: tab foxy First you will need to [install Gazebo Garden](../sim_gazebo_gz/index.md#installation-ubuntu-linux), as by default Foxy comes with Gazebo Classic 11.
+
+Then to install the interface packages for use with ROS 2 "Foxy" and Gazebo Garden (Ubuntu 20.04):
+
+```sh
+sudo apt install ros-foxy-ros-gzgarden
+```
+
+:::
+
+::::
+
+::: info The [repo](https://github.com/gazebosim/ros_gz#readme) and [package](https://github.com/gazebosim/ros_gz/tree/ros2/ros_gz_bridge#readme) READMEs show the package versions that need to be installed depending on your ROS2 and Gazebo versions.
+:::
+
+Once the packages are installed and sourced, the node `parameter_bridge` provides the bridging capabilities and can be used to create an unidirectional `/clock` bridge:
```sh
ros2 run ros_gz_bridge parameter_bridge /clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock
@@ -489,11 +523,11 @@ public:
The lines below create a publisher to the `SensorCombined` uORB topic, which can be matched with one or more compatible ROS 2 subscribers to the `fmu/sensor_combined/out` ROS 2 topic.
-```cpp
+````cpp
private:
rclcpp::Subscription::SharedPtr subscription_;
};
-```
+```s
The instantiation of the `SensorCombinedListener` class as a ROS node is done on the `main` function.
@@ -508,7 +542,7 @@ int main(int argc, char *argv[])
rclcpp::shutdown();
return 0;
}
-```
+````
This particular example has an associated launch file at [launch/sensor_combined_listener.launch.py](https://github.com/PX4/px4_ros_com/blob/main/launch/sensor_combined_listener.launch.py). This allows it to be launched using the [`ros2 launch`](#ros2-launch) command.
@@ -608,7 +642,6 @@ Custom topic namespaces can be applied at build time (changing [dds_topics.yaml]
- One possibility is to use the `-n` option when starting the [uxrce_dds_client](../modules/modules_system.md#uxrce-dds-client) from command line. This technique can be used both in simulation and real vehicles.
- A custom namespace can be provided for simulations (only) by setting the environment variable `PX4_UXRCE_DDS_NS` before starting the simulation.
-
::: info Changing the namespace at runtime will append the desired namespace as a prefix to all `topic` fields in [dds_topics.yaml](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/uxrce_dds_client/dds_topics.yaml). Therefore, commands like:
```sh
@@ -627,6 +660,7 @@ will generate topics under the namespaces:
/uav_1/fmu/in/ # for subscribers
/uav_1/fmu/out/ # for publishers
```
+
:::
## ros2 CLI
@@ -643,7 +677,7 @@ ros2 topic list
If PX4 is connected to the agent, the result will be a list of topic types:
-```
+```sh
/fmu/in/obstacle_distance
/fmu/in/offboard_control_mode
/fmu/in/onboard_computer_status
@@ -664,7 +698,7 @@ ros2 topic echo /fmu/out/vehicle_status
The command will echo the topic details as they update.
-```
+```sh
---
timestamp: 1675931593364359
armed_time: 0
@@ -685,7 +719,7 @@ hil_state: 0
You can get statistics about the rates of messages using `ros2 topic hz`. For example, to get the rates for `SensorCombined`:
-```
+```sh
ros2 topic hz /fmu/out/sensor_combined
```
@@ -714,8 +748,6 @@ You don't need to have a launch file, but they are very useful if you have a com
For information about launch files see [ROS 2 Tutorials > Creating launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html)
-
-
## Troubleshooting
### Missing dependencies
@@ -723,30 +755,50 @@ For information about launch files see [ROS 2 Tutorials > Creating launch files]
The standard installation should include all the tools needed by ROS 2.
If any are missing, they can be added separately:
+
- **`colcon`** build tools should be in the development tools. It can be installed using:
+
```sh
sudo apt install python3-colcon-common-extensions
```
+
- The Eigen3 library used by the transforms library should be in the both the desktop and base packages. It should be installed as shown:
- :::: tabs
+ :::: tabs
+
+ ::: tab humble
+
+ ```sh
+ sudo apt install ros-humble-eigen3-cmake-module
+ ```
- ::: tab humble
- ```sh
- sudo apt install ros-humble-eigen3-cmake-module
- ```
:::
- ::: tab foxy
- ```sh
- sudo apt install ros-foxy-eigen3-cmake-module
- ```
+ ::: tab foxy
+
+ ```sh
+ sudo apt install ros-foxy-eigen3-cmake-module
+ ```
+
:::
- ::::
+ ::::
+### ros_gz_bridge not publishing on the \clock topic
+
+If your [ROS2 nodes use the Gazebo clock as time source](../ros2/user_guide.md#ros2-nodes-use-the-gazebo-clock-as-time-source) but the `ros_gz_bridge` node doesn't publish anything on the `/clock` topic, you may have the wrong version installed. This might happen if you install ROS 2 Humble with the default "Ignition Fortress" packages, rather than using those for PX4, which uses "Gazebo Garden".
+
+The following commands uninstall the default Ignition Fortress topics and install the correct bridge and other interface topics for **Gazebo Garden** with ROS2 **Humble**:
+
+```bash
+# Remove the wrong version (for Ignition Fortress)
+sudo apt remove ros-humble-ros-gz
+
+# Install the version for Gazebo Garden
+sudo apt install ros-humble-ros-gzgarden
+```
## Additional information
diff --git a/zh/sensor/airspeed.md b/zh/sensor/airspeed.md
index 1fc5c6a69cc1..0f5d78a12c7e 100644
--- a/zh/sensor/airspeed.md
+++ b/zh/sensor/airspeed.md
@@ -15,6 +15,7 @@ Recommended digital airspeed sensors include:
- [EagleTree Airspeed MicroSensor V3](http://www.eagletreesystems.com/index.php?route=product/product&product_id=63) (eagletreesystems)
- [Sensirion SDP3x Airspeed Sensor Kit](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html)
- [Holybro Digital Air Speed Sensor](https://holybro.com/products/digital-air-speed-sensor)
+ - [RaccoonLab Cyphal/CAN and DroneCAN Airspeed Sensor](https://raccoonlab.co/tproduct/360882105-652259850171-cyphal-and-dronecan-airspeed-v2)
- Based on [Venturi effect](https://en.wikipedia.org/wiki/Venturi_effect)
- [TFSLOT](airspeed_tfslot.md) Venturi effect airspeed sensor.
diff --git a/zh/sensor/barometer.md b/zh/sensor/barometer.md
index 5a42706ccf10..f78eee579d68 100644
--- a/zh/sensor/barometer.md
+++ b/zh/sensor/barometer.md
@@ -13,6 +13,7 @@ Generally barometers require no user configuration (or thought)!
They are also present in other hardware:
- [CUAV NEO 3 Pro GNSS module](https://doc.cuav.net/gps/neo-series-gnss/en/neo-3-pro.html#key-data) ([MS5611](../modules/modules_driver_baro.md#ms5611))
+- [RaccoonLab L1 GNSS NEO-M8N](https://raccoonlab.co/tproduct/360882105-258620719271-cyphal-and-dronecan-gnss-m8n-magnetomete)
At time of writing, drivers/parts include: bmp280, bmp388 (and BMP380), dps310, goertek (spl06), invensense (icp10100, icp10111, icp101xx, icp201xx), lps22hb, lps25h, lps33hw, maiertek (mpc2520), mpl3115a2, ms5611, ms5837, tcbp001ta.
diff --git a/zh/sensor/optical_flow.md b/zh/sensor/optical_flow.md
index 88a0a30ade26..7689e6de7191 100644
--- a/zh/sensor/optical_flow.md
+++ b/zh/sensor/optical_flow.md
@@ -2,7 +2,9 @@
_光流传感器_使用下视相机和向下的距离传感器进行速度估计。
-@[youtube](https://youtu.be/aPQKgUof3Pc) _Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
+
+
+_Video: PX4 holding position using the ARK Flow sensor for velocity estimation (in [Position Mode](../flight_modes_mc/position.md))._
diff --git a/zh/sensor/rangefinders.md b/zh/sensor/rangefinders.md
index 74096526fd60..349e78f22e62 100644
--- a/zh/sensor/rangefinders.md
+++ b/zh/sensor/rangefinders.md
@@ -2,7 +2,7 @@
Distance sensors provide distance measurement that can be used for [terrain following](../flying/terrain_following_holding.md#terrain_following), [terrain holding](../flying/terrain_following_holding.md#terrain_hold) (i.e. precision hovering for photography), improved landing behaviour ([conditional range aid](../advanced_config/tuning_the_ecl_ekf.md#conditional-range-aiding)), warning of regulatory height limits, collision prevention, etc.
-This section lists the distance sensors supported by PX4 (linked to more detailed documentation), the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and [Gazebo-Classic simulation](#gazebo-classic-simulation) information. 更详细的设置和配置信息在下方(和侧边栏)的主题链接中提供
+This section lists the distance sensors supported by PX4 (linked to more detailed documentation), and provides information about the [generic configuration](#configuration) required for all rangefinders, [testing](#testing), and simulation with [Gazebo](#gazebo-simulation) or [Gazebo-Classic](#gazebo-classic-simulation). 更详细的设置和配置信息在下方(和侧边栏)的主题链接中提供
@@ -34,6 +34,8 @@ MaxBotix [I2CXL-MaxSonar-EZ](https://www.maxbotix.com/product-category/i2cxl-max
PX4 支持: SF11/c 和 SF/LW20. PX4 也可用于一下停产的型号: SF02, SF10/a, SF10/b, SF10/c.
+Others may be supported via the [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](#raccoonlab-cyphal-and-dronecan-rangefinder-adapter) described below.
+
PX4 also supports the [LightWare LiDAR SF45 Rotating Lidar](https://www.lightwarelidar.com/shop/sf45-b-50-m/) for [collision prevention](../computer_vision/collision_prevention.md#lightware-lidar-sf45-rotating-lidar) applications.
### TeraRanger 测距仪
@@ -62,9 +64,28 @@ The [Lanbao PSK-CM8JL65-CC5 ToF Infrared Distance Measuring Sensor](../sensor/cm
The [Avionics Anonymous UAVCAN Laser Altimeter Interface](../dronecan/avanon_laser_interface.md) allows several common rangefinders (e.g. [Lightware SF11/c, SF30/D](../sensor/sfxx_lidar.md), etc) to be connected to the [CAN](../can/index.md) bus via [DroneCAN](../dronecan/index.md), a more robust interface than I2C.
-
+### RaccoonLab Cyphal and DroneCAN Rangefinder Adapter
+
+The [RaccoonLab Cyphal and DroneCAN Rangefinder Adapter](https://raccoonlab.co/tproduct/360882105-910084093051-cyphal-and-dronecan-rangefinder-adapter) allows several common rangefinders to be connected to the CAN bus via Cyphal or DroneCAN, providing a more robust interface than I2C or UART. This adapter efficiently reads measurements via I2C or UART and publishes range data in meters, making it a versatile solution for UAVs, robotics, and technical documentation applications.
+
+Supported rangefinders include:
+
+- LightWare LW20/C
+- TF-Luna
+- Garmin Lite V3
+- VL53L1CB
+
+### RaccoonLab Cyphal and DroneCAN µRANGEFINDER
+
+[RaccoonLab µRANGEFINDER](https://docs.raccoonlab.co/guide/rangefinder/uRANGEFINDER.html) is designed to measure distance and publish it via Cyphal/DroneCAN protocols. It can be used to estimate precision landing or object avoidance.
-## 配置/设置
+Features:
+
+- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
+- Input voltage sensor
+- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
+
+## Configuration/Setup {#configuration}
测距仪通常连接到串口(PWM)或者 I2C 接口(取决于设备驱动),并通过设置特定的参数在端口上启用。
@@ -114,6 +135,13 @@ listener distance_sensor 5
For more information see: [Development > Debugging/Logging > Sensor/Topic Debugging using the Listener Command](../debug/sensor_uorb_topic_debugging.md).
+## Gazebo Simulation
+
+Rangefinders use cases such as terrain following cannot be used for testing in the [Gazebo](../sim_gazebo_gz/index.md) simulator (at time of writing), because none of the [vehicle models](../sim_gazebo_gz/vehicles.md) include sensors that write to the [DistanceSensor](../msg_docs/DistanceSensor.md) UORB topic.
+
+::: info The [x500 lidar model](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) includes a 2D Lidar rangefinder that can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation)
+:::
+
## Gazebo-Classic Simulation
Lidar and sonar rangefinders can be used in the [Gazebo Classic](../sim_gazebo_classic/index.md) simulator. 要做到这一点,你必须在启动模拟器时使用一个拥有测距仪的机体模型。
diff --git a/zh/sensor/sfxx_lidar.md b/zh/sensor/sfxx_lidar.md
index a6a54da0ca49..947b022e9c61 100644
--- a/zh/sensor/sfxx_lidar.md
+++ b/zh/sensor/sfxx_lidar.md
@@ -54,9 +54,9 @@ Connect the Lidar the autopilot I2C port as shown below (in this case, for the [
Set the [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) parameter to match the rangefinder model and then reboot.
-## Serial Setup
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
-
+## Serial Setup {#serial_hardware_setup}
### Hardware
@@ -75,6 +75,8 @@ The lidar can be connected to any unused _serial port_ (UART), e.g.: TELEM2, TEL
Then set the [SENS_EN_SF0X](../advanced_config/parameter_reference.md#SENS_EN_SF0X) parameter to match the rangefinder model and reboot.
+VTOL vehicles may choose to also set [SF1XX_MODE](../advanced_config/parameter_reference.md#SF1XX_MODE) to `2: Disabled during VTOL fast forward flight`.
+
## 更多信息
- [Modules Reference: Distance Sensor (Driver) : lightware_laser_i2c](../modules/modules_driver_distance_sensor.md#lightware-laser-i2c)
diff --git a/zh/sensor_bus/i2c_general.md b/zh/sensor_bus/i2c_general.md
index 6d8f043a835a..55ab6c6c476a 100644
--- a/zh/sensor_bus/i2c_general.md
+++ b/zh/sensor_bus/i2c_general.md
@@ -83,6 +83,18 @@ Supported I2C Address Translators include:
- [Thunderfly TFI2CADT01](../sensor_bus/translator_tfi2cadt.md)
+## I2C Bus Splitters
+
+I2C Bus Splitters are circuit boards that split the I2C port on your flight controller into multiple ports. They are useful if you want to use multiple I2C peripherals on a flight controller that has only one I2C port (or too few), such as an airspeed sensor and a distance sensor.
+
+You can find an appropriate board using an internet search.
+
+## I2C Level Converter
+
+Some I2C devices have 5V on the data lines, while the Pixhawk connector standard port expects these lines to be 3.3 V. You can use an I2C level converter to connect 5V devices to a Pixhawk I2C port.
+
+You can find an appropriate covnerter using an internet search.
+
## I2C Development
Software development for I2C devices is described in [I2C Bus (Development Overview)](../sensor_bus/i2c_development.md).
diff --git a/zh/sim_airsim/index.md b/zh/sim_airsim/index.md
index 77db7a9139f4..c48094abdd7d 100644
--- a/zh/sim_airsim/index.md
+++ b/zh/sim_airsim/index.md
@@ -8,7 +8,9 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
[AirSim](https://microsoft.github.io/AirSim/) is a open-source, cross platform simulator for drones, built on _Unreal Engine_. It provides physically and visually realistic simulations of Pixhawk/PX4 using either Hardware-In-The-Loop (HITL) or Software-In-The-Loop (SITL).
-@[youtube](https://youtu.be/-WfTr1-OBGQ)
+
+
+
## PX4 Setup
@@ -18,18 +20,24 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
#### AirSim with PX4 on WSL 2
-@[youtube](https://youtu.be/DiqgsWIOoW4)
+
+
+
::: info WSL 2 is not a supported [PX4 Windows development environment](../dev_setup/dev_env_windows_cygwin.md), mainly because it is non-trivial to display simulator UIs running within WSL 2 in the normal Windows environment. This limitation does not apply for AirSim because its UI is run natively in Windows.
:::
#### Microsoft AirSim: Applications to Research and Industry (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/-YMiKaJYl44)
+
+
+
#### Autonomous Drone Inspections using AirSim and PX4 (PX4 Developer Summit Virtual 2020)
-@[youtube](https://youtu.be/JDx0MPTlhrg)
+
+
+
## Further Information
diff --git a/zh/sim_flightgear/index.md b/zh/sim_flightgear/index.md
index be320f643681..6042dff30f86 100644
--- a/zh/sim_flightgear/index.md
+++ b/zh/sim_flightgear/index.md
@@ -12,7 +12,7 @@ This page describes FlightGear's single-vehicle use in SITL. For information abo
**Supported Vehicles:** Autogyro, Plane, Rover.
-@[youtube](https://youtu.be/iqdcN5Gj4wI)
+
[![Mermaid Graph ](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEZsaWdodEdlYXIgLS0-IEZsaWdodEdlYXItQnJpZGdlO1xuICBGbGlnaHRHZWFyLUJyaWRnZSAtLT4gTUFWTGluaztcbiAgTUFWTGluayAtLT4gUFg0X1NJVEw7XG5cdCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)
diff --git a/zh/sim_gazebo_classic/index.md b/zh/sim_gazebo_classic/index.md
index f72c5fb367c5..6f35816f3d67 100644
--- a/zh/sim_gazebo_classic/index.md
+++ b/zh/sim_gazebo_classic/index.md
@@ -6,7 +6,7 @@ _Gazebo Classic_ 支持 PX4 到 Ubuntu Linux 20.04。 In Ubuntu 22.04 and later
Gazebo Classic 是一个功能强大的三维仿真环境,专门用于测试避障和计算机视觉等自主机器人技术。 本页描述了在SITL和单一载具上的使用方式。 Gazebo Classic can also be used with [HITL](../simulation/hitl.md) and for [multi-vehicle simulation](../sim_gazebo_classic/multi_vehicle_simulation.md).
-@[youtube](https://www.youtube.com/watch?v=qfFF9-0k4KA&vq=hd720)
+
[![Mermaid Graph: Gazebo plugin](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggTFI7XG4gIEdhemViby0tPlBsdWdpbjtcbiAgUGx1Z2luLS0-TUFWTGluaztcbiAgTUFWTGluay0tPlNJVEw7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)
@@ -303,7 +303,7 @@ make px4_sitl gazebo-classic_rover__sonoma_raceway
The video below shows that the location of the environment is aligned with the world:
-@[youtube](https://youtu.be/-a2WWLni5do)
+
## Starting Gazebo and PX4 Separately
diff --git a/zh/sim_gazebo_classic/multi_vehicle_simulation.md b/zh/sim_gazebo_classic/multi_vehicle_simulation.md
index 96fe423e3037..6d4d54ba6ca5 100644
--- a/zh/sim_gazebo_classic/multi_vehicle_simulation.md
+++ b/zh/sim_gazebo_classic/multi_vehicle_simulation.md
@@ -34,15 +34,15 @@ The 254-vehicle limitation occurs because mavlink `MAV_SYS_ID` only supports 255
### Video: Multiple Multicopter (Iris)
-@[youtube](https://youtu.be/Mskx_WxzeCk)
+
### Video: Multiple Plane
-@[youtube](https://youtu.be/aEzFKPMEfjc)
+
### Video: Multiple VTOL
-@[youtube](https://youtu.be/lAjjTFFZebI)
+
### Build and Test (XRCE-DDS)
diff --git a/zh/sim_gazebo_gz/index.md b/zh/sim_gazebo_gz/index.md
index 0887e6a369f8..a2940dd12b5e 100644
--- a/zh/sim_gazebo_gz/index.md
+++ b/zh/sim_gazebo_gz/index.md
@@ -6,9 +6,9 @@ Gazebo 先前被称为“Gazebo Ignition”( _Gazebo Classic_ 先前被称为Gaz
[Gazebo](https://gazebosim.org/home) 是一个开源机器人模拟器。 它取代了旧的 [Gazebo Classic](../sim_gazebo_classic/README.md) 模拟器,是Ubuntu 22.04 及以后唯一支持的 Gazebo 版本。
-**支持的载具:** Quadrotor、Plane、VTOL
+**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
-@[youtube](https://youtu.be/eRzdGD2vgkU)
+
::: info
See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
@@ -40,14 +40,17 @@ This runs both the PX4 SITL instance and the Gazebo client.
The supported vehicles and `make` commands are listed below. Note that all gazebo make targets have the prefix `gz_`.
-| Vehicle | Command | `PX4_SYS_AUTOSTART` |
-| -------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------- |
-| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
-| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
-| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
-| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
-| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
-| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| Vehicle | Command | `PX4_SYS_AUTOSTART` |
+| -------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| [Quadrotor(x500)](../sim_gazebo_gz/vehicles.md#x500-quadrotor) | `make px4_sitl gz_x500` | 4001 |
+| [Quadrotor(x500) with Depth Camera](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-depth-camera) | `make px4_sitl gz_x500_depth` | 4002 |
+| [Quadrotor(x500) with Vision Odometry](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-visual-odometry) | `make px4_sitl gz_x500_vision` | 4005 |
+| [Quadrotor(x500) with 2D LIDAR](../sim_gazebo_gz/vehicles.md#x500-quadrotor-with-2d-lidar) | `make px4_sitl gz_x500_lidar` | 4013 |
+| [VTOL](../sim_gazebo_gz/vehicles.md#standard-vtol) | `make px4_sitl gz_standard_vtol` | 4004 |
+| [Plane](../sim_gazebo_gz/vehicles.md#standard-plane) | `make px4_sitl gz_rc_cessna` | 4003 |
+| [Advanced Plane](../sim_gazebo_gz/vehicles.md#advanced-plane) | `make px4_sitl gz_advanced_plane` | 4008 |
+| [Differential Rover](../sim_gazebo_gz/vehicles.md#differential-rover) | `make px4_sitl gz_r1_rover` | 4009 |
+| [Ackermann Rover](../sim_gazebo_gz/vehicles.md#ackermann-rover) | `make px4_sitl gz_rover_ackermann` | 4012 |
All [vehicle models](../sim_gazebo_gz/vehicles.md) (and [worlds](#specify-world)) are included as a submodule from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md) repository.
@@ -188,7 +191,7 @@ where `ARGS` is a list of environment variables including:
- If less then 6 values are provided, the missing ones are fixed to zero.
- This can only be used with `PX4_SIM_MODEL` (not `PX4_GZ_MODEL_NAME`).
-- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) is used.
+- `PX4_GZ_WORLD`: Sets the Gazebo world file for a new simulation. If it is not given, then [default](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) is used.
- This variable is ignored if an existing simulation is already running.
- This value should be [specified for the selected airframe](#adding-new-worlds-and-models) but may be overridden using this argument.
@@ -263,7 +266,7 @@ To add a new model:
```
- `PX4_SIMULATOR=${PX4_SIMULATOR:=gz}` sets the default simulator (Gz) for that specific airframe.
- - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-Autopilot/blob/main/Tools/simulation/gz/worlds/default.sdf) for that specific airframe.
+ - `PX4_GZ_WORLD=${PX4_GZ_WORLD:=default}` sets the [default world](https://github.com/PX4/PX4-gazebo-models/blob/main/worlds/default.sdf) for that specific airframe.
- Setting the default value of `PX4_SIM_MODEL` lets you start the simulation with just:
diff --git a/zh/sim_gazebo_gz/vehicles.md b/zh/sim_gazebo_gz/vehicles.md
index 822e89d32862..c9b1de257cb2 100644
--- a/zh/sim_gazebo_gz/vehicles.md
+++ b/zh/sim_gazebo_gz/vehicles.md
@@ -4,7 +4,7 @@ This topic lists/displays the vehicles supported by the PX4 [Gazebo](../sim_gaze
The models are included in PX4 as a submodule that is fetched from the [Gazebo Models Repository](../sim_gazebo_gz/gazebo_models.md).
-Supported vehicle types include: mutirotor, VTOL, Plane.
+Supported vehicle types include: mutirotor, VTOL, Plane, Rover.
:::warning
See [Gazebo Classic Vehicles](../sim_gazebo_classic/vehicles.md) for vehicles that work with the older [Gazebo "Classic" simulation](../sim_gazebo_classic/index.md). Note that vehicle models are not interchangable between the two versions of the simulator: the vehicles on this page only work with (new) [Gazebo](../sim_gazebo_gz/index.md).
@@ -40,7 +40,7 @@ make px4_sitl gz_x500_depth
### X500 Quadrotor with Monocular Camera
-This models has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
+This model has a simple monocular camera sensor attached (there is no physical camera visualization on the model itself).
```sh
make px4_sitl gz_x500_mono_cam
@@ -50,6 +50,20 @@ make px4_sitl gz_x500_mono_cam
The camera cannot yet be used to stream video or for image capture in QGroundControl. [PX4-Autopilot#22563](https://github.com/PX4/PX4-Autopilot/issues/22563) can be used to track the additional work needed to fully enable these use cases.
:::
+### X500 Quadrotor with 2D LIDAR
+
+This model have a 2D LIDAR attached, modelled on the Hokuyo UTM-30LX. It has a range between 0.1 and 30m, and scans in a 270° arc. The model can be used for testing [Collision Prevention](../computer_vision/collision_prevention.md#gazebo-simulation).
+
+```sh
+make px4_sitl gz_x500_lidar
+```
+
+![x500 with 2D LIDAR in Gazebo](../../assets/simulation/gazebo/vehicles/x500_lidar.png)
+
+::: info
+The model cannot be used for testing normal [rangefinder](../sensor/rangefinders.md#gazebo-simulation) use cases, such as terrain following, as the information is not written to the [DistanceSensor](../msg_docs/DistanceSensor.md) topic (it is written to the [ObstacleDistance](../msg_docs/ObstacleDistance.md) UORB message used by collision prevention).
+:::
+
## Plane/Fixed-wing
### Standard Plane
@@ -87,3 +101,20 @@ make px4_sitl gz_standard_vtol
```
![Standard VTOL in Gazebo Classic](../../assets/simulation/gazebo/vehicles/standard_vtol.png)
+
+## Rover
+
+## Differential Rover
+
+```sh
+make px4_sitl gz_r1_rover
+```
+![Differential Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_differential.png)
+
+## Ackermann Rover
+
+```sh
+make px4_sitl gz_rover_ackermann
+```
+
+![Ackermann Rover in Gazebo](../../assets/simulation/gazebo/vehicles/rover_ackermann.png)
\ No newline at end of file
diff --git a/zh/sim_jsbsim/index.md b/zh/sim_jsbsim/index.md
index a207d9da6657..3fe19592be5a 100644
--- a/zh/sim_jsbsim/index.md
+++ b/zh/sim_jsbsim/index.md
@@ -10,7 +10,7 @@ See [Toolchain Installation](../dev_setup/dev_env.md) for information about the
**Supported Vehicles:** Plane, Quadrotor, Hexarotor
-@[youtube](https://youtu.be/y5azVNmIVyw)
+
::: info See [Simulation](../simulation/index.md) for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).
:::
diff --git a/zh/sim_sih/index.md b/zh/sim_sih/index.md
index 60a5be6c73f6..5a134eae4876 100644
--- a/zh/sim_sih/index.md
+++ b/zh/sim_sih/index.md
@@ -44,27 +44,27 @@ To run the SIH, you will need a:
From PX4 v1.14 you can run SIH "as SITL", in which case a flight controller is not required.
-## Setting up SIH
+## Starting SIH
-To set up SIH
+To set up/start SIH:
-1. Connect the flight controller to the desktop computer with a USB cable
+1. Connect the flight controller to the desktop computer with a USB cable.
1. Open QGroundControl and wait for the flight controller too boot and connect.
1. Open [Vehicle Setup > Airframe](../config/airframe.md) then select the desired frame:
- [SIH Quadcopter X](../airframes/airframe_reference.md#copter_simulation_sih_quadcopter_x)
- [SIH plane AERT](../airframes/airframe_reference.md#plane_simulation_sih_plane_aert)
- [SIH Tailsitter Duo](../airframes/airframe_reference.md#vtol_simulation_sih_tailsitter_duo)
-The autopilot will then reboot. Once restarted the `sih` module is started, and the vehicle should be displayed on the ground control station map.
+The autopilot will then reboot. The `sih` module is started on reboot, and the vehicle should be displayed on the ground control station map.
:::warning
The airplane needs to takeoff in manual mode at full throttle.
Also, if the airplane crashes the state estimator might lose its fix.
:::
-## Setting up the Display (optional)
+## Display/Visualisation (optional)
-The SIH can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
+The SIH-simulated vehicle can be displayed using [jMAVSim](../sim_jmavsim/index.md) as a visualiser.
::: tip SIH
does not _need_ a visualiser — you can connect with QGroundControl and fly the vehicle without one.
@@ -86,15 +86,15 @@ To display the simulated vehicle:
- `-d` to start the serial device `/dev/ttyACM0` on Linux. On macOS this would be `/dev/tty.usbmodem1`.
- `-b` to set the serial baud rate to `2000000`.
- `-o` to start jMAVSim in _display Only_ mode (i.e. the physical engine is turned off and jMAVSim only displays the trajectory given by the SIH in real-time).
- - add a flag `-a` to display an aircraft or '-t' to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
+ - add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
1. After few seconds, _QGroundControl_ can be opened again.
At this point, the system can be armed and flown. The vehicle can be observed moving in jMAVSim, and on the QGC _Fly_ view.
-## Running the SIH as SITL (without hardware)
+## SIH as SITL (no FC)
-SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
+SIH can be run as SITL (Software-In-The-Loop) from v1.14. What this means is that the simulation code is executed on the laptop/computer instead of a flight controller, similar to Gazebo or jMAVSim. In this case you don't need the flight controller hardware.
To run SIH as SITL:
@@ -119,6 +119,8 @@ To run SIH as SITL:
make px4_sitl sihsim_xvert
```
+### Change Simulation Speed
+
SITL allows the simulation to be run faster than real time. To run the airplane simulation 10 times faster than real time, run the command:
```sh
@@ -133,7 +135,22 @@ To display the vehicle in jMAVSim during SITL mode, enter the following command
- add a flag `-a` to display an aircraft or `-t` to display a tailsitter. If this flag is not present a quadrotor will be displayed by default.
-## Dynamic Model
+### Set Custom Takeoff Location
+
+The takeoff location in SIH on SITL can be set using environment variables. This will override the default takeoff location.
+
+The variables to set are: `PX4_HOME_LAT`, `PX4_HOME_LON`, and `PX4_HOME_ALT`.
+
+For example:
+
+```sh
+export PX4_HOME_LAT=28.452386
+export PX4_HOME_LON=-13.867138
+export PX4_HOME_ALT=28.5
+make px4_sitl sihsim_quadx
+```
+
+## Dynamic Models
The dynamic models for the various vehicles are:
@@ -143,7 +160,7 @@ The dynamic models for the various vehicles are:
## Video
-@[youtube](https://youtu.be/PzIpSCRD8Jo)
+
## Credits
diff --git a/zh/simulation/failsafes.md b/zh/simulation/failsafes.md
index cb363c64b662..b633887fac9f 100644
--- a/zh/simulation/failsafes.md
+++ b/zh/simulation/failsafes.md
@@ -36,6 +36,8 @@ To control how fast the battery depletes to the minimal value use the parameter
By changing [SIM_BAT_MIN_PCT](../advanced_config/parameter_reference.md#SIM_BAT_MIN_PCT) in flight, you can also test regaining capacity to simulate inaccurate battery state estimation or in-air charging technology.
:::
+It is also possible to disable the simulated battery using [SIM_BAT_ENABLE](../advanced_config/parameter_reference.md#SIM_BAT_ENABLE) in order to, for example, provide an external battery simulation via MAVLink.
+
## GPS 损失
[Failure injection](../debug/failure_injection.md) can be used to simulate different types of failures in many sensors and systems. For example, this can be used to simulate absent or intermittent GPS, RC signal that has stopped or got stuck on a particular value, failure of the avoidance system, and much more.
diff --git a/zh/simulation/index.md b/zh/simulation/index.md
index 168ca7b306ae..bd2b9f375784 100644
--- a/zh/simulation/index.md
+++ b/zh/simulation/index.md
@@ -15,11 +15,10 @@ Information about available simulators and how to set them up are provided in th
The following simulators are supported by the PX4 core development team.
-| 仿真器 | 描述 |
-| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Gazebo](../sim_gazebo_gz/index.md) |
强烈建议使用此仿真器。
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
它具有功能强大的 3D 仿真环境, 特别适用于测试对象避障和计算机视觉。 它还可用于 [多工具仿真](../simulation/multi-vehicle-simulation.md),通常用于 [ROS](../simulation/ros_interface.md),这是一种用于自动控制的工具集。
Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04
它具有功能强大的 3D 仿真环境, 特别适用于测试对象避障和计算机视觉。 它还可用于 [多工具仿真](../simulation/multi-vehicle-simulation.md),通常用于 [ROS](../simulation/ros_interface.md),这是一种用于自动控制的工具集。