diff --git a/docs/zh/SUMMARY.md b/docs/zh/SUMMARY.md index 92a00d86c7..2eead55cb5 100644 --- a/docs/zh/SUMMARY.md +++ b/docs/zh/SUMMARY.md @@ -584,6 +584,7 @@ - [DebugKeyValue](msg_docs/DebugKeyValue.md) - [DebugValue](msg_docs/DebugValue.md) - [DebugVect](msg_docs/DebugVect.md) + - [DeviceInformation](msg_docs/DeviceInformation.md) - [DifferentialPressure](msg_docs/DifferentialPressure.md) - [DistanceSensor](msg_docs/DistanceSensor.md) - [DistanceSensorModeChangeRequest](msg_docs/DistanceSensorModeChangeRequest.md) diff --git a/docs/zh/advanced_config/ethernet_setup.md b/docs/zh/advanced_config/ethernet_setup.md index b41967a31e..db82bdd8be 100644 --- a/docs/zh/advanced_config/ethernet_setup.md +++ b/docs/zh/advanced_config/ethernet_setup.md @@ -25,6 +25,7 @@ PX4 supports Ethernet connectivity on [Pixhawk 5X-standard](https://github.com/p 支持的飞行控制器包括: +- [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) - [CUAV Pixhawk V6X](../flight_controller/cuav_pixhawk_v6x.md) - [Holybro Pixhawk 5X](../flight_controller/pixhawk5x.md) - [Holybro Pixhawk 6X](../flight_controller/pixhawk6x.md) diff --git a/docs/zh/advanced_config/tuning_the_ecl_ekf.md b/docs/zh/advanced_config/tuning_the_ecl_ekf.md index aaeb70e598..dae54bb3fb 100644 --- a/docs/zh/advanced_config/tuning_the_ecl_ekf.md +++ b/docs/zh/advanced_config/tuning_the_ecl_ekf.md @@ -99,7 +99,7 @@ EKF 实例的总数是 [EKF2_MULTI_IMU](../advanced_config/parameter_reference.m - [SENS_IMU_MODE](../advanced_config/parameter_reference.md#SENS_IMU_MODE): 如果是以 IMU 传感器多样性运行多个 EKF 实例,即 [EKF2_MULTI_IMU](../advanced_config/parameter_reference.md#EKF2_MULTI_IMU) > 1,则设置为 0。 - 当设置为 1(单个 EKF 操作的默认值)时,传感器模块选择 EKF 使用的 IMU 数据。 + 当设置为 1(单个 EKF 的默认值)时,传感器模块选择 EKF 使用的 IMU 数据。 这提供了针对传感器数据丢失的保护,但不提供针对错误传感器数据的保护。 当设置为 0 时,传感器模块不进行选择。 @@ -107,7 +107,7 @@ EKF 实例的总数是 [EKF2_MULTI_IMU](../advanced_config/parameter_reference.m 如果是以磁力计传感器多样性运行多个 EKF 实例,即 [EKF2_MULTI_MAG](../ advanced_config/parameter_reference.md#EKF2_MULTI_MAG) > 1,则设置为 0。 - 当设置为 1(单个 EKF 操作的默认值)时,传感器模块选择 EKF 使用的磁力计数据。 + 当设置为 1(单个 EKF 的默认值)时,传感器模块选择 EKF 使用的磁力计数据。 这提供了针对传感器数据丢失的保护,但不提供针对错误传感器数据的保护。 当设置为 0 时,传感器模块不进行选择。 @@ -115,7 +115,7 @@ EKF 实例的总数是 [EKF2_MULTI_IMU](../advanced_config/parameter_reference.m 此参数指定多个 EKF 使用的 IMU 传感器数量。 如果 `EKF2_MULTI_IMU` <= 1,则仅使用第一个 IMU 传感器。 当 [SENS_IMU_MODE](../advanced_config/parameter_reference.md#SENS_IMU_MODE) = 1 时,这将是传感器模块选择的传感器。 - 如果 `EKF2_MULTI_IMU` >= 2,则将针对指定数量的 IMU 传感器(最多 4 个或存在的 IMU 数量,取较小值)运行单独的 EKF 实例。 + 如果 `EKF2_MULTI_IMU` >= 2,然后一个单独的 EKF 实例将运行于指定数量的 IMU 传感器,最多不超过 4 个或现有的 IMU 数量。 - [EKF2_MULTI_MAG](../advanced_config/parameter_reference.md#EKF2_MULTI_MAG): 此参数指定多个 EKF 使用的磁力计传感器数量。 @@ -546,11 +546,11 @@ EKF 会考虑视觉位姿估计中的不确定性。 此不确定性信息可以通过 MAVLink [ODOMETRY](https://mavlink.io/en/messages/common.html#ODOMETRY) 消息中的协方差字段发送,也可以通过参数 [EKF2_EVP_NOISE](../advanced_config/parameter_reference.md#EKF2_EVP_NOISE)、[EKF2_EVV_NOISE](../advanced_config/parameter_reference.md#EKF2_EVV_NOISE) 和 [EKF2_EVA_NOISE](../advanced_config/parameter_reference.md#EKF2_EVA_NOISE) 进行设置。 您可以使用 [EKF2_EV_NOISE_MD](../advanced_config/parameter_reference.md#EKF2_EV_NOISE_MD) 选择不确定性的来源。 -## 如何使用 'ecl' 库 EKF? +## 如何使用 'ecl' 库中的EKF? EKF2 默认启用(有关更多信息,请参阅 [切换状态估计器](../advanced/switching_state_estimators.md) 和 [EKF2_EN](../advanced_config/parameter_reference.md#EKF2_EN))。 -## 如何使用 'ecl' 库 EKF? +## ecl EKF相较于其他估计器的优缺点是什么? 像所有估计器一样,大部分性能来自于与传感器特性相匹配的调参。 调参是精度和鲁棒性之间的折衷,虽然我们试图提供满足大多数用户需求的参数,但仍会有需要更改参数的应用。 @@ -624,7 +624,7 @@ covariances\[24\] 的索引映射如下: - \[19 ... 21\] 机体磁场 XYZ \(gauss^2\) - \[22 ... 23\] 风速 NE \(m/s\)^2 -### 观测创新量与创新方差 +### 观测新息与新息方差 观测 `estimator_innovations`、`estimator_innovation_variances` 与 `estimator_innovation_test_ratios` 消息字段定义在 [EstimatorInnovations.msg](https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorInnovations.msg) 中。 这些消息字段名称/类型相同(但单位不同)。 @@ -654,30 +654,30 @@ covariances\[24\] 的索引映射如下: 这些字段基本自说明,下面给出原始定义: ``` -float32[2] gps_hvel # 水平 GPS 速度创新量 (m/sec) 与创新方差 ((m/sec)**2) -float32 gps_vvel # 垂直 GPS 速度创新量 (m/sec) 与创新方差 ((m/sec)**2) -float32[2] gps_hpos # 水平 GPS 位置创新量 (m) 与创新方差 (m**2) -float32 gps_vpos # 垂直 GPS 位置创新量 (m) 与创新方差 (m**2) +float32[2] gps_hvel # 水平 GPS 速度新息 (m/sec) 与新息方差 ((m/sec)**2) +float32 gps_vvel # 垂直 GPS 速度新息 (m/sec) 与新息方差 ((m/sec)**2) +float32[2] gps_hpos # 水平 GPS 位置新息 (m) 与新息方差 (m**2) +float32 gps_vpos # 垂直 GPS 位置新息 (m) 与新息方差 (m**2) # External Vision -float32[2] ev_hvel # 水平外部视觉速度创新量 (m/sec) 与创新方差 ((m/sec)**2) -float32 ev_vvel # 垂直外部视觉速度创新量 (m/sec) 与创新方差 ((m/sec)**2) -float32[2] ev_hpos # 水平外部视觉位置创新量 (m) 与创新方差 (m**2) -float32 ev_vpos # 垂直外部视觉位置创新量 (m) 与创新方差 (m**2) +float32[2] ev_hvel # 水平外部视觉速度新息 (m/sec) 与新息方差 ((m/sec)**2) +float32 ev_vvel # 垂直外部视觉速度新息 (m/sec) 与新息方差 ((m/sec)**2) +float32[2] ev_hpos # 水平外部视觉位置新息 (m) 与新息方差 (m**2) +float32 ev_vpos # 垂直外部视觉位置新息 (m) 与新息方差 (m**2) # Fake Position and Velocity -float32[2] fake_hvel # 虚拟水平速度创新量 (m/s) 与创新方差 ((m/s)**2) -float32 fake_vvel # 虚拟垂直速度创新量 (m/s) 与创新方差 ((m/s)**2) -float32[2] fake_hpos # 虚拟水平位置创新量 (m) 与创新方差 (m**2) -float32 fake_vpos # 虚拟垂直位置创新量 (m) 与创新方差 (m**2) +float32[2] fake_hvel # 虚拟水平速度新息 (m/s) 与新息方差 ((m/s)**2) +float32 fake_vvel # 虚拟垂直速度新息 (m/s) 与新息方差 ((m/s)**2) +float32[2] fake_hpos # 虚拟水平位置新息 (m) 与新息方差 (m**2) +float32 fake_vpos # 虚拟垂直位置新息 (m) 与新息方差 (m**2) # Height sensors -float32 rng_vpos # 测距高度创新量 (m) 与创新方差 (m**2) -float32 baro_vpos # 气压计高度创新量 (m) 与创新方差 (m**2) +float32 rng_vpos # 测距高度新息 (m) 与新息方差 (m**2) +float32 baro_vpos # 气压计高度新息 (m) 与新息方差 (m**2) # Auxiliary velocity -float32[2] aux_hvel # 来自着陆目标测量的水平辅助速度创新量 (m/sec) 与创新方差 ((m/sec)**2) -float32 aux_vvel # 来自着陆目标测量的垂直辅助速度创新量 (m/sec) 与创新方差 ((m/sec)**2) +float32[2] aux_hvel # 来自着陆目标测量的水平辅助速度新息 (m/sec) 与新息方差 ((m/sec)**2) +float32 aux_vvel # 来自着陆目标测量的垂直辅助速度新息 (m/sec) 与新息方差 ((m/sec)**2) ``` ### 输出互补滤波器 @@ -710,17 +710,17 @@ EKF 包含针对严重条件状态和协方差更新的内部错误检查。 这种情况的一个例子是过度振动导致大的垂直位置误差,导致气压计高度测量被拒绝。 这两者都可能导致观测数据被拒绝,如果时间足够长,使得 EKF 尝试重置状态以使用传感器观测数据。 -所有观测都会对创新量进行统计置信度检查。 +所有观测结果均对新息进行了统计置信度检查。 各观测类型的检查标准差数由对应的 `EKF2_*_GATE` 参数控制。 测试指标可在 [EstimatorStatus](https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorStatus.msg) 中查看: -- `mag_test_ratio`:磁力计创新量最大分量与测试限值的比值 -- `vel_test_ratio`:速度创新量最大分量与测试限值的比值 -- `pos_test_ratio`:水平位置创新量最大分量与测试限值的比值 -- `hgt_test_ratio`:垂直位置创新量与测试限值的比值 -- `tas_test_ratio`:真空速创新量与测试限值的比值 -- `hagl_test_ratio`:离地高度创新量与测试限值的比值 +- `mag_test_ratio`:磁力计新息最大分量与测试限值的比值 +- `vel_test_ratio`:速度新息最大分量与测试限值的比值 +- `pos_test_ratio`:水平位置新息最大分量与测试限值的比值 +- `hgt_test_ratio`:垂直位置新息与测试限值的比值 +- `tas_test_ratio`:真空速新息与测试限值的比值 +- `hagl_test_ratio`:离地高度新息与测试限值的比值 若需查看每个传感器的二值通过/失败汇总,请参考 [EstimatorStatus](https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorStatus.msg) 中的 `innovation_check_flags`。 @@ -749,7 +749,7 @@ EKF 对其所有计算使用单精度浮点运算,并使用一阶近似来推 重新调参后,尤其是降低噪声变量的调参,应检查 `estimator_status.gps_check_fail_flags` 是否保持为零。 -## 如果高度估计值发散了怎么办? +## 如何应对高度估计的发散? 在飞行期间 EKF 高度偏离 GPS 和高度计测量的最常见原因是由振动引起的 IMU 测量的削波和/或混叠。 出现该问题时,通常会在数据中看到以下迹象: @@ -772,7 +772,7 @@ EKF 对其所有计算使用单精度浮点运算,并使用一阶近似来推 注意 这些变化的影响将使 EKF 对 GPS 垂直速度和气压的误差更敏感。 -## 如果位置估计发散了应该怎么办? +## 如何应对位置估计的发散? 位置发散的最常见原因是: @@ -821,7 +821,7 @@ EKF 对其所有计算使用单精度浮点运算,并使用一阶近似来推 ### 确定过度振动 -高振动通常会影响垂直位置与速度创新量以及水平分量。 +高振动通常会影响垂直位置与速度新息以及水平分量。 磁力计测试级别仅受到很小程度的影响。 \(在此插入示例绘图显示不好振动\) @@ -865,11 +865,11 @@ GPS 数据精度差通常伴随着接收器报告的速度误差的增加以及 GPS 数据丢失会表现为速度与位置创新测试比值“贴平(flat-lining)”。 出现该情况时,请检查 `vehicle_gps_position` 中的其他 GPS 状态数据。 -下图显示了使用 SITL Gazebo 模拟 VTOL 飞行生成的 NED GPS 速度创新量 `ekf2_innovations_0.vel_pos_innov[0 ... 2]`、GPS NE 位置创新量 `ekf2_innovations_0.vel_pos_innov[3 ... 4]` 以及气压垂直位置创新量 `ekf2_innovations_0.vel_pos_innov[5]`。 +下图显示了使用 SITL Gazebo 模拟 VTOL 飞行生成的 NED GPS 速度新息 `ekf2_innovations_0.vel_pos_innov[0 ... 2]`、GPS NE 位置新息 `ekf2_innovations_0.vel_pos_innov[3 ... 4]` 以及气压垂直位置新息 `ekf2_innovations_0.vel_pos_innov[5]`。 模拟的 GPS 在 73 秒时失锁。 -注意 GPS 丢失后 NED 速度创新量与 NE 位置创新量“贴平(flat-line)”。 -注意 GPS 丢失 10 秒后,EKF 会回退到使用最后已知位置的静态位置模式,NE 位置创新量开始再次变化。 +注意 GPS 丢失后 NED 速度新息与 NE 位置新息“贴平(flat-line)”。 +注意 GPS 丢失 10 秒后,EKF 会回退到使用最后已知位置的静态位置模式,NE 位置新息开始再次变化。 ![GPS Data Loss - in SITL](../../assets/ecl/gps_data_loss_-_velocity_innovations.png) diff --git a/docs/zh/assembly/_assembly.md b/docs/zh/assembly/_assembly.md index 42804d30f4..fed4f8f7ed 100644 --- a/docs/zh/assembly/_assembly.md +++ b/docs/zh/assembly/_assembly.md @@ -285,7 +285,7 @@ A particular vehicle might have more/fewer motors and actuators, but the wiring The following sections explain each part in more detail. :::tip -If you're using [DroneCAN ESC](../peripherals/esc_motors.md#dronecan) the control signals will be connected to the CAN BUS instead of the PWM outputs as shown. +If you're using [DroneCAN ESC](../dronecan/escs.md) the control signals will be connected to the CAN BUS instead of the PWM outputs as shown. ::: ### Flight Controller Power @@ -426,7 +426,6 @@ They recommend sensors, power systems, and other components from the same manufa - [Drone Components & Parts](../getting_started/px4_basic_concepts.md#drone-components-parts) (Basic Concepts) - [Payloads](../getting_started/px4_basic_concepts.md#payloads) (Basic Concepts) - [Hardware Selection & Setup](../hardware/drone_parts.md) — information about connecting and configuring specific flight controllers, sensors and other peripherals (e.g. airspeed sensor for planes). - - [Mounting the Flight Controller](../assembly/mount_and_orient_controller.md) - [Vibration Isolation](../assembly/vibration_isolation.md) - [Mounting a Compass](../assembly/mount_gps_compass.md) diff --git a/docs/zh/config_mc/filter_tuning.md b/docs/zh/config_mc/filter_tuning.md index 034fe29163..0b9796bb23 100644 --- a/docs/zh/config_mc/filter_tuning.md +++ b/docs/zh/config_mc/filter_tuning.md @@ -70,7 +70,7 @@ Airframes with more than two frequency noise spikes typically clean the first tw Dynamic notch filters use ESC RPM feedback and/or the onboard FFT analysis. The ESC RPM feedback is used to track the rotor blade pass frequency and its harmonics, while the FFT analysis can be used to track a frequency of another vibration source, such as a fuel engine. -ESC RPM feedback requires ESCs capable of providing RPM feedback such as [DShot](../peripherals/esc_motors.md#dshot) with telemetry connected, a bidirectional DShot set up ([work in progress](https://github.com/PX4/PX4-Autopilot/pull/23863)), or [UAVCAN/DroneCAN ESCs](../dronecan/escs.md). +ESC RPM feedback requires ESCs capable of providing RPM feedback such as [DShot](../peripherals/dshot.md) with telemetry connected, a bidirectional DShot set up ([work in progress](https://github.com/PX4/PX4-Autopilot/pull/23863)), or [UAVCAN/DroneCAN ESCs](../dronecan/escs.md). Before enabling, make sure that the ESC RPM is correct. You might have to adjust the [pole count of the motors](../advanced_config/parameter_reference.md#MOT_POLE_COUNT). diff --git a/docs/zh/dronecan/escs.md b/docs/zh/dronecan/escs.md index 547208bf30..5d40bc879c 100644 --- a/docs/zh/dronecan/escs.md +++ b/docs/zh/dronecan/escs.md @@ -1,7 +1,14 @@ # DroneCAN ESCs PX4 supports DroneCAN compliant ESCs. -For more information, see the following articles for specific hardware/firmware: + +## Supported ESC + +:::info +[Supported ESCs](../peripherals/esc_motors#supported-esc) in _ESCs & Motors_ may include additional devices that are not listed below. +::: + +The following articles have specific hardware/firmware information: - [PX4 Sapog ESC Firmware](sapog.md) - [Holybro Kotleta 20](holybro_kotleta.md) diff --git a/docs/zh/modules/modules_driver.md b/docs/zh/modules/modules_driver.md index 85d89bd634..9d2534d052 100644 --- a/docs/zh/modules/modules_driver.md +++ b/docs/zh/modules/modules_driver.md @@ -15,38 +15,6 @@ - [Rpm Sensor](modules_driver_rpm_sensor.md) - [Transponder](modules_driver_transponder.md) -## MCP23009 - -Source: [drivers/gpio/mcp23009](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/gpio/mcp23009) - -### Usage {#MCP23009_usage} - -``` -MCP23009 [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: 37 - [-D ] Direction - default: 0 - [-O ] Output - default: 0 - [-P ] Pullups - default: 0 - [-U ] Update Interval [ms] - default: 0 - - stop - - status print status info -``` - ## atxxxx Source: [drivers/osd/atxxxx](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/osd/atxxxx) @@ -749,6 +717,40 @@ lsm303agr [arguments...] status print status info ``` +## mcp230xx + +Source: [lib/drivers/mcp_common](https://github.com/PX4/PX4-Autopilot/tree/main/src/lib/drivers/mcp_common) + +### Usage {#mcp230xx_usage} + +``` +mcp230xx [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: 39 + [-D ] Direction (1=Input, 0=Output) + default: 0 + [-O ] Output + default: 0 + [-P ] Pullups + default: 0 + [-U ] Update Interval [ms] + default: 0 + [-M ] First minor number + default: 0 + + stop + + status print status info +``` + ## mcp9808 Source: [drivers/temperature_sensor/mcp9808](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/temperature_sensor/mcp9808) @@ -899,8 +901,6 @@ fetching the latest mixing result and write them to PCA9685 at its scheduling ti It can do full 12bits output as duty-cycle mode, while also able to output precious pulse width that can be accepted by most ESCs and servos. -The I2C bus and address can be configured via parameters `PCA9685_EN_BUS` and `PCA9685_I2C_ADDR`, or via command line arguments. - ### 示例 It is typically started with: diff --git a/docs/zh/modules/modules_system.md b/docs/zh/modules/modules_system.md index a1b139322d..b23833af58 100644 --- a/docs/zh/modules/modules_system.md +++ b/docs/zh/modules/modules_system.md @@ -127,6 +127,10 @@ commander [arguments...] check Run preflight checks + safety Change prearm safety state + on|off [on] to activate safety, [off] to deactivate safety and allow + control surface movements + arm [-f] Force arming (do not run preflight checks) diff --git a/docs/zh/msg_docs/BatteryStatus.md b/docs/zh/msg_docs/BatteryStatus.md index addd1ae524..ec2c19c59e 100644 --- a/docs/zh/msg_docs/BatteryStatus.md +++ b/docs/zh/msg_docs/BatteryStatus.md @@ -2,7 +2,7 @@ Battery status -Battery status information for up to 4 battery instances. +Battery status information for up to 3 battery instances. These are populated from power module and smart battery device drivers, and one battery updated from MAVLink. Battery instance information is also logged and streamed in MAVLink telemetry. @@ -11,7 +11,7 @@ Battery instance information is also logged and streamed in MAVLink telemetry. ```c # Battery status # -# Battery status information for up to 4 battery instances. +# Battery status information for up to 3 battery instances. # These are populated from power module and smart battery device drivers, and one battery updated from MAVLink. # Battery instance information is also logged and streamed in MAVLink telemetry. @@ -33,9 +33,9 @@ uint8 cell_count # [-] [@invalid 0] Number of cells uint8 source # [@enum SOURCE] Battery source -uint8 SOURCE_POWER_MODULE = 0 # Power module -uint8 SOURCE_EXTERNAL = 1 # External -uint8 SOURCE_ESCS = 2 # ESCs +uint8 SOURCE_POWER_MODULE = 0 # Power module (analog ADC or I2C power monitor) +uint8 SOURCE_EXTERNAL = 1 # External (MAVLink, CAN, or external driver) +uint8 SOURCE_ESCS = 2 # ESCs (via ESC telemetry) uint8 priority # [-] Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 uint16 capacity # [mAh] Capacity of the battery when fully charged diff --git a/docs/zh/msg_docs/BatteryStatusV0.md b/docs/zh/msg_docs/BatteryStatusV0.md index 86500d17a6..cd900a1f17 100644 --- a/docs/zh/msg_docs/BatteryStatusV0.md +++ b/docs/zh/msg_docs/BatteryStatusV0.md @@ -32,9 +32,9 @@ uint8 cell_count # [@invalid 0] Number of cells uint8 source # [@enum SOURCE] Battery source -uint8 SOURCE_POWER_MODULE = 0 # Power module -uint8 SOURCE_EXTERNAL = 1 # External -uint8 SOURCE_ESCS = 2 # ESCs +uint8 SOURCE_POWER_MODULE = 0 # Power module (analog ADC or I2C power monitor) +uint8 SOURCE_EXTERNAL = 1 # External (MAVLink, CAN, or external driver) +uint8 SOURCE_ESCS = 2 # ESCs (via ESC telemetry) uint8 priority # Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 uint16 capacity # [mAh] Capacity of the battery when fully charged diff --git a/docs/zh/msg_docs/DeviceInformation.md b/docs/zh/msg_docs/DeviceInformation.md new file mode 100644 index 0000000000..d415461f94 --- /dev/null +++ b/docs/zh/msg_docs/DeviceInformation.md @@ -0,0 +1,45 @@ +# DeviceInformation (UORB message) + +Device information + +Can be used to uniquely associate a device_id from a sensor topic with a physical device using serial number. +as well as tracking of the used firmware versions on the devices. + +[source file](https://github.com/PX4/PX4-Autopilot/blob/main/msg/DeviceInformation.msg) + +```c +# Device information +# +# Can be used to uniquely associate a device_id from a sensor topic with a physical device using serial number. +# as well as tracking of the used firmware versions on the devices. + +uint64 timestamp # time since system start (microseconds) + +uint8 device_type # [@enum DEVICE_TYPE] Type of the device. Matches MAVLink DEVICE_TYPE enum + +uint8 DEVICE_TYPE_GENERIC = 0 # Generic/unknown sensor +uint8 DEVICE_TYPE_AIRSPEED = 1 # Airspeed sensor +uint8 DEVICE_TYPE_ESC = 2 # ESC +uint8 DEVICE_TYPE_SERVO = 3 # Servo +uint8 DEVICE_TYPE_GPS = 4 # GPS +uint8 DEVICE_TYPE_MAGNETOMETER = 5 # Magnetometer +uint8 DEVICE_TYPE_PARACHUTE = 6 # Parachute +uint8 DEVICE_TYPE_RANGEFINDER = 7 # Rangefinder +uint8 DEVICE_TYPE_WINCH = 8 # Winch +uint8 DEVICE_TYPE_BAROMETER = 9 # Barometer +uint8 DEVICE_TYPE_OPTICAL_FLOW = 10 # Optical flow +uint8 DEVICE_TYPE_ACCELEROMETER = 11 # Accelerometer +uint8 DEVICE_TYPE_GYROSCOPE = 12 # Gyroscope +uint8 DEVICE_TYPE_DIFFERENTIAL_PRESSURE = 13 # Differential pressure +uint8 DEVICE_TYPE_BATTERY = 14 # Battery +uint8 DEVICE_TYPE_HYGROMETER = 15 # Hygrometer + +char[32] vendor_name # Name of the device vendor +char[32] model_name # Name of the device model + +uint32 device_id # [-] [@invalid 0 if not available] Unique device ID for the sensor. Does not change between power cycles. +char[24] firmware_version # [-] [@invalid empty if not available] Firmware version. +char[24] hardware_version # [-] [@invalid empty if not available] Hardware version. +char[33] serial_number # [-] [@invalid empty if not available] Device serial number or unique identifier. + +``` diff --git a/docs/zh/msg_docs/EstimatorStatus.md b/docs/zh/msg_docs/EstimatorStatus.md index 9c24221691..aca77484b9 100644 --- a/docs/zh/msg_docs/EstimatorStatus.md +++ b/docs/zh/msg_docs/EstimatorStatus.md @@ -21,6 +21,7 @@ uint8 GPS_CHECK_FAIL_MAX_VERT_DRIFT = 7 # 7 : maximum allowed vertical position 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 +uint8 GPS_CHECK_FAIL_JAMMED = 11 # 11 : GPS signal is jammed uint64 control_mode_flags # Bitmask to indicate EKF logic state uint8 CS_TILT_ALIGN = 0 # 0 - true if the filter tilt alignment is complete diff --git a/docs/zh/msg_docs/GpioIn.md b/docs/zh/msg_docs/GpioIn.md index 039ed02851..589e7d7841 100644 --- a/docs/zh/msg_docs/GpioIn.md +++ b/docs/zh/msg_docs/GpioIn.md @@ -6,6 +6,7 @@ GPIO mask and state ```c # GPIO mask and state +uint8 MAX_INSTANCES = 8 uint64 timestamp # time since system start (microseconds) uint32 device_id # Device id diff --git a/docs/zh/msg_docs/GpsDump.md b/docs/zh/msg_docs/GpsDump.md index 1f96901671..03910da906 100644 --- a/docs/zh/msg_docs/GpsDump.md +++ b/docs/zh/msg_docs/GpsDump.md @@ -9,11 +9,15 @@ This message is used to dump the raw gps communication to the log. uint64 timestamp # time since system start (microseconds) +uint8 INSTANCE_MAIN = 0 +uint8 INSTANCE_SECONDARY = 1 + uint8 instance # Instance of GNSS receiver +uint32 device_id uint8 len # length of data, MSB bit set = message to the gps device, # clear = message from the device uint8[79] data # data to write to the log -uint8 ORB_QUEUE_LENGTH = 8 +uint8 ORB_QUEUE_LENGTH = 16 ``` diff --git a/docs/zh/msg_docs/VehicleCommand.md b/docs/zh/msg_docs/VehicleCommand.md index 1b1b3ed658..225f680857 100644 --- a/docs/zh/msg_docs/VehicleCommand.md +++ b/docs/zh/msg_docs/VehicleCommand.md @@ -108,6 +108,7 @@ uint16 VEHICLE_CMD_LOGGING_START = 2510 # Start streaming ULog data. uint16 VEHICLE_CMD_LOGGING_STOP = 2511 # Stop streaming ULog data. uint16 VEHICLE_CMD_CONTROL_HIGH_LATENCY = 2600 # Control starting/stopping transmitting data over the high latency link. uint16 VEHICLE_CMD_DO_VTOL_TRANSITION = 3000 # Command VTOL transition. +uint16 VEHICLE_CMD_DO_SET_SAFETY_SWITCH_STATE = 5300 # Command safety on/off. |1 to activate safety, 0 to deactivate safety and allow control surface movements|Unused|Unused|Unused|Unused|Unused|Unused| uint16 VEHICLE_CMD_ARM_AUTHORIZATION_REQUEST = 3001 # Request arm authorization. uint16 VEHICLE_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 # Prepare a payload deployment in the flight plan. uint16 VEHICLE_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 # Control a pre-programmed payload deployment. @@ -187,6 +188,10 @@ int8 ARMING_ACTION_ARM = 1 uint8 GRIPPER_ACTION_RELEASE = 0 uint8 GRIPPER_ACTION_GRAB = 1 +# Used as param1 in DO_SET_SAFETY_SWITCH_STATE command. +uint8 SAFETY_OFF = 0 +uint8 SAFETY_ON = 1 + uint8 ORB_QUEUE_LENGTH = 8 float32 param1 # Parameter 1, as defined by MAVLink uint16 VEHICLE_CMD enum. diff --git a/docs/zh/msg_docs/index.md b/docs/zh/msg_docs/index.md index 3a4b937196..10c21f35f0 100644 --- a/docs/zh/msg_docs/index.md +++ b/docs/zh/msg_docs/index.md @@ -105,6 +105,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m - [DebugKeyValue](DebugKeyValue.md) - [DebugValue](DebugValue.md) - [DebugVect](DebugVect.md) +- [DeviceInformation](DeviceInformation.md) — Device information - [DifferentialPressure](DifferentialPressure.md) — Differential-pressure (airspeed) sensor - [DistanceSensor](DistanceSensor.md) — DISTANCE_SENSOR message data - [DistanceSensorModeChangeRequest](DistanceSensorModeChangeRequest.md) diff --git a/docs/zh/peripherals/dshot.md b/docs/zh/peripherals/dshot.md index a957c031ed..8ea59236a7 100644 --- a/docs/zh/peripherals/dshot.md +++ b/docs/zh/peripherals/dshot.md @@ -11,6 +11,10 @@ DShot is an alternative ESC protocol that has several advantages over [PWM](../p 本章介绍了如何连接和配置 DShot 电调。 +## Supported ESC + +[ESCs & Motors > Supported ESCs](../peripherals/esc_motors#supported-esc) has a list of supported ESC (check "Protocols" column for DShot ESC). + ## Wiring/Connections {#wiring} DShot ESC are wired the same way as [PWM ESCs](pwm_escs_and_servo.md). diff --git a/docs/zh/peripherals/esc_motors.md b/docs/zh/peripherals/esc_motors.md index d91c16a9b1..cb88c1b31d 100644 --- a/docs/zh/peripherals/esc_motors.md +++ b/docs/zh/peripherals/esc_motors.md @@ -9,13 +9,14 @@ PX4 supports a number of [common protocols](../esc/esc_protocols.md) for sending The following list is non-exhaustive. -| ESC Device | Protocols | Firmwares | 备注 | -| ---------------------------- | ------------------------------------ | ------------------------ | ----------------------------------------------------- | -| [ARK 4IN1 ESC] | [Dshot], [PWM] | [AM32] | Has versions with/without connnectors | -| [Holybro Kotleta 20] | [DroneCAN], [PWM] | [PX4 Sapog ESC Firmware] | | -| [Vertiq Motor & ESC modules] | [Dshot], [OneShot], Multishot, [PWM] | Vertiq firmware | Larger modules support DroneCAN, ESC and Motor in one | -| [VESC ESCs] | [DroneCAN], [PWM] | VESC project firmware | | -| [Zubax Telega] | [DroneCAN], [PWM] | Telega-based | ESC and Motor in one | +| ESC Device | Protocols | Firmwares | 备注 | +| ---------------------------------------------------------------------------------- | ------------------------------------ | ------------------------ | ----------------------------------------------------- | +| [ARK 4IN1 ESC] | [Dshot], [PWM] | [AM32] | Has versions with/without connnectors | +| [Holybro Kotleta 20] | [DroneCAN], [PWM] | [PX4 Sapog ESC Firmware] | | +| [Vertiq Motor & ESC modules] | [Dshot], [OneShot], Multishot, [PWM] | Vertiq firmware | Larger modules support DroneCAN, ESC and Motor in one | +| [RaccoonLab CAN PWM ESC nodes] | [DroneCAN], Cyphal | | Cyphal and DroneCAN notes for PWM ESC | +| [VESC ESCs] | [DroneCAN], [PWM] | VESC project firmware | | +| [Zubax Telega] | [DroneCAN], [PWM] | Telega-based | ESC and Motor in one | @@ -29,6 +30,7 @@ The following list is non-exhaustive. [PWM]: ../peripherals/pwm_escs_and_servo.md [Holybro Kotleta 20]: ../dronecan/holybro_kotleta.md [Vertiq Motor & ESC modules]: ../peripherals/vertiq.md +[RaccoonLab CAN PWM nodes]: ../dronecan/raccoonlab_nodes.md [Zubax Telega]: ../dronecan/zubax_telega.md ## 另见