mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-03-23 18:13:49 +08:00
docs(i18n): PX4 guide translations (Crowdin) - zh-CN (#26760)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
@@ -780,6 +780,7 @@
|
||||
- [Receiving Messages](mavlink/receiving_messages.md)
|
||||
- [Custom MAVLink Messages](mavlink/custom_messages.md)
|
||||
- [Message Signing](mavlink/message_signing.md)
|
||||
- [Security Hardening](mavlink/security_hardening.md)
|
||||
- [Protocols/Microservices](mavlink/protocols.md)
|
||||
- [Standard Modes Protocol](mavlink/standard_modes.md)
|
||||
- [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/uxrce_dds.md)
|
||||
|
||||
@@ -414,7 +414,6 @@ They recommend sensors, power systems, and other components from the same manufa
|
||||
- [Holybro Pixhawk 6X Wiring Quickstart](../assembly/quick_start_pixhawk6x.md)
|
||||
- [Holybro Pixhawk 5X Wiring Quickstart](../assembly/quick_start_pixhawk5x.md)
|
||||
- [Holybro Pixhawk 4 Wiring Quickstart](../assembly/quick_start_pixhawk4.md)
|
||||
- [Holybro Pixhawk 4 Mini (Discontinued) Wiring Quickstart](../assembly/quick_start_pixhawk4_mini.md)
|
||||
- [Holybro Durandal Wiring Quickstart](../assembly/quick_start_durandal.md)
|
||||
- [Holybro Pix32 v5 Wiring Quickstart](../assembly/quick_start_holybro_pix32_v5.md)
|
||||
- [Cube Wiring Quickstart](../assembly/quick_start_cube.md) (All cube variants)
|
||||
|
||||
@@ -29,7 +29,7 @@ In addition you will need:
|
||||
The _Kopis 2_ comes preinstalled with Betaflight.
|
||||
|
||||
Before loading PX4 firmware you must first install the PX4 bootloader.
|
||||
Instructions for installing the bootloader can be found in the [Kakute F7](../flight_controller/kakutef7.md#bootloader) topic (this is the flight controller board on the _Kopis 2_).
|
||||
Download the [kakutef7_bl.hex](https://raw.githubusercontent.com/PX4/PX4-Autopilot/release/1.17/docs/assets/flight_controller/kakutef7/kakutef7_bl_0b3fbe2da0.hex?download=true) bootloader binary and read [PX4 Bootloader Flashing onto Betaflight Systems](../advanced_config/bootloader_update_from_betaflight.md) for flashing instructions.
|
||||
|
||||
:::tip
|
||||
You can always [reinstall Betaflight](../advanced_config/bootloader_update_from_betaflight.md#reinstall-betaflight) later if you want!
|
||||
|
||||
@@ -364,11 +364,7 @@ This section lists the available emergency switches.
|
||||
|
||||
A kill switch immediately stops all motor outputs — if flying, the vehicle will start to fall!
|
||||
|
||||
[By default](#COM_KILL_DISARM) the motors will restart if the switch is reverted within 5 seconds, after which the vehicle will automatically disarm, and you will need to arm it again in order to start the motors.
|
||||
|
||||
| 参数 | 描述 |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <a id="COM_KILL_DISARM"></a>[COM_KILL_DISARM](../advanced_config/parameter_reference.md#COM_KILL_DISARM) | Timeout value for disarming after kill switch is engaged. Default: `5` seconds. |
|
||||
The motors will restart if the switch is reverted within 5 seconds, after which the vehicle will automatically disarm, and you will need to arm it again in order to start the motors.
|
||||
|
||||
:::info
|
||||
There is also a [Kill Gesture](#kill-gesture), which cannot be reverted.
|
||||
@@ -410,7 +406,7 @@ A return switch can be used to immediately engage [Return mode](../flight_modes/
|
||||
|
||||
A kill gesture immediately stops all motor outputs — if flying, the vehicle will start to fall!
|
||||
|
||||
The action cannot be reverted without a reboot (this differs from a [Kill Switch](#kill-switch), where the operation can be reverted within the time period defined by [COM_KILL_DISARM](#COM_KILL_DISARM)).
|
||||
The action cannot be reverted without a reboot (this differs from a [Kill Switch](#kill-switch), where the operation can be reverted within 5 seconds).
|
||||
|
||||
| 参数 | 描述 |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
||||
@@ -23,16 +23,10 @@ Connect the 6-pos JST SH 1:1 cable to the Dronecode probe or connect the individ
|
||||
|
||||
### Connecting via Dronecode Probe
|
||||
|
||||
The System Console UART pinouts/debug ports are typically documented in [autopilot overview pages](../flight_controller/index.md) (some are linked below):
|
||||
The System Console UART pinouts/debug ports are typically documented in the affected [autopilot overview pages](../flight_controller/index.md).
|
||||
For example, see [mRo Pixhawk](../flight_controller/mro_pixhawk.md#console-port) and [Pixracer](../flight_controller/pixracer.md#debug-port).
|
||||
|
||||
- [3DR Pixhawk v1 Flight Controller](../flight_controller/pixhawk.md#console-port) (also applies to
|
||||
[mRo Pixhawk](../flight_controller/mro_pixhawk.md#debug-ports), [Holybro pix32](../flight_controller/holybro_pix32.md#debug-port))
|
||||
- [Pixhawk 3](../flight_controller/pixhawk3_pro.md#debug-port)
|
||||
- [Pixracer](../flight_controller/pixracer.md#debug-port)
|
||||
|
||||
<a id="pixhawk_debug_port"></a>
|
||||
|
||||
### Connecting via FTDI 3.3V Cable
|
||||
### Pixhawk Debug Port {#pixhawk_debug_port}
|
||||
|
||||
Pixhawk flight controllers usually come with a [Pixhawk Connector Standard Debug Port](../debug/swd_debug.md#pixhawk-connector-standard-debug-ports) which will be either the 10 pin [Pixhawk Debug Full](../debug/swd_debug.md#pixhawk-debug-full) or 6 pin [Pixhawk Debug Mini](../debug/swd_debug.md#pixhawk-debug-mini) port.
|
||||
|
||||
|
||||
@@ -14,10 +14,11 @@ They are listed because you may be using them in an existing drone, and because
|
||||
- _CUAV Pixhack v3_ (FMUv3) — last published in [PX4 v1.15](https://docs.px4.io/v1.15/en/flight_controller/pixhack_v3) <!-- 202603 removed doc -->
|
||||
- _Aerotenna OcPoC-Zynq Mini_ — last published in [PX4v1.11](https://docs.px4.io/v1.11/en/flight_controller/ocpoc_zynq#aerotenna-ocpoc-zynq-mini-flight-controller) <!-- 202603 removed doc -->
|
||||
- _Holybro Pixhawk 4 Mini_ (FMUv5) -— last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/pixhawk4_mini) <!-- 202603 removed doc -->
|
||||
- _Holybro Kakute F7_ — last published in [PX4 v1.15](https://docs.px4.io/v1.15/en/flight_controller/kakutef7) <!-- 202603 removed doc -->
|
||||
- _Holybro Pixhawk Mini_ (FMUv3) — last published in [PX4 v1.15](https://docs.px4.io/v1.15/en/flight_controller/pixhawk_mini) <!-- 202603 removed doc -->
|
||||
- _Holybro Kakute F7_ — Marked as discontinued in PX4 v1.15.
|
||||
Last published in [PX4 v1.17](https://docs.px4.io/v1.17/en/flight_controller/kakutef7). <!-- 202603 removed doc -->
|
||||
- _Holybro Pixhawk Mini_ (FMUv3) — last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/pixhawk_mini) <!-- 202603 removed doc -->
|
||||
- _Holybro Pixfalcon_ (Pixhawk FMUv2) — last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/pixfalcon) <!-- Discontinued around v1.15/2024. -->
|
||||
- _Holybro Pix32_ (FMUv2) — last published in [PX4 v1.15](https://docs.px4.io/v1.15/en/flight_controller/holybro_pix32) <!-- 202603 removed doc -->
|
||||
- _Holybro Pix32_ (FMUv2) — last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/holybro_pix32) <!-- 202603 removed doc -->
|
||||
- _ModalAI VOXL Flight_ — last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/modalai_voxl_flight) <!-- 202603 removed doc -->
|
||||
- _ModalAI Flight Core v1_ — last published in [PX4 v1.11](https://docs.px4.io/v1.11/en/flight_controller/modalai_fc_v1) <!-- 202603 removed doc -->
|
||||
- _mRobotics-X2.1_ (FMUv2) — last published in [PX4 v1.16](https://docs.px4.io/v1.16/en/flight_controller/mro_x2.1) <!-- 202507 removed doc -->
|
||||
|
||||
@@ -78,11 +78,172 @@ make px4_fmu-v3_default
|
||||
|
||||
## Debug Ports
|
||||
|
||||
See [3DR Pixhawk 1 > Debug Ports](../flight_controller/pixhawk.md#debug-ports)
|
||||
### Console Port
|
||||
|
||||
The [PX4 System Console](../debug/system_console.md) runs on the port labeled [SERIAL4/5](#serial-4-5-port).
|
||||
|
||||
:::tip
|
||||
A convenient way to connect to the console is to use a [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1), as it comes with connectors that can be used with several different Pixhawk devices.
|
||||
Simply connect the 6-pos DF13 1:1 cable on the [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1) to the Pixhawk `SERIAL4/5` port.
|
||||
|
||||

|
||||
:::
|
||||
|
||||
The pinout is standard serial pinout, designed to connect to a [3.3V FTDI](https://www.digikey.com/en/products/detail/TTL-232R-3V3/768-1015-ND/1836393) cable (5V tolerant).
|
||||
|
||||
| 3DR Pixhawk 1 | | FTDI | |
|
||||
| ------------- | ---------------------------- | ---- | -------------------------------- |
|
||||
| 1 | + 5v (红色) | | N/C |
|
||||
| 2 | S4 Tx | | N/C |
|
||||
| 3 | S4 Rx | | N/C |
|
||||
| 4 | S5 Tx | 5 | FTDI RX (黄色) |
|
||||
| 5 | S5 Rx | 4 | FTDI TX (橙色) |
|
||||
| 6 | GND | 1 | FTDI GND (黑色) |
|
||||
|
||||
The wiring for an FTDI cable to a 6-pos DF13 1:1 connector is shown in the figure below.
|
||||
|
||||

|
||||
|
||||
The complete wiring is shown below.
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
For information on how to _use_ the console see: [System Console](../debug/system_console.md).
|
||||
:::
|
||||
|
||||
### SWD Port
|
||||
|
||||
The [SWD](../debug/swd_debug.md) (JTAG) ports are hidden under the cover (which must be removed for hardware debugging).
|
||||
There are separate ports for FMU and IO, as highlighted below.
|
||||
|
||||

|
||||
|
||||
The ports are ARM 10-pin JTAG connectors, which you will probably have to solder.
|
||||
The pinout for the ports is shown below (the square markers in the corners above indicates pin 1).
|
||||
|
||||

|
||||
|
||||
:::info
|
||||
All Pixhawk FMUv2 boards have a similar SWD port.
|
||||
:::
|
||||
|
||||
## 针脚定义
|
||||
|
||||
See [3DR Pixhawk 1 > Pinouts](../flight_controller/pixhawk.md#pinouts)
|
||||
#### TELEM1,TELEM2 接口
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | ---------------------------- | --------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | TX (OUT) | +3.3V |
|
||||
| 3 | RX (IN) | +3.3V |
|
||||
| 4(黑) | CTS (IN) | +3.3V |
|
||||
| 6 | RTS (OUT) | +3.3V |
|
||||
| 6 | GND | GND |
|
||||
|
||||
#### GPS 接口
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | --------------------------- | --------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | TX (OUT) | +3.3V |
|
||||
| 3 | RX (IN) | +3.3V |
|
||||
| 4(黑) | CAN2 TX | +3.3V |
|
||||
| 6 | CAN2 RX | +3.3V |
|
||||
| 6 | GND | GND |
|
||||
|
||||
#### SERIAL 4/5 port
|
||||
|
||||
Due to space constraints two ports are on one connector.
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | -------------------------- | --------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | TX (#4) | +3.3V |
|
||||
| 3 | RX (#4) | +3.3V |
|
||||
| 4(黑) | TX (#5) | +3.3V |
|
||||
| 6 | RX (#5) | +3.3V |
|
||||
| 6 | GND | GND |
|
||||
|
||||
#### ADC 6.6V
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | ------ | --------------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | ADC IN | up to +6.6V |
|
||||
| 3 | GND | GND |
|
||||
|
||||
#### ADC 3.3V
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | ------ | --------------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | ADC IN | up to +3.3V |
|
||||
| 3 | GND | GND |
|
||||
| 4(黑) | ADC IN | up to +3.3V |
|
||||
| 6 | GND | GND |
|
||||
|
||||
#### I2C
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | --- | ------------------------------------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | SCL | +3.3 (pullups) |
|
||||
| 3 | SDA | +3.3 (pullups) |
|
||||
| 4(黑) | GND | GND |
|
||||
|
||||
#### CAN
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | -------------------------- | ---- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | CAN_H | +12V |
|
||||
| 3 | CAN_L | +12V |
|
||||
| 4(黑) | GND | GND |
|
||||
|
||||
#### SPI
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | ------------------------------------------------------ | -------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | SPI_EXT_SCK | +3.3 |
|
||||
| 3 | SPI_EXT_MISO | +3.3 |
|
||||
| 4(黑) | SPI_EXT_MOSI | +3.3 |
|
||||
| 6 | !SPI_EXT_NSS | +3.3 |
|
||||
| 6 | !GPIO_EXT | +3.3 |
|
||||
| 7 | GND | GND |
|
||||
|
||||
#### POWER
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | --- | --------------------- |
|
||||
| 1(红) | VCC | +5V |
|
||||
| 2 | VCC | +5V |
|
||||
| 3 | 电流 | +3.3V |
|
||||
| 4(黑) | 电压 | +3.3V |
|
||||
| 6 | GND | GND |
|
||||
| 6 | GND | GND |
|
||||
|
||||
#### SWITCH
|
||||
|
||||
| 针脚 | 信号 | 电压 |
|
||||
| ---- | -------------------------------------------------------- | --------------------- |
|
||||
| 1(红) | VCC | +3.3V |
|
||||
| 2 | !IO_LED_SAFETY | GND |
|
||||
| 3 | SAFETY | GND |
|
||||
|
||||
## 串口映射
|
||||
|
||||
| UART | 设备 | Port |
|
||||
| ------ | ---------- | ------------------------------ |
|
||||
| UART1 | /dev/ttyS0 | IO debug |
|
||||
| USART2 | /dev/ttyS1 | TELEM1 (流控) |
|
||||
| USART3 | /dev/ttyS2 | TELEM2 (流控) |
|
||||
| UART4 | | |
|
||||
| UART7 | CONSOLE | |
|
||||
| UART8 | SERIAL4 | |
|
||||
|
||||
<!-- Note: Got ports using https://github.com/PX4/PX4-user_guide/pull/672#issuecomment-598198434 -->
|
||||
|
||||
## 串口映射
|
||||
|
||||
|
||||
@@ -100,8 +100,8 @@ Order from [Holybro](https://holybro.com/products/pixhawk-6c-mini).
|
||||
|
||||
## 组装 / 设置
|
||||
|
||||
The Pixhawk 4 Mini's port is very similar to the Pixhawk 6C Mini's port.
|
||||
Please refer to the [Pixhawk 4 Mini Wiring Quick Start](../assembly/quick_start_pixhawk4_mini.md) as it provides instructions on how to assemble required/important peripherals including GPS, Power Module etc.
|
||||
The Pixhawk 6C Mini's ports are very similar to the Pixhawk 4 Mini's ports.
|
||||
Please refer to the [Pixhawk 4 Mini Wiring Quick Start](https://docs.px4.io/v1.16/en/assembly/quick_start_pixhawk4_mini) (Discontinued) as it provides instructions on how to assemble required/important peripherals including GPS, Power Module etc.
|
||||
|
||||
## 针脚定义
|
||||
|
||||
@@ -206,7 +206,7 @@ The complete set of supported configurations can be seen in the [Airframes Refer
|
||||
## 另见
|
||||
|
||||
- [Holybro Docs](https://docs.holybro.com/) (Holybro)
|
||||
- [Pixhawk 4 Mini Wiring Quick Start](../assembly/quick_start_pixhawk4_mini.md) (and [Pixhawk 6C Wiring QuickStart](../assembly/quick_start_pixhawk6c.md))
|
||||
- [Pixhawk 6C Wiring QuickStart](../assembly/quick_start_pixhawk6c.md)
|
||||
- [PM02 Power Module](../power_module/holybro_pm02.md)
|
||||
- [PM06 Power Module](../power_module/holybro_pm06_pixhawk4mini_power_module.md)
|
||||
- [PM07 Power Module](../power_module/holybro_pm07_pixhawk4_power_module.md)
|
||||
|
||||
@@ -169,7 +169,7 @@ As we have no ground or positive BEC voltage connections we connect our `PWM` ES
|
||||
### GPS / External Magnetometer
|
||||
|
||||
I took the GPS cable which fits the connector of the used GPS and came with the Pixracer set.
|
||||
Sadly the pin assignment was completely wrong and I rewired the connector again using tweezers according to the [3DR Pixhawk Mini user manual](../flight_controller/pixhawk_mini.md#connector-pin-assignments-pin-outs) GPS port.
|
||||
Sadly the pin assignment was completely wrong and I rewired the connector again using tweezers according to the [3DR Pixhawk Mini user manual](https://docs.px4.io/v1.16/en/flight_controller/pixhawk_mini#connector-pin-assignments-pin-outs) GPS port.
|
||||
|
||||
#### Pixracer GPS/I2C Port
|
||||
|
||||
|
||||
@@ -14,6 +14,10 @@ It also links instructions for how you can add PX4 support for:
|
||||
- [Message Signing](../mavlink/message_signing.md)
|
||||
- [Protocols/Microservices](../mavlink/protocols.md)
|
||||
|
||||
:::warning
|
||||
MAVLink messages are unauthenticated by default. Without [message signing](../mavlink/message_signing.md) enabled, any device that can send MAVLink messages to the vehicle can execute commands including shell access, file operations, and flight termination. Production deployments must enable signing and follow the [Security Hardening](../mavlink/security_hardening.md) guide.
|
||||
:::
|
||||
|
||||
:::info
|
||||
We do not yet cover _command_ handling and sending, or how to implement your own microservices.
|
||||
:::
|
||||
|
||||
84
docs/zh/mavlink/security_hardening.md
Normal file
84
docs/zh/mavlink/security_hardening.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# MAVLink Security Hardening for Production Deployments
|
||||
|
||||
<Badge type="tip" text="PX4 v1.17" />
|
||||
|
||||
MAVLink is an open communication protocol designed for lightweight, low-latency communication between drones and ground stations.
|
||||
By default, all MAVLink messages are unauthenticated.
|
||||
This is intentional for development and testing, but **production deployments must enable [message signing](message_signing.md)** to prevent unauthorized access.
|
||||
|
||||
:::warning
|
||||
Without message signing enabled, any device that can send MAVLink messages to the vehicle (via radio, network, or serial) can execute any command, including shell access, file operations, parameter changes, mission uploads, arming, and flight termination.
|
||||
:::
|
||||
|
||||
## What Is at Risk
|
||||
|
||||
When MAVLink signing is not enabled, an attacker within communication range can:
|
||||
|
||||
| Capability | MAVLink mechanism |
|
||||
| ------------------------------------------- | ------------------------------------------------ |
|
||||
| Execute shell commands | `SERIAL_CONTROL` with `SERIAL_CONTROL_DEV_SHELL` |
|
||||
| Read, write, or delete files | MAVLink FTP protocol |
|
||||
| Change any flight parameter | `PARAM_SET` / `PARAM_EXT_SET` |
|
||||
| Upload or overwrite missions | Mission protocol |
|
||||
| Arm or disarm motors | `MAV_CMD_COMPONENT_ARM_DISARM` |
|
||||
| Terminate flight (crash) | `MAV_CMD_DO_FLIGHTTERMINATION` |
|
||||
| Trigger emergency landing | Spoofed `BATTERY_STATUS` |
|
||||
| Reboot the vehicle | `MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN` |
|
||||
|
||||
All of these are standard MAVLink capabilities used by ground control stations.
|
||||
Without signing, there is no distinction between a legitimate GCS and an unauthorized sender.
|
||||
|
||||
## Hardening Checklist
|
||||
|
||||
### 1. Enable Message Signing
|
||||
|
||||
Message signing provides cryptographic authentication for all MAVLink communication.
|
||||
See [Message Signing](message_signing.md) for full details.
|
||||
|
||||
Steps:
|
||||
|
||||
1. Connect the vehicle via **USB** (key provisioning only works over USB).
|
||||
2. Provision a 32-byte secret key using the [SETUP_SIGNING](https://mavlink.io/en/messages/common.html#SETUP_SIGNING) message.
|
||||
3. Set [MAV_SIGN_CFG](../advanced_config/parameter_reference.md#MAV_SIGN_CFG) to **1** (signing enabled on all links except USB) or **2** (signing on all links including USB).
|
||||
4. Provision the same key on all ground control stations and companion computers that need to communicate with the vehicle.
|
||||
5. Verify that unsigned messages from unknown sources are rejected.
|
||||
|
||||
:::info
|
||||
`MAV_SIGN_CFG=1` is recommended for most deployments.
|
||||
This enforces signing on telemetry radios and network links while allowing unsigned access over USB for maintenance.
|
||||
USB connections require physical access to the vehicle, which provides equivalent security to physical key access.
|
||||
:::
|
||||
|
||||
### 2. Secure Physical Access
|
||||
|
||||
- Protect access to the SD card. The signing key is stored at `/mavlink/mavlink-signing-key.bin` and can be read or removed by anyone with physical access.
|
||||
- USB connections bypass signing when `MAV_SIGN_CFG=1`. Ensure USB ports are not exposed in deployed configurations.
|
||||
|
||||
### 3. Secure Network Links
|
||||
|
||||
- Do not expose MAVLink UDP/TCP ports to untrusted networks or the internet.
|
||||
- Place MAVLink communication links behind firewalls or VPNs.
|
||||
- Segment MAVLink networks from business or public networks.
|
||||
- When using companion computers, audit which network interfaces MAVLink is bound to.
|
||||
|
||||
### 4. Understand the Limitations
|
||||
|
||||
- **No encryption**: Message signing provides authentication and integrity, but messages are sent in plaintext. An eavesdropper can read telemetry and commands but cannot forge them.
|
||||
- **Allowlisted messages**: A small set of [safety-critical messages](message_signing.md#unsigned-message-allowlist) (RADIO_STATUS, ADSB_VEHICLE, COLLISION) are always accepted unsigned.
|
||||
- **Key management**: There is no automatic key rotation. Keys must be reprovisioned manually via USB if compromised.
|
||||
|
||||
## Integrator Responsibility
|
||||
|
||||
PX4 is open-source flight controller firmware used by manufacturers and system integrators to build commercial and custom drone platforms.
|
||||
|
||||
Securing the communication links for a specific deployment is the responsibility of the system integrator.
|
||||
其中包括:
|
||||
|
||||
- Choosing appropriate radio hardware and link security
|
||||
- Enabling and managing MAVLink message signing
|
||||
- Restricting network access to MAVLink interfaces
|
||||
- Applying firmware updates that address security issues
|
||||
- Evaluating whether the default configuration meets the security requirements of the target application
|
||||
|
||||
PX4 provides the tools for securing MAVLink communication.
|
||||
Integrators must enable and configure them for their deployment context.
|
||||
@@ -96,203 +96,203 @@ They are not build into the module, and hence are neither published or subscribe
|
||||
:::details
|
||||
See messages
|
||||
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [ActuatorTest](../msg_docs/ActuatorTest.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [OrbitStatus](../msg_docs/OrbitStatus.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [EstimatorBias](../msg_docs/EstimatorBias.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
|
||||
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [TuneControl](../msg_docs/TuneControl.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [SensorTemp](../msg_docs/SensorTemp.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [ActuatorTest](../msg_docs/ActuatorTest.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [TuneControl](../msg_docs/TuneControl.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [OrbitStatus](../msg_docs/OrbitStatus.md)
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [EstimatorBias](../msg_docs/EstimatorBias.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
|
||||
:::
|
||||
|
||||
@@ -22,11 +22,11 @@ Published by the vehicle's allocation and consumed by the ESC protocol drivers e
|
||||
|
||||
## Constants
|
||||
|
||||
| 参数名 | 类型 | 值 | 描述 |
|
||||
| --------------------------------------------------------------------------------------------------------- | -------- | --- | -- |
|
||||
| <a id="#MESSAGE_VERSION"></a> MESSAGE_VERSION | `uint32` | 0 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR1"></a> ACTUATOR_FUNCTION_MOTOR1 | `uint8` | 101 | |
|
||||
| <a id="#NUM_CONTROLS"></a> NUM_CONTROLS | `uint8` | 12 | |
|
||||
| 参数名 | 类型 | 值 | 描述 |
|
||||
| --------------------------------------------------------------------------------------------------------- | -------- | --- | -------------------------------------------------------------------------------------- |
|
||||
| <a id="#MESSAGE_VERSION"></a> MESSAGE_VERSION | `uint32` | 0 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR1"></a> ACTUATOR_FUNCTION_MOTOR1 | `uint8` | 101 | output_functions.yaml Motor.start |
|
||||
| <a id="#NUM_CONTROLS"></a> NUM_CONTROLS | `uint8` | 12 | output_functions.yaml Motor.count |
|
||||
|
||||
## Source Message
|
||||
|
||||
@@ -48,9 +48,9 @@ uint64 timestamp_sample # [us] Sampling timestamp of the data this control respo
|
||||
|
||||
uint16 reversible_flags # [-] Bitset indicating which motors are configured to be reversible
|
||||
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101 # output_functions.yaml Motor.start
|
||||
|
||||
uint8 NUM_CONTROLS = 12
|
||||
uint8 NUM_CONTROLS = 12 # output_functions.yaml Motor.count
|
||||
float32[12] control # [@range -1, 1] Normalized thrust. Where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors)
|
||||
```
|
||||
|
||||
|
||||
@@ -29,17 +29,7 @@ pageClass: is-wide-page
|
||||
| 参数名 | 类型 | 值 | 描述 |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------ | ------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR1"></a> ACTUATOR_FUNCTION_MOTOR1 | `uint8` | 101 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR2"></a> ACTUATOR_FUNCTION_MOTOR2 | `uint8` | 102 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR3"></a> ACTUATOR_FUNCTION_MOTOR3 | `uint8` | 103 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR4"></a> ACTUATOR_FUNCTION_MOTOR4 | `uint8` | 104 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR5"></a> ACTUATOR_FUNCTION_MOTOR5 | `uint8` | 105 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR6"></a> ACTUATOR_FUNCTION_MOTOR6 | `uint8` | 106 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR7"></a> ACTUATOR_FUNCTION_MOTOR7 | `uint8` | 107 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR8"></a> ACTUATOR_FUNCTION_MOTOR8 | `uint8` | 108 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR9"></a> ACTUATOR_FUNCTION_MOTOR9 | `uint8` | 109 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR10"></a> ACTUATOR_FUNCTION_MOTOR10 | `uint8` | 110 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR11"></a> ACTUATOR_FUNCTION_MOTOR11 | `uint8` | 111 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR12"></a> ACTUATOR_FUNCTION_MOTOR12 | `uint8` | 112 | |
|
||||
| <a id="#ACTUATOR_FUNCTION_MOTOR_MAX"></a> ACTUATOR_FUNCTION_MOTOR_MAX | `uint8` | 112 | output_functions.yaml Motor.start + Motor.count - 1 |
|
||||
| <a id="#FAILURE_OVER_CURRENT"></a> FAILURE_OVER_CURRENT | `uint8` | 0 | (1 << 0) |
|
||||
| <a id="#FAILURE_OVER_VOLTAGE"></a> FAILURE_OVER_VOLTAGE | `uint8` | 1 | (1 << 1) |
|
||||
| <a id="#FAILURE_MOTOR_OVER_TEMPERATURE"></a> FAILURE_MOTOR_OVER_TEMPERATURE | `uint8` | 2 | (1 << 2) |
|
||||
@@ -73,19 +63,8 @@ uint8 esc_cmdcount # Counter of number of commands
|
||||
uint8 esc_state # State of ESC - depend on Vendor
|
||||
|
||||
uint8 actuator_function # actuator output function (one of Motor1...MotorN)
|
||||
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR1 = 101
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR2 = 102
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR3 = 103
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR4 = 104
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR5 = 105
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR6 = 106
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR7 = 107
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR8 = 108
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR9 = 109
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR10 = 110
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR11 = 111
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR12 = 112
|
||||
uint8 ACTUATOR_FUNCTION_MOTOR_MAX = 112 # output_functions.yaml Motor.start + Motor.count - 1
|
||||
|
||||
uint16 failures # Bitmask to indicate the internal ESC faults
|
||||
int8 esc_power # Applied power 0-100 in % (negative values reserved)
|
||||
|
||||
@@ -61,6 +61,8 @@ pageClass: is-wide-page
|
||||
| cs_gnss_fault | `bool` | | | 45 - true if GNSS true if GNSS measurements (lat, lon, vel) have been declared faulty |
|
||||
| cs_yaw_manual | `bool` | | | 46 - true if yaw has been set manually |
|
||||
| cs_gnss_hgt_fault | `bool` | | | 47 - true if GNSS true if GNSS measurements (alt) have been declared faulty |
|
||||
| cs_in_transition | `bool` | | | 48 - true if the vehicle is in vtol transition |
|
||||
| cs_heading_observable | `bool` | | | 49 - true when heading is observable |
|
||||
| fault_status_changes | `uint32` | | | number of filter fault status (fs) changes |
|
||||
| fs_bad_mag_x | `bool` | | | 0 - true if the fusion of the magnetometer X-axis has encountered a numerical error |
|
||||
| fs_bad_mag_y | `bool` | | | 1 - true if the fusion of the magnetometer Y-axis has encountered a numerical error |
|
||||
@@ -136,6 +138,8 @@ bool cs_gnss_vel # 44 - true if GNSS velocity measurement fusion
|
||||
bool cs_gnss_fault # 45 - true if GNSS true if GNSS measurements (lat, lon, vel) have been declared faulty
|
||||
bool cs_yaw_manual # 46 - true if yaw has been set manually
|
||||
bool cs_gnss_hgt_fault # 47 - true if GNSS true if GNSS measurements (alt) have been declared faulty
|
||||
bool cs_in_transition # 48 - true if the vehicle is in vtol transition
|
||||
bool cs_heading_observable # 49 - true when heading is observable
|
||||
|
||||
# fault status
|
||||
uint32 fault_status_changes # number of filter fault status (fs) changes
|
||||
|
||||
@@ -26,6 +26,8 @@ This power module has integrated power distribution board and provides regulated
|
||||
|
||||
## Wiring/Connections
|
||||
|
||||
Wiring and connection examples can be found in: [Pixhawk 4 Mini > Power](../assembly/quick_start_pixhawk4_mini.md#power).
|
||||

|
||||
|
||||
<img src="../../assets/hardware/power_module/holybro_pm06/pm06_pin_map.jpg" width="450px" title="pm06" />
|
||||
This image shows the wiring and connections for the [Pixhawk 4 Mini](https://docs.px4.io/v1.16/en/assembly/quick_start_pixhawk4_mini#power) (discontinued).
|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user