From e2e89def7ea4bdfaa861009c6d6d9e25c89cf39f Mon Sep 17 00:00:00 2001 From: PX4 Build Bot Date: Mon, 2 Feb 2026 08:19:45 +1100 Subject: [PATCH] New Crowdin translations - zh-CN (#26398) Co-authored-by: Crowdin Bot --- docs/zh/SUMMARY.md | 3 + docs/zh/config_vtol/index.md | 1 + docs/zh/config_vtol/vtol_ice_shedding.md | 22 ++ docs/zh/contribute/code.md | 2 +- docs/zh/modules/hello_sky.md | 6 +- docs/zh/modules/modules_communication.md | 2 +- .../mc_neural_network_control.md | 6 +- docs/zh/neural_networks/raptor.md | 2 +- docs/zh/peripherals/adsb_flarm.md | 2 +- docs/zh/ros2/px4_ros2_control_interface.md | 8 +- docs/zh/ros2/px4_ros2_interface_lib.md | 2 +- docs/zh/vtx/index.md | 287 ++++++++++++++++++ 12 files changed, 335 insertions(+), 8 deletions(-) create mode 100644 docs/zh/config_vtol/vtol_ice_shedding.md create mode 100644 docs/zh/vtx/index.md diff --git a/docs/zh/SUMMARY.md b/docs/zh/SUMMARY.md index 440ee6c682..6af00c4160 100644 --- a/docs/zh/SUMMARY.md +++ b/docs/zh/SUMMARY.md @@ -93,6 +93,7 @@ - [VTOL后转换调参](config_vtol/vtol_back_transition_tuning.md) - [没有空速传感器的VTOL ](config_vtol/vtol_without_airspeed_sensor.md) - [垂直起降风向仪](config_vtol/vtol_weathervane.md) + - [VTOL Ice Shedding](config_vtol/vtol_ice_shedding.md) - [飞行模式](flight_modes_vtol/index.md) - [Mission Mode (VTOL)](flight_modes_vtol/mission.md) - [Return Mode (VTOL)](flight_modes_vtol/return.md) @@ -361,6 +362,8 @@ - [Satellite Comms (Iridium/RockBlock)](advanced_features/satcom_roadblock.md) + - [Analog Video Transmitters](vtx/index.md) + - [Power Systems](power_systems/index.md) - [Battery Estimation Tuning](config/battery.md) - [Battery Chemistry Overview](power_systems/battery_chemistry.md) diff --git a/docs/zh/config_vtol/index.md b/docs/zh/config_vtol/index.md index fe5ff34801..24096ad139 100644 --- a/docs/zh/config_vtol/index.md +++ b/docs/zh/config_vtol/index.md @@ -9,3 +9,4 @@ Then perform VTOL-specific configuration and tuning: - [Back-transition Tuning](../config_vtol/vtol_back_transition_tuning.md) - [VTOL w/o Airspeed Sensor](../config_vtol/vtol_without_airspeed_sensor.md) - [VTOL Weather Vane](../config_vtol/vtol_weathervane.md) +- [Ice Shedding](../config_vtol/vtol_ice_shedding.md) diff --git a/docs/zh/config_vtol/vtol_ice_shedding.md b/docs/zh/config_vtol/vtol_ice_shedding.md new file mode 100644 index 0000000000..6884211c7b --- /dev/null +++ b/docs/zh/config_vtol/vtol_ice_shedding.md @@ -0,0 +1,22 @@ +# VTOL Ice Shedding feature + +## 综述 + +Ice shedding is a feature that periodically spins unused motors in fixed-wing +flight, to break off any ice that is starting to build up in the motors while it +is still feasible to do so. + +It is configured by the paramter `CA_ICE_PERIOD`. When it is 0, the feature is +disabled, when it is above 0, it sets the duration of the ice shedding cycle in +seconds. In each cycle, the rotors are spun for two seconds at a motor output of +0.01. + +:::warning +When enabling the feature on a new airframe, there is the risk of producing +torques that disturb the fixed-wing rate controller. To mitigate this risk: + +- Set your `PWM_MIN` values correctly, so that the motor output 0.01 actually + produces 1% thrust +- Be prepared to take control and switch back to multicopter + +::: diff --git a/docs/zh/contribute/code.md b/docs/zh/contribute/code.md index 386458a6f0..793a629099 100644 --- a/docs/zh/contribute/code.md +++ b/docs/zh/contribute/code.md @@ -34,7 +34,7 @@ If you update an existing file you are not required to make the whole file compl ### Line Length -- Maximum line length is 120 characters. +- Maximum line length is 140 characters. ### File Extensions diff --git a/docs/zh/modules/hello_sky.md b/docs/zh/modules/hello_sky.md index e1c185d810..87e4ebffa4 100644 --- a/docs/zh/modules/hello_sky.md +++ b/docs/zh/modules/hello_sky.md @@ -89,15 +89,19 @@ This consists of a single _C_ file and a _cmake_ definition (which tells the too ``` :::tip + The main function must be named `_main` and exported from the module as shown. + ::: :::tip + `PX4_INFO` is the equivalent of `printf` for the PX4 shell (included from **px4_platform_common/log.h**). There are different log levels: `PX4_INFO`, `PX4_WARN`, `PX4_ERR`, `PX4_DEBUG`. Warnings and errors are additionally added to the [ULog](../dev_log/ulog_file_format.md) and shown on [Flight Review](https://logs.px4.io/). + ::: 3. Create and open a new _cmake_ definition file named **CMakeLists.txt**. @@ -166,7 +170,7 @@ This consists of a single _C_ file and a _cmake_ definition (which tells the too 4. Create and open a new _Kconfig_ definition file named **Kconfig** and define your symbol for naming (see [Kconfig naming convention](../hardware/porting_guide_config.md#px4-kconfig-symbol-naming-convention)). 复制下面的文本: - ``` + ```text menuconfig EXAMPLES_PX4_SIMPLE_APP bool "px4_simple_app" default n diff --git a/docs/zh/modules/modules_communication.md b/docs/zh/modules/modules_communication.md index 86a9eb78a6..03ca66aa5e 100644 --- a/docs/zh/modules/modules_communication.md +++ b/docs/zh/modules/modules_communication.md @@ -35,7 +35,7 @@ Source: [modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/mod This module implements the MAVLink protocol, which can be used on a Serial link or UDP network connection. It communicates with the system via uORB: some messages are directly handled in the module (eg. mission protocol), others are published via uORB (eg. vehicle_command). 流(Stream)被用来以特定速率发送周期性的消息,例如飞机姿态信息。 -Streams are used to send periodic messages with a specific rate, such as the vehicle attitude. When starting the mavlink instance, a mode can be specified, which defines the set of enabled streams with their rates. For a running instance, streams can be configured via mavlink stream command. +When starting the mavlink instance, a mode can be specified, which defines the set of enabled streams with their rates. For a running instance, streams can be configured via `mavlink stream` command. 可以存在多个该模块的实例,每个实例连接到一个串口设备或者网络端口。 diff --git a/docs/zh/neural_networks/mc_neural_network_control.md b/docs/zh/neural_networks/mc_neural_network_control.md index 5e06f6a4c5..8e0e94c327 100644 --- a/docs/zh/neural_networks/mc_neural_network_control.md +++ b/docs/zh/neural_networks/mc_neural_network_control.md @@ -22,7 +22,11 @@ If not, there are other possible NN frameworks, such as [Eigen](https://eigen.tu This document explains how you can include the module in your PX4 build, and provides a broad overview of how it works. The other documents in the section provide more information about the integration, allowing you to replace the NN with a version trained on different data, or even to replace the TLFM library altogether. -If you are looking for more resources to learn about the module, a website has been created with links to a youtube video and a workshop paper. A full master's thesis will be added later. [A Neural Network Mode for PX4 on Embedded Flight Controllers](https://ntnu-arl.github.io/px4-nns/). +:::tip +For more information, see the Masters thesis from which this module was created: [Deep Reinforcement Learning for Embedded Control Policies for Aerial Vehicles](https://nva.sikt.no/registration/019b26689144-efeebae8-84d6-4413-ad7f-9aceb4ff7374). + +In addition, the (Norwegian) website [A Neural Network Mode for PX4 on Embedded Flight Controllers](https://ntnu-arl.github.io/px4-nns/) has a youtube video and a workshop paper . +::: ## Neural Network PX4 Firmware diff --git a/docs/zh/neural_networks/raptor.md b/docs/zh/neural_networks/raptor.md index a2c94576a6..e7b9c60d68 100644 --- a/docs/zh/neural_networks/raptor.md +++ b/docs/zh/neural_networks/raptor.md @@ -35,7 +35,7 @@ The method we developed for training the RAPTOR policy is called Meta-Imitation You can torture test the RAPTOR policy in your browser at [https://raptor.rl.tools](https://raptor.rl.tools) or in the embedded app here: - + For more information please refer to the paper at [https://arxiv.org/abs/2509.11481](https://arxiv.org/abs/2509.11481). diff --git a/docs/zh/peripherals/adsb_flarm.md b/docs/zh/peripherals/adsb_flarm.md index b3764e4796..36d2c728be 100644 --- a/docs/zh/peripherals/adsb_flarm.md +++ b/docs/zh/peripherals/adsb_flarm.md @@ -11,7 +11,7 @@ PX4 traffic avoidance works with ADS-B or FLARM products that supply transponder It has been tested with the following devices: - [PingRX ADS-B Receiver](https://uavionix.com/product/pingrx-pro/) (uAvionix) -- [FLARM](https://flarm.com/products/uav/atom-uav-flarm-for-drones/) +- [FLARM](https://www.flarm.com/en/drones/) ## 硬件安装 diff --git a/docs/zh/ros2/px4_ros2_control_interface.md b/docs/zh/ros2/px4_ros2_control_interface.md index 625ae209b8..182b18b45a 100644 --- a/docs/zh/ros2/px4_ros2_control_interface.md +++ b/docs/zh/ros2/px4_ros2_control_interface.md @@ -14,7 +14,7 @@ Experimental ::: -这[PX4 ROS 2接口库](../ros2/px4_ros2_interface_lib.md)是一个 C++ 库,可简化从 ROS 2 控制 PX4 的操作。 +The [PX4 ROS 2 Interface Library](../ros2/px4_ros2_interface_lib.md) is a C++ library (with Python bindings) that simplifies controlling PX4 from ROS 2. 开发者可使用该库创建并动态注册以 ROS 2 编写的模式。 这些模式会动态注册到 PX4 中,并且对于地面站或其他外部系统而言,它们看起来就像是 PX4 的一部分。 @@ -26,6 +26,12 @@ Experimental PX4 ROS 2 模式相较于 PX4 内部模式,更易于实现和维护,并且在处理能力与既有代码库资源方面,能为开发者提供更丰富的支持。 除非该模式属于安全关键型、对时序有严格要求或需要极高的更新速率,或者你的飞行器没有搭载伴随计算机,否则你应优先[考虑使用 PX4 ROS 2 模式,而非 PX4 内部模式](../concept/flight_modes.md#internal-vs-external-modes)。 +:::tip +If you want to use Python, check out the [examples in the repository](https://github.com/Auterion/px4-ros2-interface-lib/tree/main/examples/python). +Not all classes have Python bindings yet — the [supported bindings are here](https://github.com/Auterion/px4-ros2-interface-lib/tree/main/px4_ros2_py/src/px4_ros2). +You are welcome to add and contribute missing classes. +::: + ## 综述 该图从概念层面概述了控制接口模式与模式执行器如何与 PX4 进行交互。 diff --git a/docs/zh/ros2/px4_ros2_interface_lib.md b/docs/zh/ros2/px4_ros2_interface_lib.md index e73f8efffe..215c9c14f7 100644 --- a/docs/zh/ros2/px4_ros2_interface_lib.md +++ b/docs/zh/ros2/px4_ros2_interface_lib.md @@ -7,7 +7,7 @@ Experimental 在撰写本文时,PX4 ROS 2 接口库的部分内容仍处于试验阶段,因此可能会发生变动。 ::: -[PX4 ROS 2 接口库 ](https://github.com/Auterion/px4-ros2-interface-lib)是一个 C++ 库,可简化从 ROS 2 对 PX4 进行控制和交互的操作。 +The [PX4 ROS 2 Interface Library](https://github.com/Auterion/px4-ros2-interface-lib) is a C++ library (with Python bindings) that simplifies controlling and interacting with PX4 from ROS 2. 该库为开发者提供了两个高级接口。 diff --git a/docs/zh/vtx/index.md b/docs/zh/vtx/index.md new file mode 100644 index 0000000000..b39ad4c57b --- /dev/null +++ b/docs/zh/vtx/index.md @@ -0,0 +1,287 @@ +# Analog Video Transmitters + +Analog Video Transmitters (VTX) can be controlled by PX4 via a half-duplex UART connection implementing the SmartAudio v1, v2, and v2.1 and Tramp protocols. + +The protocols allow writing and reading: + +- device status. +- transmission frequency in MHz or via band and channel index. +- transmission power in dBm or mW. +- operation modes. + +VTX settings are controlled by parameters and optionally via RC AUX channels or CRSF MSP commands. +The driver stores frequency and power tables that map band/channel indices to actual transmission values. +Configuration is device-specific and set up using the command line interface. + +## 入门指南 + +Connect the SmartAudio or Tramp pin of the VTX to the TX pin of a free serial port on the flight controller. +Then set the following parameters: + +- `VTX_SER_CFG`: Select the serial port used for VTX communication. +- `VTX_DEVICE`: Selects the VTX device (generic SmartAudio/Tramp or a specific device). + +Note that since the VTX communication is half-duplex, you can, for example, use the single-pin Radio Controller port for the VTX and use a full duplex TELEM port for CRSF communication. + +You should now be able to see the VTX device in the driver status: + +``` +nsh> vtx status +INFO [vtx] UART device: /dev/ttyS4 +INFO [vtx] VTX table "UNINITIALIZED": +INFO [vtx] Power levels: +INFO [vtx] RC mapping: Disabled +INFO [vtx] Parameters: +INFO [vtx] band: 1 +INFO [vtx] channel: 1 +INFO [vtx] frequency: 0 MHz +INFO [vtx] power level: 1 +INFO [vtx] power: 0 = 0 mW +INFO [vtx] pit mode: off +INFO [vtx] SmartAudio v2: +INFO [vtx] band: 1 +INFO [vtx] channel: 1 +INFO [vtx] frequency: 6110 MHz +INFO [vtx] power level: 1 +INFO [vtx] power: 0 mW +INFO [vtx] pit mode: on +INFO [vtx] lock: unlocked +``` + +:::warning +Without a configured power table, power mappings are unknown and default to 0 mW. +Some VTX devices enter pit mode when power is set to 0, regardless of the `VTX_PIT_MODE` parameter. +::: + +## VTX Table Configuration + +The VTX table stores frequency and power mappings for your specific device. + +The manufacturer usually provides this information in the form of a JSON file that can be translated into a [Betaflight CLI command set](https://www.betaflight.com/docs/development/VTX#vtx-table) that this driver implements for compatibility. + +### Power Level Configuration + +``` +# Set table name ≤16 characters +vtxtable name "Peak THOR T67" + +# Set the power values that are sent to the VTX for each power level index +# Note: SmartAudio v1 and v2 use index values! +vtxtable powervalues 0 1 2 3 4 +# Note: SmartAudio v2.1 uses dBm values instead! +# vtxtable powervalues 14 23 27 30 35 +# Note: Tramp uses mW values instead! +# vtxtable powervalues 25 200 500 1000 3000 + +# Set the corresponding power labels for each power level index ≤4 characters. +# These are used for status reporting. +vtxtable powerlabels 25 200 500 1W 3W + +# Set number of power levels +vtxtable powerlevels 5 + +# Save configuration +vtxtable save +``` + +This will create a VTX table with 5 power levels. + +```nsh> vtxtable status +INFO [vtxtable] VTX table "Peak THOR T67": +INFO [vtxtable] Power levels: +INFO [vtxtable] 1: 0 = 25 +INFO [vtxtable] 2: 1 = 200 +INFO [vtxtable] 3: 2 = 500 +INFO [vtxtable] 4: 3 = 1W +INFO [vtxtable] 5: 4 = 3W +``` + +### Frequency Table Configuration + +``` +# Set the name of each band and the frequencies of each channel +vtxtable band 1 BAND_A A FACTORY 6110 6130 6150 6170 6190 6210 6230 6250 +vtxtable band 2 BAND_B B FACTORY 6270 6290 6310 6330 6350 6370 6390 6410 +vtxtable band 3 BAND_E E FACTORY 6430 6450 6470 6490 6510 6530 6550 6570 +vtxtable band 4 BAND_F F FACTORY 6590 6610 6630 6650 6670 6690 6710 6730 +vtxtable band 5 BAND_R R FACTORY 6750 6770 6790 6810 6830 6850 6870 6890 +vtxtable band 6 BAND_P P FACTORY 6910 6930 6950 6970 6990 7010 7030 7050 +vtxtable band 7 BAND_H H FACTORY 7070 7090 7110 7130 7150 7170 7190 7210 +vtxtable band 8 BAND_U U FACTORY 6115 6265 6425 6585 6745 6905 7065 7185 + +# Set number of bands and channels +vtxtable bands 8 +vtxtable channels 8 + +# Save configuration +vtxtable save +``` + +This will create a VTX table with 8 bands and 8 channels. +Note that FACTORY sends the band and channel indexes to the VTX device and they use their internal frequency mapping. In this mode the frequency is just for indication purposes. +In contrast, CUSTOM would send the actual frequency values to the VTX device, but not all devices support this mode. +Setting a frequency to zero will skip setting it. + +``` +nsh> vtxtable status +INFO [vtxtable] VTX table 8x8: Peak THOR T67 +INFO [vtxtable] A: BAND_A = 6110 6130 6150 6170 6190 6210 6230 6250 +INFO [vtxtable] B: BAND_B = 6270 6290 6310 6330 6350 6370 6390 6410 +INFO [vtxtable] E: BAND_E = 6430 6450 6470 6490 6510 6530 6550 6570 +INFO [vtxtable] F: BAND_F = 6590 6610 6630 6650 6670 6690 6710 6730 +INFO [vtxtable] R: BAND_R = 6750 6770 6790 6810 6830 6850 6870 6890 +INFO [vtxtable] P: BAND_P = 6910 6930 6950 6970 6990 7010 7030 7050 +INFO [vtxtable] H: BAND_H = 7070 7090 7110 7130 7150 7170 7190 7210 +INFO [vtxtable] U: BAND_U = 6115 6265 6425 6585 6745 6905 7065 7185 +``` + +### Table Constraints + +Maximum table dimensions: + +- ≤24 bands each with ≤16 channels and ≤32GHz frequency values. +- ≤16 power levels. +- ≤16 characters table name. +- ≤12 characters band name and 1 character band letter. +- ≤4 characters power label length (to support "2.5W"). + +## AUX Channel Mapping + +The AUX mapping feature allows you to control VTX settings using RC AUX channels. +Each mapping entry defines an AUX channel range that triggers a specific VTX configuration. + +To enable AUX mapping, set `VTX_MAP_CONFIG` to one of the following values: + +- `0`: Disabled +- `1`: Disabled (reserved for CRSF MSP integration) +- `2`: Map AUX channels to power level control only +- `3`: Map AUX channels to band and channel control only +- `4`: Map AUX channels to all settings (power, band, and channel) + +### Configuring AUX Map Entries + +Use the following command format to add mapping entries: + +``` +vtxtable +``` + +Parameters: + +- `index`: Map entry index (0-159) +- `aux_channel`: AUX channel number (3-19, where AUX1=3) +- `band`: Target band (1-24, or 0 to leave unchanged) +- `channel`: Target channel (1-16, or 0 to leave unchanged) +- `power`: Power level (1-16, 0 to leave unchanged, or -1 for pit mode) +- `start_pwm`: Start of PWM range in microseconds (typically 900-2100) +- `end_pwm`: End of PWM range in microseconds (typically 900-2100) + +:::info +AUX channel numbering starts from 3 (AUX1=channel 3) to account for the first four RC channels 0-3 used for flight control. +::: + +Example configuration for a 6-position dial controlling band/channel on AUX4 (channel 7): + +``` +vtx 0 7 7 1 0 900 1025 +vtx 1 7 7 2 0 1025 1100 +vtx 2 7 7 4 0 1100 1175 +vtx 3 7 7 6 0 1175 1225 +vtx 4 7 7 8 0 1225 1300 +vtx 5 7 3 8 0 1300 2100 +``` + +Example configuration for power control on AUX3 (channel 6): + +``` +vtxtable 16 6 0 0 -1 900 1250 +vtxtable 17 6 0 0 1 1250 1525 +vtxtable 18 6 0 0 2 1525 1650 +vtxtable 19 6 0 0 3 1650 1875 +vtxtable 20 6 0 0 4 1875 2010 +``` + +Save the configuration with: + +``` +vtxtable save +``` + +The map status can be verified with `vtxtable status`. + +## CRSF MSP Integration + +When using a CRSF receiver with MSP support, you can control VTX settings directly from your transmitter using MSP commands sent over the CRSF link. +This feature must be enabled at compile time with the `VTX_CRSF_MSP_SUPPORT` Kconfig option. + +To enable CRSF MSP control, set `VTX_MAP_CONFIG` to one of: + +- `1`: MSP controls both frequency (band/channel) and power +- `2`: MSP controls frequency (band/channel) only, AUX controls power +- `3`: MSP controls power only, AUX controls band/channel + +When MSP integration is active, the driver responds to `MSP_SET_VTX_CONFIG` (0x59) commands. +The transmitter can send band, channel, frequency, power level, and pit mode settings via MSP, which are automatically mapped to the corresponding PX4 parameters. + +:::tip +The MSP integration allows seamless VTX control from transmitters that support VTX configuration via Lua scripts or built-in VTX menus without requiring additional hardware switches. +::: + +## Build Configuration + +Both the VTX driver and VTX table support are configured via Kconfig options. + +Key configuration options: + +- `VTX_CRSF_MSP_SUPPORT`: Enables CRSF MSP command support (default: disabled) +- `VTXTABLE_CONFIG_FILE`: File path for persistent configuration (default: `/fs/microsd/vtx_config`) +- `VTXTABLE_AUX_MAP`: Enables AUX channel mapping (default: disabled) + +## Parameter Reference + +### VTX Settings Parameters + +- `VTX_BAND` (0-23): Frequency band selection (Band 1-24 in UI) +- `VTX_CHANNEL` (0-15): Channel within band (Channel 1-16 in UI) +- `VTX_FREQUENCY` (0-32000): Direct frequency in MHz (overrides band/channel when non-zero) +- `VTX_POWER` (0-15): Power level (Level 1-16 in UI, as configured in table) +- `VTX_PIT_MODE` (boolean): Pit mode for reduced power (default: disabled) + +### Configuration Parameters + +- `VTX_SER_CFG`: Serial port assignment for VTX communication +- `VTX_MAP_CONFIG`: Controls how VTX settings are mapped: + - Without `VTX_CRSF_MSP_SUPPORT`: + - `0`: Disabled + - `1`: Disabled + - `2`: AUX controls power only + - `3`: AUX controls band/channel only + - `4`: AUX controls both power and band/channel + - With `VTX_CRSF_MSP_SUPPORT`: + - `0`: Disabled + - `1`: MSP controls both frequency and power + - `2`: MSP controls frequency, AUX controls power + - `3`: MSP controls power, AUX controls band/channel + - `4`: Not used with MSP support +- `VTX_DEVICE`: Device-specific configuration (see below) + +## Device-Specific Configuration + +The `VTX_DEVICE` parameter allows device-specific workarounds. +It encodes both the protocol type and device variant: + +- Low byte (bits 0-7): Protocol selection + - `0`: SmartAudio (default) + - `1`: Tramp +- High byte (bits 8-15): Device-specific variant + - `0`: Generic device + - `20`: Peak THOR T67 + - `40`: Rush Max Solo + +### Known Device Workarounds + +**Peak THOR T67** (`VTX_DEVICE` = 5120): +This device incorrectly reports pit mode status but otherwise functions normally. +The driver applies a workaround to override the reported status with the actual configured state. + +For generic devices, use `VTX_DEVICE` = 0 (SmartAudio) or `VTX_DEVICE` = 1 (Tramp).