mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 14:33:34 +08:00
Move PX4 Guide source into /docs (#24490)
* Add vitepress tree * Update existing workflows so they dont trigger on changes in the docs path * Add nojekyll, package.json, LICENCE etc * Add crowdin docs upload/download scripts * Add docs flaw checker workflows * Used docs prefix for docs workflows * Crowdin obvious fixes * ci: docs move to self hosted runner runs on a beefy server for faster builds Signed-off-by: Ramon Roche <mrpollo@gmail.com> * ci: don't run build action for docs or ci changes Signed-off-by: Ramon Roche <mrpollo@gmail.com> * ci: update runners Signed-off-by: Ramon Roche <mrpollo@gmail.com> * Add docs/en * Add docs assets and scripts * Fix up editlinks to point to PX4 sources * Download just the translations that are supported * Add translation sources for zh, uk, ko * Update latest tranlsation and uorb graphs * update vitepress to latest --------- Signed-off-by: Ramon Roche <mrpollo@gmail.com> Co-authored-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
co-authored by
Ramon Roche
parent
8e6d2ebe4a
commit
88d623bedb
@@ -0,0 +1,152 @@
|
||||
# Modules Reference: Communication
|
||||
|
||||
## frsky_telemetry
|
||||
Source: [drivers/telemetry/frsky_telemetry](https://github.com/PX4/PX4-Autopilot/tree/main/src/drivers/telemetry/frsky_telemetry)
|
||||
|
||||
FrSky Telemetry support. Auto-detects D or S.PORT protocol.
|
||||
<a id="frsky_telemetry_usage"></a>
|
||||
### Usage
|
||||
```
|
||||
frsky_telemetry <command> [arguments...]
|
||||
Commands:
|
||||
start
|
||||
[-d <val>] Select Serial Device
|
||||
values: <file:dev>, default: /dev/ttyS6
|
||||
[-t <val>] Scanning timeout [s] (default: no timeout)
|
||||
default: 0
|
||||
[-m <val>] Select protocol (default: auto-detect)
|
||||
values: sport|sport_single|sport_single_invert|dtype, default:
|
||||
auto
|
||||
|
||||
stop
|
||||
|
||||
status
|
||||
```
|
||||
## mavlink
|
||||
Source: [modules/mavlink](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules/mavlink)
|
||||
|
||||
|
||||
### Description
|
||||
This module implements the MAVLink protocol, which can be used on a Serial link or UDP network connection.
|
||||
It communicates with the system via uORB: some messages are directly handled in the module (eg. mission
|
||||
protocol), others are published via uORB (eg. vehicle_command).
|
||||
|
||||
Streams are used to send periodic messages with a specific rate, such as the vehicle attitude.
|
||||
When starting the mavlink instance, a mode can be specified, which defines the set of enabled streams with their rates.
|
||||
For a running instance, streams can be configured via `mavlink stream` command.
|
||||
|
||||
There can be multiple independent instances of the module, each connected to one serial device or network port.
|
||||
|
||||
### Implementation
|
||||
The implementation uses 2 threads, a sending and a receiving thread. The sender runs at a fixed rate and dynamically
|
||||
reduces the rates of the streams if the combined bandwidth is higher than the configured rate (`-r`) or the
|
||||
physical link becomes saturated. This can be checked with `mavlink status`, see if `rate mult` is less than 1.
|
||||
|
||||
**Careful**: some of the data is accessed and modified from both threads, so when changing code or extend the
|
||||
functionality, this needs to be take into account, in order to avoid race conditions and corrupt data.
|
||||
|
||||
### Examples
|
||||
Start mavlink on ttyS1 serial with baudrate 921600 and maximum sending rate of 80kB/s:
|
||||
```
|
||||
mavlink start -d /dev/ttyS1 -b 921600 -m onboard -r 80000
|
||||
```
|
||||
|
||||
Start mavlink on UDP port 14556 and enable the HIGHRES_IMU message with 50Hz:
|
||||
```
|
||||
mavlink start -u 14556 -r 1000000
|
||||
mavlink stream -u 14556 -s HIGHRES_IMU -r 50
|
||||
```
|
||||
|
||||
<a id="mavlink_usage"></a>
|
||||
### Usage
|
||||
```
|
||||
mavlink <command> [arguments...]
|
||||
Commands:
|
||||
start Start a new instance
|
||||
[-d <val>] Select Serial Device
|
||||
values: <file:dev>, default: /dev/ttyS1
|
||||
[-b <val>] Baudrate (can also be p:<param_name>)
|
||||
default: 57600
|
||||
[-r <val>] Maximum sending data rate in B/s (if 0, use baudrate / 20)
|
||||
default: 0
|
||||
[-p] Enable Broadcast
|
||||
[-u <val>] Select UDP Network Port (local)
|
||||
default: 14556
|
||||
[-o <val>] Select UDP Network Port (remote)
|
||||
default: 14550
|
||||
[-t <val>] Partner IP (broadcasting can be enabled via -p flag)
|
||||
default: 127.0.0.1
|
||||
[-m <val>] Mode: sets default streams and rates
|
||||
values: custom|camera|onboard|osd|magic|config|iridium|minimal|
|
||||
extvision|extvisionmin|gimbal|uavionix, default: normal
|
||||
[-n <val>] wifi/ethernet interface name
|
||||
values: <interface_name>
|
||||
[-c <val>] Multicast address (multicasting can be enabled via
|
||||
MAV_{i}_BROADCAST param)
|
||||
values: Multicast address in the range
|
||||
[239.0.0.0,239.255.255.255]
|
||||
[-F <val>] Sets the transmission frequency for iridium mode
|
||||
default: 0.0
|
||||
[-f] Enable message forwarding to other Mavlink instances
|
||||
[-w] Wait to send, until first message received
|
||||
[-x] Enable FTP
|
||||
[-z] Force hardware flow control always on
|
||||
[-Z] Force hardware flow control always off
|
||||
|
||||
stop-all Stop all instances
|
||||
|
||||
stop Stop a running instance
|
||||
[-u <val>] Select Mavlink instance via local Network Port
|
||||
[-d <val>] Select Mavlink instance via Serial Device
|
||||
values: <file:dev>
|
||||
|
||||
status Print status for all instances
|
||||
[streams] Print all enabled streams
|
||||
|
||||
stream Configure the sending rate of a stream for a running instance
|
||||
[-u <val>] Select Mavlink instance via local Network Port
|
||||
[-d <val>] Select Mavlink instance via Serial Device
|
||||
values: <file:dev>
|
||||
-s <val> Mavlink stream to configure
|
||||
-r <val> Rate in Hz (0 = turn off, -1 = set to default)
|
||||
|
||||
boot_complete Enable sending of messages. (Must be) called as last step in
|
||||
startup script.
|
||||
```
|
||||
## uorb
|
||||
Source: [systemcmds/uorb](https://github.com/PX4/PX4-Autopilot/tree/main/src/systemcmds/uorb)
|
||||
|
||||
|
||||
### Description
|
||||
uORB is the internal pub-sub messaging system, used for communication between modules.
|
||||
|
||||
### Implementation
|
||||
The implementation is asynchronous and lock-free, ie. a publisher does not wait for a subscriber and vice versa.
|
||||
This is achieved by having a separate buffer between a publisher and a subscriber.
|
||||
|
||||
The code is optimized to minimize the memory footprint and the latency to exchange messages.
|
||||
|
||||
Messages are defined in the `/msg` directory. They are converted into C/C++ code at build-time.
|
||||
|
||||
If compiled with ORB_USE_PUBLISHER_RULES, a file with uORB publication rules can be used to configure which
|
||||
modules are allowed to publish which topics. This is used for system-wide replay.
|
||||
|
||||
### Examples
|
||||
Monitor topic publication rates. Besides `top`, this is an important command for general system inspection:
|
||||
```
|
||||
uorb top
|
||||
```
|
||||
|
||||
<a id="uorb_usage"></a>
|
||||
### Usage
|
||||
```
|
||||
uorb <command> [arguments...]
|
||||
Commands:
|
||||
status Print topic statistics
|
||||
|
||||
top Monitor topic publication rates
|
||||
[-a] print all instead of only currently publishing topics with
|
||||
subscribers
|
||||
[-1] run only once, then exit
|
||||
[<filter1> [<filter2>]] topic(s) to match (implies -a)
|
||||
```
|
||||
Reference in New Issue
Block a user