docs: Link fixes in docs - including 404 fixes (#26605)

* Redirect 301/308 HTTP link fixes
* Easy 404 fixes - easy
* Add internal anchor fixes and generate msg docs fix
This commit is contained in:
Hamish Willee
2026-02-28 17:09:53 +11:00
committed by GitHub
parent a74724193e
commit 209c971c1b
83 changed files with 465 additions and 461 deletions
+17 -17
View File
@@ -36,14 +36,14 @@ class Error:
if 'trailing_whitespace' == self.type:
if self.issueString.strip():
if self.issueString.strip():
print(f"NOTE: Line has trailing whitespace ({self.message}: {self.linenumber}): {self.issueString}")
else:
print(f"NOTE: Line has trailing whitespace ({self.message}: {self.linenumber})")
elif 'leading_whitespace_field_or_constant' == self.type:
print(f"NOTE: Whitespace before field or constant ({self.message}: {self.linenumber}): {self.issueString}")
print(f"NOTE: Whitespace before field or constant ({self.message}: {self.linenumber}): {self.issueString}")
elif 'field_or_constant_has_multiple_whitepsace' == self.type:
print(f"NOTE: Field/constant has more than one sequential whitespace character ({self.message}: {self.linenumber}): {self.issueString}")
print(f"NOTE: Field/constant has more than one sequential whitespace character ({self.message}: {self.linenumber}): {self.issueString}")
elif 'empty_start_line' == self.type:
print(f"NOTE: Empty line at start of file ({self.message}: {self.linenumber})")
elif 'internal_comment' == self.type:
@@ -191,7 +191,7 @@ class CommandParam:
if not "unknown_frame" in self.parent.errors:
self.parent.errors["unknown_frame"] = []
self.parent.errors["unknown_frame"].append(error)
"""
"""
else:
print(f"WARNING: Unhandled metadata in message comment: {item}")
# TODO - report errors for different kinds of metadata
@@ -202,9 +202,9 @@ class CommandParam:
if item == "-":
unit = ""
if unit and unit not in self.units:
self.units.append(unit)
self.units.append(unit)
if unit not in ALLOWED_UNITS:
invalid_units.add(unit)
@@ -221,7 +221,7 @@ class CommandParam:
print(f" paramText: {self.paramText}\n unit: {self.units}\n enums: {self.enums}\n lineNumber: {self.lineNumber}\n range: {self.range}\n minValue: {self.minValue}\n maxValue: {self.maxValue}\n invalidValue: {self.invalidValue}\n frameValue: {self.frameValue}\n parent: {self.parent}\n ")
class CommandConstant:
"""
Represents a constant that is a command definition.
@@ -252,9 +252,9 @@ class CommandConstant:
if not self.comment: # This is an bug for a command
#print(f"Debug WARNING: NO COMMENT in CommandConstant: {self.name}") ## TODO make into ERROR
return
# Parse command comment to get the description and parameters.
# print(f"Debug CommandConstant: {self.comment}")
# print(f"Debug CommandConstant: {self.comment}")
if not "|" in self.comment:
# This is an error for a command constant
error = Error("command_no_params_pipes", self.parent.filename, self.line_number, self.comment, self.name)
@@ -263,7 +263,7 @@ class CommandConstant:
self.parent.errors["command_no_params_pipes"] = []
self.parent.errors["command_no_params_pipes"].append(error)
return
# Split on pipes
commandSplit = self.comment.split("|")
if len(commandSplit) < 9:
@@ -318,7 +318,7 @@ Param | Units | Range/Enum | Description
output+=f"{i} | {", ".join(val.units)}|{', '.join(f"[{e}](#{e})" for e in val.enums)}{rangeVal} | {val.description}\n"
else:
output+=f"{i} | | | ?\n"
output+=f"{i} | | | ?\n"
output+=f"\n"
return output
@@ -419,7 +419,7 @@ class MessageField:
class UORBMessage:
"""
Represents a whole message, including fields, enums, commands, constants.
The parser function delegates the parsing of each part of the message to
The parser function delegates the parsing of each part of the message to
more appropriate classes, once the specific type of line has been identified.
"""
@@ -511,11 +511,11 @@ pageClass: is-wide-page
markdown += "--- | --- | --- |---\n"
for name, command in self.commandConstants.items():
description = f" {command.comment} " if enum.comment else " "
markdown += f'<a id="#{name}"></a> {name} | `{command.type}` | {command.value} |{description}\n'
markdown += f'<a id="#{name}"></a> {name} | `{command.type}` | {command.value} |{description}\n'
"""
for commandConstant in self.commandConstants.values():
#print(commandConstant)
markdown += commandConstant.markdown_out()
markdown += commandConstant.markdown_out()
# Generate enum docs
if len(self.enums) > 0:
@@ -529,7 +529,7 @@ pageClass: is-wide-page
for enumValueName, enumValue in enum.enumValues.items():
description = f" {enumValue.comment} " if enumValue.comment else " "
markdown += f'<a href="#{enumValueName}"></a> {enumValueName} | `{enumValue.type}` | {enumValue.value} |{description}\n'
markdown += f'<a id="#{enumValueName}"></a> {enumValueName} | `{enumValue.type}` | {enumValue.value} |{description}\n'
# Generate table for constants docs
if len(self.constantFields) > 0:
@@ -708,7 +708,7 @@ pageClass: is-wide-page
if stripped_line.startswith("#"):
# Its an internal comment
stripped_line=stripped_line[1:].strip()
if stripped_line:
#print(f"{self.filename}: Internal comment: [{line_number}]\n {line}")
error = Error("internal_comment", self.filename, line_number, line)
@@ -723,7 +723,7 @@ pageClass: is-wide-page
self.errors["internal_comment_empty"].append(error)
#pass # Empty comment
continue
# Must be a field or a comment.
self.handleField(line, line_number, parentMessage=self)
+6
View File
@@ -529,6 +529,8 @@
- [LongitudinalControlConfiguration](msg_docs/LongitudinalControlConfiguration.md)
- [ManualControlSetpoint](msg_docs/ManualControlSetpoint.md)
- [ModeCompleted](msg_docs/ModeCompleted.md)
- [RaptorInput](msg_docs/RaptorInput.md)
- [RaptorStatus](msg_docs/RaptorStatus.md)
- [RegisterExtComponentReply](msg_docs/RegisterExtComponentReply.md)
- [RegisterExtComponentRequest](msg_docs/RegisterExtComponentRequest.md)
- [TrajectorySetpoint](msg_docs/TrajectorySetpoint.md)
@@ -750,6 +752,7 @@
- [VehicleThrustSetpoint](msg_docs/VehicleThrustSetpoint.md)
- [VehicleTorqueSetpoint](msg_docs/VehicleTorqueSetpoint.md)
- [VelocityLimits](msg_docs/VelocityLimits.md)
- [Vtx](msg_docs/Vtx.md)
- [WheelEncoders](msg_docs/WheelEncoders.md)
- [Wind](msg_docs/Wind.md)
- [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
@@ -763,8 +766,11 @@
- [RegisterExtComponentReplyV0](msg_docs/RegisterExtComponentReplyV0.md)
- [RegisterExtComponentRequestV0](msg_docs/RegisterExtComponentRequestV0.md)
- [VehicleAttitudeSetpointV0](msg_docs/VehicleAttitudeSetpointV0.md)
- [VehicleCommandAckV0](msg_docs/VehicleCommandAckV0.md)
- [VehicleGlobalPositionV0](msg_docs/VehicleGlobalPositionV0.md)
- [VehicleLocalPositionV0](msg_docs/VehicleLocalPositionV0.md)
- [VehicleStatusV0](msg_docs/VehicleStatusV0.md)
- [VehicleStatusV1](msg_docs/VehicleStatusV1.md)
- [MAVLink Messaging](mavlink/index.md)
- [Adding Messages](mavlink/adding_messages.md)
- [Streaming Messages](mavlink/streaming_messages.md)
@@ -594,7 +594,7 @@ When this has been done, the performance metadata files can be processed to prov
- Attitude output data is found in the [VehicleAttitude](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleAttitude.msg) message.
- Local position output data is found in the [VehicleLocalPosition](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleLocalPosition.msg) message.
- Global \(WGS-84\) output data is found in the [VehicleGlobalPosition](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/VehicleGlobalPosition.msg) message.
- Wind velocity output data is found in the [Wind.msg](https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg) message.
- Wind velocity output data is found in the [AirspeedWind.msg](https://github.com/PX4/PX4-Autopilot/blob/main/msg/AirspeedWind.msg) message.
### States
+2 -2
View File
@@ -402,7 +402,7 @@ div.frame_variant td, div.frame_variant th {
<td>Maintainer: Lorenz Meier &lt;lorenz@px4.io&gt;<p><code>SYS_AUTOSTART</code> = 4050</p></td>
</tr>
<tr id="copter_quadrotor_x_holybro_qav250">
<td><a href="https://docs.px4.io/main/en/frames_multicopter/holybro_qav250_pixhawk4_mini.html">HolyBro QAV250</a></td>
<td><a href="https://docs.px4.io/main/en/frames_multicopter/holybro_qav250_pixhawk4_mini">HolyBro QAV250</a></td>
<td>Maintainer: Beat Kueng &lt;beat-kueng@gmx.net&gt;<p><code>SYS_AUTOSTART</code> = 4052</p></td>
</tr>
<tr id="copter_quadrotor_x_holybro_kopis_2">
@@ -604,7 +604,7 @@ div.frame_variant td, div.frame_variant th {
<td>Maintainer: John Doe &lt;john@example.com&gt;<p><code>SYS_AUTOSTART</code> = 50000</p></td>
</tr>
<tr id="rover_rover_aion_robotics_r1_ugv">
<td><a href="https://docs.px4.io/main/en/complete_vehicles_rover/aion_r1.html">Aion Robotics R1 UGV</a></td>
<td><a href="https://docs.px4.io/main/en/complete_vehicles_rover/aion_r1">Aion Robotics R1 UGV</a></td>
<td>Maintainer: John Doe &lt;john@example.com&gt;<p><code>SYS_AUTOSTART</code> = 50001</p></td>
</tr>
<tr id="rover_rover_generic_rover_ackermann">
+2 -2
View File
@@ -33,7 +33,7 @@ We'll go through each of these in detail in the following sections.
| DSM/SBUS/RSSI | Includes DSM, SBUS, RSSI signal input interface, DSM interface can be connected to DSM satellite receiver, SBUS interface to SBUS remote control receiver, RSSI for signal strength return module. |
::: info
For more interface information, please read [V5 nano Manual](http://manual.cuav.net/V5-nano.pdf).
For more interface information, please read [V5 nano Manual](https://manual.cuav.net/V5-nano.pdf).
:::
![quickstart](../../assets/flight_controller/cuav_v5_nano/connection/v5_nano_quickstart_03.png)
@@ -128,6 +128,6 @@ Motors/servos are connected to the MAIN ports in the order specified for your ve
- [Airframe buildlog using CUAV v5 nano on a DJI FlameWheel450](../frames_multicopter/dji_f450_cuav_5nano.md)
- [CUAV V5 nano](../flight_controller/cuav_v5_nano.md)
- [V5 nano manual](http://manual.cuav.net/V5-nano.pdf) (CUAV)
- [V5 nano manual](https://manual.cuav.net/V5-nano.pdf) (CUAV)
- [FMUv5 reference design pinout](https://docs.google.com/spreadsheets/d/1-n0__BYDedQrc_2NHqBenG1DNepAgnHpSGglke-QQwY/edit#gid=912976165) (CUAV)
- [CUAV Github](https://github.com/cuav) (CUAV)
+3 -3
View File
@@ -33,7 +33,7 @@ We'll go through each of these in detail in the following sections.
| DSM/SBUS/RSSI | Includes DSM, SBUS, RSSI signal input interface, DSM interface can be connected to DSM satellite receiver, SBUS interface to SBUS remote control receiver, RSSI for signal strength return module. |
::: info
For more interface information, please read [V5+ Manual](http://manual.cuav.net/V5-Plus.pdf).
For more interface information, please read [V5+ Manual](https://manual.cuav.net/V5-Plus.pdf).
:::
![V5+ AutoPilot](../../assets/flight_controller/cuav_v5_plus/connection/v5+_quickstart_02.png)
@@ -122,12 +122,12 @@ Motors/servos are connected to the MAIN and AUX ports in the order specified for
## Pinouts
Download **V5+** pinouts from [here](http://manual.cuav.net/V5-Plus.pdf).
See [CUAV V5+ Manual](https://manual.cuav.net/V5-Plus.pdf).
## Further Information
- [Airframe build-log using CUAV v5+ on a DJI FlameWheel450](../frames_multicopter/dji_f450_cuav_5plus.md)
- [CUAV V5+ Manual](http://manual.cuav.net/V5-Plus.pdf) (CUAV)
- [CUAV V5+ Manual](https://manual.cuav.net/V5-Plus.pdf) (CUAV)
- [CUAV V5+ docs](https://doc.cuav.net/controller/v5-autopilot/en/v5+.html) (CUAV)
- [FMUv5 reference design pinout](https://docs.google.com/spreadsheets/d/1-n0__BYDedQrc_2NHqBenG1DNepAgnHpSGglke-QQwY/edit#gid=912976165) (CUAV)
- [CUAV Github](https://github.com/cuav) (CUAV)
@@ -20,7 +20,7 @@ For a Ubuntu companion, a minimal set might be:
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
```
For the full set you can mirror the QGC dependencies installed by [/tools/setup/install-dependencies-debian.sh](https://github.com/mavlink/qgroundcontrol/blob/master/tools/setup/install-dependencies-debian.sh).
For the full set you can mirror the QGC dependencies installed by [/tools/setup/install_dependencies.py](https://github.com/mavlink/qgroundcontrol/blob/master/tools/setup/install_dependencies.py).
At time of writing this is:
```sh
@@ -381,7 +381,7 @@ The carrier board pinouts and other information are in the [downloads section](h
## Other Development Resources
- [_UP Core_ Wiki](https://github.com/up-board/up-community/wiki/Ubuntu) - _Up Core_ companion computer technical information
- [Occipital Developer Forum](https://structure.io/structure-sdk) - _Structure Core_ camera information
- [Occipital Developer Forum](https://structure.io/structure-sdk/) - _Structure Core_ camera information
- [Pixhawk 4 Overview](../flight_controller/pixhawk4.md)
- [Pixhawk 6C Overview](../flight_controller/pixhawk6c.md)
+1 -1
View File
@@ -45,7 +45,7 @@ Adding a feature to PX4 follows a defined workflow. In order to share your contr
git add <file name>
```
If you prefer having a GUI to add your files see [Gitk](https://git-scm.com/book/en/v2/Git-in-Other-Environments-Graphical-Interfaces) or [`git add -p`](https://nuclearsquid.com/writings/git-add/).
If you prefer having a GUI to add your files see [Gitk](https://git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces) or [`git add -p`](https://nuclearsquid.com/writings/git-add/).
- Commit the added files with a meaningful message explaining your changes
+2 -2
View File
@@ -29,11 +29,11 @@ There is also an incomplete section for VirtualBox at the end (we'd welcome expa
VMWare performance is acceptable for basic usage (building Firmware) but not for running ROS or Gazebo Classic.
1. Download [VMWare Player Freeware](https://www.vmware.com/info/workstation-player/evaluation)
1. Download [VMWare Workstation Pro](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion) (the free player has been discontinued)
1. Install it on your Windows system
1. Download the desired version of [Ubuntu Desktop ISO Image](https://ubuntu.com/download/desktop).
(see [Linux Instructions Page](../dev_setup/dev_env_linux.md) for recommended Ubuntu version).
1. Open _VMWare Player_.
1. Open _Workstation Pro_.
1. Enable 3D acceleration in the VM's settings: **VM > Settings > Hardware > Display > Accelerate 3D graphics**
::: info
+4 -4
View File
@@ -5,7 +5,7 @@ PX4 does not manufacture this (or any) autopilot.
Contact the [manufacturer](https://www.cuav.net) for hardware support or compliance issues.
:::
The [Nora](https://doc.cuav.net/flight-controller/x7/en/nora.html)<sup>&reg;</sup> flight controller is a high-performance autopilot.
The [Nora](https://doc.cuav.net/controller/x7/en/nora-plus.html)<sup>&reg;</sup> flight controller is a high-performance autopilot.
It is an ideal choice for industrial drones and large-scale heavy-duty drones.
It is mainly supplied to commercial manufacturers.
@@ -31,7 +31,7 @@ This flight controller is [manufacturer supported](../flight_controller/autopilo
- High performance processor
::: tip
The manufacturer [CUAV Docs](https://doc.cuav.net/flight-controller/x7/en/nora.html) are the canonical reference for Nora.
The manufacturer [CUAV Docs](https://doc.cuav.net/controller/x7/en/nora-plus.html) are the canonical reference for Nora.
They should be used by preference as they contain the most complete and up to date information.
:::
@@ -79,7 +79,7 @@ The remaining 6 PWM ports are still being adapted (so it is not compatible with
## Connections (Wiring)
[CUAV nora Wiring Quickstart](https://doc.cuav.net/flight-controller/x7/en/quick-start/quick-start-nora.html)
[CUAV nora Wiring Quickstart](https://doc.cuav.net/controller/x7/en/quick-start/quick-start-nora.html)
## Size and Pinouts
@@ -167,6 +167,6 @@ The complete set of supported configurations can be seen in the [Airframes Refer
## Further info
- [Quick start](https://doc.cuav.net/flight-controller/x7/en/quick-start/quick-start-nora.html)
- [Quick start](https://doc.cuav.net/controller/x7/en/quick-start/quick-start-nora.html)
- [CUAV docs](https://doc.cuav.net/)
- [nora schematic](https://github.com/cuav/hardware/tree/master/X7_Autopilot)
+1 -1
View File
@@ -39,7 +39,7 @@ This flight controller is [manufacturer supported](../flight_controller/autopilo
- High performance processor
::: tip
The manufacturer [CUAV Docs](https://doc.cuav.net/flight-controller/x7/en/) are the canonical reference for the X7.
The manufacturer [CUAV Docs](https://doc.cuav.net/controller/x7/en/) are the canonical reference for the X7.
They should be used by preference as they contain the most complete and up to date information.
:::
+1 -1
View File
@@ -116,7 +116,7 @@ Detailed information about the pinouts can be found [here](https://docs.modalai.
### User Guide
The full user guide is available [here](https://docs.modalai.com/flight-core-manual/).
The full user guide is available [here](https://docs.modalai.com/flight-core/).
### How to Build
+3 -3
View File
@@ -62,7 +62,7 @@ ModalAI is actively maintaining a [branched PX4 version](https://github.com/moda
As VOXL 2 runs Ubuntu, the production releases of PX4 for VOXL 2 are distributed through [apt package management](https://docs.modalai.com/configure-pkg-manager/) and the [VOXL SDK](https://docs.modalai.com/voxl-sdk/).
More information about the firmware can be found [here](https://docs.modalai.com/voxl2-px4-developer-guide/).
More information about the firmware can be found [here](https://docs.modalai.com/voxl-px4-developer-guide/).
### main branch
@@ -84,7 +84,7 @@ This board is supported in QGroundControl 4.0 and later.
## Quick Start
Quickstarts from the vendor are located [here](https://docs.modalai.com/voxl2-quickstarts/).
Quickstarts from the vendor are located [here](https://docs.modalai.com/voxl-2-hardware-quickstart/).
### VOXL SDK
@@ -127,7 +127,7 @@ The PX4 developer guide for VOXL 2 is available [here](https://docs.modalai.com/
### How to Build
See the [VOXL PX4 Build Guide](https://docs.modalai.com/voxl2-px4-build-guide/) on how to build.
See the [VOXL PX4 Build Guide](https://docs.modalai.com/voxl-px4-dev-build-guide/) on how to build.
## Support
@@ -30,25 +30,25 @@ This flight controller is [manufacturer supported](../flight_controller/autopilo
### Companion Computer
| Feature | Details |
| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Base Operation System | Linux Yocto Jethro with 3.18 kernel. Additional Linux Operating Systems can be used by running Docker on VOXL, details [here](https://docs.modalai.com/docker-on-voxl/) |
| Compute | Qualcomm Snapdragon 821 w/ 4GB LPDDR4 1866MHz, Snapdragon 821 [Datasheet](https://developer.qualcomm.com/download/sd820e/qualcomm-snapdragon-820e-processor-apq8096sge-device-specification.pdf), [Docs](https://developer.qualcomm.com/hardware/apq-8096sg/tools) |
| CPU | Quad-core CPU up to 2.15GHz |
| GPU | Adreno 530 GPU at 624MHz |
| Compute DSP | Hexagon compute DSP (cDSP) 825MHz |
| Sensor DSP | Hexagon sensor DSP (sDSP) 700MHz |
| Video | 4k30 Video Capture h.264/5 w/ 720p FPV |
| Camera Interfaces | Support for MIPI-CSI2, USB UVC, HDMI |
| Wi-Fi | Pre-certified Wi-Fi module [QCNFA324 FCC ID:PPD-QCNFA324](https://fccid.io/PPD-QCNFA324), QCA6174A modem, 802.11ac 2x2 Dual-band, Bluetooth 4.2 (dual-mode) |
| 4G LTE | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-lte) |
| Microhard pDDL | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-microhard-modem-usb-hub) |
| GNSS | WGR7640 10Hz |
| I/O | 1x USB3.0 OTG (ADB port), 1x USB2.0 (expansion port), 2x UART, 3x I2C, additional GPIO and SPI can be configured |
| Storage | 32GB (UFS 2.0), Micro SD Card |
| Software | Docker, OpenCV 2.4.11, 3.4.6, 4.2, ROS Indigo, Qualcomm Machine Vision SDK, see [GitLab](https://gitlab.com/voxl-public) for lots of open source examples! |
| IMUs | ICM-42688 (SPI10), ICM-20948 (SPI1) |
| Barometer | BMP280 |
| Feature | Details |
| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Base Operation System | Linux Yocto Jethro with 3.18 kernel. Additional Linux Operating Systems can be used by running Docker on VOXL, details [here](https://docs.modalai.com/docker-on-voxl/) |
| Compute | Qualcomm Snapdragon 821 w/ 4GB LPDDR4 1866MHz, Snapdragon 821 [Datasheet](https://manuals.plus/m/1409295179a6c50b5baa1ae6a7113ff67112341756058e9d0466bdb832800a60) |
| CPU | Quad-core CPU up to 2.15GHz |
| GPU | Adreno 530 GPU at 624MHz |
| Compute DSP | Hexagon compute DSP (cDSP) 825MHz |
| Sensor DSP | Hexagon sensor DSP (sDSP) 700MHz |
| Video | 4k30 Video Capture h.264/5 w/ 720p FPV |
| Camera Interfaces | Support for MIPI-CSI2, USB UVC, HDMI |
| Wi-Fi | Pre-certified Wi-Fi module [QCNFA324 FCC ID:PPD-QCNFA324](https://fccid.io/PPD-QCNFA324), QCA6174A modem, 802.11ac 2x2 Dual-band, Bluetooth 4.2 (dual-mode) |
| 4G LTE | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-lte) |
| Microhard pDDL | [Optional add-on module](https://www.modalai.com/collections/voxl-add-ons/products/voxl-microhard-modem-usb-hub) |
| GNSS | WGR7640 10Hz |
| I/O | 1x USB3.0 OTG (ADB port), 1x USB2.0 (expansion port), 2x UART, 3x I2C, additional GPIO and SPI can be configured |
| Storage | 32GB (UFS 2.0), Micro SD Card |
| Software | Docker, OpenCV 2.4.11, 3.4.6, 4.2, ROS Indigo, Qualcomm Machine Vision SDK, see [GitLab](https://gitlab.com/voxl-public) for lots of open source examples! |
| IMUs | ICM-42688 (SPI10), ICM-20948 (SPI1) |
| Barometer | BMP280 |
### Flight Controller
@@ -118,8 +118,8 @@ A quickstart from the vendor is located [here](https://docs.modalai.com/voxl-fli
### voxl-vision-px4
The VOXL Flight runs [voxl-vision-px4](https://gitlab.com/voxl-public/modal-pipe-architecture/voxl-vision-px4) on the companion computer portion of the hardware serving as a sort of MAVLink proxy.
For details, the source code is available [here](https://gitlab.com/voxl-public/modal-pipe-architecture/voxl-vision-px4)
The VOXL Flight runs [voxl-vision-px4](https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-hub) on the companion computer portion of the hardware serving as a sort of MAVLink proxy.
For details, the source code is available [here](https://gitlab.com/voxl-public/voxl-sdk/services/voxl-vision-hub)
### Connectors
@@ -170,7 +170,7 @@ _Note: 1000 Series connectors accessible from the STM32/PX4_
### User Guide
The full user guide is available [here](https://docs.modalai.com/voxl-flight-quickstart).
The full user guide is available [here](https://docs.modalai.com/voxl-flight-quickstart/).
### How to Build
@@ -45,21 +45,21 @@ Telemetry radios ([HGD-TELEM433](https://www.nxp.com/part/HGD-TELEM433) and [HGD
![RDDRONE-FMUK66 FMU Kit](../../assets/flight_controller/nxp_rddrone_fmuk66/rddrone_fmu66_kit_img_contents.jpg)
A "Lite" version RDDRONE-FMUK66L is also available which does not include the power module, GPS, Jlink or USB-TTL-3V3 console cable or SDCard.[Scroll down to see FMUK66L in the buy section of the FMUK66 buy page](https://www.nxp.com/design/design-center/development-boards-and-designs/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66#buy)
A "Lite" version RDDRONE-FMUK66L is also available which does not include the power module, GPS, Jlink or USB-TTL-3V3 console cable or SDCard.[Scroll down to see FMUK66L in the buy section of the FMUK66 buy page](https://www.nxp.com/products/no-longer-manufactured/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66#buy)
Additional information can be found in the [Technical Data Sheet](https://www.nxp.com/design/design-center/development-boards-and-designs/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66). <!-- www.nxp.com/rddrone-fmuk66 -->
Additional information can be found in the [Technical Data Sheet](https://www.nxp.com/products/no-longer-manufactured/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66). <!-- www.nxp.com/rddrone-fmuk66 -->
## Where to Buy {#store}
**RDDRONE-FMUK66** reference design kit may be purchased direct from NXP or from any of NXP's authorised worldwide network of [electronics distributors](https://www.nxp.com/support/sample-and-buy/distributor-network:DISTRIBUTORS).
- [Purchase Link](https://www.nxp.com/design/design-center/development-boards-and-designs/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66#buy) (www.nxp.com)
- [Purchase Link](https://www.nxp.com/products/no-longer-manufactured/px4-robotic-drone-vehicle-flight-management-unit-vmu-fmu-rddrone-fmuk66:RDDRONE-FMUK66#buy) (www.nxp.com)
- Telemetry radios are purchased separately depending on frequency band:
- [HGD-TELEM433](https://www.nxp.com/part/HGD-TELEM433)
- [HGD-TELEM915](https://www.nxp.com/part/HGD-TELEM915)
::: info
_RDDRONE-FMUK66_ FMU is also included in the complete HoverGames drone kit: [KIT-HGDRONEK66](https://www.nxp.com/design/design-center/development-boards-and-designs/nxp-hovergames-drone-kit-including-flight-controller-and-peripherals:KIT-HGDRONEK66#buy)
_RDDRONE-FMUK66_ FMU is also included in the complete HoverGames drone kit: [KIT-HGDRONEK66](https://www.nxp.com/products/no-longer-manufactured/nxp-hovergames-drone-kit-including-flight-controller-and-peripherals:KIT-HGDRONEK66#buy)
:::
<!--
+2 -2
View File
@@ -95,8 +95,8 @@ _QGroundControl_ provides additional GCS-level mission handling support (in addi
For more information see:
- [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands)
- [Resume mission after Return mode](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/releases/stable_v3.2_long.html#resume-mission)
- [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/Stable_V4.3/en/qgc-user-guide/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands)
- [Resume mission after Return mode](https://docs.qgroundcontrol.com/Stable_V4.3/en/qgc-user-guide/releases/stable_v3.2_long.html#resume-mission)
## Mission Parameters
+2 -2
View File
@@ -95,8 +95,8 @@ _QGroundControl_ provides additional GCS-level mission handling support (in addi
For more information see:
- [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands)
- [Resume mission after Return mode](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/releases/stable_v3.2_long.html#resume-mission)
- [Remove mission after vehicle lands](https://docs.qgroundcontrol.com/Stable_V4.3/en/qgc-user-guide/releases/stable_v3.2_long.html#remove-mission-after-vehicle-lands)
- [Resume mission after Return mode](https://docs.qgroundcontrol.com/Stable_V4.3/en/qgc-user-guide/releases/stable_v3.2_long.html#resume-mission)
## Mission Parameters
+1 -1
View File
@@ -78,7 +78,7 @@ All the parameters in the [Multicopter Position Control](../advanced_config/para
### Position Loss/Safety
Position mode is dependent on having an acceptable position estimate.
If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-gnss-loss-failsafe).
If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a [Position (GPS) Loss Failsafe](../config/safety.md#position-loss-failsafe).
Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.
## See Also
+3 -3
View File
@@ -18,7 +18,7 @@ The components needed for this build are:
::: info
You can select your own flight controller of choice, it just needs to support 8 DShot outputs.
:::
- GPS: [ZED-F9P](https://gnss.store/zed-f9p-gnss-modules/105-elt0092.html)
- GPS: [ZED-F9P](https://gnss.store/en/zed-f9p-gnss-modules/105-elt0092.html)
- [GPS helix antenna](https://gnss.store/products/elt0014)
::: info
Any other GPS may work as well, however a helix antenna is expected to perform better for inverted flights.
@@ -32,8 +32,8 @@ The components needed for this build are:
- Battery: we used a 6S 3300mAh LiPo. Make sure to check the dimensions so it fits the frame.
- Battery strap
- Frame:
- Carbon square tube R 8mm X 7mm X 1000mm, e.g. [here on shop.swiss-composite.ch](https://www.shop.swiss-composite.ch/pi.php/Halbfabrikate/Rohre/Vierkant-Rohre/CFK-Vierkantrohr-8x8-7x7mm.html)
- Carbon Rods R 3mm X 2mm X 1000mm, e.g. [here on shop.swiss-composite.ch](https://www.shop.swiss-composite.ch/pi.php/Halbfabrikate/Rohre/CFK-Rohre-pultrudiert-pullwinding/Carbon-Microtubes-100cm-x-20-3mm.html)
- Carbon square tube R 8mm X 7mm X 1000mm, e.g. [here on shop.swiss-composite.ch](https://www.shop.swiss-composite.ch/de/produkt/cfk-vierkantrohr-8x8-7x7mm)
- Carbon Rods R 3mm X 2mm X 1000mm, e.g. [here on shop.swiss-composite.ch](https://www.shop.swiss-composite.ch/de/produkt/carbon-microtubes-100cm-x-20-3mm)
- Required lengths:
- square tube: 8 pieces with length of 248mm
- rods: 12x328mm, 6x465mm
+1 -1
View File
@@ -12,7 +12,7 @@ Configuration_.
## Where to Buy
[BlueROV2](https://bluerobotics.com/store/rov/bluerov2/) + [BlueROV2 Heavy Configuration Retrofit Kit](https://bluerobotics.com/store/rov/bluerov2-upgrade-kits/brov2-heavy-retrofit/)
[BlueROV2](https://bluerobotics.com/store/rov/bluerov2/) + [BlueROV2 Heavy Configuration Retrofit Kit](https://bluerobotics.com/store/rov/bluerov2-accessories/brov2-heavy-kit/)
### Motor Mapping/Wiring
@@ -43,14 +43,14 @@ The following options have been tested:
- [Holybro PM08D Power Module (alternative to Auterion PM)](https://holybro.com/collections/power-modules-pdbs/products/pm08d-digital-power-module-14s-200a)
- [GPS F9P (included in Skynode eval. kit)](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md)
- [GPS M9N (cheaper alternative to F9P)](../gps_compass/rtk_gps_holybro_h-rtk-m8p.md)
- [Airspeed sensor (included in Skynode eval. kit)](https://www.dualrc.com/parts/airspeed-sensor-sdp33) — recommended for improved safety and performance
- [Airspeed sensor (included in Skynode eval. kit)](https://www.dualrc.com/parts/p/airspeed-sensor-sdp33) — recommended for improved safety and performance
- [Airspeed sensor (cheaper alternative)](https://holybro.com/products/digital-air-speed-sensor-ms4525do)
- [Lidar Lightware lw20-c (included in Skynode eval. kit)](../sensor/sfxx_lidar.md) (Optional)
- [Lidar Seeed Studio PSK-CM8JL65-CC5 (cheaper alternative)](https://www.seeedstudio.com/PSK-CM8JL65-CC5-Infrared-Distance-Measuring-Sensor-p-4028.html) (Optional)
- [Radio (RC) System](../getting_started/rc_transmitter_receiver.md) of your preference
- [Groundstation and Radio link](https://holybro.com/collections/rc-radio-transmitter-receiver/products/skydroid-h12?variant=42940989931709)
- [Groundstation and Radio link](https://holybro.com/products/skydroid-h12)
- [USB-C extension cable](https://www.digitec.ch/en/s1/product/powerguard-usb-c-usb-c-025-m-usb-cables-22529949?dbq=1&gclid=Cj0KCQjw2cWgBhDYARIsALggUhrh-z-7DSU0wKfLBVa8filkXLQaxUpi7pC0ffQyRzLng8Ph01h2R1gaAp0mEALw_wcB&gclsrc=aw.ds)
- [I2C Splitter](https://www.3dxr.co.uk/autopilots-c2/the-cube-aka-pixhawk-2-1-c9/cube-cables-accessories-sensors-c15/cubepilot-i2c-can-splitter-jst-gh-4pin-p2840)
- [I2C Splitter](https://www.3dxr.co.uk/autopilots-c2/the-cube-aka-pixhawk-2-1-c9/cube-cables-accessories-sensors-c15/cubepilot-i2c-can-splitter-jst-gh-4pin-hx4-06152-p2840)
- [3D-Printed mounts](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/airframes/vtol/foxtech_loong_2160/loong-3d-prints.zip)
- 1x Baseplate
- 1x Stack-fixture
@@ -301,7 +301,7 @@ To load the file:
- If the [Lidar Lightware lw20-c (included in Skynode eval. kit)](../sensor/sfxx_lidar.md) is used, [SENS_EN_SF1XX](../advanced_config/parameter_reference.md#SENS_EN_SF1XX) needs to be set to 6 (SF/LW/20c).
- Make that the correct airspeed sensor is selected.
If you use the recommended [SDP33 airspeed sensor](https://www.dualrc.com/parts/airspeed-sensor-sdp33) no changes will be needed as [SENS_EN_SDP3X](../advanced_config/parameter_reference.md#SENS_EN_SDP3X) is enabled (set to `1`) in the parameter file.
If you use the recommended [SDP33 airspeed sensor](https://www.dualrc.com/parts/p/airspeed-sensor-sdp33) no changes will be needed as [SENS_EN_SDP3X](../advanced_config/parameter_reference.md#SENS_EN_SDP3X) is enabled (set to `1`) in the parameter file.
### Sensor Calibration
@@ -24,7 +24,7 @@ A number of other components have been updated in the parts list too.
- [GetFPV](https://www.getfpv.com/lumenier-30a-blheli-s-esc-opto-2-4s.html)
- BEC (3A, 5-5.3V) (only needed if you are using ESCs which cannot act as a 5V power supply for the output rail)
- 3S 2200 mA LiPo battery
- Team Orion 3S 11.1V 50 C ([Hobbyshop store](https://www.hobbyshop.ch/modellbau-elektronik/akku/team-orion-lipo-2200-3s-11-1v-50c-xt60-ori60163.html))
- Team Orion 3S 11.1V 50 C ([Hobbyshop store](https://www.hobbyshop.ch/team-orion-lipo-2200-3s-11-1v-50c-xt60-ori60163.html))
- [Pixracer autopilot board + power module](../flight_controller/pixracer.md)
- [Digital airspeed sensor](https://hobbyking.com/en_us/hkpilot-32-digital-air-speed-sensor-and-pitot-tube-set.html)
@@ -43,7 +43,7 @@ The approximate maximum size of the FC is: 50x110x22mm
- [GPS F9P (included in Skynode eval. kit)](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md)
- [GPS M9N (cheaper alternative to F9P)](../gps_compass/rtk_gps_holybro_h-rtk-m8p.md)
- [Airspeed sensor (included in Skynode eval. kit)](https://www.dualrc.com/parts/airspeed-sensor-sdp33) — recommended for improved safety and performance
- [Airspeed sensor (included in Skynode eval. kit)](https://www.dualrc.com/parts/p/airspeed-sensor-sdp33) — recommended for improved safety and performance
- [Airspeed sensor (cheaper alternative)](https://holybro.com/products/digital-air-speed-sensor-ms4525do)
- [Lidar Lightware lw20-c (included in Skynode eval. kit)](../sensor/sfxx_lidar.md) (Optional)
- [Lidar Seeed Studio PSK-CM8JL65-CC5 (cheaper alternative)](https://www.seeedstudio.com/PSK-CM8JL65-CC5-Infrared-Distance-Measuring-Sensor-p-4028.html) (Optional)
@@ -288,7 +288,7 @@ To load the file:
The airspeed sensor can be enabled in the [Parameters](../advanced_config/parameters.md#finding-updating-parameters) tab.
- If the [recommended airspeed sensor (SDP33)](https://www.dualrc.com/parts/airspeed-sensor-sdp33) is used, `SENS_EN_SDP3X` needs to be enabled.
- If the [recommended airspeed sensor (SDP33)](https://www.dualrc.com/parts/p/airspeed-sensor-sdp33) is used, `SENS_EN_SDP3X` needs to be enabled.
- If the [Lidar Lightware lw20-c (included in Skynode eval. kit)](../sensor/sfxx_lidar.md) is used, `SENS_EN_SF1XX` needs to be set to 6 (SF/LW/20c).
### Sensor Calibration
+1 -1
View File
@@ -38,7 +38,7 @@ For more information see [Settings > MAVLink Settings > MAVLink 2 Logging (PX4 o
## Sharing the Log Files for Review by PX4 Developers
The [Flight Review](https://logs.px4.io/) log file link can be shared for discussion in the [support forums](../contribute/support.md#forums-and-chat) or a [Github issue](../index.md#reporting-bugs-issues).
The [Flight Review](https://logs.px4.io/) log file link can be shared for discussion in the [support forums](../contribute/support.md#forums-and-chat) or a [Github issue](../contribute/support.md#issue-bug-reporting).
## Log Configuration
+1 -1
View File
@@ -47,7 +47,7 @@ It integrates Ublox M9N, IST8310, three-color LED lights and safety switches, an
## Where to Buy
- [CUAV](https://cuav.en.alibaba.com/product/1600217379204-820872629/CUAV_NEO_3_M9N_GPS_Module_for_Pixhawk_Compass_gps_tracker_navigation_gps.html?spm=a2700.shop_oth.74.1.636e28725EvVHb)
- [CUAV](https://www.alibaba.com/product-detail/CUAV_NEO_3_M9N_GPS_Module_for_Pixhawk_Compass_gps_tracker_navigation_gps_1600217379204.html)
## Wiring and Connections
+40 -40
View File
@@ -14,51 +14,51 @@ Some RTK GNSS setups can provide yaw/heading information, as an alternative to t
## Supported Devices
PX4 supports the [u-blox M8P](https://www.u-blox.com/en/product/neo-m8p), [u-blox F9P](https://www.u-blox.com/en/product/zed-f9p-module) and the [Trimble MB-Two](https://oemgnss.trimble.com/en/products/receiver-modules/mb-two) GPS, and products that incorporate them.
PX4 supports the [u-blox M8P](https://www.u-blox.com/en/product/neo-m8p-series), [u-blox F9P](https://www.u-blox.com/en/product/zed-f9p-module) and the [Trimble MB-Two](https://oemgnss.trimble.com/en/products/receiver-modules/mb-two) GPS, and products that incorporate them.
The RTK compatible devices below that are expected to work with PX4 (it omits discontined devices).
The table indicates devices that also output yaw, and that can provide yaw when two on-vehicle units are used.
It also highlights devices that connect via the CAN bus, and those which support PPK (Post-Processing Kinematic).
| Device | GPS | Compass | [DroneCAN] | [GPS Yaw] | PPK |
| :-------------------------------------------------------------------------------------------------------- | :------------------: | :------: | :--------: | :---------------------------------: | :-: |
| [ARK G5 RTK GPS](../dronecan/ark_g5_rtk_gps.md) | [mosaic-G5 P3] | IIS2MDC | ✓ | | |
| [ARK G5 RTK HEADING GPS](../dronecan/ark_g5_rtk_heading_gps.md) | [mosaic-G5 P3H] | IIS2MDC | ✓ | [Heading Capability][mosaic-G5 P3H] | |
| [ARK RTK GPS](../dronecan/ark_rtk_gps.md) | F9P | BMM150 | ✓ | [Dual F9P] | |
| [ARK RTK GPS L1 L5](../dronecan/ark_rtk_gps_l1_l2.md) | F9P | BMM150 | ✓ | | |
| [ARK MOSAIC-X5 RTK GPS](../dronecan/ark_mosaic__rtk_gps.md) | Mosaic-X5 | IIS2MDC | ✓ | [Septentrio Dual Antenna] | |
| [ARK X20 RTK GPS](../dronecan/ark_x20_rtk_gps.md) | X20P | IIS2MDC | ✓ | | |
| [CUAV C-RTK GPS](../gps_compass/rtk_gps_cuav_c-rtk.md) | M8P/M8N | ✓ | | | |
| [CUAV C-RTK2](../gps_compass/rtk_gps_cuav_c-rtk2.md) | F9P | ✓ | | [Dual F9P] | |
| [CUAV C-RTK 9Ps GPS](../gps_compass/rtk_gps_cuav_c-rtk-9ps.md) | F9P | RM3100 | | [Dual F9P] | |
| [CUAV C-RTK2 PPK/RTK GNSS](../gps_compass/rtk_gps_cuav_c-rtk.md) | F9P | RM3100 | | | ✓ |
| [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) | M8P | HMC5983 | | | |
| [CubePilot Here3 CAN GNSS GPS (M8N)](https://www.cubepilot.org/#/here/here3) | M8P | ICM20948 | ✓ | | |
| [Drotek SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | RM3100 | | [Dual F9P] | |
| [DATAGNSS NANO HRTK Receiver](../gps_compass/rtk_gps_datagnss_nano_hrtk.md) | [D10P] | IST8310 | | ✘ | |
| [DATAGNSS GEM1305 RTK Receiver](../gps_compass/rtk_gps_gem1305.md) | TAU951M | IST8310 | | ✘ | |
| [Femtones MINI2 Receiver](../gps_compass/rtk_gps_fem_mini2.md) | FB672, FB6A0 | ✓ | | | |
| [Freefly RTK GPS](../gps_compass/rtk_gps_freefly.md) | F9P | IST8310 | | | |
| [Holybro H-RTK ZED-F9P RTK Rover (DroneCAN variant)](../dronecan/holybro_h_rtk_zed_f9p_gps.md) | F9P | RM3100 | ✓ | [Dual F9P] | |
| [Holybro H-RTK ZED-F9P RTK Rover](https://holybro.com/collections/h-rtk-gps/products/h-rtk-zed-f9p-rover) | F9P | RM3100 | | [Dual F9P] | |
| [Holybro H-RTK F9P Ultralight](https://holybro.com/products/h-rtk-f9p-ultralight) | F9P | IST8310 | | [Dual F9P] | |
| [Holybro H-RTK F9P Helical or Base](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md) | F9P | IST8310 | | [Dual F9P] | |
| [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical) | F9P | BMM150 | ✓ | [Dual F9P] | |
| [Holybro H-RTK F9P Rover Lite](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md) | F9P | IST8310 | | | |
| [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover) | F9P | BMM150 | | [Dual F9P] | |
| [Holybro H-RTK M8P GNSS](../gps_compass/rtk_gps_holybro_h-rtk-m8p.md) | M8P | IST8310 | | | |
| [Holybro H-RTK Unicore UM982 GPS](../gps_compass/rtk_gps_holybro_unicore_um982.md) | UM982 | IST8310 | | [Unicore Dual Antenna] | |
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | [Dual F9P] | |
| [Navisys L1/L2 ZED-F9P RTK - Base only](https://www.navisys.com.tw/productdetail?name=GR901&class=RTK) | F9P | | | | |
| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | |
| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | [Septentrio Dual Antenna] | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | [Septentrio Dual Antenna] | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | [Dual F9P] | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) | F9P | ✓ | | [Dual F9P] | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | |
| Device | GPS | Compass | [DroneCAN] | [GPS Yaw] | PPK |
| :----------------------------------------------------------------------------------------------------------------- | :------------------: | :------: | :--------: | :---------------------------------: | :-: |
| [ARK G5 RTK GPS](../dronecan/ark_g5_rtk_gps.md) | [mosaic-G5 P3] | IIS2MDC | ✓ | | |
| [ARK G5 RTK HEADING GPS](../dronecan/ark_g5_rtk_heading_gps.md) | [mosaic-G5 P3H] | IIS2MDC | ✓ | [Heading Capability][mosaic-G5 P3H] | |
| [ARK RTK GPS](../dronecan/ark_rtk_gps.md) | F9P | BMM150 | ✓ | [Dual F9P] | |
| [ARK RTK GPS L1 L5](../dronecan/ark_rtk_gps_l1_l2.md) | F9P | BMM150 | ✓ | | |
| [ARK MOSAIC-X5 RTK GPS](../dronecan/ark_mosaic__rtk_gps.md) | Mosaic-X5 | IIS2MDC | ✓ | [Septentrio Dual Antenna] | |
| [ARK X20 RTK GPS](../dronecan/ark_x20_rtk_gps.md) | X20P | IIS2MDC | ✓ | | |
| [CUAV C-RTK GPS](../gps_compass/rtk_gps_cuav_c-rtk.md) | M8P/M8N | ✓ | | | |
| [CUAV C-RTK2](../gps_compass/rtk_gps_cuav_c-rtk2.md) | F9P | ✓ | | [Dual F9P] | |
| [CUAV C-RTK 9Ps GPS](../gps_compass/rtk_gps_cuav_c-rtk-9ps.md) | F9P | RM3100 | | [Dual F9P] | |
| [CUAV C-RTK2 PPK/RTK GNSS](../gps_compass/rtk_gps_cuav_c-rtk.md) | F9P | RM3100 | | | ✓ |
| [CubePilot Here+ RTK GPS](../gps_compass/rtk_gps_hex_hereplus.md) | M8P | HMC5983 | | | |
| [CubePilot Here3 CAN GNSS GPS (M8N)](https://www.cubepilot.org/#/here/here3) | M8P | ICM20948 | ✓ | | |
| [Drotek SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | RM3100 | | [Dual F9P] | |
| [DATAGNSS NANO HRTK Receiver](../gps_compass/rtk_gps_datagnss_nano_hrtk.md) | [D10P] | IST8310 | | ✘ | |
| [DATAGNSS GEM1305 RTK Receiver](../gps_compass/rtk_gps_gem1305.md) | TAU951M | IST8310 | | ✘ | |
| [Femtones MINI2 Receiver](../gps_compass/rtk_gps_fem_mini2.md) | FB672, FB6A0 | ✓ | | | |
| [Freefly RTK GPS](../gps_compass/rtk_gps_freefly.md) | F9P | IST8310 | | | |
| [Holybro H-RTK ZED-F9P RTK Rover (DroneCAN variant)](../dronecan/holybro_h_rtk_zed_f9p_gps.md) | F9P | RM3100 | ✓ | [Dual F9P] | |
| [Holybro H-RTK ZED-F9P RTK Rover](https://holybro.com/collections/h-rtk-gps/products/h-rtk-zed-f9p-rover) | F9P | RM3100 | | [Dual F9P] | |
| [Holybro H-RTK F9P Ultralight](https://holybro.com/products/h-rtk-f9p-ultralight) | F9P | IST8310 | | [Dual F9P] | |
| [Holybro H-RTK F9P Helical or Base](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md) | F9P | IST8310 | | [Dual F9P] | |
| [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical) | F9P | BMM150 | ✓ | [Dual F9P] | |
| [Holybro H-RTK F9P Rover Lite](../gps_compass/rtk_gps_holybro_h-rtk-f9p.md) | F9P | IST8310 | | | |
| [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover) | F9P | BMM150 | | [Dual F9P] | |
| [Holybro H-RTK M8P GNSS](../gps_compass/rtk_gps_holybro_h-rtk-m8p.md) | M8P | IST8310 | | | |
| [Holybro H-RTK Unicore UM982 GPS](../gps_compass/rtk_gps_holybro_unicore_um982.md) | UM982 | IST8310 | | [Unicore Dual Antenna] | |
| [LOCOSYS Hawk R1](../gps_compass/rtk_gps_locosys_r1.md) | MC-1612-V2b | | | | |
| [LOCOSYS Hawk R2](../gps_compass/rtk_gps_locosys_r2.md) | MC-1612-V2b | IST8310 | | | |
| [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) | F9P | ✓ | | [Dual F9P] | |
| [Navisys L1/L2 ZED-F9P RTK - Base only](https://www.navisys.com.tw/productdetail?name=GR901&class=RTK) | F9P | | | | |
| [RaccoonLab L1/L2 ZED-F9P][RaccoonLab L1/L2 ZED-F9P] | F9P | RM3100 | ✓ | | |
| [RaccoonLab L1/L2 ZED-F9P with external antenna][RaccnLabL1L2ZED-F9P ext_ant] | F9P | RM3100 | ✓ | | |
| [Septentrio AsteRx-m3 Pro](../gps_compass/septentrio_asterx-rib.md) | AsteRx | ✓ | | [Septentrio Dual Antenna] | ✓ |
| [Septentrio mosaic-go](../gps_compass/septentrio_mosaic-go.md) | mosaic X5 / mosaic H | ✓ | | [Septentrio Dual Antenna] | ✓ |
| [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) | F9P | ✓ | | [Dual F9P] | |
| [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/sparkfun-gps-rtk2-board-zed-f9p-qwiic-gps-15136.html) | F9P | ✓ | | [Dual F9P] | |
| [Trimble MB-Two](../gps_compass/rtk_gps_trimble_mb_two.md) | F9P | ✓ | | ✓ | |
<!-- links used in above table -->
@@ -1,6 +1,6 @@
# CUAV C-RTK 9Ps
The CUAV [C-RTK 9Ps](https://www.cuav.net/en/c_rtk_9ps/) is a multi-satellite, multi-band, centimeter-level, RTK GNSS system.
The CUAV [C-RTK 9Ps](https://www.cuav.net/en/c-rtk-9ps-en/) is a multi-satellite, multi-band, centimeter-level, RTK GNSS system.
The module simultaneously receives GPS, GLONASS, Galileo and Beidou satellite signals, enabling faster positioning and higher accuracy.
It also supports [RTK GPS Heading](../gps_compass/u-blox_f9p_heading.md) using dual modules.
@@ -12,7 +12,7 @@ This is ideal for survey drones, agricultural drones and other application scena
## Where to Buy
[cuav Store](https://store.cuav.net/index.php?route=product/product&path=61&product_id=187)
[cuav Store](https://store.cuav.net/?route=product%2Fproduct&path=61&product_id=187)
## Specification
+2 -2
View File
@@ -1,6 +1,6 @@
# CUAV C-RTK
The [CUAV C-RTK GPS receiver](https://www.cuav.net/en/c_rtk_9ps/) is an [RTK GPS module](../gps_compass/rtk_gps.md) for the mass market.
The [CUAV C-RTK GPS receiver](https://www.cuav.net/en/c-rtk-9ps-en/) is an [RTK GPS module](../gps_compass/rtk_gps.md) for the mass market.
A complete RTK system consists of at least two C-RTK modules \(one for the base station and the others for the aircraft\). Using RTK, PX4 can get its position with centimetre-level accuracy, which is much more accurate than can be provided by a normal GPS.
<img src="../../assets/hardware/gps/rtk_c-rtk.jpg" width="500px" title="C-RTK" />
@@ -8,7 +8,7 @@ A complete RTK system consists of at least two C-RTK modules \(one for the base
## Where to Buy
- [cuav taobao](https://item.taobao.com/item.htm?id=565380634341&spm=2014.21600712.0.0)
- [cuav aliexpress](https://www.aliexpress.com/store/product/CUAV-NEW-Flight-Controller-GPS-C-RTK-differential-positioning-navigation-module-GPS-for-PIX4-Pixhawk-pixhack/3257035_32853894248.html?spm=2114.12010608.0.0.75592fadQKPPEn)
- [cuav aliexpress](https://www.aliexpress.com/item/32853894248.html?spm=2114.12010608.0.0.75592fadQKPPEn)
## Configuration
+2 -2
View File
@@ -1,6 +1,6 @@
# CUAV C-RTK2 GNSS Module (RTK/PPK)
The [CUAV C-RTK2 receiver](https://www.cuav.net/en/c_rtk_9ps/) is a high-performance PPK/RTK positioning module created by CUAV for professional applications such as drone aerial surveying and mapping.
The [CUAV C-RTK2 receiver](https://www.cuav.net/en/c-rtk-9ps-en/) is a high-performance PPK/RTK positioning module created by CUAV for professional applications such as drone aerial surveying and mapping.
It has a high-precision IMU and positioning module, and can reduce the number of required [control points](https://www.youtube.com/watch?v=3k7v5aXyuKQ) by more than to 80%.
In addition to surveying/mapping, it is suitable for many other use-cases, including: agricultural plant protection and drone swarms.
@@ -18,7 +18,7 @@ In addition to surveying/mapping, it is suitable for many other use-cases, inclu
## Where to Buy
- [CUAV Store](https://store.cuav.net/index.php?route=product/product&product_id=159)
- [CUAV Store](https://store.cuav.net/?route=product%2Fproduct&product_id=159)
- [CUAV aliexpress](https://pt.aliexpress.com/item/1005003754165772.html?spm=a2g0o.store_pc_groupList.8148356.13.2f893550i0NE4o)
# Quick Summary
@@ -90,7 +90,7 @@ Note that for the base we recommend the [NANO RTK Receiver](https://www.datagnss
![DATAGNSS NANO RTK Receiver with case](../../assets/hardware/gps/datagnss_gem1305/nano_rtk_with_case.png)
See to [How to setup Base station](https://wiki.datagnss.com/index.php/GEM1305-autopilot#Base_station_setup) for information on how to configure the module for use as a base station (not including step 6 and later, for which you would QGroundControl instead of Mission Planner).
See to [How to setup Base station](https://docs.datagnss.com/#Base_station_setup) for information on how to configure the module for use as a base station (not including step 6 and later, for which you would QGroundControl instead of Mission Planner).
### Rover Setup (PX4)
@@ -111,13 +111,12 @@ GPS and RTK configuration on PX4 via _QGroundControl_ is plug and play (see [RTK
## Resources
- [NANO RTK Receiver 2D drawing file](https://wiki.datagnss.com/images/3/31/EVK-DG-1206_V.2.0.pdf)
- [NANO HRTK Receiver Wiki](https://docs.datagnss.com/gnss/rtk_receiver/NANO/nano-helix-rtk/) (DATAGNSS WiKi)
- [HED-10L Heading RTK Receiver](https://docs.datagnss.com/gnss/rtk_receiver/HED-10L/)
## More information
- [NANO RTK Receiver](https://docs.datagnss.com/gnss/rtk_receiver/NANO/nano-rtk-receiver)
- [NANO RTK Receiver](https://docs.datagnss.com/gnss/rtk_receiver/NANO/nano-rtk-receiver/)
- [HELIX Antenna for RTK](https://www.datagnss.com/collections/rtk-antenna/products/smart-helix-antenna)
- [RTK Antenna AGR6302G](https://www.datagnss.com/collections/rtk-antenna/products/antenna-agr6302g)
- [AT400 RTK Antenna](https://www.datagnss.com/collections/rtk-antenna/products/at400-multi-band-antenna-for-rtk)
+2 -3
View File
@@ -93,7 +93,7 @@ Note that for the base we recommend the [NANO RTK Receiver](https://www.datagnss
<img src="../../assets/hardware/gps/datagnss_gem1305/nano_rtk_with_case.png" width="500px" alt="DATAGNSS NANO RTK Receiver">
See to [How to setup Base station](https://wiki.datagnss.com/index.php/GEM1305-autopilot#Base_station_setup) for information on how to configure the module for use as a base station (not including step 6 and later, for which you would QGroundControl instead of Mission Planner).
See to [How to setup Base station](https://docs.datagnss.com/#Base_station_setup) for information on how to configure the module for use as a base station (not including step 6 and later, for which you would QGroundControl instead of Mission Planner).
### Rover Setup (PX4)
@@ -115,14 +115,13 @@ GPS and RTK configuration on PX4 via _QGroundControl_ is plug and play (see [RTK
## Resources
- [NANO RTK Receiver 2D drawing file](https://wiki.datagnss.com/images/3/31/EVK-DG-1206_V.2.0.pdf)
- [GEM1305 Wiki](https://docs.datagnss.com/gnss/rtk_receiver/GEM1305/) (DATAGNSS WiKi)
- [HED-10L Heading RTK Receiver](https://docs.datagnss.com/gnss/rtk_receiver/HED-10L/)
- [NANO HRTK Receiver](https://docs.datagnss.com/gnss/rtk_receiver/NANO/nano-helix-rtk/)
## More information
- [NANO RTK Receiver](https://www.datagnss.com/collections/evk/products/tau951m-1312-tiny-evk)
- [NANO RTK Receiver](https://www.datagnss.com/products/tau951m-1312-tiny-evk)
- [HELIX Antenna for RTK](https://www.datagnss.com/collections/rtk-antenna/products/smart-helix-antenna)
- [RTK Antenna AGR6302G](https://www.datagnss.com/collections/rtk-antenna/products/antenna-agr6302g)
- [AT400 RTK Antenna](https://www.datagnss.com/collections/rtk-antenna/products/at400-multi-band-antenna-for-rtk)
@@ -1,10 +1,10 @@
# Holybro H-RTK Unicore UM982 GPS
The [Holybro H-RTK Unicore UM982 GPS](https://holybro.com/products/h-rtk-um982) is an multi-band high-precision [RTK GNSS System](../gps_compass/rtk_gps.md) launched by Holybro.
The [Holybro H-RTK Unicore UM982 GPS](https://holybro.com/products/h-rtk-unicore-um982) is an multi-band high-precision [RTK GNSS System](../gps_compass/rtk_gps.md) launched by Holybro.
![HB-pmw3901-1](../../assets/hardware/gps/holybro-unicore-um982/holybro-unicore-um982-1.jpg)
This module is based on the [Unicore UM982 Chip](https://en.unicorecomm.com/products/detail/24), which supports RTK positioning and dual-antenna heading calculation.
This module is based on the [Unicore UM982 Chip](https://en.unicore.com/products/dual-antenna-gnss-um982/), which supports RTK positioning and dual-antenna heading calculation.
This means that it can generate a moving baseline headline/yaw determinations for autopilots with just one GPS module and dual antennas - a magnetometer is not needed.
Unlike when using a module such as the U-blox F9P, where you would need [two U-blox F9P modules to compute a heading angle](../gps_compass/u-blox_f9p_heading.md), with the Unicore UM982 GPS, you only need one GPS module!
@@ -20,7 +20,7 @@ Additional technical information can be found at [Holybro Technical Documentatio
## Where to Buy
- [Holybro Website](https://holybro.com/products/h-rtk-um982)
- [Holybro Website](https://holybro.com/products/h-rtk-unicore-um982)
## Wiring
+1 -1
View File
@@ -10,7 +10,7 @@ This feature works on F9P devices that support CAN or expose the GPS UART2 port.
The following devices are supported:
- [ARK RTK GPS](https://arkelectron.com/product/ark-rtk-gps/) (arkelectron.com)
- [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/products/15136) (www.sparkfun.com)
- [SparkFun GPS-RTK2 Board - ZED-F9P](https://www.sparkfun.com/sparkfun-gps-rtk2-board-zed-f9p-qwiic-gps-15136.html) (www.sparkfun.com)
- [SIRIUS RTK GNSS ROVER (F9P)](https://store-drotek.com/911-sirius-rtk-gnss-rover-f9p.html) (store-drotek.com)
- [mRo u-blox ZED-F9 RTK L1/L2 GPS](https://store.mrobotics.io/product-p/m10020d.htm) (store.mrobotics.io)
- [Holybro H-RTK F9P Helical or Base](https://holybro.com/products/h-rtk-f9p-gnss-series) (Holybro Store)
+1 -1
View File
@@ -93,7 +93,7 @@ _New_ experimental boards are allocated [VER and REV IDs](#ver_rev_id) based on
This category includes all boards that aren't supported by the PX4 project or a manufacturer, and that fall outside the"experimental" support.
- Board is somewhat compatible on paper with something we already support, and it would take minimal effort to raise it to "experimental", but neither the dev-team or the manufacturer are currently pursuing this
- Manufacturer/Owner of hardware violates our [Code of Conduct](https://discuss.px4.io/t/code-of-conduct/13655)
- Manufacturer/Owner of hardware violates our [Code of Conduct](https://discuss.px4.io/t/px4-community-code-of-conduct/13655)
- Closed source, where any of the necessary tools/libs/drivers/etc needed to add support for a board is deemed incompatible due to licensing restrictions
- Board doesn't meet minimum requirements outlined in the General requirements
+1 -1
View File
@@ -156,7 +156,7 @@ Key features:
### PX4Tools
[PX4Tools](https://github.com/dronecrew/px4tools) is a log analysis toolbox for the PX4 autopilot written in Python.
The recommended installation procedure is to use [anaconda3](https://conda.io/docs/index.html). See [px4tools github page](https://github.com/dronecrew/px4tools) for details.
The recommended installation procedure is to use [anaconda3](https://docs.conda.io/docs/index.html). See [px4tools github page](https://github.com/dronecrew/px4tools) for details.
Key features:
+1 -1
View File
@@ -77,7 +77,7 @@ You will need to work with the [MAVLink team](https://mavlink.io/en/contributing
:::
PX4 includes the [mavlink/mavlink](https://github.com/mavlink/mavlink) repo as a submodule under [/src/modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/mavlink).
This contains XML definition files in [/mavlink/messages/1.0/](https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/).
This contains XML definition files in [/mavlink/messages/1.0/](https://github.com/mavlink/mavlink/tree/master/message_definitions/v1.0).
The build toolchain generates the MAVLink 2 C header files at build time.
The XML file for which headers files are generated may be defined in the [PX4 kconfig board configuration](../hardware/porting_guide_config.md#px4-board-configuration-kconfig) on a per-board basis, using the variable `CONFIG_MAVLINK_DIALECT`:
+2 -2
View File
@@ -145,8 +145,8 @@ Versioned messages include an additional field `uint32 MESSAGE_VERSION = x`, whe
Versioned and non-versioned messages are separated in the file system:
- Non-versioned topic message files and [server service](../ros2/user_guide.md#px4-ros-2-service-servers) message files remain in the [`msg/`](https://github.com/PX4/PX4-Autopilot/tree/main/msg) and [`srv/`](https://github.com/PX4/PX4-Autopilot/tree/main/srv) directories, respectively.
- The current (highest) version of message files are located in the `versioned` subfolders ([`msg/versioned`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/versioned) and [`srv/versioned`](https://github.com/PX4/PX4-Autopilot/tree/main/srv/versioned)).
- Older versions of messages are stored in nested `msg/px4_msgs_old/` subfolders ([`msg/px4_msgs_old/msg/`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/px4_msgs_old/msg) and [`msg/px4_msgs_old/srv/`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/px4_msgs_old/srv)).
- The current (highest) version of message files are located in the `versioned` subfolders ([`msg/versioned`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/versioned) and [`srv/versioned`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/versioned)).
- Older versions of messages are stored in nested `msg/px4_msgs_old/` subfolders ([`msg/px4_msgs_old/msg/`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/px4_msgs_old/msg) and [`msg/px4_msgs_old/srv/`](https://github.com/PX4/PX4-Autopilot/tree/main/msg/px4_msgs_old)).
The files are also renamed with a suffix to indicate their version number.
::: tip
+1 -1
View File
@@ -9,7 +9,7 @@ Source: [drivers/ins/microstrain](https://github.com/PX4/PX4-Autopilot/tree/main
MicroStrain by HBK Inertial Sensor Driver.
Currently supports the following sensors:
-[CV7-AR](https://www.hbkworld.com/en/products/transducers/inertial-sensors/vertical-reference-units--vru-/3dm-cv7-ar) -[CV7-AHRS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/attitude-and-heading-reference-systems--ahrs-/3dm-cv7-ahrs) -[CV7-INS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-ins) -[CV7-GNSS/INS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-gnss-ins)
-[CV7-AR](https://www.hbkworld.com/en/products/transducers/inertial-sensors/vertical-reference/3dm-cv7-ar) -[CV7-AHRS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/attitude-and-heading-reference-systems--ahrs-/3dm-cv7-ahrs) -[CV7-INS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-ins) -[CV7-GNSS/INS](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-gnss-ins)
This driver is not included in the firmware by default.
Include the module in firmware by setting the
+17 -17
View File
@@ -25,26 +25,26 @@ Request are published by `manual_control` and subscribed by the `commander` and
### ACTION {#ACTION}
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------- |
| <a href="#ACTION_DISARM"></a> ACTION_DISARM | `uint8` | 0 | Disarm vehicle |
| <a href="#ACTION_ARM"></a> ACTION_ARM | `uint8` | 1 | Arm vehicle |
| <a href="#ACTION_TOGGLE_ARMING"></a> ACTION_TOGGLE_ARMING | `uint8` | 2 | Toggle arming |
| <a href="#ACTION_UNKILL"></a> ACTION_UNKILL | `uint8` | 3 | Revert a kill action |
| <a href="#ACTION_KILL"></a> ACTION_KILL | `uint8` | 4 | Kill vehicle (instantly stop the motors) |
| <a href="#ACTION_SWITCH_MODE"></a> ACTION_SWITCH_MODE | `uint8` | 5 | Switch mode. The target mode is set in the `mode` field. |
| <a href="#ACTION_VTOL_TRANSITION_TO_MULTICOPTER"></a> ACTION_VTOL_TRANSITION_TO_MULTICOPTER | `uint8` | 6 | Transition to hover flight |
| <a href="#ACTION_VTOL_TRANSITION_TO_FIXEDWING"></a> ACTION_VTOL_TRANSITION_TO_FIXEDWING | `uint8` | 7 | Transition to fast forward flight |
| <a href="#ACTION_TERMINATION"></a> ACTION_TERMINATION | `uint8` | 8 | Irreversibly output failsafe values on all outputs, trigger parachute |
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------- |
| <a id="#ACTION_DISARM"></a> ACTION_DISARM | `uint8` | 0 | Disarm vehicle |
| <a id="#ACTION_ARM"></a> ACTION_ARM | `uint8` | 1 | Arm vehicle |
| <a id="#ACTION_TOGGLE_ARMING"></a> ACTION_TOGGLE_ARMING | `uint8` | 2 | Toggle arming |
| <a id="#ACTION_UNKILL"></a> ACTION_UNKILL | `uint8` | 3 | Revert a kill action |
| <a id="#ACTION_KILL"></a> ACTION_KILL | `uint8` | 4 | Kill vehicle (instantly stop the motors) |
| <a id="#ACTION_SWITCH_MODE"></a> ACTION_SWITCH_MODE | `uint8` | 5 | Switch mode. The target mode is set in the `mode` field. |
| <a id="#ACTION_VTOL_TRANSITION_TO_MULTICOPTER"></a> ACTION_VTOL_TRANSITION_TO_MULTICOPTER | `uint8` | 6 | Transition to hover flight |
| <a id="#ACTION_VTOL_TRANSITION_TO_FIXEDWING"></a> ACTION_VTOL_TRANSITION_TO_FIXEDWING | `uint8` | 7 | Transition to fast forward flight |
| <a id="#ACTION_TERMINATION"></a> ACTION_TERMINATION | `uint8` | 8 | Irreversibly output failsafe values on all outputs, trigger parachute |
### SOURCE {#SOURCE}
| Name | Type | Value | Description |
| --------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------- |
| <a href="#SOURCE_STICK_GESTURE"></a> SOURCE_STICK_GESTURE | `uint8` | 0 | Triggered by holding the sticks in a certain position |
| <a href="#SOURCE_RC_SWITCH"></a> SOURCE_RC_SWITCH | `uint8` | 1 | Triggered by an RC switch moving into a certain position |
| <a href="#SOURCE_RC_BUTTON"></a> SOURCE_RC_BUTTON | `uint8` | 2 | Triggered by a momentary button on the RC being pressed or held |
| <a href="#SOURCE_RC_MODE_SLOT"></a> SOURCE_RC_MODE_SLOT | `uint8` | 3 | Mode change through the RC mode selection mechanism |
| Name | Type | Value | Description |
| ------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------- |
| <a id="#SOURCE_STICK_GESTURE"></a> SOURCE_STICK_GESTURE | `uint8` | 0 | Triggered by holding the sticks in a certain position |
| <a id="#SOURCE_RC_SWITCH"></a> SOURCE_RC_SWITCH | `uint8` | 1 | Triggered by an RC switch moving into a certain position |
| <a id="#SOURCE_RC_BUTTON"></a> SOURCE_RC_BUTTON | `uint8` | 2 | Triggered by a momentary button on the RC being pressed or held |
| <a id="#SOURCE_RC_MODE_SLOT"></a> SOURCE_RC_MODE_SLOT | `uint8` | 3 | Mode change through the RC mode selection mechanism |
## Source Message
+8 -8
View File
@@ -30,14 +30,14 @@ Used by controllers, estimators and for airspeed reporting to operator.
### SOURCE {#SOURCE}
| Name | Type | Value | Description |
| ----------------------------------------------------------------- | ------ | ----- | ----------------------- |
| <a href="#SOURCE_DISABLED"></a> SOURCE_DISABLED | `int8` | -1 | Disabled |
| <a href="#SOURCE_GROUND_MINUS_WIND"></a> SOURCE_GROUND_MINUS_WIND | `int8` | 0 | Ground speed minus wind |
| <a href="#SOURCE_SENSOR_1"></a> SOURCE_SENSOR_1 | `int8` | 1 | Sensor 1 |
| <a href="#SOURCE_SENSOR_2"></a> SOURCE_SENSOR_2 | `int8` | 2 | Sensor 2 |
| <a href="#SOURCE_SENSOR_3"></a> SOURCE_SENSOR_3 | `int8` | 3 | Sensor 3 |
| <a href="#SOURCE_SYNTHETIC"></a> SOURCE_SYNTHETIC | `int8` | 4 | Synthetic airspeed |
| Name | Type | Value | Description |
| --------------------------------------------------------------- | ------ | ----- | ----------------------- |
| <a id="#SOURCE_DISABLED"></a> SOURCE_DISABLED | `int8` | -1 | Disabled |
| <a id="#SOURCE_GROUND_MINUS_WIND"></a> SOURCE_GROUND_MINUS_WIND | `int8` | 0 | Ground speed minus wind |
| <a id="#SOURCE_SENSOR_1"></a> SOURCE_SENSOR_1 | `int8` | 1 | Sensor 1 |
| <a id="#SOURCE_SENSOR_2"></a> SOURCE_SENSOR_2 | `int8` | 2 | Sensor 2 |
| <a id="#SOURCE_SENSOR_3"></a> SOURCE_SENSOR_3 | `int8` | 3 | Sensor 3 |
| <a id="#SOURCE_SYNTHETIC"></a> SOURCE_SYNTHETIC | `int8` | 4 | Synthetic airspeed |
## Constants
+3 -3
View File
@@ -45,9 +45,9 @@ The message is not used by internal/FMU components, as their mode requirements a
### HEALTH_COMPONENT_INDEX {#HEALTH_COMPONENT_INDEX}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------- |
| <a href="#HEALTH_COMPONENT_INDEX_NONE"></a> HEALTH_COMPONENT_INDEX_NONE | `uint8` | 0 | Index of health component for which this response applies |
| Name | Type | Value | Description |
| --------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------- |
| <a id="#HEALTH_COMPONENT_INDEX_NONE"></a> HEALTH_COMPONENT_INDEX_NONE | `uint8` | 0 | Index of health component for which this response applies |
## Constants
@@ -37,25 +37,25 @@ The rate_sp field is consumed by the controllers, while the remaining fields (mo
### STATE {#STATE}
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------- |
| <a href="#STATE_IDLE"></a> STATE_IDLE | `uint8` | 0 | Idle (not running) |
| <a href="#STATE_INIT"></a> STATE_INIT | `uint8` | 1 | Initialize filters and setup |
| <a href="#STATE_ROLL_AMPLITUDE_DETECTION"></a> STATE_ROLL_AMPLITUDE_DETECTION | `uint8` | 2 | FW only: determine required excitation amplitude (roll) |
| <a href="#STATE_ROLL"></a> STATE_ROLL | `uint8` | 3 | Roll-axis excitation and model identification |
| <a href="#STATE_ROLL_PAUSE"></a> STATE_ROLL_PAUSE | `uint8` | 4 | Pause to return to level flight |
| <a href="#STATE_PITCH_AMPLITUDE_DETECTION"></a> STATE_PITCH_AMPLITUDE_DETECTION | `uint8` | 5 | FW only: determine required excitation amplitude (pitch) |
| <a href="#STATE_PITCH"></a> STATE_PITCH | `uint8` | 6 | Pitch-axis excitation and model identification |
| <a href="#STATE_PITCH_PAUSE"></a> STATE_PITCH_PAUSE | `uint8` | 7 | Pause to return to level flight |
| <a href="#STATE_YAW_AMPLITUDE_DETECTION"></a> STATE_YAW_AMPLITUDE_DETECTION | `uint8` | 8 | FW only: determine required excitation amplitude (yaw) |
| <a href="#STATE_YAW"></a> STATE_YAW | `uint8` | 9 | Yaw-axis excitation and model identification |
| <a href="#STATE_YAW_PAUSE"></a> STATE_YAW_PAUSE | `uint8` | 10 | Pause to return to level flight |
| <a href="#STATE_VERIFICATION"></a> STATE_VERIFICATION | `uint8` | 11 | Verify model and candidate gains |
| <a href="#STATE_APPLY"></a> STATE_APPLY | `uint8` | 12 | Apply gains |
| <a href="#STATE_TEST"></a> STATE_TEST | `uint8` | 13 | Test gains in closed-loop |
| <a href="#STATE_COMPLETE"></a> STATE_COMPLETE | `uint8` | 14 | Tuning completed successfully |
| <a href="#STATE_FAIL"></a> STATE_FAIL | `uint8` | 15 | Tuning failed (model invalid or controller unstable) |
| <a href="#STATE_WAIT_FOR_DISARM"></a> STATE_WAIT_FOR_DISARM | `uint8` | 16 | Waiting for disarm before finalizing |
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------- |
| <a id="#STATE_IDLE"></a> STATE_IDLE | `uint8` | 0 | Idle (not running) |
| <a id="#STATE_INIT"></a> STATE_INIT | `uint8` | 1 | Initialize filters and setup |
| <a id="#STATE_ROLL_AMPLITUDE_DETECTION"></a> STATE_ROLL_AMPLITUDE_DETECTION | `uint8` | 2 | FW only: determine required excitation amplitude (roll) |
| <a id="#STATE_ROLL"></a> STATE_ROLL | `uint8` | 3 | Roll-axis excitation and model identification |
| <a id="#STATE_ROLL_PAUSE"></a> STATE_ROLL_PAUSE | `uint8` | 4 | Pause to return to level flight |
| <a id="#STATE_PITCH_AMPLITUDE_DETECTION"></a> STATE_PITCH_AMPLITUDE_DETECTION | `uint8` | 5 | FW only: determine required excitation amplitude (pitch) |
| <a id="#STATE_PITCH"></a> STATE_PITCH | `uint8` | 6 | Pitch-axis excitation and model identification |
| <a id="#STATE_PITCH_PAUSE"></a> STATE_PITCH_PAUSE | `uint8` | 7 | Pause to return to level flight |
| <a id="#STATE_YAW_AMPLITUDE_DETECTION"></a> STATE_YAW_AMPLITUDE_DETECTION | `uint8` | 8 | FW only: determine required excitation amplitude (yaw) |
| <a id="#STATE_YAW"></a> STATE_YAW | `uint8` | 9 | Yaw-axis excitation and model identification |
| <a id="#STATE_YAW_PAUSE"></a> STATE_YAW_PAUSE | `uint8` | 10 | Pause to return to level flight |
| <a id="#STATE_VERIFICATION"></a> STATE_VERIFICATION | `uint8` | 11 | Verify model and candidate gains |
| <a id="#STATE_APPLY"></a> STATE_APPLY | `uint8` | 12 | Apply gains |
| <a id="#STATE_TEST"></a> STATE_TEST | `uint8` | 13 | Test gains in closed-loop |
| <a id="#STATE_COMPLETE"></a> STATE_COMPLETE | `uint8` | 14 | Tuning completed successfully |
| <a id="#STATE_FAIL"></a> STATE_FAIL | `uint8` | 15 | Tuning failed (model invalid or controller unstable) |
| <a id="#STATE_WAIT_FOR_DISARM"></a> STATE_WAIT_FOR_DISARM | `uint8` | 16 | Waiting for disarm before finalizing |
## Source Message
+9 -9
View File
@@ -30,15 +30,15 @@ pseudolites, visual navigation, or other positioning system.
### SOURCE {#SOURCE}
| Name | Type | Value | Description |
| ----------------------------------------------------- | ------- | ----- | -------------- |
| <a href="#SOURCE_UNKNOWN"></a> SOURCE_UNKNOWN | `uint8` | 0 | Unknown source |
| <a href="#SOURCE_GNSS"></a> SOURCE_GNSS | `uint8` | 1 | GNSS |
| <a href="#SOURCE_VISION"></a> SOURCE_VISION | `uint8` | 2 | Vision |
| <a href="#SOURCE_PSEUDOLITES"></a> SOURCE_PSEUDOLITES | `uint8` | 3 | Pseudolites |
| <a href="#SOURCE_TERRAIN"></a> SOURCE_TERRAIN | `uint8` | 4 | Terrain |
| <a href="#SOURCE_MAGNETIC"></a> SOURCE_MAGNETIC | `uint8` | 5 | Magnetic |
| <a href="#SOURCE_ESTIMATOR"></a> SOURCE_ESTIMATOR | `uint8` | 6 | Estimator |
| Name | Type | Value | Description |
| --------------------------------------------------- | ------- | ----- | -------------- |
| <a id="#SOURCE_UNKNOWN"></a> SOURCE_UNKNOWN | `uint8` | 0 | Unknown source |
| <a id="#SOURCE_GNSS"></a> SOURCE_GNSS | `uint8` | 1 | GNSS |
| <a id="#SOURCE_VISION"></a> SOURCE_VISION | `uint8` | 2 | Vision |
| <a id="#SOURCE_PSEUDOLITES"></a> SOURCE_PSEUDOLITES | `uint8` | 3 | Pseudolites |
| <a id="#SOURCE_TERRAIN"></a> SOURCE_TERRAIN | `uint8` | 4 | Terrain |
| <a id="#SOURCE_MAGNETIC"></a> SOURCE_MAGNETIC | `uint8` | 5 | Magnetic |
| <a id="#SOURCE_ESTIMATOR"></a> SOURCE_ESTIMATOR | `uint8` | 6 | Estimator |
## Constants
+30 -30
View File
@@ -59,45 +59,45 @@ Battery instance information is also logged and streamed in MAVLink telemetry.
### SOURCE {#SOURCE}
| Name | Type | Value | Description |
| ------------------------------------------------------- | ------- | ----- | ---------------------------------------------- |
| <a href="#SOURCE_POWER_MODULE"></a> SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) |
| <a href="#SOURCE_EXTERNAL"></a> SOURCE_EXTERNAL | `uint8` | 1 | External (MAVLink, CAN, or external driver) |
| <a href="#SOURCE_ESCS"></a> SOURCE_ESCS | `uint8` | 2 | ESCs (via ESC telemetry) |
| Name | Type | Value | Description |
| ----------------------------------------------------- | ------- | ----- | ---------------------------------------------- |
| <a id="#SOURCE_POWER_MODULE"></a> SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) |
| <a id="#SOURCE_EXTERNAL"></a> SOURCE_EXTERNAL | `uint8` | 1 | External (MAVLink, CAN, or external driver) |
| <a id="#SOURCE_ESCS"></a> SOURCE_ESCS | `uint8` | 2 | ESCs (via ESC telemetry) |
### WARNING {#WARNING}
| Name | Type | Value | Description |
| --------------------------------------------------- | ------- | ----- | -------------------------------------------- |
| <a href="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
| <a href="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
| <a href="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
| <a href="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
| <a href="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
| Name | Type | Value | Description |
| ------------------------------------------------- | ------- | ----- | -------------------------------------------- |
| <a id="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
| <a id="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
| <a id="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
| <a id="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
| <a id="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
### STATE {#STATE}
| Name | Type | Value | Description |
| ----------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a href="#STATE_UNHEALTHY"></a> STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
| <a href="#STATE_CHARGING"></a> STATE_CHARGING | `uint8` | 7 | Battery is charging |
| Name | Type | Value | Description |
| --------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="#STATE_UNHEALTHY"></a> STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
| <a id="#STATE_CHARGING"></a> STATE_CHARGING | `uint8` | 7 | Battery is charging |
### FAULT {#FAULT}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------------------------------------------------------------- |
| <a href="#FAULT_DEEP_DISCHARGE"></a> FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged |
| <a href="#FAULT_SPIKES"></a> FAULT_SPIKES | `uint8` | 1 | Voltage spikes |
| <a href="#FAULT_CELL_FAIL"></a> FAULT_CELL_FAIL | `uint8` | 2 | One or more cells have failed |
| <a href="#FAULT_OVER_CURRENT"></a> FAULT_OVER_CURRENT | `uint8` | 3 | Over-current |
| <a href="#FAULT_OVER_TEMPERATURE"></a> FAULT_OVER_TEMPERATURE | `uint8` | 4 | Over-temperature |
| <a href="#FAULT_UNDER_TEMPERATURE"></a> FAULT_UNDER_TEMPERATURE | `uint8` | 5 | Under-temperature fault |
| <a href="#FAULT_INCOMPATIBLE_VOLTAGE"></a> FAULT_INCOMPATIBLE_VOLTAGE | `uint8` | 6 | Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage) |
| <a href="#FAULT_INCOMPATIBLE_FIRMWARE"></a> FAULT_INCOMPATIBLE_FIRMWARE | `uint8` | 7 | Battery firmware is not compatible with current autopilot firmware |
| <a href="#FAULT_INCOMPATIBLE_MODEL"></a> FAULT_INCOMPATIBLE_MODEL | `uint8` | 8 | Battery model is not supported by the system |
| <a href="#FAULT_HARDWARE_FAILURE"></a> FAULT_HARDWARE_FAILURE | `uint8` | 9 | Hardware problem |
| <a href="#FAULT_FAILED_TO_ARM"></a> FAULT_FAILED_TO_ARM | `uint8` | 10 | Battery had a problem while arming |
| <a href="#FAULT_COUNT"></a> FAULT_COUNT | `uint8` | 11 | Counter. Keep this as last element |
| Name | Type | Value | Description |
| --------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------------------------------------------------------------- |
| <a id="#FAULT_DEEP_DISCHARGE"></a> FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged |
| <a id="#FAULT_SPIKES"></a> FAULT_SPIKES | `uint8` | 1 | Voltage spikes |
| <a id="#FAULT_CELL_FAIL"></a> FAULT_CELL_FAIL | `uint8` | 2 | One or more cells have failed |
| <a id="#FAULT_OVER_CURRENT"></a> FAULT_OVER_CURRENT | `uint8` | 3 | Over-current |
| <a id="#FAULT_OVER_TEMPERATURE"></a> FAULT_OVER_TEMPERATURE | `uint8` | 4 | Over-temperature |
| <a id="#FAULT_UNDER_TEMPERATURE"></a> FAULT_UNDER_TEMPERATURE | `uint8` | 5 | Under-temperature fault |
| <a id="#FAULT_INCOMPATIBLE_VOLTAGE"></a> FAULT_INCOMPATIBLE_VOLTAGE | `uint8` | 6 | Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage) |
| <a id="#FAULT_INCOMPATIBLE_FIRMWARE"></a> FAULT_INCOMPATIBLE_FIRMWARE | `uint8` | 7 | Battery firmware is not compatible with current autopilot firmware |
| <a id="#FAULT_INCOMPATIBLE_MODEL"></a> FAULT_INCOMPATIBLE_MODEL | `uint8` | 8 | Battery model is not supported by the system |
| <a id="#FAULT_HARDWARE_FAILURE"></a> FAULT_HARDWARE_FAILURE | `uint8` | 9 | Hardware problem |
| <a id="#FAULT_FAILED_TO_ARM"></a> FAULT_FAILED_TO_ARM | `uint8` | 10 | Battery had a problem while arming |
| <a id="#FAULT_COUNT"></a> FAULT_COUNT | `uint8` | 11 | Counter. Keep this as last element |
## Constants
+30 -30
View File
@@ -60,45 +60,45 @@ Battery instance information is also logged and streamed in MAVLink telemetry.
### SOURCE {#SOURCE}
| Name | Type | Value | Description |
| ------------------------------------------------------- | ------- | ----- | ---------------------------------------------- |
| <a href="#SOURCE_POWER_MODULE"></a> SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) |
| <a href="#SOURCE_EXTERNAL"></a> SOURCE_EXTERNAL | `uint8` | 1 | External (MAVLink, CAN, or external driver) |
| <a href="#SOURCE_ESCS"></a> SOURCE_ESCS | `uint8` | 2 | ESCs (via ESC telemetry) |
| Name | Type | Value | Description |
| ----------------------------------------------------- | ------- | ----- | ---------------------------------------------- |
| <a id="#SOURCE_POWER_MODULE"></a> SOURCE_POWER_MODULE | `uint8` | 0 | Power module (analog ADC or I2C power monitor) |
| <a id="#SOURCE_EXTERNAL"></a> SOURCE_EXTERNAL | `uint8` | 1 | External (MAVLink, CAN, or external driver) |
| <a id="#SOURCE_ESCS"></a> SOURCE_ESCS | `uint8` | 2 | ESCs (via ESC telemetry) |
### WARNING {#WARNING}
| Name | Type | Value | Description |
| --------------------------------------------------- | ------- | ----- | -------------------------------------------- |
| <a href="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
| <a href="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
| <a href="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
| <a href="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
| <a href="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
| Name | Type | Value | Description |
| ------------------------------------------------- | ------- | ----- | -------------------------------------------- |
| <a id="#WARNING_NONE"></a> WARNING_NONE | `uint8` | 0 | No battery low voltage warning active |
| <a id="#WARNING_LOW"></a> WARNING_LOW | `uint8` | 1 | Low voltage warning |
| <a id="#WARNING_CRITICAL"></a> WARNING_CRITICAL | `uint8` | 2 | Critical voltage, return / abort immediately |
| <a id="#WARNING_EMERGENCY"></a> WARNING_EMERGENCY | `uint8` | 3 | Immediate landing required |
| <a id="#WARNING_FAILED"></a> WARNING_FAILED | `uint8` | 4 | Battery has failed completely |
### STATE {#STATE}
| Name | Type | Value | Description |
| ----------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a href="#STATE_UNHEALTHY"></a> STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
| <a href="#STATE_CHARGING"></a> STATE_CHARGING | `uint8` | 7 | Battery is charging |
| Name | Type | Value | Description |
| --------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="#STATE_UNHEALTHY"></a> STATE_UNHEALTHY | `uint8` | 6 | Battery is diagnosed to be defective or an error occurred, usage is discouraged / prohibited. Possible causes (faults) are listed in faults field |
| <a id="#STATE_CHARGING"></a> STATE_CHARGING | `uint8` | 7 | Battery is charging |
### FAULT {#FAULT}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------------------------------------------------------------- |
| <a href="#FAULT_DEEP_DISCHARGE"></a> FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged |
| <a href="#FAULT_SPIKES"></a> FAULT_SPIKES | `uint8` | 1 | Voltage spikes |
| <a href="#FAULT_CELL_FAIL"></a> FAULT_CELL_FAIL | `uint8` | 2 | One or more cells have failed |
| <a href="#FAULT_OVER_CURRENT"></a> FAULT_OVER_CURRENT | `uint8` | 3 | Over-current |
| <a href="#FAULT_OVER_TEMPERATURE"></a> FAULT_OVER_TEMPERATURE | `uint8` | 4 | Over-temperature |
| <a href="#FAULT_UNDER_TEMPERATURE"></a> FAULT_UNDER_TEMPERATURE | `uint8` | 5 | Under-temperature fault |
| <a href="#FAULT_INCOMPATIBLE_VOLTAGE"></a> FAULT_INCOMPATIBLE_VOLTAGE | `uint8` | 6 | Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage) |
| <a href="#FAULT_INCOMPATIBLE_FIRMWARE"></a> FAULT_INCOMPATIBLE_FIRMWARE | `uint8` | 7 | Battery firmware is not compatible with current autopilot firmware |
| <a href="#FAULT_INCOMPATIBLE_MODEL"></a> FAULT_INCOMPATIBLE_MODEL | `uint8` | 8 | Battery model is not supported by the system |
| <a href="#FAULT_HARDWARE_FAILURE"></a> FAULT_HARDWARE_FAILURE | `uint8` | 9 | Hardware problem |
| <a href="#FAULT_FAILED_TO_ARM"></a> FAULT_FAILED_TO_ARM | `uint8` | 10 | Battery had a problem while arming |
| <a href="#FAULT_COUNT"></a> FAULT_COUNT | `uint8` | 11 | Counter. Keep this as last element |
| Name | Type | Value | Description |
| --------------------------------------------------------------------- | ------- | ----- | -------------------------------------------------------------------------------------------------------------- |
| <a id="#FAULT_DEEP_DISCHARGE"></a> FAULT_DEEP_DISCHARGE | `uint8` | 0 | Battery has deep discharged |
| <a id="#FAULT_SPIKES"></a> FAULT_SPIKES | `uint8` | 1 | Voltage spikes |
| <a id="#FAULT_CELL_FAIL"></a> FAULT_CELL_FAIL | `uint8` | 2 | One or more cells have failed |
| <a id="#FAULT_OVER_CURRENT"></a> FAULT_OVER_CURRENT | `uint8` | 3 | Over-current |
| <a id="#FAULT_OVER_TEMPERATURE"></a> FAULT_OVER_TEMPERATURE | `uint8` | 4 | Over-temperature |
| <a id="#FAULT_UNDER_TEMPERATURE"></a> FAULT_UNDER_TEMPERATURE | `uint8` | 5 | Under-temperature fault |
| <a id="#FAULT_INCOMPATIBLE_VOLTAGE"></a> FAULT_INCOMPATIBLE_VOLTAGE | `uint8` | 6 | Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage) |
| <a id="#FAULT_INCOMPATIBLE_FIRMWARE"></a> FAULT_INCOMPATIBLE_FIRMWARE | `uint8` | 7 | Battery firmware is not compatible with current autopilot firmware |
| <a id="#FAULT_INCOMPATIBLE_MODEL"></a> FAULT_INCOMPATIBLE_MODEL | `uint8` | 8 | Battery model is not supported by the system |
| <a id="#FAULT_HARDWARE_FAILURE"></a> FAULT_HARDWARE_FAILURE | `uint8` | 9 | Hardware problem |
| <a id="#FAULT_FAILED_TO_ARM"></a> FAULT_FAILED_TO_ARM | `uint8` | 10 | Battery had a problem while arming |
| <a id="#FAULT_COUNT"></a> FAULT_COUNT | `uint8` | 11 | Counter. Keep this as last element |
## Constants
+28 -28
View File
@@ -27,40 +27,40 @@ This is currently used only for logging cell status from MAVLink.
### STATUS_FLAG {#STATUS_FLAG}
| Name | Type | Value | Description |
| ------------------------------------------------------------------- | -------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a href="#STATUS_FLAG_UNKNOWN"></a> STATUS_FLAG_UNKNOWN | `uint16` | 1 | State unknown or not reportable |
| <a href="#STATUS_FLAG_FAILED"></a> STATUS_FLAG_FAILED | `uint16` | 2 | Modem is unusable |
| <a href="#STATUS_FLAG_INITIALIZING"></a> STATUS_FLAG_INITIALIZING | `uint16` | 4 | Modem is being initialized |
| <a href="#STATUS_FLAG_LOCKED"></a> STATUS_FLAG_LOCKED | `uint16` | 8 | Modem is locked |
| <a href="#STATUS_FLAG_DISABLED"></a> STATUS_FLAG_DISABLED | `uint16` | 16 | Modem is not enabled and is powered down |
| <a href="#STATUS_FLAG_DISABLING"></a> STATUS_FLAG_DISABLING | `uint16` | 32 | Modem is currently transitioning to the STATUS_FLAG_DISABLED state |
| <a href="#STATUS_FLAG_ENABLING"></a> STATUS_FLAG_ENABLING | `uint16` | 64 | Modem is currently transitioning to the STATUS_FLAG_ENABLED state |
| <a href="#STATUS_FLAG_ENABLED"></a> STATUS_FLAG_ENABLED | `uint16` | 128 | Modem is enabled and powered on but not registered with a network provider and not available for data connections |
| <a href="#STATUS_FLAG_SEARCHING"></a> STATUS_FLAG_SEARCHING | `uint16` | 256 | Modem is searching for a network provider to register |
| <a href="#STATUS_FLAG_REGISTERED"></a> STATUS_FLAG_REGISTERED | `uint16` | 512 | Modem is registered with a network provider, and data connections and messaging may be available for use |
| <a href="#STATUS_FLAG_DISCONNECTING"></a> STATUS_FLAG_DISCONNECTING | `uint16` | 1024 | Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated |
| <a href="#STATUS_FLAG_CONNECTING"></a> STATUS_FLAG_CONNECTING | `uint16` | 2048 | Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered |
| <a href="#STATUS_FLAG_CONNECTED"></a> STATUS_FLAG_CONNECTED | `uint16` | 4096 | One or more packet data bearers is active and connected |
| Name | Type | Value | Description |
| ----------------------------------------------------------------- | -------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="#STATUS_FLAG_UNKNOWN"></a> STATUS_FLAG_UNKNOWN | `uint16` | 1 | State unknown or not reportable |
| <a id="#STATUS_FLAG_FAILED"></a> STATUS_FLAG_FAILED | `uint16` | 2 | Modem is unusable |
| <a id="#STATUS_FLAG_INITIALIZING"></a> STATUS_FLAG_INITIALIZING | `uint16` | 4 | Modem is being initialized |
| <a id="#STATUS_FLAG_LOCKED"></a> STATUS_FLAG_LOCKED | `uint16` | 8 | Modem is locked |
| <a id="#STATUS_FLAG_DISABLED"></a> STATUS_FLAG_DISABLED | `uint16` | 16 | Modem is not enabled and is powered down |
| <a id="#STATUS_FLAG_DISABLING"></a> STATUS_FLAG_DISABLING | `uint16` | 32 | Modem is currently transitioning to the STATUS_FLAG_DISABLED state |
| <a id="#STATUS_FLAG_ENABLING"></a> STATUS_FLAG_ENABLING | `uint16` | 64 | Modem is currently transitioning to the STATUS_FLAG_ENABLED state |
| <a id="#STATUS_FLAG_ENABLED"></a> STATUS_FLAG_ENABLED | `uint16` | 128 | Modem is enabled and powered on but not registered with a network provider and not available for data connections |
| <a id="#STATUS_FLAG_SEARCHING"></a> STATUS_FLAG_SEARCHING | `uint16` | 256 | Modem is searching for a network provider to register |
| <a id="#STATUS_FLAG_REGISTERED"></a> STATUS_FLAG_REGISTERED | `uint16` | 512 | Modem is registered with a network provider, and data connections and messaging may be available for use |
| <a id="#STATUS_FLAG_DISCONNECTING"></a> STATUS_FLAG_DISCONNECTING | `uint16` | 1024 | Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated |
| <a id="#STATUS_FLAG_CONNECTING"></a> STATUS_FLAG_CONNECTING | `uint16` | 2048 | Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered |
| <a id="#STATUS_FLAG_CONNECTED"></a> STATUS_FLAG_CONNECTED | `uint16` | 4096 | One or more packet data bearers is active and connected |
### FAILURE_REASON {#FAILURE_REASON}
| Name | Type | Value | Description |
| --------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------- |
| <a href="#FAILURE_REASON_NONE"></a> FAILURE_REASON_NONE | `uint8` | 0 | No error |
| <a href="#FAILURE_REASON_UNKNOWN"></a> FAILURE_REASON_UNKNOWN | `uint8` | 1 | Error state is unknown |
| <a href="#FAILURE_REASON_SIM_MISSING"></a> FAILURE_REASON_SIM_MISSING | `uint8` | 2 | SIM is required for the modem but missing |
| <a href="#FAILURE_REASON_SIM_ERROR"></a> FAILURE_REASON_SIM_ERROR | `uint8` | 3 | SIM is available, but not usable for connection |
| Name | Type | Value | Description |
| ------------------------------------------------------------------- | ------- | ----- | ----------------------------------------------- |
| <a id="#FAILURE_REASON_NONE"></a> FAILURE_REASON_NONE | `uint8` | 0 | No error |
| <a id="#FAILURE_REASON_UNKNOWN"></a> FAILURE_REASON_UNKNOWN | `uint8` | 1 | Error state is unknown |
| <a id="#FAILURE_REASON_SIM_MISSING"></a> FAILURE_REASON_SIM_MISSING | `uint8` | 2 | SIM is required for the modem but missing |
| <a id="#FAILURE_REASON_SIM_ERROR"></a> FAILURE_REASON_SIM_ERROR | `uint8` | 3 | SIM is available, but not usable for connection |
### CELLULAR_NETWORK_RADIO_TYPE {#CELLULAR_NETWORK_RADIO_TYPE}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------------- | ------- | ----- | ----------- |
| <a href="#CELLULAR_NETWORK_RADIO_TYPE_NONE"></a> CELLULAR_NETWORK_RADIO_TYPE_NONE | `uint8` | 0 | None |
| <a href="#CELLULAR_NETWORK_RADIO_TYPE_GSM"></a> CELLULAR_NETWORK_RADIO_TYPE_GSM | `uint8` | 1 | GSM |
| <a href="#CELLULAR_NETWORK_RADIO_TYPE_CDMA"></a> CELLULAR_NETWORK_RADIO_TYPE_CDMA | `uint8` | 2 | CDMA |
| <a href="#CELLULAR_NETWORK_RADIO_TYPE_WCDMA"></a> CELLULAR_NETWORK_RADIO_TYPE_WCDMA | `uint8` | 3 | WCDMA |
| <a href="#CELLULAR_NETWORK_RADIO_TYPE_LTE"></a> CELLULAR_NETWORK_RADIO_TYPE_LTE | `uint8` | 4 | LTE |
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------- | ------- | ----- | ----------- |
| <a id="#CELLULAR_NETWORK_RADIO_TYPE_NONE"></a> CELLULAR_NETWORK_RADIO_TYPE_NONE | `uint8` | 0 | None |
| <a id="#CELLULAR_NETWORK_RADIO_TYPE_GSM"></a> CELLULAR_NETWORK_RADIO_TYPE_GSM | `uint8` | 1 | GSM |
| <a id="#CELLULAR_NETWORK_RADIO_TYPE_CDMA"></a> CELLULAR_NETWORK_RADIO_TYPE_CDMA | `uint8` | 2 | CDMA |
| <a id="#CELLULAR_NETWORK_RADIO_TYPE_WCDMA"></a> CELLULAR_NETWORK_RADIO_TYPE_WCDMA | `uint8` | 3 | WCDMA |
| <a id="#CELLULAR_NETWORK_RADIO_TYPE_LTE"></a> CELLULAR_NETWORK_RADIO_TYPE_LTE | `uint8` | 4 | LTE |
## Source Message
+18 -18
View File
@@ -27,24 +27,24 @@ as well as tracking of the used firmware versions on the devices.
### DEVICE_TYPE {#DEVICE_TYPE}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------------- | ------- | ----- | ---------------------- |
| <a href="#DEVICE_TYPE_GENERIC"></a> DEVICE_TYPE_GENERIC | `uint8` | 0 | Generic/unknown sensor |
| <a href="#DEVICE_TYPE_AIRSPEED"></a> DEVICE_TYPE_AIRSPEED | `uint8` | 1 | Airspeed sensor |
| <a href="#DEVICE_TYPE_ESC"></a> DEVICE_TYPE_ESC | `uint8` | 2 | ESC |
| <a href="#DEVICE_TYPE_SERVO"></a> DEVICE_TYPE_SERVO | `uint8` | 3 | Servo |
| <a href="#DEVICE_TYPE_GPS"></a> DEVICE_TYPE_GPS | `uint8` | 4 | GPS |
| <a href="#DEVICE_TYPE_MAGNETOMETER"></a> DEVICE_TYPE_MAGNETOMETER | `uint8` | 5 | Magnetometer |
| <a href="#DEVICE_TYPE_PARACHUTE"></a> DEVICE_TYPE_PARACHUTE | `uint8` | 6 | Parachute |
| <a href="#DEVICE_TYPE_RANGEFINDER"></a> DEVICE_TYPE_RANGEFINDER | `uint8` | 7 | Rangefinder |
| <a href="#DEVICE_TYPE_WINCH"></a> DEVICE_TYPE_WINCH | `uint8` | 8 | Winch |
| <a href="#DEVICE_TYPE_BAROMETER"></a> DEVICE_TYPE_BAROMETER | `uint8` | 9 | Barometer |
| <a href="#DEVICE_TYPE_OPTICAL_FLOW"></a> DEVICE_TYPE_OPTICAL_FLOW | `uint8` | 10 | Optical flow |
| <a href="#DEVICE_TYPE_ACCELEROMETER"></a> DEVICE_TYPE_ACCELEROMETER | `uint8` | 11 | Accelerometer |
| <a href="#DEVICE_TYPE_GYROSCOPE"></a> DEVICE_TYPE_GYROSCOPE | `uint8` | 12 | Gyroscope |
| <a href="#DEVICE_TYPE_DIFFERENTIAL_PRESSURE"></a> DEVICE_TYPE_DIFFERENTIAL_PRESSURE | `uint8` | 13 | Differential pressure |
| <a href="#DEVICE_TYPE_BATTERY"></a> DEVICE_TYPE_BATTERY | `uint8` | 14 | Battery |
| <a href="#DEVICE_TYPE_HYGROMETER"></a> DEVICE_TYPE_HYGROMETER | `uint8` | 15 | Hygrometer |
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------- | ------- | ----- | ---------------------- |
| <a id="#DEVICE_TYPE_GENERIC"></a> DEVICE_TYPE_GENERIC | `uint8` | 0 | Generic/unknown sensor |
| <a id="#DEVICE_TYPE_AIRSPEED"></a> DEVICE_TYPE_AIRSPEED | `uint8` | 1 | Airspeed sensor |
| <a id="#DEVICE_TYPE_ESC"></a> DEVICE_TYPE_ESC | `uint8` | 2 | ESC |
| <a id="#DEVICE_TYPE_SERVO"></a> DEVICE_TYPE_SERVO | `uint8` | 3 | Servo |
| <a id="#DEVICE_TYPE_GPS"></a> DEVICE_TYPE_GPS | `uint8` | 4 | GPS |
| <a id="#DEVICE_TYPE_MAGNETOMETER"></a> DEVICE_TYPE_MAGNETOMETER | `uint8` | 5 | Magnetometer |
| <a id="#DEVICE_TYPE_PARACHUTE"></a> DEVICE_TYPE_PARACHUTE | `uint8` | 6 | Parachute |
| <a id="#DEVICE_TYPE_RANGEFINDER"></a> DEVICE_TYPE_RANGEFINDER | `uint8` | 7 | Rangefinder |
| <a id="#DEVICE_TYPE_WINCH"></a> DEVICE_TYPE_WINCH | `uint8` | 8 | Winch |
| <a id="#DEVICE_TYPE_BAROMETER"></a> DEVICE_TYPE_BAROMETER | `uint8` | 9 | Barometer |
| <a id="#DEVICE_TYPE_OPTICAL_FLOW"></a> DEVICE_TYPE_OPTICAL_FLOW | `uint8` | 10 | Optical flow |
| <a id="#DEVICE_TYPE_ACCELEROMETER"></a> DEVICE_TYPE_ACCELEROMETER | `uint8` | 11 | Accelerometer |
| <a id="#DEVICE_TYPE_GYROSCOPE"></a> DEVICE_TYPE_GYROSCOPE | `uint8` | 12 | Gyroscope |
| <a id="#DEVICE_TYPE_DIFFERENTIAL_PRESSURE"></a> DEVICE_TYPE_DIFFERENTIAL_PRESSURE | `uint8` | 13 | Differential pressure |
| <a id="#DEVICE_TYPE_BATTERY"></a> DEVICE_TYPE_BATTERY | `uint8` | 14 | Battery |
| <a id="#DEVICE_TYPE_HYGROMETER"></a> DEVICE_TYPE_HYGROMETER | `uint8` | 15 | Hygrometer |
## Source Message
+22 -22
View File
@@ -1490,34 +1490,34 @@ Change mode by specifying nav_state directly.
### ORBIT_YAW_BEHAVIOUR {#ORBIT_YAW_BEHAVIOUR}
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----------- |
| <a href="#ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER"></a> ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER | `uint8` | 0 |
| <a href="#ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING"></a> ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING | `uint8` | 1 |
| <a href="#ORBIT_YAW_BEHAVIOUR_UNCONTROLLED"></a> ORBIT_YAW_BEHAVIOUR_UNCONTROLLED | `uint8` | 2 |
| <a href="#ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE"></a> ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE | `uint8` | 3 |
| <a href="#ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED"></a> ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED | `uint8` | 4 |
| <a href="#ORBIT_YAW_BEHAVIOUR_UNCHANGED"></a> ORBIT_YAW_BEHAVIOUR_UNCHANGED | `uint8` | 5 |
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------------------------------------- | ------- | ----- | ----------- |
| <a id="#ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER"></a> ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TO_CIRCLE_CENTER | `uint8` | 0 |
| <a id="#ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING"></a> ORBIT_YAW_BEHAVIOUR_HOLD_INITIAL_HEADING | `uint8` | 1 |
| <a id="#ORBIT_YAW_BEHAVIOUR_UNCONTROLLED"></a> ORBIT_YAW_BEHAVIOUR_UNCONTROLLED | `uint8` | 2 |
| <a id="#ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE"></a> ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE | `uint8` | 3 |
| <a id="#ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED"></a> ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED | `uint8` | 4 |
| <a id="#ORBIT_YAW_BEHAVIOUR_UNCHANGED"></a> ORBIT_YAW_BEHAVIOUR_UNCHANGED | `uint8` | 5 |
### VEHICLE_ROI {#VEHICLE_ROI}
| Name | Type | Value | Description |
| --------------------------------------------------------- | ------- | ----- | ---------------------------- |
| <a href="#VEHICLE_ROI_NONE"></a> VEHICLE_ROI_NONE | `uint8` | 0 | No region of interest. |
| <a href="#VEHICLE_ROI_WPNEXT"></a> VEHICLE_ROI_WPNEXT | `uint8` | 1 | Point toward next MISSION. |
| <a href="#VEHICLE_ROI_WPINDEX"></a> VEHICLE_ROI_WPINDEX | `uint8` | 2 | Point toward given MISSION. |
| <a href="#VEHICLE_ROI_LOCATION"></a> VEHICLE_ROI_LOCATION | `uint8` | 3 | Point toward fixed location. |
| <a href="#VEHICLE_ROI_TARGET"></a> VEHICLE_ROI_TARGET | `uint8` | 4 | Point toward target. |
| <a href="#VEHICLE_ROI_ENUM_END"></a> VEHICLE_ROI_ENUM_END | `uint8` | 5 |
| Name | Type | Value | Description |
| ------------------------------------------------------- | ------- | ----- | ---------------------------- |
| <a id="#VEHICLE_ROI_NONE"></a> VEHICLE_ROI_NONE | `uint8` | 0 | No region of interest. |
| <a id="#VEHICLE_ROI_WPNEXT"></a> VEHICLE_ROI_WPNEXT | `uint8` | 1 | Point toward next MISSION. |
| <a id="#VEHICLE_ROI_WPINDEX"></a> VEHICLE_ROI_WPINDEX | `uint8` | 2 | Point toward given MISSION. |
| <a id="#VEHICLE_ROI_LOCATION"></a> VEHICLE_ROI_LOCATION | `uint8` | 3 | Point toward fixed location. |
| <a id="#VEHICLE_ROI_TARGET"></a> VEHICLE_ROI_TARGET | `uint8` | 4 | Point toward target. |
| <a id="#VEHICLE_ROI_ENUM_END"></a> VEHICLE_ROI_ENUM_END | `uint8` | 5 |
### SPEED_TYPE {#SPEED_TYPE}
| Name | Type | Value | Description |
| ----------------------------------------------------------------- | ------- | ----- | ----------- |
| <a href="#SPEED_TYPE_AIRSPEED"></a> SPEED_TYPE_AIRSPEED | `uint8` | 0 |
| <a href="#SPEED_TYPE_GROUNDSPEED"></a> SPEED_TYPE_GROUNDSPEED | `uint8` | 1 |
| <a href="#SPEED_TYPE_CLIMB_SPEED"></a> SPEED_TYPE_CLIMB_SPEED | `uint8` | 2 |
| <a href="#SPEED_TYPE_DESCEND_SPEED"></a> SPEED_TYPE_DESCEND_SPEED | `uint8` | 3 |
| Name | Type | Value | Description |
| --------------------------------------------------------------- | ------- | ----- | ----------- |
| <a id="#SPEED_TYPE_AIRSPEED"></a> SPEED_TYPE_AIRSPEED | `uint8` | 0 |
| <a id="#SPEED_TYPE_GROUNDSPEED"></a> SPEED_TYPE_GROUNDSPEED | `uint8` | 1 |
| <a id="#SPEED_TYPE_CLIMB_SPEED"></a> SPEED_TYPE_CLIMB_SPEED | `uint8` | 2 |
| <a id="#SPEED_TYPE_DESCEND_SPEED"></a> SPEED_TYPE_DESCEND_SPEED | `uint8` | 3 |
### MAV_MOUNT_MODE {#MAV_MOUNT_MODE}
+12 -12
View File
@@ -28,18 +28,18 @@ Follows the MAVLink COMMAND_ACK message definition
### VEHICLE_CMD_RESULT {#VEHICLE_CMD_RESULT}
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------------------------- | ------- | ----- | ---------------------------------------------------- |
| <a href="#VEHICLE_CMD_RESULT_ACCEPTED"></a> VEHICLE_CMD_RESULT_ACCEPTED | `uint8` | 0 | Command ACCEPTED and EXECUTED |
| <a href="#VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED"></a> VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED | `uint8` | 1 | Command TEMPORARY REJECTED/DENIED |
| <a href="#VEHICLE_CMD_RESULT_DENIED"></a> VEHICLE_CMD_RESULT_DENIED | `uint8` | 2 | Command PERMANENTLY DENIED |
| <a href="#VEHICLE_CMD_RESULT_UNSUPPORTED"></a> VEHICLE_CMD_RESULT_UNSUPPORTED | `uint8` | 3 | Command UNKNOWN/UNSUPPORTED |
| <a href="#VEHICLE_CMD_RESULT_FAILED"></a> VEHICLE_CMD_RESULT_FAILED | `uint8` | 4 | Command executed, but failed |
| <a href="#VEHICLE_CMD_RESULT_IN_PROGRESS"></a> VEHICLE_CMD_RESULT_IN_PROGRESS | `uint8` | 5 | Command being executed |
| <a href="#VEHICLE_CMD_RESULT_CANCELLED"></a> VEHICLE_CMD_RESULT_CANCELLED | `uint8` | 6 | Command Canceled |
| <a href="#VEHICLE_CMD_RESULT_COMMAND_LONG_ONLY"></a> VEHICLE_CMD_RESULT_COMMAND_LONG_ONLY | `uint8` | 7 | Command is only accepted when sent as a COMMAND_LONG |
| <a href="#VEHICLE_CMD_RESULT_COMMAND_INT_ONLY"></a> VEHICLE_CMD_RESULT_COMMAND_INT_ONLY | `uint8` | 8 | Command is only accepted when sent as a COMMAND_INT |
| <a href="#VEHICLE_CMD_RESULT_UNSUPPORTED_MAV_FRAME"></a> VEHICLE_CMD_RESULT_UNSUPPORTED_MAV_FRAME | `uint8` | 9 | Command does not support specified frame |
| Name | Type | Value | Description |
| ----------------------------------------------------------------------------------------------- | ------- | ----- | ---------------------------------------------------- |
| <a id="#VEHICLE_CMD_RESULT_ACCEPTED"></a> VEHICLE_CMD_RESULT_ACCEPTED | `uint8` | 0 | Command ACCEPTED and EXECUTED |
| <a id="#VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED"></a> VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED | `uint8` | 1 | Command TEMPORARY REJECTED/DENIED |
| <a id="#VEHICLE_CMD_RESULT_DENIED"></a> VEHICLE_CMD_RESULT_DENIED | `uint8` | 2 | Command PERMANENTLY DENIED |
| <a id="#VEHICLE_CMD_RESULT_UNSUPPORTED"></a> VEHICLE_CMD_RESULT_UNSUPPORTED | `uint8` | 3 | Command UNKNOWN/UNSUPPORTED |
| <a id="#VEHICLE_CMD_RESULT_FAILED"></a> VEHICLE_CMD_RESULT_FAILED | `uint8` | 4 | Command executed, but failed |
| <a id="#VEHICLE_CMD_RESULT_IN_PROGRESS"></a> VEHICLE_CMD_RESULT_IN_PROGRESS | `uint8` | 5 | Command being executed |
| <a id="#VEHICLE_CMD_RESULT_CANCELLED"></a> VEHICLE_CMD_RESULT_CANCELLED | `uint8` | 6 | Command Canceled |
| <a id="#VEHICLE_CMD_RESULT_COMMAND_LONG_ONLY"></a> VEHICLE_CMD_RESULT_COMMAND_LONG_ONLY | `uint8` | 7 | Command is only accepted when sent as a COMMAND_LONG |
| <a id="#VEHICLE_CMD_RESULT_COMMAND_INT_ONLY"></a> VEHICLE_CMD_RESULT_COMMAND_INT_ONLY | `uint8` | 8 | Command is only accepted when sent as a COMMAND_INT |
| <a id="#VEHICLE_CMD_RESULT_UNSUPPORTED_MAV_FRAME"></a> VEHICLE_CMD_RESULT_UNSUPPORTED_MAV_FRAME | `uint8` | 9 | Command does not support specified frame |
## Constants
+11 -11
View File
@@ -32,20 +32,20 @@ Fits ROS REP 147 for aerial vehicles
### POSE_FRAME {#POSE_FRAME}
| Name | Type | Value | Description |
| ----------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------------------------------- |
| <a href="#POSE_FRAME_UNKNOWN"></a> POSE_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame |
| <a href="#POSE_FRAME_NED"></a> POSE_FRAME_NED | `uint8` | 1 | North-East-Down (NED) navigation frame. Aligned with True North. |
| <a href="#POSE_FRAME_FRD"></a> POSE_FRAME_FRD | `uint8` | 2 | Forward-Right-Down (FRD) frame. Constant arbitrary heading offset from True North. Z is down. |
| Name | Type | Value | Description |
| --------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------------------------------- |
| <a id="#POSE_FRAME_UNKNOWN"></a> POSE_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame |
| <a id="#POSE_FRAME_NED"></a> POSE_FRAME_NED | `uint8` | 1 | North-East-Down (NED) navigation frame. Aligned with True North. |
| <a id="#POSE_FRAME_FRD"></a> POSE_FRAME_FRD | `uint8` | 2 | Forward-Right-Down (FRD) frame. Constant arbitrary heading offset from True North. Z is down. |
### VELOCITY_FRAME {#VELOCITY_FRAME}
| Name | Type | Value | Description |
| --------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------- |
| <a href="#VELOCITY_FRAME_UNKNOWN"></a> VELOCITY_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame |
| <a href="#VELOCITY_FRAME_NED"></a> VELOCITY_FRAME_NED | `uint8` | 1 | NED navigation frame at current position. |
| <a href="#VELOCITY_FRAME_FRD"></a> VELOCITY_FRAME_FRD | `uint8` | 2 | FRD navigation frame at current position. Constant arbitrary heading offset from True North. Z is down. |
| <a href="#VELOCITY_FRAME_BODY_FRD"></a> VELOCITY_FRAME_BODY_FRD | `uint8` | 3 | FRD body-fixed frame |
| Name | Type | Value | Description |
| ------------------------------------------------------------- | ------- | ----- | ------------------------------------------------------------------------------------------------------- |
| <a id="#VELOCITY_FRAME_UNKNOWN"></a> VELOCITY_FRAME_UNKNOWN | `uint8` | 0 | Unknown frame |
| <a id="#VELOCITY_FRAME_NED"></a> VELOCITY_FRAME_NED | `uint8` | 1 | NED navigation frame at current position. |
| <a id="#VELOCITY_FRAME_FRD"></a> VELOCITY_FRAME_FRD | `uint8` | 2 | FRD navigation frame at current position. Constant arbitrary heading offset from True North. Z is down. |
| <a id="#VELOCITY_FRAME_BODY_FRD"></a> VELOCITY_FRAME_BODY_FRD | `uint8` | 3 | FRD body-fixed frame |
## Constants
+56 -56
View File
@@ -56,71 +56,71 @@ Encodes the system state of the vehicle published by commander.
### NAVIGATION_STATE {#NAVIGATION_STATE}
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------- |
| <a href="#NAVIGATION_STATE_MANUAL"></a> NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode |
| <a href="#NAVIGATION_STATE_ALTCTL"></a> NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode |
| <a href="#NAVIGATION_STATE_POSCTL"></a> NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode |
| <a href="#NAVIGATION_STATE_AUTO_MISSION"></a> NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode |
| <a href="#NAVIGATION_STATE_AUTO_LOITER"></a> NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode |
| <a href="#NAVIGATION_STATE_AUTO_RTL"></a> NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode |
| <a href="#NAVIGATION_STATE_POSITION_SLOW"></a> NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 |
| <a href="#NAVIGATION_STATE_FREE5"></a> NAVIGATION_STATE_FREE5 | `uint8` | 7 |
| <a href="#NAVIGATION_STATE_ALTITUDE_CRUISE"></a> NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode |
| <a href="#NAVIGATION_STATE_FREE3"></a> NAVIGATION_STATE_FREE3 | `uint8` | 9 |
| <a href="#NAVIGATION_STATE_ACRO"></a> NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode |
| <a href="#NAVIGATION_STATE_FREE2"></a> NAVIGATION_STATE_FREE2 | `uint8` | 11 |
| <a href="#NAVIGATION_STATE_DESCEND"></a> NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) |
| <a href="#NAVIGATION_STATE_TERMINATION"></a> NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode |
| <a href="#NAVIGATION_STATE_OFFBOARD"></a> NAVIGATION_STATE_OFFBOARD | `uint8` | 14 |
| <a href="#NAVIGATION_STATE_STAB"></a> NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode |
| <a href="#NAVIGATION_STATE_FREE1"></a> NAVIGATION_STATE_FREE1 | `uint8` | 16 |
| <a href="#NAVIGATION_STATE_AUTO_TAKEOFF"></a> NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff |
| <a href="#NAVIGATION_STATE_AUTO_LAND"></a> NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land |
| <a href="#NAVIGATION_STATE_AUTO_FOLLOW_TARGET"></a> NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow |
| <a href="#NAVIGATION_STATE_AUTO_PRECLAND"></a> NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target |
| <a href="#NAVIGATION_STATE_ORBIT"></a> NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle |
| <a href="#NAVIGATION_STATE_AUTO_VTOL_TAKEOFF"></a> NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter |
| <a href="#NAVIGATION_STATE_EXTERNAL1"></a> NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 |
| <a href="#NAVIGATION_STATE_EXTERNAL2"></a> NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 |
| <a href="#NAVIGATION_STATE_EXTERNAL3"></a> NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 |
| <a href="#NAVIGATION_STATE_EXTERNAL4"></a> NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 |
| <a href="#NAVIGATION_STATE_EXTERNAL5"></a> NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 |
| <a href="#NAVIGATION_STATE_EXTERNAL6"></a> NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 |
| <a href="#NAVIGATION_STATE_EXTERNAL7"></a> NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 |
| <a href="#NAVIGATION_STATE_EXTERNAL8"></a> NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 |
| <a href="#NAVIGATION_STATE_MAX"></a> NAVIGATION_STATE_MAX | `uint8` | 31 |
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------- |
| <a id="#NAVIGATION_STATE_MANUAL"></a> NAVIGATION_STATE_MANUAL | `uint8` | 0 | Manual mode |
| <a id="#NAVIGATION_STATE_ALTCTL"></a> NAVIGATION_STATE_ALTCTL | `uint8` | 1 | Altitude control mode |
| <a id="#NAVIGATION_STATE_POSCTL"></a> NAVIGATION_STATE_POSCTL | `uint8` | 2 | Position control mode |
| <a id="#NAVIGATION_STATE_AUTO_MISSION"></a> NAVIGATION_STATE_AUTO_MISSION | `uint8` | 3 | Auto mission mode |
| <a id="#NAVIGATION_STATE_AUTO_LOITER"></a> NAVIGATION_STATE_AUTO_LOITER | `uint8` | 4 | Auto loiter mode |
| <a id="#NAVIGATION_STATE_AUTO_RTL"></a> NAVIGATION_STATE_AUTO_RTL | `uint8` | 5 | Auto return to launch mode |
| <a id="#NAVIGATION_STATE_POSITION_SLOW"></a> NAVIGATION_STATE_POSITION_SLOW | `uint8` | 6 |
| <a id="#NAVIGATION_STATE_FREE5"></a> NAVIGATION_STATE_FREE5 | `uint8` | 7 |
| <a id="#NAVIGATION_STATE_ALTITUDE_CRUISE"></a> NAVIGATION_STATE_ALTITUDE_CRUISE | `uint8` | 8 | Altitude with Cruise mode |
| <a id="#NAVIGATION_STATE_FREE3"></a> NAVIGATION_STATE_FREE3 | `uint8` | 9 |
| <a id="#NAVIGATION_STATE_ACRO"></a> NAVIGATION_STATE_ACRO | `uint8` | 10 | Acro mode |
| <a id="#NAVIGATION_STATE_FREE2"></a> NAVIGATION_STATE_FREE2 | `uint8` | 11 |
| <a id="#NAVIGATION_STATE_DESCEND"></a> NAVIGATION_STATE_DESCEND | `uint8` | 12 | Descend mode (no position control) |
| <a id="#NAVIGATION_STATE_TERMINATION"></a> NAVIGATION_STATE_TERMINATION | `uint8` | 13 | Termination mode |
| <a id="#NAVIGATION_STATE_OFFBOARD"></a> NAVIGATION_STATE_OFFBOARD | `uint8` | 14 |
| <a id="#NAVIGATION_STATE_STAB"></a> NAVIGATION_STATE_STAB | `uint8` | 15 | Stabilized mode |
| <a id="#NAVIGATION_STATE_FREE1"></a> NAVIGATION_STATE_FREE1 | `uint8` | 16 |
| <a id="#NAVIGATION_STATE_AUTO_TAKEOFF"></a> NAVIGATION_STATE_AUTO_TAKEOFF | `uint8` | 17 | Takeoff |
| <a id="#NAVIGATION_STATE_AUTO_LAND"></a> NAVIGATION_STATE_AUTO_LAND | `uint8` | 18 | Land |
| <a id="#NAVIGATION_STATE_AUTO_FOLLOW_TARGET"></a> NAVIGATION_STATE_AUTO_FOLLOW_TARGET | `uint8` | 19 | Auto Follow |
| <a id="#NAVIGATION_STATE_AUTO_PRECLAND"></a> NAVIGATION_STATE_AUTO_PRECLAND | `uint8` | 20 | Precision land with landing target |
| <a id="#NAVIGATION_STATE_ORBIT"></a> NAVIGATION_STATE_ORBIT | `uint8` | 21 | Orbit in a circle |
| <a id="#NAVIGATION_STATE_AUTO_VTOL_TAKEOFF"></a> NAVIGATION_STATE_AUTO_VTOL_TAKEOFF | `uint8` | 22 | Takeoff, transition, establish loiter |
| <a id="#NAVIGATION_STATE_EXTERNAL1"></a> NAVIGATION_STATE_EXTERNAL1 | `uint8` | 23 |
| <a id="#NAVIGATION_STATE_EXTERNAL2"></a> NAVIGATION_STATE_EXTERNAL2 | `uint8` | 24 |
| <a id="#NAVIGATION_STATE_EXTERNAL3"></a> NAVIGATION_STATE_EXTERNAL3 | `uint8` | 25 |
| <a id="#NAVIGATION_STATE_EXTERNAL4"></a> NAVIGATION_STATE_EXTERNAL4 | `uint8` | 26 |
| <a id="#NAVIGATION_STATE_EXTERNAL5"></a> NAVIGATION_STATE_EXTERNAL5 | `uint8` | 27 |
| <a id="#NAVIGATION_STATE_EXTERNAL6"></a> NAVIGATION_STATE_EXTERNAL6 | `uint8` | 28 |
| <a id="#NAVIGATION_STATE_EXTERNAL7"></a> NAVIGATION_STATE_EXTERNAL7 | `uint8` | 29 |
| <a id="#NAVIGATION_STATE_EXTERNAL8"></a> NAVIGATION_STATE_EXTERNAL8 | `uint8` | 30 |
| <a id="#NAVIGATION_STATE_MAX"></a> NAVIGATION_STATE_MAX | `uint8` | 31 |
### FAILURE {#FAILURE}
| Name | Type | Value | Description |
| --------------------------------------------------------------- | -------- | ----- | ----------- |
| <a href="#FAILURE_NONE"></a> FAILURE_NONE | `uint16` | 0 |
| <a href="#FAILURE_ROLL"></a> FAILURE_ROLL | `uint16` | 1 | (1 << 0) |
| <a href="#FAILURE_PITCH"></a> FAILURE_PITCH | `uint16` | 2 | (1 << 1) |
| <a href="#FAILURE_ALT"></a> FAILURE_ALT | `uint16` | 4 | (1 << 2) |
| <a href="#FAILURE_EXT"></a> FAILURE_EXT | `uint16` | 8 | (1 << 3) |
| <a href="#FAILURE_ARM_ESC"></a> FAILURE_ARM_ESC | `uint16` | 16 | (1 << 4) |
| <a href="#FAILURE_BATTERY"></a> FAILURE_BATTERY | `uint16` | 32 | (1 << 5) |
| <a href="#FAILURE_IMBALANCED_PROP"></a> FAILURE_IMBALANCED_PROP | `uint16` | 64 | (1 << 6) |
| <a href="#FAILURE_MOTOR"></a> FAILURE_MOTOR | `uint16` | 128 | (1 << 7) |
| Name | Type | Value | Description |
| ------------------------------------------------------------- | -------- | ----- | ----------- |
| <a id="#FAILURE_NONE"></a> FAILURE_NONE | `uint16` | 0 |
| <a id="#FAILURE_ROLL"></a> FAILURE_ROLL | `uint16` | 1 | (1 << 0) |
| <a id="#FAILURE_PITCH"></a> FAILURE_PITCH | `uint16` | 2 | (1 << 1) |
| <a id="#FAILURE_ALT"></a> FAILURE_ALT | `uint16` | 4 | (1 << 2) |
| <a id="#FAILURE_EXT"></a> FAILURE_EXT | `uint16` | 8 | (1 << 3) |
| <a id="#FAILURE_ARM_ESC"></a> FAILURE_ARM_ESC | `uint16` | 16 | (1 << 4) |
| <a id="#FAILURE_BATTERY"></a> FAILURE_BATTERY | `uint16` | 32 | (1 << 5) |
| <a id="#FAILURE_IMBALANCED_PROP"></a> FAILURE_IMBALANCED_PROP | `uint16` | 64 | (1 << 6) |
| <a id="#FAILURE_MOTOR"></a> FAILURE_MOTOR | `uint16` | 128 | (1 << 7) |
### VEHICLE_TYPE {#VEHICLE_TYPE}
| Name | Type | Value | Description |
| ----------------------------------------------------------------- | ------- | ----- | ----------- |
| <a href="#VEHICLE_TYPE_UNSPECIFIED"></a> VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 |
| <a href="#VEHICLE_TYPE_ROTARY_WING"></a> VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 |
| <a href="#VEHICLE_TYPE_FIXED_WING"></a> VEHICLE_TYPE_FIXED_WING | `uint8` | 2 |
| <a href="#VEHICLE_TYPE_ROVER"></a> VEHICLE_TYPE_ROVER | `uint8` | 3 |
| Name | Type | Value | Description |
| --------------------------------------------------------------- | ------- | ----- | ----------- |
| <a id="#VEHICLE_TYPE_UNSPECIFIED"></a> VEHICLE_TYPE_UNSPECIFIED | `uint8` | 0 |
| <a id="#VEHICLE_TYPE_ROTARY_WING"></a> VEHICLE_TYPE_ROTARY_WING | `uint8` | 1 |
| <a id="#VEHICLE_TYPE_FIXED_WING"></a> VEHICLE_TYPE_FIXED_WING | `uint8` | 2 |
| <a id="#VEHICLE_TYPE_ROVER"></a> VEHICLE_TYPE_ROVER | `uint8` | 3 |
### FAILSAFE_DEFER_STATE {#FAILSAFE_DEFER_STATE}
| Name | Type | Value | Description |
| --------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------ |
| <a href="#FAILSAFE_DEFER_STATE_DISABLED"></a> FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 |
| <a href="#FAILSAFE_DEFER_STATE_ENABLED"></a> FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 |
| <a href="#FAILSAFE_DEFER_STATE_WOULD_FAILSAFE"></a> FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe |
| Name | Type | Value | Description |
| ------------------------------------------------------------------------------------- | ------- | ----- | ------------------------------------------------ |
| <a id="#FAILSAFE_DEFER_STATE_DISABLED"></a> FAILSAFE_DEFER_STATE_DISABLED | `uint8` | 0 |
| <a id="#FAILSAFE_DEFER_STATE_ENABLED"></a> FAILSAFE_DEFER_STATE_ENABLED | `uint8` | 1 |
| <a id="#FAILSAFE_DEFER_STATE_WOULD_FAILSAFE"></a> FAILSAFE_DEFER_STATE_WOULD_FAILSAFE | `uint8` | 2 | Failsafes deferred, but would trigger a failsafe |
## Constants
@@ -17,7 +17,7 @@ Note that after training the network you will need to update and rebuild PX4.
TLFM is a mature inference library intended for use on embedded devices.
It has support for several architectures, so there is a high likelihood that you can build it for the board you want to use.
If not, there are other possible NN frameworks, such as [Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page) and [Executorch](https://pytorch.org/executorch-overview).
If not, there are other possible NN frameworks, such as [Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page) and [Executorch](https://docs.pytorch.org/executorch/stable/intro-overview.html).
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.
+1 -1
View File
@@ -66,7 +66,7 @@ To use a generic actuator in a mission:
## MAVSDK (Example script)
The following [MAVSDK](https://mavsdk.mavlink.io/main/en/index.html) [example code](https://github.com/mavlink/MAVSDK/blob/main/examples/set_actuator/set_actuator.cpp) shows how to trigger payload release using the MAVSDK Action plugin's [`set_actuator()`](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1ad30beac27f05c62dcf6a3d0928b86e4c) method.
The following [MAVSDK](https://mavsdk.mavlink.io/main/en/index.html) [example code](https://github.com/mavlink/MAVSDK/blob/main/cpp/examples/set_actuator/set_actuator.cpp) shows how to trigger payload release using the MAVSDK Action plugin's [`set_actuator()`](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1ad30beac27f05c62dcf6a3d0928b86e4c) method.
The `set_actuator()` index values map to the MAVLink payload outputs defined for your airframe.
+1 -1
View File
@@ -1,6 +1,6 @@
# ADS-B/FLARM/UTM Receivers: Air Traffic Avoidance
PX4 supports simple air traffic avoidance in [missions](../flying/missions.md) using [ADS-B](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast), [FLARM](https://en.wikipedia.org/wiki/FLARM), or [UTM](https://www.faa.gov/uas/research_development/traffic_management) transponders that use the standard MAVLink interfaces.
PX4 supports simple air traffic avoidance in [missions](../flying/missions.md) using [ADS-B](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast), [FLARM](https://en.wikipedia.org/wiki/FLARM), or [UTM](https://www.faa.gov/uas/advanced_operations/traffic_management) transponders that use the standard MAVLink interfaces.
If a potential collision is detected, PX4 can _warn_, immediately [land](../flight_modes_mc/land.md), or [return](../flight_modes_mc/return.md) (depending on the value of [NAV_TRAFF_AVOID](#NAV_TRAFF_AVOID)).
+2 -2
View File
@@ -213,8 +213,8 @@ You will need connectors that are appropriate for your autopilot (e.g. _JST-GH c
The Pixracer includes electronics for converting between S.PORT and UART signals, but for other boards you will need a UART to S.PORT adapter.
These can be sourced from:
- [FrSky FUL-1](https://www.frsky-rc.com/product/ful-1/): [unmannedtech.co.uk](https://www.unmannedtechshop.co.uk/frsky-transmitter-receiver-upgrade-adapter-ful-1/)
- SPC: [getfpv.com](https://www.getfpv.com/frsky-smart-port-converter-cable.html), [unmannedtechshop.co.uk](https://www.unmannedtechshop.co.uk/frsky-smart-port-converter-spc/)
- [FrSky FUL-1](https://www.frsky-rc.com/product/ful-1/): [unmannedtech.co.uk](https://www.unmannedtechshop.co.uk/products/frsky-transmitter-receiver-upgrade-adapter-ful-1)
- SPC: [getfpv.com](https://www.getfpv.com/frsky-smart-port-converter-cable.html), [unmannedtechshop.co.uk](https://www.unmannedtechshop.co.uk/products/frsky-smart-port-converter-spc)
More information about the connections for different boards is given below.
+1 -1
View File
@@ -6,7 +6,7 @@ With closed loop velocity control for the fastest response times available, clas
![Vertiq Module Lineup](../../assets/peripherals/esc_vertiq/vertiq_esc_lineup.jpg)
All Vertiq modules support traditional [PWM input, DShot, OneShot, and Multishot communication protocols](https://iqmotion.readthedocs.io/en/latest/communication_protocols/hobby_protocol.html). Vertiq's larger modules also support [DroneCAN control](https://iqmotion.readthedocs.io/en/latest/communication_protocols/dronecan_protocol.html).
All Vertiq modules support traditional [PWM input, DShot, OneShot, and Multishot communication protocols](https://iqmotion.readthedocs.io/en/latest/communication_protocols/timer_based_protocol.html). Vertiq's larger modules also support [DroneCAN control](https://iqmotion.readthedocs.io/en/latest/communication_protocols/dronecan_protocol.html).
## Where to Buy
+1 -1
View File
@@ -55,7 +55,7 @@ Please continue reading for [upgrade instructions](#upgrade-guide).
- [Battery level estimation improvements](../config/battery.md). ([PX4-Autopilot#23205](https://github.com/PX4/PX4-Autopilot/pull/23205)).
- [Voltage-based estimation with load compensation](../config/battery.md#voltage-based-estimation-with-load-compensation) now uses a real-time estimate of the internal resistance of the battery to compensate voltage drops under load (with increased current), providing a better capacity estimate than with the raw measured voltage.
- Thrust-based load compensation has been removed (along with the `BATn_V_LOAD_DROP` parameters, where `n` is the battery number).
- The [Position (GNSS) loss failsafe](../config/safety.md#position-gnss-loss-failsafe) configurable delay (`COM_POS_FS_DELAY`) has been removed.
- The [Position (GNSS) loss failsafe](../config/safety.md#position-loss-failsafe) configurable delay (`COM_POS_FS_DELAY`) has been removed.
The failsafe will now trigger 1 second after position has been lost. ([PX4-Autopilot#24063](https://github.com/PX4/PX4-Autopilot/pull/24063)).
- [Log Encryption](../dev_log/log_encryption.md) now generates an encrypted log that contains the public-key-encrypted symmetric key that can be used to decrypt it, instead of putting the key into a separate file.
This makes log decryption much easier, as there is no need to download or identify a separate key file.
+1 -1
View File
@@ -253,7 +253,7 @@ This might break the _tf_ tree.
### OptiTrack MoCap
The following steps explain how to feed position estimates from an [OptiTrack](https://optitrack.com/applications/robotics/) system to PX4.
The following steps explain how to feed position estimates from an [OptiTrack](https://optitrack.com/applications/robotics) system to PX4.
It is assumed that the MoCap system is calibrated.
See [this video](https://www.youtube.com/watch?v=cNZaFEghTBU) for a tutorial on the calibration process.
+1 -1
View File
@@ -14,7 +14,7 @@ However these steps are fairly general and so it should work with other distros/
## MAVROS Installation
Follow _Source Installation_ instructions from [mavlink/mavros](https://github.com/mavlink/mavros/blob/master/mavros/index.md) to install "ROS Kinetic".
Follow _Source Installation_ instructions from [mavlink/mavros](https://github.com/mavlink/mavros/blob/master/mavros/README.md) to install "ROS Kinetic".
## MAVROS
@@ -101,7 +101,7 @@ The following steps are required to get started:
To send a position measurement, you populate the position struct with the values you have measured.
Then call the interface's update function with that struct as the argument.
For a basic example of how to use this interface, check out the [examples](https://github.com/Auterion/px4-ros2-interface-lib/tree/main/examples/cpp/navigation) in the `Auterion/px4-ros2-interface-lib` repository, such as [examples/cpp/navigation/local_navigation](https://github.com/Auterion/px4-ros2-interface-lib/blob/main/examples/cpp/navigation/local_navigation/include/local_navigation.hpp) or [examples/cpp/navigation/global_navigation](https://github.com/Auterion/px4-ros2-interface-lib/blob/main/examples/cpp/navigation/local_navigation/include/global_navigation.hpp).
For a basic example of how to use this interface, check out the [examples](https://github.com/Auterion/px4-ros2-interface-lib/tree/main/examples/cpp/navigation) in the `Auterion/px4-ros2-interface-lib` repository, such as [examples/cpp/navigation/local_navigation](https://github.com/Auterion/px4-ros2-interface-lib/blob/main/examples/cpp/navigation/local_navigation/include/local_navigation.hpp) or [examples/cpp/navigation/global_navigation](https://github.com/Auterion/px4-ros2-interface-lib/blob/main/examples/cpp/navigation/global_navigation/include/global_navigation.hpp).
### Local Position Updates
@@ -220,7 +220,7 @@ private:
### Global Position Updates
First ensure that the PX4 parameter [`EKF2_AGP_CTRL`](../advanced_config/parameter_reference.md#EKF2_AGP_CTRL) is properly configured to fuse external global measurements, by setting the appropriate bits to `true`:
First ensure that the PX4 [`EKF2_AGP_CTRLn`](../advanced_config/parameter_reference.md#EKF2_AGP0_CTRL) parameters are properly configured to fuse external global measurements, by setting the appropriate bits to `true`:
- `0`: Horizontal position data
- `1`: Vertical position data
+1 -1
View File
@@ -12,7 +12,7 @@ Recommended digital airspeed sensors include:
- Based on [Pitot tube](https://en.wikipedia.org/wiki/Pitot_tube)
- I2C MEAS Spec series (e.g. [MS4525DO](https://www.te.com/usa-en/product-CAT-BLPS0002.html), [MS5525](https://www.te.com/usa-en/product-CAT-BLPS0003.html))
- [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.3dr.com/mro-i2c-airspeed-sensor-jst-gh-ms4525do/) (3DR store)
- [mRo I2C Airspeed Sensor JST-GH MS4525DO](https://store.3dr.com/airspeed-sensor-jst-gh-ms4525do/) (3DR store)
- [Digital Differential Airspeed Sensor Kit - MS4525DO](https://store-drotek.com/793-digital-differential-airspeed-sensor-kit-.html) (Drotek).
- [Holybro Digital Air Speed Sensor - MS4525DO](https://holybro.com/collections/sensors/products/digital-air-speed-sensor-ms4525do)
- [Holybro Digital Air Speed Sensor - MS5525DSO](https://holybro.com/collections/sensors/products/digital-air-speed-sensor-ms5525dso)
+1 -1
View File
@@ -5,7 +5,7 @@
![TFSLOT and TFSLOT WITH TFASPDIMU02 board](../../assets/hardware/sensors/airspeed/tsflot_compose.jpg)
[TFSLOT](https://github.com/ThunderFly-aerospace/TFSLOT01) is an airspeed sensor based on venturi effects.
In the basic configuration, the TFSLOT is equipped with the [TFASPDIMU02](https://github.com/ThunderFly-aerospace/TFASPDIMU02) sensor board, which contains a differential pressure sensor ([Sensirion SDP3x series](https://sensirion.com/products/catalog/?filter_series=d1816d53-f5c8-47e3-ab47-818c3fd54259)) and a 9-axis motion tracking sensor ([ICM-20948](https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948/)).
In the basic configuration, the TFSLOT is equipped with the [TFASPDIMU02](https://github.com/ThunderFly-aerospace/TFASPDIMU02) sensor board, which contains a differential pressure sensor ([Sensirion SDP3x series](https://sensirion.com/products/catalog?filter_series=d1816d53-f5c8-47e3-ab47-818c3fd54259)) and a 9-axis motion tracking sensor ([ICM-20948](https://invensense.tdk.com/products/motion-tracking/9-axis/icm-20948/)).
The IMU unit can be used as an external compass.
- This design brings several advantages when used on small-scale and slow-flying UAVs.
+2 -2
View File
@@ -55,8 +55,8 @@ The [parameters to change](../advanced_config/parameters.md) are listed in the t
| Parameter | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| <a id="SENS_EN_GRF_CFG"></a>[SENS_EN_GRF_CFG](../advanced_config/parameter_reference.md#SENS_EN_GRF_CFG) | Set to the serial port the sensor is connected to. |
| <a id="GRF_UPDATE_CFG"></a>[GRF_UPDATE_CFG](../advanced_config/parameter_reference.md#GRF_UPDATE_CFG) | Set the update rate. |
| <a id="GRF_SENS_MODEL"></a>[GRF_SENS_MODEL](../advanced_config/parameter_reference.md#GRF_SENS_MODEL) | Set the update rate. |
| <a id="GRF_RATE_CFG"></a>[GRF_RATE_CFG](../advanced_config/parameter_reference.md#GRF_RATE_CFG) | Set the update rate. |
| <a id="GRF_SENS_MODEL"></a>[GRF_SENS_MODEL](../advanced_config/parameter_reference.md#GRF_SENS_MODEL) | Set the sensor model to use. |
## Testing
@@ -49,5 +49,5 @@ Essentially it is an AHRS that also includes position/velocity estimation.
## Further Information
- [What is an Inertial Navigation System?](https://www.vectornav.com/resources/inertial-navigation-articles/what-is-an-ins) (VectorNav)
- [What is an Inertial Navigation System?](https://www.vectornav.com/resources/inertial-navigation-articles/what-is-an-ins) (VectorNav) <!-- Link needs manual checking-->
- [Inertial Navigation Primer](https://www.vectornav.com/resources/inertial-navigation-primer) (VectorNav)
+2 -2
View File
@@ -21,8 +21,8 @@ The mode is configurable using a parameter.
[Get technical support or send requests to sales team](https://inertiallabs.com/inertial-labs-inc/contact-inertial-labs-team/).
Recommended sensors:
- [INS-U GNSS/INS](https://inertiallabs.com/ins-u-datasheet): Recommended for fixed-wing systems without hovering, where static heading is not necessary.
- [INS-DU DUAL GNSS/INS](https://inertiallabs.com/ins-du-datasheet): Recommended for multicopter systems where hovering and low dynamics requires the use of static heading.
- [INS-U GNSS/INS](https://inertiallabs.com/wp-content/uploads/2026/01/INS-U_INS-U-OEM_Datasheet_REV2.18_JAN2026.pdf): Recommended for fixed-wing systems without hovering, where static heading is not necessary.
- [INS-DU DUAL GNSS/INS](https://inertiallabs.com/wp-content/uploads/2025/12/INS-DU_INS-DU-OEM_Datasheet_REV1.00_DEC2025.pdf): Recommended for multicopter systems where hovering and low dynamics requires the use of static heading.
## Hardware Setup
+1 -1
View File
@@ -6,7 +6,7 @@ LIDAR-Lite is a compact, high-performance optical distant measurement sensor sol
## Where to Buy
- [LIDAR-Lite v3](https://buy.garmin.com/en-AU/AU/p/557294) (5cm - 40m)
- [LIDAR-Lite v3](https://www.garmin.com/en-AU/p/557294/) (5cm - 40m)
## Pinouts
+5 -5
View File
@@ -7,10 +7,10 @@ Widely used across industries like aerospace, robotics, industrial automation, a
The driver currently supports the following hardware:
- [`MicroStrain CV7-AR`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/vertical-reference-units--vru-/3dm-cv7-ar): Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU)
- [`MicroStrain CV7-AHRS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/attitude-and-heading-reference-systems--ahrs-/3dm-cv7-ahrs): Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS)
- [`MicroStrain CV7-INS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS).
- [`MicroStrain CV7-GNSS/INS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/inertial-navigation-systems--ins-/3dm-cv7-gnss-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS) combined with dual multiband (GNSS) receivers.
- [`MicroStrain CV7-AR`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/vertical-reference/3dm-cv7-ar): Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU)
- [`MicroStrain CV7-AHRS`](https://www.microstrain.com/inertial-sensors/3dm-cv7-ahrs): Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS)
- [`MicroStrain CV7-INS`](https://www.microstrain.com/inertial-sensors/3dm-cv7-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS).
- [`MicroStrain CV7-GNSS/INS`](https://www.hbkworld.com/en/products/transducers/inertial-sensors/navigation/3dm-cv7-gnss-ins): Inertial Measurement Unit (IMU) and Inertial Navigation System (INS) combined with dual multiband (GNSS) receivers.
PX4 can use these sensors to provide raw IMU data for EKF2 or to replace EKF2 as an external INS.
For more information, including user manuals and datasheets, please refer to the sensors product page.
@@ -18,7 +18,7 @@ For more information, including user manuals and datasheets, please refer to the
## Where to Buy
MicroStrain sensors can be purchased through HBK's official [MicroStrain product page](https://www.hbkworld.com/en/products/transducers/inertial-sensors) or through authorized distributors globally.
For large orders, custom requirements, or technical inquiries, reach out directly to [sales](https://www.hbkworld.com/en/contact-us/contact-sales-microstrain)
For large orders, custom requirements, or technical inquiries, reach out directly to [sales](https://www.hbkworld.com/en/contact-us)
## Hardware Setup
+1 -1
View File
@@ -71,7 +71,7 @@ It is used in a number of products, including some from: Bitcraze, Tindie, Hex,
### Other Cameras/Sensors
It is also possible to use a board/quad that has an integrated camera.
For this the [Optical Flow repo](https://github.com/PX4/OpticalFlow) can be used (see also [snap_cam](https://github.com/PX4/snap_cam)).
For this the [Optical Flow repo](https://github.com/PX4/PX4-OpticalFlow) can be used (see also [snap_cam](https://github.com/PX4/snap_cam)).
## Range Finders
+2 -2
View File
@@ -93,7 +93,7 @@ It has a sensor range from (5cm - 40m) and can be connected to either PWM or I2C
### MaxBotix I2CXL-MaxSonar-EZ
The MaxBotix [I2CXL-MaxSonar-EZ](https://www.maxbotix.com/product-category/i2cxl-maxsonar-ez-products) range has a number of relatively short-ranged sonar based rangefinders that are suitable for assisted takeoff/landing and collision avoidance.
The MaxBotix [I2CXL-MaxSonar-EZ](https://maxbotix.com/collections/i2cxl-maxsonar-ez-products) range has a number of relatively short-ranged sonar based rangefinders that are suitable for assisted takeoff/landing and collision avoidance.
These can be connected using an I2C port.
The rangefinders are enabled using the parameter [SENS_EN_MB12XX](../advanced_config/parameter_reference.md#SENS_EN_MB12XX).
@@ -163,7 +163,7 @@ Features:
- [VL53L1CBV0FY-1](https://www.st.com/resource/en/datasheet/vl53l1.pdf) sensor
- Input voltage sensor
- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://raccoonlabdev.github.io/docs/guide/wires/).
- CAN connectors: 2 [UCANPHY Micro (JST-GH 4)](https://docs.raccoonlab.co/guide/wires/).
## Configuration/Setup {#configuration}
+3 -3
View File
@@ -2,7 +2,7 @@
[SBG-Systems](https://www.sbg-systems.com/) designs, manufactures, and support an extensive range of state-of-the-art inertial sensors such as Inertial Measurement Units (IMU), Attitude and Heading Reference Systems (AHRS), Inertial Navigation Systems with embedded GNSS (INS/GNSS), and so on.
PX4 supports [all SBG Systems products](https://www.sbg-systems.com/products/) and can use these as an [external INS](../sensor/inertial_navigation_systems.md) (bypassing/replacing the EKF2 estimator), or as a source of raw sensor data provided to the navigation estimator.
PX4 supports [all SBG Systems products](https://www.sbg-systems.com/) and can use these as an [external INS](../sensor/inertial_navigation_systems.md) (bypassing/replacing the EKF2 estimator), or as a source of raw sensor data provided to the navigation estimator.
![Ellipse](../../assets/hardware/sensors/inertial/ellipse-inertial-navigation-system.png)
@@ -17,7 +17,7 @@ SBG Systems products provide a range of benefits to PX4 users and can be integra
The sbgECom PX4 driver is streamlined to provide a simple plug-and-play architecture, removing engineering obstacles and allowing the acceleration of the design, development, and launch of platforms to keep pace with the rapid rate of innovation.
The driver supports [all SBG Systems products](https://www.sbg-systems.com/products/).
The driver supports [all SBG Systems products](https://www.sbg-systems.com/).
In particular the following systems are recommended:
- **Pulse:** Recommended for fixed-wing systems without hovering, where static heading is not necessary.
@@ -142,5 +142,5 @@ Published topics can be viewed using the `listener` command.
## Hardware Specifications
- [Product Briefs](https://www.sbg-systems.com/products/)
- [Product Briefs](https://www.sbg-systems.com/)
- [Datasheets](https://www.sbg-systems.com/contact/#products)
+1 -1
View File
@@ -12,7 +12,7 @@ You will need to [create and use a custom build](#add-the-driver-to-the-px4-buil
## LightWare Studio Setup
In the [LightWare Studio](https://www.lightwarelidar.com/resources-software) app set following values:
In the [LightWare Studio](https://lightwarelidar.com/resources-software/) app set following values:
| Parameter | Description |
| --------- | ----------- |
+8 -8
View File
@@ -9,14 +9,14 @@ These are useful for applications including terrain following, precision hoverin
The following models are supported by PX4, and can be connected to either the I2C or Serial bus (the tables below indicates what bus can be used for each model).
| Model | Range (m) | Bus | Description |
| ------------------------------------------------------- | --------- | ----------------- | ------------------------------------------------------------------------------------------ |
| [SF11/C](https://lightwarelidar.com/shop/sf11-c-100-m/) | 100 | Serial or I2C bus |
| [LW20/C](https://lightware.co.za/products/lw20-c-100-m) | 100 | I2C bus | Waterproofed (IP67) with servo for sense-and-avoid applications |
| [SF30/D](https://lightwarelidar.com/shop/sf30-d-200-m/) | 200 | I2C bus | Waterproofed (IP67) |
| [SF45/B](../sensor/sf45_rotating_lidar.md) | 50 | Serial | Rotary Lidar (Used for [Collision Prevention](../computer_vision/collision_prevention.md)) |
| [GRF250](../sensor/grf_lidar.md) | 250 | Serial or I2C | Gimbal Range Finder |
| [GRF500](../sensor/grf_lidar.md) | 500 | Serial or I2C | Gimbal Range Finder |
| Model | Range (m) | Bus | Description |
| ---------------------------------------------------------- | --------- | ----------------- | ------------------------------------------------------------------------------------------ |
| [SF11/C](https://lightwarelidar.com/shop/sf11-c-100-m/) | 100 | Serial or I2C bus |
| [LW20/C](https://lightwarelidar.com/products/lw20-c-100-m) | 100 | I2C bus | Waterproofed (IP67) with servo for sense-and-avoid applications |
| [SF30/D](https://lightwarelidar.com/shop/sf30-d-200-m/) | 200 | I2C bus | Waterproofed (IP67) |
| [SF45/B](../sensor/sf45_rotating_lidar.md) | 50 | Serial | Rotary Lidar (Used for [Collision Prevention](../computer_vision/collision_prevention.md)) |
| [GRF250](../sensor/grf_lidar.md) | 250 | Serial or I2C | Gimbal Range Finder |
| [GRF500](../sensor/grf_lidar.md) | 500 | Serial or I2C | Gimbal Range Finder |
::: details Discontinued
+1 -1
View File
@@ -31,7 +31,7 @@ The LED lights up when the pulse input is grounded or exposed to logical 0, so y
Hall-Effect sensors (magnetically operated) are ideal for harsh environments, where dirt, dust, and water can contact the sensed rotor.
Many different hall effect sensors are commercially available.
For example, a [55100 Miniature Flange Mounting Proximity Sensor](https://m.littelfuse.com/media?resourcetype=datasheets&itemid=6d69d457-770e-46ba-9998-012c5e0aedd7&filename=littelfuse-hall-effect-sensors-55100-datasheet) is a good choice.
For example, a [55100 Miniature Flange Mounting Proximity Sensor](https://m.littelfuse.com/assetdocs/littelfuse-hall-effect-sensors-55100-datasheet?assetguid=6d69d457-770e-46ba-9998-012c5e0aedd7) is a good choice.
![Example of Hall effect probe](../../assets/hardware/sensors/tfrpm/hall_probe.jpg)
+1 -1
View File
@@ -76,7 +76,7 @@ IMU data should be published at 800Hz (400Hz if using VN-300).
## VectorNav Configuration
Definitions for all commands and registers referenced in this section can be found in the respective [VectorNav ICD](https://www.vectornav.com/resources/interface-control-documents).
Definitions for all commands and registers referenced in this section can be found in the respective [VectorNav ICD](https://www.vectornav.com/resources/interface-control-documents). <!-- Link needs manual checking-->
Upon initialization, PX4 configures the VectorNav unit as follows:
+2 -2
View File
@@ -13,7 +13,7 @@ The module contains two pairs of connectors, each pair responsible for different
::: info
[TFI2CADT01](https://github.com/ThunderFly-aerospace/TFI2CADT01) is designed as open-source hardware with GPLv3 license.
It is commercially available from [ThunderFly](https://www.thunderfly.cz/) company or from [Tindie eshop](https://www.tindie.com/products/26353/).
It is commercially available from [ThunderFly](https://www.thunderfly.cz/) company or from [Tindie eshop](https://www.tindie.com/products/thunderfly/tfi2cadt01-pixhawk-i2c-address-translator/).
:::
## Address Translation Method
@@ -30,7 +30,7 @@ If you need your own value for address translation, changing the configuration r
The tachometer sensor [TFRPM01](../sensor/thunderfly_tachometer.md) can be set to two different addresses using a solder jumper.
If the autopilot has three buses, only 6 sensors can be connected and no bus remains free (2 available addresses \* 3 I2C ports).
In some multicopters or VTOL solutions, there is a need to measure the RPM of 8 or more elements.
The [TFI2CADT01](https://www.tindie.com/products/26353/) is highly recommended in this case.
The [TFI2CADT01](https://www.tindie.com/products/thunderfly/tfi2cadt01-pixhawk-i2c-address-translator/) is highly recommended in this case.
![Multiple sensors](../../assets/peripherals/i2c_tfi2cadt/tfi2cadt01_multi_tfrpm01.jpg)
+1 -1
View File
@@ -45,7 +45,7 @@ You can connect a PX4-enabled vehicle to an instance of _gz-server_ using severa
You can then drag and drop any PX4 model into your simulation.
::: info
These models are taken from an web-server called [Gazebo Fuel](https://app.gazebosim.org/dashboard), which essentially acts as an online database for all types of models and worlds that can be launched in Gazebo.
These models are taken from an web-server called [Gazebo Fuel](https://app.gazebosim.org/PX4), which essentially acts as an online database for all types of models and worlds that can be launched in Gazebo.
:::
After dropping the vehicle of your choice into Gazebo, launch PX4 SITL with:
+1 -1
View File
@@ -5,7 +5,7 @@ Gazebo was previously known as "Gazebo Ignition" (while _Gazebo Classic_ was pre
See the [official blog post](https://www.openrobotics.org/blog/2022/4/6/a-new-era-for-gazebo) for more information.
:::
[Gazebo](https://gazebosim.org/home) is an open source robotics simulator.
[Gazebo](https://gazebosim.org/docs/latest/getstarted/) is an open source robotics simulator.
It supersedes the older [Gazebo Classic](../sim_gazebo_classic/index.md) simulator, and is the only supported version of Gazebo for Ubuntu 22.04 and onwards.
**Supported Vehicles:** Quadrotor, Plane, VTOL, Rover
+1 -1
View File
@@ -314,7 +314,7 @@ For SIH as SITL (no FC):
- `param set-default SENS_EN_MAGSIM 1`
- `param set-default SENS_EN_ARSPDSIM 1` (if it is a fixed-wing or VTOL airframe with airspeed sensor)
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/blob/main/ROMFS/px4fmu_common/init.d-posix/airframes/) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
For specific examples see the `_sihsim_` airframes in [ROMFS/px4fmu_common/init.d-posix/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d-posix/airframes) (SIH as SITL) and [ROMFS/px4fmu_common/init.d/airframes](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d/airframes) (SIH on FC).
## Controlling Actuators in SIH
+2 -2
View File
@@ -67,7 +67,7 @@ The messages are described below (see links for specific detail).
<!-- above ^^^ links for table -->
PX4 directly uses the [Gazebo API](https://gazebosim.org/docs) to interface with [Gazebo](../sim_gazebo_gz/index.md) and MAVlink is not required.
PX4 directly uses the [Gazebo API](https://gazebosim.org/docs/) to interface with [Gazebo](../sim_gazebo_gz/index.md) and MAVlink is not required.
## Default PX4 MAVLink UDP Ports
@@ -209,7 +209,7 @@ For setup information see the _QGroundControl User Guide_:
PX4 supports capture of both still images and video from within the [Gazebo Classic](../sim_gazebo_classic/index.md) simulated environment.
This can be enabled/set up as described in [Gazebo Glassic > Video Streaming](../sim_gazebo_classic/index.md#video-streaming).
The simulated camera is a gazebo classic plugin that implements the [MAVLink Camera Protocol](https://mavlink.io/en/protocol/camera.html) <!-- **PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic/src/gazebo_geotagged_images_plugin.cpp -->.
The simulated camera is a gazebo classic plugin that implements the [MAVLink Camera Protocol](https://mavlink.io/en/services/camera.html) <!-- **PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic/src/gazebo_geotagged_images_plugin.cpp -->.
PX4 connects/integrates with this camera in _exactly the same way_ as it would with any other MAVLink camera:
1. [TRIG_INTERFACE](../advanced_config/parameter_reference.md#TRIG_INTERFACE) must be set to `3` to configure the camera trigger driver for use with a MAVLink camera
+2 -2
View File
@@ -1,6 +1,6 @@
# Rotoye Batmon
[Rotoye Batmon](https://rotoye.com/batmon/) is a kit for adding smart battery functionality to off-the-shelf Lithium-Ion and LiPo batteries.
[Rotoye Batmon](https://shop.rotoye.com/batmon/) is a kit for adding smart battery functionality to off-the-shelf Lithium-Ion and LiPo batteries.
It can be purchased as a standalone unit or as part of a factory-assembled smart-battery.
![Rotoye Batmon Board](../../assets/hardware/smart_batteries/rotoye_batmon/smart-battery-rotoye.jpg)
@@ -9,7 +9,7 @@ It can be purchased as a standalone unit or as part of a factory-assembled smart
## Where to Buy
[Rotoye Store](https://rotoye.com/batmon/): Batmon kits, custom smart-batteries, and accessories
[Rotoye Store](https://shop.rotoye.com/batmon/): Batmon kits, custom smart-batteries, and accessories
## Wiring/Connections
+1 -1
View File
@@ -62,7 +62,7 @@ arm-none-eabi-gdb
### J-Link
These instructions are for the [J-Link GDB server](https://www.segger.com/jlink-gdb-server.html).
These instructions are for the [J-Link GDB server](https://www.segger.com/products/debug-probes/j-link/tools/j-link-gdb-server/about-j-link-gdb-server/).
#### Prerequisites
+2 -2
View File
@@ -19,7 +19,7 @@ It supports multiple modes such as point-to-point, point-to-multipoint, and rela
## Where to Buy
- [CUAV store](https://www.cuav.net/en/p8-2/)
- [CUAV store](https://www.cuav.net/en/p8-en/)
- [CUAV alibaba](https://www.alibaba.com/product-detail/Free-shipping-CUAV-UAV-P8-Radio_1600324379418.html?spm=a2747.manage.0.0.2dca71d2bY4B0M)
## PX4 Configuration
@@ -61,6 +61,6 @@ CUAV P8 Radio does not support power supply from the flight controller, it needs
## More information
[P8 manual](http://manual.cuav.net/data-transmission/p8-radio/p8-user-manual-en.pdf)
[P8 manual](https://manual.cuav.net/data-transmission/p8-radio/p8_user_manual_cn.pdf)
[CUAV P8 Radio](https://doc.cuav.net/data-transmission/p8-radio/en/) (Official Guide)