mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-22 22:32:11 +08:00
Link fixes galore (#25151)
This commit is contained in:
+3
-9
@@ -1,9 +1,7 @@
|
||||
- [Introduction](index.md)
|
||||
|
||||
- [Basic Concepts](getting_started/px4_basic_concepts.md)
|
||||
|
||||
- [Multicopters](frames_multicopter/index.md)
|
||||
|
||||
- [Features](features_mc/index.md)
|
||||
- [Flight Modes](flight_modes_mc/index.md)
|
||||
- [Position Mode (MC)](flight_modes_mc/position.md)
|
||||
@@ -57,7 +55,6 @@
|
||||
- [DJI F450 (CUAV v5 nano)](frames_multicopter/dji_f450_cuav_5nano.md)
|
||||
|
||||
- [Planes (Fixed-Wing)](frames_plane/index.md)
|
||||
|
||||
- [Assembly](assembly/assembly_fw.md)
|
||||
- [Config/Tuning](config_fw/index.md)
|
||||
- [Auto-tune](config/autotune_fw.md)
|
||||
@@ -85,7 +82,6 @@
|
||||
- [Wing Wing Z84 (Pixracer)](frames_plane/wing_wing_z84.md)
|
||||
|
||||
- [VTOL](frames_vtol/index.md)
|
||||
|
||||
- [Assembly](assembly/assembly_vtol.md)
|
||||
- [VTOL Config/Tuning](config_vtol/index.md)
|
||||
- [Auto-tune](config/autotune_vtol.md)
|
||||
@@ -110,7 +106,6 @@
|
||||
- [Complete Vehicles](complete_vehicles_vtol/index.md)
|
||||
|
||||
- [Operations](config/operations.md)
|
||||
|
||||
- [Safety](config/safety_intro.md)
|
||||
- [Safety Configuration (Failsafes)](config/safety.md)
|
||||
- [Failsafe Simulation](config/safety_simulation.md)
|
||||
@@ -131,7 +126,6 @@
|
||||
- [QGroundControl Flight-Readiness Status](flying/pre_flight_checks.md)
|
||||
|
||||
- [Hardware Selection & Setup](hardware/drone_parts.md)
|
||||
|
||||
- [Flight Controllers (Autopilots)](flight_controller/index.md)
|
||||
- [Flight Controller Selection](getting_started/flight_controller_selection.md)
|
||||
- [Pixhawk Series](flight_controller/pixhawk_series.md)
|
||||
@@ -174,7 +168,6 @@
|
||||
- [Wiring Quickstart](assembly/quick_start_cuav_v5_plus.md)
|
||||
- [CUAV V5 nano (FMUv5)](flight_controller/cuav_v5_nano.md)
|
||||
- [CUAV V5 nano Wiring Quickstart](assembly/quick_start_cuav_v5_nano.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](flight_controller/pixhack_v3.md)
|
||||
- [CubePilot Cube Orange+ (CubePilot)](flight_controller/cubepilot_cube_orangeplus.md)
|
||||
- [CubePilot Cube Orange (CubePilot)](flight_controller/cubepilot_cube_orange.md)
|
||||
- [CubePilot Cube Yellow (CubePilot)](flight_controller/cubepilot_cube_yellow.md)
|
||||
@@ -209,6 +202,7 @@
|
||||
- [Bitcraze Crazyflie 2.0 ](complete_vehicles_mc/crazyflie2.md)
|
||||
- [Aerotenna OcPoC-Zynq Mini](flight_controller/ocpoc_zynq.md)
|
||||
- [CUAV v5](flight_controller/cuav_v5.md)
|
||||
- [CUAV Pixhack v3 (FMUv3)](flight_controller/pixhack_v3.md)
|
||||
- [Holybro Kakute F7](flight_controller/kakutef7.md)
|
||||
- [Holybro Pixfalcon](flight_controller/pixfalcon.md)
|
||||
- [Holybro pix32 (FMUv2)](flight_controller/holybro_pix32.md)
|
||||
@@ -336,6 +330,7 @@
|
||||
- [FrSky Telemetry](peripherals/frsky_telemetry.md)
|
||||
- [TBS Crossfire (CRSF) Telemetry](telemetry/crsf_telemetry.md)
|
||||
- [Satellite Comms (Iridium/RockBlock)](advanced_features/satcom_roadblock.md)
|
||||
|
||||
- [Power Systems](power_systems/index.md)
|
||||
- [Battery Estimation Tuning](config/battery.md)
|
||||
- [Battery Chemistry Overview](power_systems/battery_chemistry.md)
|
||||
@@ -402,7 +397,6 @@
|
||||
- [Full Parameter Reference](advanced_config/parameter_reference.md)
|
||||
|
||||
- [Other Vehicles](airframes/index.md)
|
||||
|
||||
- [Airships (experimental)](frames_airship/index.md)
|
||||
- [Autogyros (experimental)](frames_autogyro/index.md)
|
||||
- [ThunderFly Auto-G2 (Holybro pix32)](frames_autogyro/thunderfly_auto_g2.md)
|
||||
@@ -763,7 +757,7 @@
|
||||
- [Debugging with GDB](debug/gdb_debugging.md)
|
||||
- [SWD Debug Port](debug/swd_debug.md)
|
||||
- [JLink Probe](debug/probe_jlink.md)
|
||||
- [Black Magic/DroneCode Probe](debug/probe_bmp.md)
|
||||
- [Black Magic/Zubax BugFace BF1 Probe](debug/probe_bmp.md)
|
||||
- [STLink Probe](debug/probe_stlink.md)
|
||||
- [MCU-Link Probe](debug/probe_mculink.md)
|
||||
- [Hardfault Debugging](debug/gdb_hardfault.md)
|
||||
|
||||
@@ -39,7 +39,7 @@ The u-blox U-Center RTK module configuration tool is not needed/used!
|
||||
:::
|
||||
|
||||
::: info
|
||||
Both _QGroundControl_ and the autopilot firmware share the same [PX4 GPS driver stack](https://github.com/PX4/GpsDrivers).
|
||||
Both _QGroundControl_ and the autopilot firmware share the same [PX4 GPS driver stack](https://github.com/PX4/PX4-GPSDrivers).
|
||||
In practice, this means that support for new protocols and/or messages only need to be added to one place.
|
||||
:::
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ arm-none-eabi-objcopy -O ihex build/px4_fmu-v6x_bootloader/px4_fmu-v6x_bootloade
|
||||
|
||||
### PX4 Bootloader FMUv5X and earlier
|
||||
|
||||
PX4 boards up to FMUv5X (before STM32H7) used the [PX4 bootloader](https://github.com/PX4/Bootloader) repository.
|
||||
PX4 boards up to FMUv5X (before STM32H7) used the [PX4 bootloader](https://github.com/PX4/PX4-Bootloader) repository.
|
||||
|
||||
The instructions in the repo README explain how to use it.
|
||||
|
||||
@@ -86,7 +86,6 @@ The following steps explain how you can "manually" update the bootloader using a
|
||||
2. Get a [Debug Probe](../debug/swd_debug.md#debug-probes-for-px4-hardware).
|
||||
Connect the probe your PC via USB and setup the `gdbserver`.
|
||||
3. Go into the directory containing the binary and run the command for your target bootloader in the terminal:
|
||||
|
||||
- FMUv6X
|
||||
|
||||
```sh
|
||||
@@ -140,7 +139,7 @@ The following steps explain how you can "manually" update the bootloader using a
|
||||
7. Power on the Pixhawk with another USB cable and connect the probe to the `FMU-DEBUG` port.
|
||||
|
||||
::: info
|
||||
If using a Dronecode probe you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver).
|
||||
If using a Zubax BugFace BF1 you may need to remove the case in order to connect to the `FMU-DEBUG` port (e.g. on Pixhawk 4 you would do this using a T6 Torx screwdriver).
|
||||
:::
|
||||
|
||||
8. Use the following command to scan for the Pixhawk`s SWD and connect to it:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
This page documents how to flash the PX4 bootloader onto boards that are already flashed with Betaflight (e.g. [OmnibusF4 SD](../flight_controller/omnibus_f4_sd.md) or [Kakute F7](../flight_controller/kakutef7.md)).
|
||||
|
||||
There are three tools that can be used to flash the PX4 bootloader: _Betaflight Configurator_, [dfu-util](http://dfu-util.sourceforge.net/) command line tool, or the graphical [dfuse](https://www.st.com/en/development-tools/stsw-stm32080.html) (Windows only).
|
||||
There are three tools that can be used to flash the PX4 bootloader: _Betaflight Configurator_, [dfu-util](https://dfu-util.sourceforge.net/) command line tool, or the graphical [dfuse](https://www.st.com/en/development-tools/stsw-stm32080.html) (Windows only).
|
||||
|
||||
::: info
|
||||
The _Betaflight Configurator_ is easiest, but newer versions may not support non-betaflight bootloader update.
|
||||
@@ -22,7 +22,7 @@ To install the PX4 bootloader using the _Betaflight Configurator_:
|
||||
1. Download the [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases) for your platform.
|
||||
|
||||
:::tip
|
||||
If using the _Chrome_ web browser, a simple cross-platform alternative is to install the configurator as an [extension from here](https://chrome.google.com/webstore/detail/betaflight-configurator/kdaghagfopacdngbohiknlhcocjccjao).
|
||||
If using the _Chrome_ web browser, a simple cross-platform alternative is to install the configurator as an [extension from here](https://chromewebstore.google.com/detail/betaflight-configurator/kdaghagfopacdngbohiknlhcocjccjao?pli=1).
|
||||
:::
|
||||
|
||||
1. Connect the board to your PC and start the Configurator.
|
||||
@@ -34,7 +34,7 @@ You should now be able to install PX4 firmware on the board.
|
||||
|
||||
## DFU Bootloader Update
|
||||
|
||||
This section explains how to flash the PX4 bootloader using the [dfu-util](http://dfu-util.sourceforge.net/) or the graphical [dfuse](https://www.st.com/en/development-tools/stsw-stm32080.html) tool (Windows only).
|
||||
This section explains how to flash the PX4 bootloader using the [dfu-util](https://dfu-util.sourceforge.net/) or the graphical [dfuse](https://www.st.com/en/development-tools/stsw-stm32080.html) tool (Windows only).
|
||||
|
||||
You will first need to download or build [bootloader firmware](#bootloader-firmware) for the board you want to flash (below, this is referred to as `<target.bin>`).
|
||||
|
||||
@@ -114,10 +114,10 @@ cd PX4-Autopilot
|
||||
make <target> # For example: holybro_kakuteh7mini_bootloader
|
||||
```
|
||||
|
||||
For other flight controllers download the [PX4/Bootloader](https://github.com/PX4/Bootloader) repository and build the source code using the appropriate targets:
|
||||
For other flight controllers download the [PX4/Bootloader](https://github.com/PX4/PX4-Bootloader) repository and build the source code using the appropriate targets:
|
||||
|
||||
```
|
||||
git clone --recursive https://github.com/PX4/Bootloader.git
|
||||
git clone --recursive https://github.com/PX4/PX4-Bootloader.git
|
||||
cd Bootloader
|
||||
make <target> # For example: omnibusf4sd_bl or kakutef7_bl
|
||||
```
|
||||
|
||||
@@ -105,7 +105,7 @@ You also need to [configure the Ethernet port](#px4-mavlink-serial-port-configur
|
||||
If you're using Ubuntu for your ground station (or companion computer) then you can use [netplan](https://netplan.io/) to configure the network.
|
||||
|
||||
Below we show how you write a setup to the netplan configuration file "`/etc/netplan/01-network-manager-all.yaml`", which would run on the same network as used by the PX4 setup above.
|
||||
Note that there are many more [examples](https://netplan.io/examples/) and instructions in the [netplan](https://netplan.io/) documentation.
|
||||
Note that there are many more [examples](https://github.com/canonical/netplan/tree/main/examples) and instructions in the [netplan](https://netplan.io/) documentation.
|
||||
|
||||
To setup the Ubuntu Computer:
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ Arming is prevented if:
|
||||
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
|
||||
- Many more (see [arming/disarming safety settings](../config/safety.md#arming-disarming-settings) for more information).
|
||||
|
||||
The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Arming and Preflight Checks](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view.md#arm)).
|
||||
The current failed checks can be viewed in QGroundControl (v4.2.0 and later) [Arming Check Report](../flying/pre_flight_checks.md#qgc-arming-check-report) (see also [Fly View > Toolbar > Flight Status](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/fly_view/fly_view_toolbar.html#flight-status)).
|
||||
|
||||
Note that internally PX4 runs arming checks at 10Hz.
|
||||
A list of the failed checks is kept, and if the list changes PX4 emits the current list using the [Events interface](../concept/events_interface.md).
|
||||
@@ -155,7 +155,6 @@ The default startup sequence is:
|
||||
- System now prearmed: non-throttling actuators can move (e.g. ailerons).
|
||||
- System safety is off: Arming possible.
|
||||
1. Arm command is issued.
|
||||
|
||||
- The system is armed.
|
||||
- All motors and actuators can move.
|
||||
|
||||
@@ -173,7 +172,6 @@ The startup sequence is:
|
||||
- _All actuators stay locked into disarmed position (same as disarmed)._
|
||||
- System safety is off: Arming possible.
|
||||
1. Arm command is issued.
|
||||
|
||||
- The system is armed.
|
||||
- All motors and actuators can move.
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@ For more details about the configuration of height sources, [click here](#height
|
||||
|
||||
#### Yaw Measurements
|
||||
|
||||
Some GPS receivers such as the [Trimble MB-Two RTK GPS receiver](https://www.trimble.com/Precision-GNSS/MB-Two-Board.aspx) can be used to provide a heading measurement that replaces the use of magnetometer data.
|
||||
Some GPS receivers such as the [Trimble MB-Two RTK GPS receiver](https://oemgnss.trimble.com/en/products/receiver-modules/mb-two) can be used to provide a heading measurement that replaces the use of magnetometer data.
|
||||
This can be a significant advantage when operating in an environment where large magnetic anomalies are present, or at latitudes here the earth's magnetic field has a high inclination.
|
||||
Use of GPS yaw measurements is enabled by setting bit position 3 to 1 (adding 8) in the [EKF2_GPS_CTRL](../advanced_config/parameter_reference.md#EKF2_GPS_CTRL) parameter.
|
||||
|
||||
@@ -536,9 +536,9 @@ When this has been done, the performance metadata files can be processed to prov
|
||||
|
||||
### Output Data
|
||||
|
||||
- Attitude output data is found in the [VehicleAttitude](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg) message.
|
||||
- Local position output data is found in the [VehicleLocalPosition](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg) message.
|
||||
- Global \(WGS-84\) output data is found in the [VehicleGlobalPosition](https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg) message.
|
||||
- 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.
|
||||
|
||||
### States
|
||||
|
||||
@@ -102,10 +102,10 @@ At time of writing is no _convenient_ way to directly invoke precision landing (
|
||||
|
||||
### IR Sensor/Beacon Setup
|
||||
|
||||
The IR sensor/landing beacon solution requires an [IR-LOCK Sensor](https://irlock.com/products/ir-lock-sensor-precision-landing-kit) and downward facing [distance sensor](../sensor/rangefinders.md) connected to the flight controller, and an IR beacon as a target (e.g. [IR-LOCK MarkOne](https://irlock.com/collections/markone)).
|
||||
The IR sensor/landing beacon solution requires an [IR-LOCK Sensor](https://irlock.com/products/ir-lock-sensor-precision-landing-kit) and downward facing [distance sensor](../sensor/rangefinders.md) connected to the flight controller, and an IR beacon as a target (e.g. [IR-LOCK MarkOne](https://irlock.com/collections/ir-markers)).
|
||||
This enables landing with a precision of roughly 10 cm (GPS precision, by contrast, may be as large as several meters).
|
||||
|
||||
Install the IR-LOCK sensor by following the [official guide](https://irlock.readme.io/v2.0/docs).
|
||||
Install the IR-LOCK sensor by following the [official guide](https://irlock.readme.io/docs/getting-started).
|
||||
Ensure that the sensor's x axis is aligned with the vehicle's y axis and the sensor's y axis aligned with the vehicle's -x direction (this is the case if the camera is pitched down 90 degrees from facing forward).
|
||||
|
||||
Install a [range/distance sensor](../sensor/rangefinders.md) (the _LidarLite v3_ has been found to work well).
|
||||
|
||||
@@ -9,7 +9,7 @@ Given good signal quality, users can expect a latency between 10 to 15 seconds.
|
||||
|
||||
The following components are needed for the satellite communication link:
|
||||
|
||||
- A [RockBlock 9603 Iridium Satellite Modem](https://www.iridium.com/products/rock-seven-rockblock-9603/) module connected to a Pixhawk flashed with the PX4 Autopilot.
|
||||
- A [RockBlock 9603 Iridium Satellite Modem](https://www.iridium.com/products/ground-control-rockblock-9603/) module connected to a Pixhawk flashed with the PX4 Autopilot.
|
||||
- A message relay server running Ubuntu Linux.
|
||||
- A ground station computer running _QGroundControl_ on Ubuntu Linux
|
||||
|
||||
@@ -21,7 +21,7 @@ The full system architecture is shown below:
|
||||
The setup was tested with the current release of _QGroundControl_ running on Ubuntu 14.04 and 16.04.
|
||||
|
||||
- It may be possible to run the system on other ground stations and operating systems, but this has not been tested (and is not guaranteed to work).
|
||||
- The [RockBlock MK2](https://www.groundcontrol.com/us/product/rockblock-9602-satellite-modem/) module can also be used.
|
||||
- The [RockBlock MK2](https://www.groundcontrol.com/product/rockblock-9602-satellite-modem/) module can also be used.
|
||||
The RockBlock 9603 module is recommended because it is smaller and lighter, while providing the same functionality.
|
||||
|
||||
:::
|
||||
@@ -34,7 +34,7 @@ The UK link running cost consists of a line rental and per message cost:
|
||||
- Each message transmitted over the system costs one _credit_ per 50 bytes.
|
||||
Bundles of credits can be bought from RockBlock for £0.04-£0.11 per credit, depending on the bundle size.
|
||||
|
||||
Refer to the [RockBlock Documentation](https://docs.rockblock.rock7.com/docs) for a detailed explanation of the modules, running costs and _RockBlock_ in general.
|
||||
Refer to the [RockBlock Documentation](https://docs.groundcontrol.com/iot/rockblock) for a detailed explanation of the modules, running costs and _RockBlock_ in general.
|
||||
|
||||
## Vehicle Setup
|
||||
|
||||
@@ -43,15 +43,15 @@ Refer to the [RockBlock Documentation](https://docs.rockblock.rock7.com/docs) fo
|
||||
Connect the RockBlock module to a serial port of the Pixhawk.
|
||||
Due to the power requirements of the module it can only be powered over a high-power serial port as a maximum of 0.5 A at 5 V are required.
|
||||
If none is available/free then another power source which has the same ground level as the Pixhawk and can provide required power has to be setup.
|
||||
The details of the [connectors](https://docs.rockblock.rock7.com/docs/connectors) and the [power requirements](https://docs.rockblock.rock7.com/docs/power-supply) can be found in the RockBlock documentation.
|
||||
The details of the [connectors](https://docs.groundcontrol.com/iot/rockblock/specification/connectors-wiring) and the [power requirements](https://docs.groundcontrol.com/iot/rockblock/electrical) can be found in the RockBlock documentation.
|
||||
|
||||
### Module
|
||||
|
||||
The module can either use the internal antenna or an external one connected to the SMA connector.
|
||||
To [switch between the two antennas modes](https://docs.rockblock.rock7.com/docs/switching-rockblock-9603-antenna-mode) the position of a small RF link cable needs to changed.
|
||||
To [switch between the two antennas modes](https://docs.groundcontrol.com/iot/rockblock/user-manual/9603-atenna-mode) the position of a small RF link cable needs to changed.
|
||||
If an external antenna is used always make sure that the antenna is connected to the module before powering it up to avoid damage to the module.
|
||||
|
||||
The default baud rate of the module is 19200. However, the PX4 _iridiumsbd_ driver requires a baud rate of 115200 so it needs to be changed using the [AT commands](https://www.groundcontrol.com/en/wp-content/uploads/2022/02/IRDM_ISU_ATCommandReferenceMAN0009_Rev2.0_ATCOMM_Oct2012.pdf).
|
||||
The default baud rate of the module is 19200. However, the PX4 _iridiumsbd_ driver requires a baud rate of 115200 so it needs to be changed using the [AT commands](https://www.groundcontrol.com/wp-content/uploads/2022/02/IRDM_ISU_ATCommandReferenceMAN0009_Rev2.0_ATCOMM_Oct2012.pdf).
|
||||
|
||||
1. Connect to the module with using a 19200/8-N-1 setting and check if the communication is working using the command: `AT`.
|
||||
The response should be: `OK`.
|
||||
@@ -100,7 +100,6 @@ Set up a delivery group for the message relay server and add the module to that
|
||||
The relay server should be run on either Ubuntu 16.04 or 14.04 OS.
|
||||
|
||||
1. The server working as a message relay should have a static IP address and two publicly accessible, open, TCP ports:
|
||||
|
||||
- `5672` for the _RabbitMQ_ message broker (can be changed in the _rabbitmq_ settings)
|
||||
- `45679` for the HTTP POST interface (can be changed in the **relay.cfg** file)
|
||||
|
||||
@@ -123,7 +122,7 @@ The relay server should be run on either Ubuntu 16.04 or 14.04 OS.
|
||||
sudo rabbitmqctl set_permissions iridiumsbd ".*" ".*" ".*"
|
||||
```
|
||||
|
||||
1. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure.git) repository:
|
||||
1. Clone the [SatComInfrastructure](https://github.com/acfloria/SatComInfrastructure) repository:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/acfloria/SatComInfrastructure.git
|
||||
@@ -189,7 +188,6 @@ To setup the ground station:
|
||||
1. Edit the **udp2rabbit.cfg** configuration file to reflect your settings.
|
||||
1. [Install _QGroundControl_](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html) (daily build).
|
||||
1. Add a UDP connection in QGC with the parameters:
|
||||
|
||||
- Listening port: 10000
|
||||
- Target hosts: 127.0.0.1:10001
|
||||
- High Latency: checked
|
||||
@@ -236,7 +234,6 @@ If in the terminal where the `udp2rabbit.py` script is running within a couple o
|
||||
|
||||
1. The satellite communication system is now ready to use.
|
||||
The priority link, which is the link over which commands are send, is determined the following ways:
|
||||
|
||||
- If no link is commanded by the user a regular radio telemetry link is preferred over the high latency link.
|
||||
- The autopilot and QGC will fall back from the regular radio telemetry to the high latency link if the vehicle is armed and the radio telemetry link is lost (no MAVLink messages received for a certain time).
|
||||
As soon as the radio telemetry link is regained QGC and the autopilot will switch back to it.
|
||||
@@ -250,7 +247,6 @@ If in the terminal where the `udp2rabbit.py` script is running within a couple o
|
||||
- Satellite communication messages from the airplane are received but no commands can be transmitted (the vehicle does not react)
|
||||
- Check the settings of the relay server and make sure that they are correct, especially the IMEI.
|
||||
- No satellite communication messages from the airplane arrive on the ground station:
|
||||
|
||||
- Check using the system console if the _iridiumsbd_ driver started and if it did that a signal from any satellite is received by the module:
|
||||
|
||||
```sh
|
||||
@@ -261,7 +257,6 @@ If in the terminal where the `udp2rabbit.py` script is running within a couple o
|
||||
- Check if the link is connected and that its settings are correct.
|
||||
|
||||
- The IridiumSBD driver does not start:
|
||||
|
||||
- Reboot the vehicle.
|
||||
If that helps increase the sleep time in the `extras.txt` before the driver is started.
|
||||
If that does not help make sure that the Pixhawk and the module have the same ground level. Confirm also that the baudrate of the module is set to 115200.
|
||||
|
||||
@@ -54,7 +54,7 @@ The GPS/Compass module should be [mounted on the frame](../assembly/mount_gps_co
|
||||
Connect to the flight control GPS interface using a cable.
|
||||
|
||||
::: info
|
||||
If you use the [NEO V2 PRO GNSS (CAN GPS)](http://doc.cuav.net/gps/neo-series-gnss/en/neo-v2-pro.html), please use the cable to connect to the flight control CAN interface.
|
||||
If you use the [NEO V2 PRO GNSS (CAN GPS)](https://doc.cuav.net/gps/neo-series-gnss/en/neo-v2-pro.html), please use the cable to connect to the flight control CAN interface.
|
||||
:::
|
||||
|
||||

|
||||
@@ -130,7 +130,7 @@ Download **V5+** pinouts from [here](http://manual.cuav.net/V5-Plus.pdf).
|
||||
|
||||
- [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+ docs](http://doc.cuav.net/flight-controller/v5-autopilot/en/v5+.html) (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)
|
||||
- [Base board design reference](https://github.com/cuav/hardware/tree/master/V5_Autopilot/V5%2B/V5%2BBASE) (CUAV)
|
||||
|
||||
@@ -13,7 +13,7 @@ This quick start guide shows how to power the _Cube_<sup>®</sup> flight cont
|
||||
|
||||
:::tip
|
||||
The instructions apply to all Cube variants, including [Cube Black](../flight_controller/pixhawk-2.md), [Cube Yellow](../flight_controller/cubepilot_cube_yellow.md) and [Cube Orange](../flight_controller/cubepilot_cube_orange.md).
|
||||
Further/updated information may be available in the [Cube User Manual](https://docs.cubepilot.org/user-guides/autopilot/the-cube-user-manual) (Cube Docs).
|
||||
Further/updated information may be available in the [Cube User Manual](https://docs.cubepilot.org/user-guides/autopilot/the-cube) (Cube Docs).
|
||||
:::
|
||||
|
||||
## Accessories
|
||||
@@ -193,7 +193,7 @@ If connecting peripherals to the port labeled `GPS2`, assign the PX4 [serial por
|
||||
|
||||
## Configuration
|
||||
|
||||
Configuration is performed using [QGroundContro](http://qgroundcontrol.com/).
|
||||
Configuration is performed using [QGroundContro](https://qgroundcontrol.com/).
|
||||
|
||||
After downloading, installing and running _QGroundControl_, connect the board to your computer as shown.
|
||||
|
||||
@@ -218,6 +218,5 @@ To use this feature de-power the Cube, hold down the safety switch, then power t
|
||||
- [Cube Yellow](../flight_controller/cubepilot_cube_yellow.md)
|
||||
- [Cube Orange](../flight_controller/cubepilot_cube_orange.md)
|
||||
- Cube Docs (Manufacturer):
|
||||
- [Cube Module Overview](https://docs.cubepilot.org/user-guides/autopilot/the-cube-module-overview)
|
||||
- [Cube User Manual](https://docs.cubepilot.org/user-guides/autopilot/the-cube-user-manual)
|
||||
- [Cube User Guide](https://docs.cubepilot.org/user-guides/autopilot/the-cube)
|
||||
- [Mini Carrier Board](https://docs.cubepilot.org/user-guides/carrier-boards/mini-carrier-board)
|
||||
|
||||
@@ -147,7 +147,7 @@ The instructions below show how to connect the different types of receivers to _
|
||||
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
@@ -213,6 +213,6 @@ QuadPlane specific configuration is covered here: [QuadPlane VTOL Configuration]
|
||||
|
||||
- [Durandal Overview](../flight_controller/durandal.md)
|
||||
- [Durandal Technical Data Sheet](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Durandal_technical_data_sheet_90f8875d-8035-4632-a936-a0d178062077.pdf) (Holybro)
|
||||
- [Durandal Pinouts](https://holybro.com/collections/autopilot-flight-controllers/products/Durandal-Pinouts) (Holybro)
|
||||
- [Durandal_MB_H743sch.pdf](https://github.com/PX4/PX4-user_guide/raw/main/assets/flight_controller/durandal/Durandal_MB_H743sch.pdf) (Durandal Schematics)
|
||||
- [STM32H743IIK_pinout.pdf](https://github.com/PX4/PX4-user_guide/raw/main/assets/flight_controller/durandal/STM32H743IIK_pinout.pdf) (Durandal Pinmap)
|
||||
- [Durandal Pinouts](https://cdn.shopifycdn.net/s/files/1/0604/5905/7341/files/Durandal_Pinouts_v1.0.pdf?v=1693983344) (Holybro)
|
||||
- [Durandal_MB_H743sch.pdf](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/flight_controller/durandal/Durandal_MB_H743sch.pdf) (Durandal Schematics)
|
||||
- [STM32H743IIK_pinout.pdf](https://github.com/PX4/PX4-Autopilot/raw/main/docs/assets/flight_controller/durandal/STM32H743IIK_pinout.pdf) (Durandal Pinmap)
|
||||
|
||||
@@ -123,7 +123,7 @@ The instructions below show how to connect the different types of receivers to _
|
||||
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
@@ -181,5 +181,5 @@ QuadPlane specific configuration is covered here: [QuadPlane VTOL Configuration]
|
||||
- [Pix32 v5 Technical Data Sheet](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Holybro_PIX32-V5_technical_data_sheet_v1.1.pdf)
|
||||
- [Pix32 v5 Pinouts](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Holybro_Pix32-V5-Base-Mini-Pinouts.pdf)
|
||||
- [Pix32 v5 Base Schematic Diagram](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Holybro_PIX32-V5-BASE-Schematic_diagram.pdf)
|
||||
- [Pix32 v5 Base Components Layout](https://holybro.com/manual/Holybro_PIX32-V5-BASE-ComponentsLayout.pdf)
|
||||
- [Pix32 v5 Base Components Layout](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Holybro_PIX32-V5-BASE-RC02-ComponentsLayout.pdf)
|
||||
- [FMUv5 reference design pinout](https://docs.google.com/spreadsheets/d/1-n0__BYDedQrc_2NHqBenG1DNepAgnHpSGglke-QQwY/edit#gid=912976165).
|
||||
|
||||
@@ -83,7 +83,7 @@ The instructions below show how to connect the different types of receivers to P
|
||||
- PPM-SUM and S.BUS receivers connect to the **RC** ground, power and signal pins as shown.
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ The instructions below show how to connect the different types of receivers to _
|
||||
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
@@ -178,7 +178,7 @@ The wiring and configuration of optional/less common components is covered withi
|
||||
|
||||
## Pinouts
|
||||
|
||||
[Pixhawk 4 Pinouts](https://holybro.com/manual/Pixhawk4-Pinouts.pdf) (Holybro)
|
||||
[Pixhawk 4 Pinouts](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Pixhawk4-Pinouts.pdf) (Holybro)
|
||||
|
||||
## Configuration
|
||||
|
||||
@@ -191,6 +191,6 @@ QuadPlane specific configuration is covered here: [QuadPlane VTOL Configuration]
|
||||
## Further information
|
||||
|
||||
- [Pixhawk 4](../flight_controller/pixhawk4.md) (Overview page)
|
||||
- [Pixhawk 4 Technical Data Sheet](https://github.com/PX4/PX4-user_guide/raw/main/assets/flight_controller/pixhawk4/pixhawk4_technical_data_sheet.pdf)
|
||||
- [Pixhawk 4 Pinouts](https://holybro.com/manual/Pixhawk4-Pinouts.pdf) (Holybro)
|
||||
- [Pixhawk 4 Technical Data Sheet](https://github.com/PX4/PX4-Autopilot/blob/main/docs/assets/flight_controller/pixhawk4/pixhawk4_technical_data_sheet.pdf)
|
||||
- [Pixhawk 4 Pinouts](https://cdn.shopify.com/s/files/1/0604/5905/7341/files/Pixhawk4-Pinouts.pdf) (Holybro)
|
||||
- [Pixhawk 4 Quick Start Guide (Holybro)](https://holybro.com/manual/Pixhawk4-quickstartguide.pdf)
|
||||
|
||||
@@ -107,7 +107,7 @@ The instructions below show how to connect the different types of receivers to _
|
||||
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **PPM RC** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ You will need to [select a compatible transmitter/receiver](../getting_started/r
|
||||
- Spektrum/DSM receivers connect to the **DSM/SBUS RC** input.
|
||||
- PPM or SBUS receivers connect to the **RC IN** input port.
|
||||
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC IN** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC IN** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ You will need to [select a compatible transmitter/receiver](../getting_started/r
|
||||
- Spektrum/DSM receivers connect to the **DSM** input.
|
||||
- PPM or SBUS receivers connect to the **PPM/SBUS** input port.
|
||||
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the *PPM/SBUS\*\* port *via a PPM encoder\* [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the *PPM/SBUS\*\* port *via a PPM encoder\* [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ You will need to [select a compatible transmitter/receiver](../getting_started/r
|
||||
- Spektrum/DSM receivers connect to the **DSM/SBUS RC** input.
|
||||
- PPM or SBUS receivers connect to the **RC IN** input port.
|
||||
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC IN** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RC IN** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
For more information about selecting a radio system, receiver compatibility, and binding your transmitter/receiver pair, see: [Remote Control Transmitters & Receivers](../getting_started/rc_transmitter_receiver.md).
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ The instructions below show how to connect the different types of receivers:
|
||||
|
||||

|
||||
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RCIN** port _via a PPM encoder_ [like this one](http://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
- PPM and PWM receivers that have an _individual wire for each channel_ must connect to the **RCIN** port _via a PPM encoder_ [like this one](https://www.getfpv.com/radios/radio-accessories/holybro-ppm-encoder-module.html) (PPM-Sum receivers use a single signal wire for all channels).
|
||||
|
||||
### Power Module (ACSP4)
|
||||
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
# Intel® RealSense™ Tracking Camera T265 (VIO)
|
||||
|
||||
The [Intel® RealSense™ Tracking Camera T265](https://www.intelrealsense.com/tracking-camera-t265/) provides odometry information that can be used for [VIO](../computer_vision/visual_inertial_odometry.md), augmenting or replacing other positioning systems on PX4.
|
||||
|
||||
:::tip
|
||||
This camera is recommended, and is used in the [Visual Inertial Odometry (VIO) > Suggested Setup](../computer_vision/visual_inertial_odometry.md#suggested-setup).
|
||||
This camera is discontinued.
|
||||
:::
|
||||
|
||||
The _Intel® RealSense™ Tracking Camera T265_ provides odometry information that can be used for [VIO](../computer_vision/visual_inertial_odometry.md), augmenting or replacing other positioning systems on PX4.
|
||||
|
||||
It is used in the [Visual Inertial Odometry (VIO) > Suggested Setup](../computer_vision/visual_inertial_odometry.md#suggested-setup).
|
||||
|
||||

|
||||
|
||||
## Where to Buy
|
||||
|
||||
[Intel® RealSense™ Tracking Camera T265](https://www.intelrealsense.com/tracking-camera-t265/) (store.intelrealsense.com)
|
||||
No longer available.
|
||||
|
||||
## Setup Instructions
|
||||
|
||||
|
||||
@@ -112,12 +112,12 @@ If it is your first time enabling the camera trigger app, remember to reboot aft
|
||||
|
||||
The camera trigger driver supports several backends - each for a specific application, controlled by the [TRIG_INTERFACE](../advanced_config/parameter_reference.md#TRIG_INTERFACE) parameter:
|
||||
|
||||
| Number | Description |
|
||||
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | Enables the GPIO interface. The AUX outputs are pulsed high or low (depending on the `TRIG_POLARITY` parameter) every [TRIG_INTERVAL](../advanced_config/parameter_reference.md#TRIG_INTERVAL) duration. This can be used to trigger most standard machine vision cameras directly. Note that on PX4FMU series hardware (Pixhawk, Pixracer, etc.), the signal level on the AUX pins is 3.3v. |
|
||||
| 2 | Enables the Seagull MAP2 interface. This allows the use of the [Seagull MAP2](http://www.seagulluav.com/product/seagull-map2/) to interface to a multitude of supported cameras. Pin/Channel 1 (camera trigger) and Pin/Channel 2 (mode selector) of the MAP2 should be connected to the lower and higher mapped [camera trigger pins](#trigger-output-pin-configuration). Using Seagull MAP2, PX4 also supports automatic power control and keep-alive functionalities of Sony Multiport cameras like the QX-1. |
|
||||
| 3 | This mode enables MAVLink cameras that used the legacy [MAVLink interface listed above](#mavlink-command-interface). The messages are automatically emitted on the MAVLink `onboard` channel when found in missions. PX4 emits the `CAMERA_TRIGGER` MAVLink message when a camera is triggered, by default to the `onboard` channel (if this is not used, custom stream will need to be enabled). [Simple MAVLink cameras](../camera/mavlink_v1_camera.md) explains this use case in more detail. |
|
||||
| 4 | Enables the generic PWM interface. This allows the use of [infrared triggers](https://hobbyking.com/en_us/universal-remote-control-infrared-shutter-ir-rc-1g.html) or servos to trigger your camera. |
|
||||
| Number | Description |
|
||||
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | Enables the GPIO interface. The AUX outputs are pulsed high or low (depending on the `TRIG_POLARITY` parameter) every [TRIG_INTERVAL](../advanced_config/parameter_reference.md#TRIG_INTERVAL) duration. This can be used to trigger most standard machine vision cameras directly. Note that on PX4FMU series hardware (Pixhawk, Pixracer, etc.), the signal level on the AUX pins is 3.3v. |
|
||||
| 2 | Enables the Seagull MAP2 interface. This allows the use of the [Seagull MAP2](https://www.seagulluav.com/product/seagull-map2/) to interface to a multitude of supported cameras. Pin/Channel 1 (camera trigger) and Pin/Channel 2 (mode selector) of the MAP2 should be connected to the lower and higher mapped [camera trigger pins](#trigger-output-pin-configuration). Using Seagull MAP2, PX4 also supports automatic power control and keep-alive functionalities of Sony Multiport cameras like the QX-1. |
|
||||
| 3 | This mode enables MAVLink cameras that used the legacy [MAVLink interface listed above](#mavlink-command-interface). The messages are automatically emitted on the MAVLink `onboard` channel when found in missions. PX4 emits the `CAMERA_TRIGGER` MAVLink message when a camera is triggered, by default to the `onboard` channel (if this is not used, custom stream will need to be enabled). [Simple MAVLink cameras](../camera/mavlink_v1_camera.md) explains this use case in more detail. |
|
||||
| 4 | Enables the generic PWM interface. This allows the use of [infrared triggers](https://hobbyking.com/en_us/universal-remote-control-infrared-shutter-ir-rc-1g.html) or servos to trigger your camera. |
|
||||
|
||||
### Trigger Output Pin Configuration
|
||||
|
||||
|
||||
@@ -137,9 +137,9 @@ Generic/extensible camera managers:
|
||||
- [MAVLink Camera Manager](https://github.com/mavlink/mavlink-camera-manager) - Extensible cross-platform MAVLink Camera Server built on top of GStreamer and Rust-MAVLink.
|
||||
- [Dronecode Camera Manager](https://camera-manager.dronecode.org/en/) - Adds Camera Protocol interface for cameras connected to Linux computer.
|
||||
|
||||
Camera-specfic camera managers:
|
||||
Camera-specific camera managers:
|
||||
|
||||
- [SIYI A8 mini camera manager](https://github.com/julianoes/siyi-a8-mini-camera-manager) - MAVSDK-plugin based camera manager for the [SIYI A8 mini](https://shop.siyi.biz/products/siyi-a8-mini) (includes tutorial).
|
||||
- [SIYI A8 mini camera manager](https://github.com/julianoes/siyi-a8-mini-camera-manager) - MAVSDK-plugin based camera manager for the [SIYI A8 mini](https://shop.siyi.biz/products/siyi-a8-mini-gimbal-camera) (includes tutorial).
|
||||
|
||||
::: tip
|
||||
This is a good example of how MAVSDK can be used to create a MAVLink camera protocol interface for a particular camera.
|
||||
@@ -149,6 +149,6 @@ When using a camera manager you connect the companion computer to the flight con
|
||||
|
||||
More information about camera manager and companion computer setups can be found in:
|
||||
|
||||
- [SIYI A8 mini camera manager](https://github.com/julianoes/siyi-a8-mini-camera-manager) - Tutorial for integrating with the [SIYI A8 mini](https://shop.siyi.biz/products/siyi-a8-mini) using a MAVSDK-based camera manager running on a Raspberry Pi companion computer.
|
||||
- [SIYI A8 mini camera manager](https://github.com/julianoes/siyi-a8-mini-camera-manager) - Tutorial for integrating with the [SIYI A8 mini](https://shop.siyi.biz/products/siyi-a8-mini-gimbal-camera) using a MAVSDK-based camera manager running on a Raspberry Pi companion computer.
|
||||
- [Using a Companion Computer with Pixhawk Controllers](../companion_computer/pixhawk_companion.md)
|
||||
- [Companion Computers > Companion Computer Software](../companion_computer/index.md#companion-computer-software): In particular note [MAVLink-Router](https://github.com/mavlink-router/mavlink-router), which you can setup to route MAVLink traffic between a serial port and an IP link (or other camera manager interface).
|
||||
|
||||
@@ -38,7 +38,7 @@ The following diagram shows an example of a CAN bus connecting a flight controll
|
||||
The diagram does not show any power wiring.
|
||||
Refer to your manufacturer instructions to confirm whether components require separate power or can be powered from the CAN bus itself.
|
||||
|
||||
For more information, see [Cyphal/CAN device interconnection](https://kb.zubax.com/pages/viewpage.action?pageId=2195476) (kb.zubax.com).
|
||||
For more information, see [Cyphal/CAN device interconnection](https://wiki.zubax.com/public/cyphal/CyphalCAN-device-interconnection?pageId=2195476) (kb.zubax.com).
|
||||
While the article is written with the Cyphal protocol in mind, it applies equally to DroneCAN hardware and any other CAN setup.
|
||||
For more advanced scenarios, consult with [On CAN bus topology and termination](https://forum.opencyphal.org/t/on-can-bus-topology-and-termination/1685).
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Auterion Skynode
|
||||
# Auterion Skynode X
|
||||
|
||||
[Skynode](https://auterion.com/product/skynode/) is a powerful flight computer that combines a mission computer, flight controller, video streaming, networking, and cellular connection, in a single tightly integrated device.
|
||||
[Skynode](https://auterion.com/product/skynode-x/) is a powerful flight computer that combines a mission computer, flight controller, video streaming, networking, and cellular connection, in a single tightly integrated device.
|
||||
|
||||

|
||||
|
||||
@@ -12,10 +12,11 @@ Auterion OS and Skynode allow seamless integration with Auterion's other softwar
|
||||
For information about Auterion and Skynode:
|
||||
|
||||
- [auterion.com](https://auterion.com/)
|
||||
- [Skynode](https://auterion.com/product/skynode/) (auterion.com)
|
||||
- [Skynode X](https://auterion.com/product/skynode-x/) (auterion.com)
|
||||
- Skynode Guides:
|
||||
- [Manufacturer's Guide](https://docs.auterion.com/manufacturers/getting-started/readme)
|
||||
- [App Developer's Guide](https://docs.auterion.com/developers/getting-started/readme)
|
||||
- [Vehicle Operation](https://docs.auterion.com/vehicle-operation/auterion-sign-up)
|
||||
- [App Development](https://docs.auterion.com/app-development/app-development)
|
||||
- [Hardware Integration](https://docs.auterion.com/app-development/app-development)
|
||||
|
||||
## Skynode with Vanilla PX4
|
||||
|
||||
@@ -34,7 +35,7 @@ Upstream PX4 will generally work, with the following caveats:
|
||||
|
||||
PX4 `px4_fmu-v5x` binaries for Skynode are built from source using the normal [developer environment](../dev_setup/dev_env.md) and [build commands](../dev_setup/building_px4.md), and are uploaded using either `upload_skynode_usb` or `upload_skynode_wifi` upload targets.
|
||||
|
||||
`upload_skynode_usb` and `upload_skynode_wifi` connect to Skynode via SSH over a network interface using the default (fixed) IP addresses for [USB](https://docs.auterion.com/manufacturers/avionics/skynode/advanced-configuration/connecting-to-skynode) and [WiFi](https://docs.auterion.com/manufacturers/avionics/skynode/advanced-configuration/configuration), and upload a TAR compressed binary to the mission computer.
|
||||
`upload_skynode_usb` and `upload_skynode_wifi` connect to Skynode via SSH over a network interface using the default (fixed) IP addresses for USB and WiFi, respectively (see [AuterionOS System Guide > Building and Flashing PX4 Firmware](https://docs.auterion.com/hardware-integration/auterionos-system-guide/flashing-px4-upstream-firmware)), and upload a TAR compressed binary to the mission computer.
|
||||
The mission computer then decompresses the binary and installs it to the flight controller.
|
||||
|
||||
::: info
|
||||
|
||||
@@ -30,7 +30,7 @@ A few "turnkey" options are listed below:
|
||||
[mro_usb_ftdi_serial_to_jst_gh]: https://store.mrobotics.io/USB-FTDI-Serial-to-JST-GH-p/mro-ftdi-jstgh01-mr.htm
|
||||
[sparkfun_ftdi basic_breakout]: https://www.sparkfun.com/products/9873
|
||||
|
||||
You can also use an off-the-shelf FTDI cable [like this one](https://www.sparkfun.com/products/9717) and connect it to flight controller using the appropriate header adaptor
|
||||
You can also use an off-the-shelf FTDI cable [like this one](https://www.sparkfun.com/ftdi-cable-5v-vcc-3-3v-i-o.html) and connect it to flight controller using the appropriate header adaptor
|
||||
(JST-GH connectors are specified in the Pixhawk standard, but you should confirm the connectors for your flight controller).
|
||||
|
||||
### Logic Level Shifters
|
||||
@@ -40,7 +40,7 @@ In order to resolve this, a level shifter can be implemented to safely convert t
|
||||
|
||||
Options include:
|
||||
|
||||
- [SparkFun Logic Level Converter - Bi-Directional](https://www.sparkfun.com/products/12009)
|
||||
- [SparkFun Logic Level Converter - Bi-Directional](https://www.sparkfun.com/sparkfun-logic-level-converter-bi-directional.html)
|
||||
- [4-channel I2C-safe Bi-directional Logic Level Converter - BSS138](https://www.adafruit.com/product/757)
|
||||
|
||||
## Cameras
|
||||
@@ -78,7 +78,7 @@ However NAT has no way to know where to direct the traffic from an arbitrary ext
|
||||
:::
|
||||
|
||||
A common approach is to set up a virtual private network between the companion and GCS computer (i.e. install a VPN system like [zerotier](https://www.zerotier.com/) on both computers).
|
||||
The companion then uses [mavlink-router](https://github.com/intel/mavlink-router) to route traffic between the serial interface (flight controller) and GCS computer on the VPN network.
|
||||
The companion then uses [mavlink-router](https://github.com/mavlink-router/mavlink-router) to route traffic between the serial interface (flight controller) and GCS computer on the VPN network.
|
||||
|
||||
This method has the benefit that the GCS computer address can be static within the VPN, so the configuration of the _mavlink router_ does not need to change over time.
|
||||
In addition, the communication link is secure because all VPN traffic is encrypted (MAVLink 2 itself does not support encryption).
|
||||
@@ -90,5 +90,6 @@ This approach means that you do not need to know the IP address of the GCS compu
|
||||
|
||||
Some USB modules that are known to work include:
|
||||
|
||||
- [Huawei E8372](https://consumer.huawei.com/en/mobile-broadband/e8372/) and [Huawei E3372](https://consumer.huawei.com/en/mobile-broadband/e3372/)
|
||||
- The _E8372_ includes WiFi which you can use to configure the SIM while it is plugged into the companion (making the development workflow a little easier). The _E3372_ lacks WiFi, so you have to configure it by plugging the stick into a laptop.
|
||||
- [Huawei E8372](https://consumer.huawei.com/au/support/routers/e8372/) and [Huawei E3372](https://consumer.huawei.com/au/support/routers/e3372/)
|
||||
- The _E8372_ includes WiFi which you can use to configure the SIM while it is plugged into the companion (making the development workflow a little easier).
|
||||
The _E3372_ lacks WiFi, so you have to configure it by plugging the stick into a laptop.
|
||||
|
||||
@@ -4,7 +4,7 @@ The [Holybro Pixhawk Jetson Baseboard](https://holybro.com/products/pixhawk-jets
|
||||
|
||||

|
||||
|
||||
The board comes with either the [Jetson Orin NX (16GB RAM)](https://holybro.com/products/nvidia-jetson-orin-nx-16g) or [Jetson Orin Nano (4GB RAM)](https://holybro.com/products/nvidia-jetson-orin-nx-16g?variant=44391410598077).
|
||||
The board comes with either the _Jetson Orin NX_ (16GB RAM) or _Jetson Orin Nano_ (4GB RAM) (see [NVIDIA Jetson Orin™](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/)).
|
||||
It can be used with any Pixhawk Autopilot Bus (PAB) specification-compliant Pixhawk flight controller, such as the Pixhawk 6 or Pixhawk 6X.
|
||||
|
||||
This guide walks through the process of setting up the board and connecting to PX4, including:
|
||||
@@ -44,7 +44,6 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
|
||||
[Dimensions and weight](https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-jetson-baseboard/dimension-and-weight) (Holybro)
|
||||
|
||||
- Dimensions
|
||||
|
||||
- 126 x 80 x 45mm (with Jetson Orin NX + Heatsink/Fan & FC Module)
|
||||
- 126 x 80 x 22.9mm (without Jetson and FC Module)
|
||||
|
||||
@@ -56,37 +55,30 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
|
||||
::: tab Jetson connectors
|
||||
|
||||
- 2x Gigabit Ethernet Port
|
||||
|
||||
- Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S)
|
||||
- Ethernet Switch powered by the same circuit as the Pixhawk
|
||||
- 8-pin JST-GH
|
||||
- RJ45
|
||||
|
||||
- 2x MIPI CSI Camera Inputs
|
||||
|
||||
- 4 Lanes each
|
||||
- 22-Pin Raspberry Pi Cam FFC
|
||||
|
||||
- 2x USB 3.0 Host Port
|
||||
|
||||
- USB A
|
||||
- 5A Current Limit
|
||||
|
||||
- 2x USB 2.0 Host Port
|
||||
|
||||
- 5-Pin JST-GH
|
||||
- 0A Current Limit
|
||||
|
||||
- USB 2.0 for Programming/Debugging
|
||||
|
||||
- USB-C
|
||||
|
||||
- 2 Key M 2242/2280 for NVMe SSD
|
||||
|
||||
- PCIEx4
|
||||
|
||||
- 2 Key E 2230 for WiFi/BT
|
||||
|
||||
- PCIEx2
|
||||
- USB
|
||||
- UART
|
||||
@@ -95,27 +87,21 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
|
||||
- Mini HDMI Out
|
||||
|
||||
- 4x GPIO
|
||||
|
||||
- 6-pin JST-GH
|
||||
|
||||
- CAN Port
|
||||
|
||||
- Connected to Autopilot's CAN2 (4 Pin JST-GH)
|
||||
|
||||
- SPI Port
|
||||
|
||||
- 7-Pin JST-GH
|
||||
|
||||
- I2C Port
|
||||
|
||||
- 4-Pin JST-GH
|
||||
|
||||
- I2S Port
|
||||
|
||||
- 7-Pin JST-GH
|
||||
|
||||
- 2x UART Port
|
||||
|
||||
- 1 for debug
|
||||
- 1 connected to Autopilot's telem2
|
||||
|
||||
@@ -128,12 +114,10 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
|
||||
::: tab Autopilot connectors
|
||||
|
||||
- Pixhawk Autopilot Bus Interface
|
||||
|
||||
- 100 Pin Hirose DF40
|
||||
- 50 Pin Hirose DF40
|
||||
|
||||
- Redundant Digital Power Module Inputs
|
||||
|
||||
- I2C Power Monitor Support
|
||||
- 2x 6-Pin Molex CLIK-Mate
|
||||
|
||||
@@ -142,66 +126,52 @@ This information comes from the [Holybro Pixhawk-Jetson Baseboard Documentation]
|
||||
- Overvoltage Protection
|
||||
|
||||
- Voltage Ratings
|
||||
|
||||
- Max input voltage: 6V
|
||||
- USB Power Input: 4.75~5.25V
|
||||
|
||||
- Full GPS Plus Safety Switch Port
|
||||
|
||||
- 10-Pin JST-GH
|
||||
|
||||
- Secondary (GPS2) Port
|
||||
|
||||
- 6-Pin JST-GH
|
||||
|
||||
- 2x CAN Ports
|
||||
|
||||
- 4-Pin JST-GH
|
||||
|
||||
- 3x Telemetry Ports with Flow Control
|
||||
|
||||
- 2x 6-Pin JST-GH
|
||||
- 1 is connected to Jetson's `UART1` Port
|
||||
|
||||
- 16 PWM Outputs
|
||||
|
||||
- 2x 10-Pin JST-GH
|
||||
|
||||
- UART4 & I2C Port
|
||||
|
||||
- 6-Pin JST-GH
|
||||
|
||||
- 2x Gigabit Ethernet Port
|
||||
|
||||
- Connected to both Jetson & Autopilot via Ethernet switch (RTL8367S)
|
||||
- 8-Pin JST-GH
|
||||
- RJ45
|
||||
|
||||
- AD & IO
|
||||
|
||||
- 8-Pin JST-GH
|
||||
|
||||
- USB 2.0
|
||||
|
||||
- USB-C
|
||||
- 4-Pin JST-GH
|
||||
|
||||
- DSM Input
|
||||
|
||||
- 3-Pin JST-ZH 1.5mm Pitch
|
||||
|
||||
- RC In
|
||||
|
||||
- PPM/SBUS
|
||||
- 5-Pin JST-GH
|
||||
|
||||
- SPI Port
|
||||
|
||||
- External Sensor Bus (SPI5)
|
||||
- 11-Pin JST-GH
|
||||
|
||||
- 2x Debug Port
|
||||
|
||||
- 1 for FMU
|
||||
- 1 for IO
|
||||
- 10-Pin JST-SH
|
||||
@@ -224,7 +194,6 @@ During development using the following wired power supply is recommended:
|
||||
|
||||
- [Power Adapter for Jetson Orin](https://holybro.com/products/power_adapter_for_jetson_orin)
|
||||
|
||||
|
||||
The complete power supply block diagram is shown below:
|
||||
|
||||

|
||||
@@ -1079,7 +1048,7 @@ python ~/MAVSDK-Python/examples/telemetry.py
|
||||
|
||||
The output below is expected:
|
||||
|
||||
``` sh
|
||||
```sh
|
||||
In air: False
|
||||
Battery: -1.0
|
||||
In air: False
|
||||
@@ -1184,7 +1153,7 @@ uxrce_dds_client status
|
||||
|
||||
A healthy output should show:
|
||||
|
||||
``` sh
|
||||
```sh
|
||||
nsh> uxrce_dds_client status
|
||||
INFO [uxrce_dds_client] Running, disconnected
|
||||
INFO [uxrce_dds_client] Using transport: serial
|
||||
@@ -1300,7 +1269,7 @@ sudo systemctl status microxrceagent.service
|
||||
|
||||
If the service is running, you should see output like this:
|
||||
|
||||
``` sh
|
||||
```sh
|
||||
holybro@ubuntu:~$ sudo systemctl status microxrceagent.service
|
||||
● microxrceagent.service - Micro XRCE Agent Service
|
||||
Loaded: loaded (/etc/systemd/system/microxrceagent.service; enabled; vendor preset: enabled)
|
||||
@@ -1331,7 +1300,7 @@ You can now start your ROS2 nodes and continue the development.
|
||||
You can test the Client and agent by using the `sensor_combined` example in [Build ROS 2 Workspace](../ros2/user_guide.md#build-ros-2-workspace) (ROS2 User Guide).
|
||||
|
||||
::: tip
|
||||
[VSCode over SSH](https://code.visualstudio.com/learn/develop-cloud/ssh-lab-machines) enables faster development and application of changes to your ROS 2 code!
|
||||
[VSCode over SSH](https://code.visualstudio.com/docs/remote/ssh) enables faster development and application of changes to your ROS 2 code!
|
||||
:::
|
||||
|
||||
After getting to the point of running the example:
|
||||
@@ -1342,7 +1311,7 @@ ros2 launch px4_ros_com sensor_combined_listener.launch.py
|
||||
|
||||
You should see high frequency sensor messages as the output:
|
||||
|
||||
``` sh
|
||||
```sh
|
||||
[sensor_combined_listener-1] RECEIVED SENSOR COMBINED DATA
|
||||
[sensor_combined_listener-1] ====================================
|
||||
[sensor_combined_listener-1] ts: 1722316316179649
|
||||
|
||||
@@ -41,7 +41,8 @@ Larger high power examples:
|
||||
- [ModalAI VOXL 2](https://docs.modalai.com/voxl2-external-flight-controller/)
|
||||
- [NXP NavQPlus](https://nxp.gitbook.io/navqplus/user-contributed-content/ros2/microdds)
|
||||
- [Nvidia Jetson TX2](https://developer.nvidia.com/embedded/jetson-tx2)
|
||||
* [Intel NUC](https://www.intel.com/content/www/us/en/products/details/nuc.html)
|
||||
|
||||
* [Intel NUC](https://www.asus.com/au/content/nuc-overview/)
|
||||
* [Gigabyte Brix](https://www.gigabyte.com/Mini-PcBarebone/BRIX)
|
||||
|
||||
Small/lower power examples:
|
||||
@@ -77,7 +78,7 @@ You can also write your own custom MAVLink libraries from scratch:
|
||||
|
||||
You will need a router if you need to bridge MAVLink from the vehicle to a ground station or IP network, or if you need multiple connections:
|
||||
|
||||
- [MAVLink Router](https://github.com/intel/mavlink-router) (recommended)
|
||||
- [MAVLink Router](https://github.com/mavlink-router/mavlink-router) (recommended)
|
||||
- [MAVProxy](https://ardupilot.org/mavproxy/)
|
||||
|
||||
## Ethernet Setup
|
||||
|
||||
@@ -20,7 +20,7 @@ The high level benefits of _WFB-ng_ include:
|
||||
- Bidirectional telemetry link (MAVLink).
|
||||
- TCP/IP tunnel.
|
||||
- Automatic TX diversity - use multiple cards on the ground to avoid antenna tracker.
|
||||
- Full link encryption and authentication (using [libsodium](https://download.libsodium.org/doc/)).
|
||||
- Full link encryption and authentication (using [libsodium](https://doc.libsodium.org/)).
|
||||
- Aggregation of MAVLink packets (pack small packets into batches before transmitting).
|
||||
- Enhanced [OSD](https://github.com/svpcom/wfb-ng-osd) for Raspberry PI or generic linux desktop with gstreamer.
|
||||
|
||||
@@ -35,21 +35,19 @@ The vehicle setup consists of:
|
||||
- Raspberry PI 3B/3B+/ZeroW
|
||||
- A camera.
|
||||
These have been tested:
|
||||
|
||||
- [Raspberry Pi camera](https://www.raspberrypi.org/products/camera-module-v2/) connected via CSI.
|
||||
- [Logitech camera C920](https://www.logitech.com/en-us/product/hd-pro-webcam-c920?crid=34) connected via USB
|
||||
- [Logitech camera C920](https://support.logi.com/hc/en-us/articles/360024326953-Getting-started-HD-Pro-Webcam-C920) connected via USB
|
||||
|
||||
- WiFi module [ALPHA AWUS036ACH](https://www.alfa.com.tw/products_detail/1.htm) or any other **RTL8812au** card.
|
||||
- WiFi module [ALPHA AWUS036ACH](https://www.alfa.com.tw/products/awus036ach_1?variant=40319795789896) or any other **RTL8812au** card.
|
||||
|
||||
### Ground Station
|
||||
|
||||
- Ground Station Computer.
|
||||
These options have been tested:
|
||||
|
||||
- Any Linux computer with a USB port (tested on Ubuntu 18.04 x86-64)
|
||||
- A computer with any OS running QGround control and Raspberry PI connected via Ethernet (RPi provides the wifi connection).
|
||||
|
||||
- WiFi module [ALPHA AWUS036ACH](https://www.alfa.com.tw/products_detail/1.htm) or any other **RTL8812au** card.
|
||||
- WiFi module [ALPHA AWUS036ACH](https://www.alfa.com.tw/products/awus036ach_1?variant=40319795789896) or any other **RTL8812au** card.
|
||||
See [WFB-ng wiki > WiFi hardware](https://github.com/svpcom/wfb-ng/wiki/WiFi-hardware) for more information on supported modules.
|
||||
|
||||
## Hardware Modification
|
||||
@@ -122,7 +120,7 @@ If you need a higher bandwidth you can use other MCS index (for example 2 or gre
|
||||
|
||||
## Antennas and Diversity
|
||||
|
||||
For simple cases you can use omnidirectional antennas with linear (that bundled with wifi cards) or circular leaf ([circularly polarized Coverleaf Antenna](http://www.antenna-theory.com/antennas/cloverleaf.php)) polarization.
|
||||
For simple cases you can use omnidirectional antennas with linear (that bundled with wifi cards) or circular leaf ([circularly polarized Coverleaf Antenna](https://www.antenna-theory.com/antennas/cloverleaf.php)) polarization.
|
||||
If you want to setup long distance link you can use multiple wifi adapters with directional and omnidirectional antennas. TX/RX diversity for multiple adapters supported out of box (just add multiple NICs to `/etc/default/wifibroadcast`).
|
||||
If your WiFi adapter has two antennas (like Alfa AWU036ACH) TX diversity is implemented via [STBC](https://en.wikipedia.org/wiki/Space%E2%80%93time_block_code).
|
||||
Cards with 4 ports (like Alfa AWUS1900) are currently not supported.
|
||||
|
||||
@@ -12,7 +12,7 @@ You can find others on [px4.io](https://px4.io/ecosystem/commercial-systems/) an
|
||||
This section contains consumer vehicles that run a _custom_ version of PX4 (supported by their vendors).
|
||||
These may or may not be updatable to run "vanilla" PX4.
|
||||
|
||||
- [Sentera PXH](https://sentera.com/products/fieldcapture/ag-drones/phx/)
|
||||
- [Sentera PXH](https://senterasensors.com/phx/)
|
||||
|
||||
<!--
|
||||
## Drone Development Kits/Reference Platforms
|
||||
@@ -35,7 +35,6 @@ This section lists vehicles that are sold fully assembled and ready to fly (RTF)
|
||||
This section lists vehicles where you can update the software to run PX4.
|
||||
-->
|
||||
|
||||
|
||||
## See Also
|
||||
|
||||
- [DIY Builds](../frames_plane/diy_builds.md)
|
||||
|
||||
@@ -104,7 +104,7 @@ It is pre-installed with PX4 v1.15.4 at time of writing (a more recent version m
|
||||
|
||||
## Tutorials
|
||||
|
||||
- Tutorials [English](https://docs.amovlab.com/f450-v6c-wiki/#/en/)/[Chinese](https://docs.amovlab.com/F450-V6C-wiki/#/src/%E8%A7%84%E6%A0%BC%E5%8F%82%E6%95%B0/%E8%A7%84%E6%A0%BC%E5%8F%82%E6%95%B0) (docs.amovlab.com/)
|
||||
- Tutorials [English](https://docs.amovlab.com/f450-v6c-wiki/#/en/)/[Chinese](https://docs.amovlab.com/f450-v6c-wiki/#/) (docs.amovlab.com/)
|
||||
|
||||
## Upgrading
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ After setting up the PX4 development environment, follow these steps to install
|
||||
1. Download the source code of the PX4 Bootloader:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/PX4/Bootloader.git
|
||||
git clone https://github.com/PX4/PX4-Bootloader.git
|
||||
```
|
||||
|
||||
1. Navigate into the top directory of the source code and compile it using:
|
||||
@@ -248,7 +248,7 @@ Crazyflie is able to fly in _Altitude_ mode if you use a [Z-ranger deck](https:/
|
||||
According to the datasheet, the maximum height (above ground) the range finder can sense is 2 m. However, when tested on dark surfaces this value decreases to 0.5 m. On a light floor, it goes up to max 1.3 m. This means you cannot hold altitudes above this value in _Altitude_ or _Position_ flight modes.
|
||||
|
||||
:::tip
|
||||
If the Crazyflie 2.0 height drifts at mid-throttle command in _Altitude mode_ or _Position mode_, first try rebooting the vehicle. If this does not fix the problem, recalibrate the accel and mag (compass).
|
||||
If the Crazyflie 2.0 height drifts at mid-throttle command in _Altitude mode_ or _Position mode_, first try rebooting the vehicle. If this does not fix the problem, recalibrate the accel and mag (compass).
|
||||
:::
|
||||
|
||||
::: info
|
||||
|
||||
@@ -65,7 +65,7 @@ After setting up the PX4 development environment, follow these steps to install
|
||||
1. Download the source code of the PX4 Bootloader:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/PX4/Bootloader.git --recurse-submodules
|
||||
git clone https://github.com/PX4/PX4-Bootloader.git --recurse-submodules
|
||||
```
|
||||
|
||||
1. Navigate into the top directory of the source code and compile it using:
|
||||
|
||||
@@ -42,7 +42,7 @@ These may or may not be updatable to run "vanilla" PX4.
|
||||
- [Yuneec Typhoon H Plus](https://us.yuneec.com/typhoon-h-plus/)
|
||||
- [Yuneec Mantis Q](https://px4.io/portfolio/yuneec-mantis-q/)
|
||||
- [Yuneec H520](https://px4.io/portfolio/yuneec-h520-hexacopter/)
|
||||
- [AeroSense Aerobo (AS-MC02-P)](https://px4.io/portfolio/aerosense-aerobo/)
|
||||
- [AeroSense Aerobo (AS-MC02-P)](https://px4.io/project/aerosense-aerobo/)
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
PX4 consists of two main layers: the [flight stack](#flight-stack) is an estimation and flight control system,
|
||||
and the [middleware](#middleware) is a general robotics layer that can support any type of autonomous robot, providing internal/external communications and hardware integration.
|
||||
|
||||
All PX4 [airframes](../airframes/index.md) share a single codebase (this includes other robotic systems like boats, rovers, submarines etc.). The complete system design is [reactive](http://www.reactivemanifesto.org), which means that:
|
||||
All PX4 [airframes](../airframes/index.md) share a single codebase (this includes other robotic systems like boats, rovers, submarines etc.). The complete system design is [reactive](https://www.reactivemanifesto.org), which means that:
|
||||
|
||||
- All functionality is divided into exchangeable and reusable components
|
||||
- Communication is done by asynchronous message passing
|
||||
@@ -112,7 +112,6 @@ There are 2 different ways that a module can be executed:
|
||||
|
||||
- **Tasks**: The module runs in its own task with its own stack and process priority.
|
||||
- **Work queue tasks**: The module runs on a shared work queue, sharing the same stack and work queue thread priority as other modules on the queue.
|
||||
|
||||
- All the tasks must behave co-operatively as they cannot interrupt each other.
|
||||
- Multiple _work queue tasks_ can run on a queue, and there can be multiple queues.
|
||||
- A _work queue task_ is scheduled by specifying a fixed time in the future, or via uORB topic update callback.
|
||||
|
||||
@@ -76,7 +76,6 @@ Explanations and requirements:
|
||||
- from that name, a 24 bit event ID is derived using a hash function.
|
||||
This means as long as the event name stays the same, so will the ID.
|
||||
- **Log Level**:
|
||||
|
||||
- valid log levels are the same as used in the MAVLink [MAV_SEVERITY](https://mavlink.io/en/messages/common.html#MAV_SEVERITY) enum.
|
||||
In order of descending importance these are:
|
||||
|
||||
@@ -94,8 +93,8 @@ Explanations and requirements:
|
||||
|
||||
- Above we specify a separate external and internal log level, which are the levels displayed to GCS users and in the log file, respectively: `{events::Log::Error, events::LogInternal::Info}`.
|
||||
For the majority of cases you can pass a single log level, and this will be used for both exernal and internal cases.
|
||||
There are cases it makes sense to have two different log levels.
|
||||
For example an RTL failsafe action: the user should see it as Warning/Error, whereas in the log, it is an expected system response, so it can be set to `Info`.
|
||||
There are cases it makes sense to have two different log levels.
|
||||
For example an RTL failsafe action: the user should see it as Warning/Error, whereas in the log, it is an expected system response, so it can be set to `Info`.
|
||||
|
||||
- **Event Message**:
|
||||
- Single-line, short message of the event.
|
||||
@@ -114,7 +113,7 @@ Valid types: `uint8_t`, `int8_t`, `uint16_t`, `int16_t`, `uint32_t`, `int32_t`,
|
||||
You can also use enumerations as arguments:
|
||||
|
||||
- PX4-specific/custom enumerations for events should be defined in [src/lib/events/enums.json](https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/events/enums.json), and can then be used as event argument in the form of `events::send<events::px4::enums::my_enum_t>(...)`.
|
||||
- MAVLink "common" events are defined in [mavlink/libevents/events/common.json](https://github.com/mavlink/libevents/blob/master/events/common.json) and can be used as event argument in the form of `events::send<events::common::enums::my_enum_t>(...)`.
|
||||
- MAVLink "common" events are defined in [mavlink/libevents/events/common.json](https://github.com/mavlink/libevents/blob/main/events/common.json) and can be used as event argument in the form of `events::send<events::common::enums::my_enum_t>(...)`.
|
||||
|
||||
#### Text format
|
||||
|
||||
@@ -125,7 +124,6 @@ Text format for event message description:
|
||||
These have to be escaped: '\\\\', '\\<', '\\{'.
|
||||
|
||||
- supported tags:
|
||||
|
||||
- Profiles: `<profile name="[!]NAME">CONTENT</profile>`
|
||||
|
||||
`CONTENT` will only be shown if the name matches the configured profile.
|
||||
@@ -137,11 +135,9 @@ Text format for event message description:
|
||||
- no nested tags of the same type are allowed
|
||||
|
||||
- arguments: template placeholders that follow python syntax, with 1-based indexing (instead of 0)
|
||||
|
||||
- general form: `{ARG_IDX[:.NUM_DECIMAL_DIGITS][UNIT]}`
|
||||
|
||||
UNIT:
|
||||
|
||||
- m: horizontal distance in meters
|
||||
- m_v: vertical distance in meters
|
||||
- m^2: area in m^2
|
||||
|
||||
@@ -5,7 +5,7 @@ On NuttX they reside in the [ROMFS/px4fmu_common/init.d](https://github.com/PX4/
|
||||
The scripts that are only used on Posix are located in [ROMFS/px4fmu_common/init.d-posix](https://github.com/PX4/PX4-Autopilot/tree/main/ROMFS/px4fmu_common/init.d-posix).
|
||||
|
||||
All files starting with a number and underscore (e.g. `10000_airplane`) are predefined airframe configurations.
|
||||
They are exported at build-time into an `airframes.xml` file which is parsed by [QGroundControl](http://qgroundcontrol.com) for the airframe selection UI.
|
||||
They are exported at build-time into an `airframes.xml` file which is parsed by [QGroundControl](https://qgroundcontrol.com) for the airframe selection UI.
|
||||
Adding a new configuration is covered [here](../dev_airframes/adding_a_new_frame.md).
|
||||
|
||||
The remaining files are part of the general startup logic.
|
||||
|
||||
@@ -7,7 +7,7 @@ Most other steps can be done out of order, except for [tuning](#tuning), which m
|
||||
|
||||
## Preconditions
|
||||
|
||||
Before starting you should [Download QGroundControl](http://qgroundcontrol.com/downloads/) and install it on your **desktop** computer.
|
||||
Before starting you should [Download QGroundControl](https://qgroundcontrol.com/downloads/) and install it on your **desktop** computer.
|
||||
Then open the QGC application menu ("Q" icon in the top-left corner) and choose **Vehicle Setup** in the _Select Tool_ popup:
|
||||
|
||||

|
||||
@@ -57,7 +57,7 @@ Joystick/GamePad:
|
||||
|
||||
Auto-tuning is supported, and recommended, on the following frames:
|
||||
|
||||
- [Autotune (Multicopter)](../config/autotune_mc.md)
|
||||
- [Autotune (Multicopter)](../config/autotune_mc.md)
|
||||
- [Autotune (Fixed Wing)](../config/autotune_fw.md)
|
||||
- [Autotune (VTOL)](../config/autotune_vtol.md)
|
||||
|
||||
@@ -77,7 +77,6 @@ If you need help with the configuration you can ask for help on the [QGroundCont
|
||||
- [Flight Controller Peripherals](../peripherals/index.md) - Setup specific sensors, optional sensors, actuators, and so on.
|
||||
- [Advanced Configuration](../advanced_config/index.md) - Factory/OEM calibration, configuring advanced features, less-common configuration.
|
||||
- Vehicle-Centric Config/Tuning:
|
||||
|
||||
- [Multicopter Config/Tuning](../config_mc/index.md)
|
||||
- [Helicopter Config/Tuning](../config_heli/index.md)
|
||||
- [Fixed-wing Config/Tuning](../config_fw/index.md)
|
||||
|
||||
@@ -58,7 +58,7 @@ Users can select the form that is used by setting the proportional gain for the
|
||||
The two forms are described below.
|
||||
|
||||
::: info
|
||||
The derivative term (**D**) is on the feedback path in order to avoid an effect known as the [derivative kick](http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-derivative-kick/).
|
||||
The derivative term (**D**) is on the feedback path in order to avoid an effect known as the [derivative kick](http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-derivative-kick/).
|
||||
:::
|
||||
|
||||
:::tip
|
||||
|
||||
@@ -14,7 +14,7 @@ However, due to the global team and fast moving development we might resort to m
|
||||
To contribute new functionality, [sign up for Github](https://docs.github.com/en/get-started/signing-up-for-github/signing-up-for-a-new-github-account), then [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repository, [create a new branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository), add your [changes as commits](#commits-and-commit-messages), and finally [send a pull request](#pull-requests).
|
||||
Changes will be merged when they pass our [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) tests.
|
||||
|
||||
All code contributions have to be under the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) and all code must not impose any further constraints on the use.
|
||||
All code contributions have to be under the permissive [BSD 3-clause license](https://opensource.org/license/BSD-3-Clause) and all code must not impose any further constraints on the use.
|
||||
|
||||
## Code Style
|
||||
|
||||
@@ -109,7 +109,6 @@ Currently we have two types of source-based documentation:
|
||||
Developers should name C++ entities (classes, functions, variables etc.) such that their purpose can be inferred - reducing the need for explicit documentation.
|
||||
|
||||
:::
|
||||
|
||||
- Do not add documentation that can trivially be inferred from C++ entity names.
|
||||
- ALWAYS specify units of variables, constants, and input/return parameters where they are defined.
|
||||
- Commonly you may want to add information about corner cases and error handling.
|
||||
|
||||
@@ -29,11 +29,11 @@ This is a great opportunity to meet the team and contribute to the ongoing devel
|
||||
|
||||
## What gets discussed?
|
||||
|
||||
We publish a forum post per meeting a week before the call on [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call) and track the agenda write down the discussion for the day. We welcome any topics that you, as a community member may have questions about / want to discuss!
|
||||
We publish a forum post per meeting a week before the call on [PX4 Discuss - weekly-dev-call](https://discuss.px4.io/c/weekly-dev-call/14) and track the agenda write down the discussion for the day. We welcome any topics that you, as a community member may have questions about / want to discuss!
|
||||
|
||||
Please add your topics for discussion to the agenda before the meeting begins, by replying to the meeting note. This will help you formulate your questions more clearly, and allow us to think about them in advance.
|
||||
|
||||
## Schedule
|
||||
|
||||
- TIME: Wednesday 17h00 CET ([subscribe to calendar](https://www.dronecode.org/calendar/))
|
||||
- TIME: Wednesday 17h00 CET ([subscribe to calendar](https://dronecode.org/calendar/))
|
||||
- **Join the call**: [https://discord.gg/BDYmr6FA6Q](https://discord.gg/BDYmr6FA6Q)
|
||||
|
||||
@@ -36,7 +36,7 @@ For these kinds of changes we suggest using the same approach as for _code_:
|
||||
1. Use the _git_ toolchain to get the PX4 source code onto your local computer.
|
||||
1. Modify the documentation as needed (add, change, delete).
|
||||
1. _Test_ that it builds properly using Vitepress.
|
||||
1. Create a branch for your changes and create a pull request (PR) to pull it back into the [PX4-Autopilot](https://github.com/PX4/PX4-Autopilot.git) repo.
|
||||
1. Create a branch for your changes and create a pull request (PR) to pull it back into the [PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) repo.
|
||||
|
||||
The following explain how to get the source code, build locally (to test), and modify the code.
|
||||
|
||||
@@ -55,7 +55,7 @@ To get the library(s) sources onto your local computer you will need to use the
|
||||
The instructions below explain how to get git and use it on your local computer.
|
||||
|
||||
1. Download git for your computer from [https://git-scm.com/downloads](https://git-scm.com/downloads)
|
||||
1. [Sign up](https://github.com/join) for Github if you haven't already
|
||||
1. [Sign up](https://github.com/signup) for Github if you haven't already
|
||||
1. Create a copy (Fork) of the [PX4-Autopilot repo](https://github.com/PX4/PX4-Autopilot) on Github ([instructions here](https://docs.github.com/en/get-started/quickstart/fork-a-repo)).
|
||||
1. Clone (copy) your forked repository to your local computer:
|
||||
|
||||
@@ -127,7 +127,6 @@ Within the repository you created above:
|
||||
6. Go to your forked repository on Github in a web browser, e.g.: `https://github.com/<your git name>/PX4-Autopilot.git`.
|
||||
There you should see the message that a new branch has been pushed to your forked repository.
|
||||
7. Create a pull request (PR):
|
||||
|
||||
- On the right hand side of the "new branch message" (see one step before), you should see a green button saying "Compare & Create Pull Request".
|
||||
Press it.
|
||||
- A pull request template will be created.
|
||||
@@ -145,7 +144,6 @@ Within the repository you created above:
|
||||
Build the library locally to test that any changes you have made have rendered properly:
|
||||
|
||||
1. Install the [Vitepress prerequisites](https://vitepress.dev/guide/getting-started#prerequisites):
|
||||
|
||||
- [Nodejs 18+](https://nodejs.org/en)
|
||||
- [Yarn classic](https://classic.yarnpkg.com/en/docs/install)
|
||||
|
||||
@@ -175,7 +173,6 @@ Build the library locally to test that any changes you have made have rendered p
|
||||
|
||||
First specify a local text editor file using the `EDITOR` environment variable, before calling `yarn start` to preview the library.
|
||||
For example, you can enable VSCode as your default editor by entering:
|
||||
|
||||
- Windows:
|
||||
|
||||
```sh
|
||||
@@ -223,7 +220,6 @@ In overview:
|
||||
- All pages must be in an appropriately named sub-folder of `/en` (e.g. this page is in folder `en/contribute/`).
|
||||
- This makes linking easier because other pages and images are always as the same relative levels
|
||||
- The _structure_ of the book is defined in `SUMMARY.md`.
|
||||
|
||||
- If you add a new page to the guide you must also add an entry to this file!
|
||||
|
||||
:::tip
|
||||
@@ -247,7 +243,6 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
|
||||
## Style Guide
|
||||
|
||||
1. Files/file names
|
||||
|
||||
- Put new markdown files in an appropriate sub-folder of `/en/`, such as `/en/contribute/`.
|
||||
Do not further nest folders.
|
||||
- Put new image files in an appropriate nested sub-folder of `/assets/`.
|
||||
@@ -257,14 +252,12 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
|
||||
- Use lower case filenames and separate words using underscores (`_`).
|
||||
|
||||
2. Images
|
||||
|
||||
- Use the smallest size and lowest resolution that makes the image still useful (this reduces download cost for users with poor bandwidth).
|
||||
- New images should be created in a sub-folder of `/assets/` (so they can be shared between translations).
|
||||
- SVG files are preferred for diagrams.
|
||||
PNG files are preferred over JPG for screenshots.
|
||||
|
||||
3. Content:
|
||||
|
||||
- Use "style" (**bold**, _emphasis_, etc.) consistently and sparingly (as little as possible).
|
||||
- **Bold** for button presses and menu definitions.
|
||||
- _Emphasis_ for tool names such as _QGroundControl_ or _prettier_.
|
||||
@@ -279,7 +272,6 @@ When you add a new page you must also add it to `en/SUMMARY.md`!
|
||||
- Format using _prettier_ (_VSCode_ is a has extensions can be used for this).
|
||||
|
||||
4. Videos:
|
||||
|
||||
- Youtube videos can be added using the format `<lite-youtube videoid="<youtube-video-id>" title="your title"/>` (supported via the [https://www.npmjs.com/package/lite-youtube-embed](https://www.npmjs.com/package/lite-youtube-embed) custom element, which has other parameters you can pass).
|
||||
- Use instructional videos sparingly as they date badly, and are hard to maintain.
|
||||
- Cool videos of airframes in flight are always welcome.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Adding a feature to PX4 follows a defined workflow. In order to share your contributions on PX4, you can follow this example.
|
||||
|
||||
- [Sign up](https://github.com/join) for github if you haven't already
|
||||
- [Sign up](https://github.com/signup) for github if you haven't already
|
||||
- Fork the PX4-Autopilot repo (see [here](https://docs.github.com/en/get-started/quickstart/fork-a-repo))
|
||||
- Clone your forked repository to your local computer
|
||||
|
||||
@@ -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`](http://nuclearsquid.com/writings/git-add/).
|
||||
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/).
|
||||
|
||||
- Commit the added files with a meaningful message explaining your changes
|
||||
|
||||
@@ -285,7 +285,7 @@ If a conflict occurs during a `git rebase`, please refer to [this guide](https:/
|
||||
|
||||
### Pull merge conflicts
|
||||
|
||||
If a conflict occurs during a `git pull`, please refer to [this guide](https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/#competing-line-change-merge-conflicts).
|
||||
If a conflict occurs during a `git pull`, please refer to [this guide](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line#competing-line-change-merge-conflicts).
|
||||
|
||||
### Build error due to git tags out of date
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Licenses
|
||||
|
||||
::: info
|
||||
All code contributions must be made under the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) and must not impose any further constraints on its use.
|
||||
All code contributions must be made under the permissive [BSD 3-clause license](https://opensource.org/license/BSD-3-Clause) and must not impose any further constraints on its use.
|
||||
:::
|
||||
|
||||
This page documents the licenses of various components in the system.
|
||||
|
||||
- [PX4 Flight Stack](https://github.com/PX4/PX4-Autopilot) — BSD
|
||||
- [PX4 Middleware](https://github.com/PX4/PX4-Autopilot) — BSD
|
||||
- [Pixhawk Hardware](https://github.com/PX4/Hardware) — CC-BY-SA 3.0
|
||||
- [Pixhawk Hardware](https://github.com/pixhawk/Hardware) — CC-BY-SA 3.0
|
||||
- [PX4 User Guide](https://github.com/PX4/PX4-user_guide) (Documentation) — [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
|
||||
|
||||
@@ -10,7 +10,7 @@ This page explains the main differences and how the console/shell are used.
|
||||
|
||||
The PX4 _System Console_ provides low-level access to the system, debug output and analysis of the system boot process.
|
||||
|
||||
There is just one _System Console_, which runs on one specific UART (the debug port, as configured in NuttX), and is commonly attached to a computer via an FTDI cable (or some other debug adapter like a [Dronecode probe](https://kb.zubax.com/display/MAINKB/Dronecode+Probe+documentation)).
|
||||
There is just one _System Console_, which runs on one specific UART (the debug port, as configured in NuttX), and is commonly attached to a computer via an FTDI cable (or some other debug adapter like a [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1)).
|
||||
|
||||
- Used for _low-level debugging/development_: bootup, NuttX, startup scripts, board bringup, development on central parts of PX4 (e.g. uORB).
|
||||
- In particular, is the only place where all boot output (including information about applications auto-started on boot) is printed.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Black Magic Probe (and Dronecode Probe)
|
||||
# Black Magic Probe (and Zubax BugFace BF1)
|
||||
|
||||
The [Black Magic Probe](https://black-magic.org) is an easy to use, mostly plug-and-play, JTAG/SWD debugger for embedded microcontrollers.
|
||||
Since the Black Magic Probe is a generic debug probe, you will need an adapter to connect to Pixhawk flight controllers, which can be purchased here:
|
||||
|
||||
- [Drone Code Debug Adapter](https://1bitsquared.com/products/drone-code-debug-adapter) (1 BIT SQUARED).
|
||||
|
||||
## Dronecode Probe
|
||||
## Zubax BugFace BF1 {#dronecode-probe}
|
||||
|
||||
The [Dronecode Probe](https://kb.zubax.com/display/MAINKB/Dronecode+Probe+documentation) is a specialization of the Black Magic Probe for debugging PX4 autopilots.
|
||||
The [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1) (formerly known as "Dronecode Probe") is a specialization of the Black Magic Probe for debugging PX4 autopilots.
|
||||
|
||||
The probe's USB interface exposes two separate virtual serial port interfaces: one for connecting to the [System Console](system_console.md) (UART) and the other for an embedded GDB server (SWD interface).
|
||||
|
||||
@@ -20,17 +20,17 @@ The _6-pos DF13_ connector that comes with the probe cannot be used for SWD debu
|
||||
## Using the Probe
|
||||
|
||||
::: info
|
||||
To debug STM32F7 or later (FMUv5 and newer) the Dronecode probe / Blackmagic probe likely requires a firmware update.
|
||||
To debug STM32F7 or later (FMUv5 and newer) the Zubax BugFace BF1 / Blackmagic probe likely requires a firmware update.
|
||||
You can find how to update the [blackmagic probe here](https://github.com/blacksphere/blackmagic/wiki/Upgrading-Firmware).
|
||||
:::
|
||||
|
||||
To use a Dronecode probe with GDB, start GDB with the exact ELF file that is currently flashed on the autopilot:
|
||||
To use a Zubax BugFace BF1 with GDB, start GDB with the exact ELF file that is currently flashed on the autopilot:
|
||||
|
||||
```sh
|
||||
arm-none-eabi-gdb build/px4_fmu-v5_default/px4_fmu-v5_default.elf
|
||||
```
|
||||
|
||||
Then, you have to select the Dronecode probe interface, on Linux this is e.g.:
|
||||
Then, you have to select the Zubax BugFace BF1 interface, on Linux this is e.g.:
|
||||
|
||||
```sh
|
||||
target ext /dev/serial/by-id/usb-Black_Sphere_Technologies_Black_Magic_Probe_f9414d5_7DB85DAC-if00
|
||||
|
||||
@@ -17,14 +17,14 @@ The folded stacks are then fed into the visualization script, for which purpose
|
||||
|
||||
The profiler relies on GDB to run PX4 on the embedded target.
|
||||
So before profiling a target, you must have the hardware you wish to profile, and you must compile and upload the firmware to that hardware.
|
||||
You will then need a [debug probe](../debug/swd_debug.md#debug-probes) (such as the DroneCode Probe), to run the GDB server and interact with the board.
|
||||
You will then need a [debug probe](../debug/swd_debug.md#debug-probes) (such as the Zubax BugFace BF1), to run the GDB server and interact with the board.
|
||||
|
||||
### Determine the Debugger Device
|
||||
|
||||
The `poor-mans-profiler.sh` automatically detects and uses the correct USB device if you use it with a [DroneCode Probe](../debug/probe_bmp.md#dronecode-probe).
|
||||
The `poor-mans-profiler.sh` automatically detects and uses the correct USB device if you use it with a [Zubax BugFace BF1](../debug/probe_bmp.md#dronecode-probe).
|
||||
If you use a different kind of probe you may need to pass in the specific _device_ on which the debugger is located.
|
||||
You can use the bash command `ls -alh /dev/serial/by-id/` to enumerate the possible devices on Ubuntu.
|
||||
For example the following devices are enumerated with a Pixhawk 4 and DroneCode Probe connected over USB:
|
||||
For example the following devices are enumerated with a Pixhawk 4 and Zubax BugFace BF1 connected over USB:
|
||||
|
||||
```sh
|
||||
user@ubuntu:~/PX4-Autopilot$ ls -alh /dev/serial/by-id/
|
||||
@@ -48,7 +48,7 @@ Then pass in the appropriate device using the `--gdbdev` argument like this:
|
||||
### Running
|
||||
|
||||
Basic usage of the profiler is available through the build system.
|
||||
For example, the following command builds and profiles px4_fmu-v4pro target with 10000 samples (fetching _FlameGraph_ and adding it to the path as needed).
|
||||
For example, the following command builds and profiles px4*fmu-v4pro target with 10000 samples (fetching \_FlameGraph* and adding it to the path as needed).
|
||||
|
||||
```sh
|
||||
make px4_fmu-v4pro_default profile
|
||||
|
||||
@@ -187,7 +187,7 @@ The cable used to connect the M2 and the STLinkv3-MINIE comes with the adaptor.
|
||||
Some SWD [debug probes](#debug-probes) come with adapters/cables for connecting to common Pixhawk [debug ports](#debug-ports).
|
||||
Probes that are known to come with connectors are listed below:
|
||||
|
||||
- [DroneCode Probe](../debug/probe_bmp.md#dronecode-probe): comes with a connector for attaching to the [Pixhawk Debug Mini](#pixhawk-debug-mini)
|
||||
- [Zubax BugFace BF1](../debug/probe_bmp.md#dronecode-probe): comes with a connector for attaching to the [Pixhawk Debug Mini](#pixhawk-debug-mini)
|
||||
|
||||
### Board-specific Adapters
|
||||
|
||||
|
||||
@@ -24,5 +24,5 @@ It explains how to:
|
||||
|
||||
- [Support](../contribute/support.md): Get help using the [discussion boards](https://discuss.px4.io//) and other support channels.
|
||||
- [Weekly Dev Call](../contribute/dev_call.md): A great opportunity to meet the PX4 dev team and discuss platform technical details (including pull requests, major issues, general Q&A).
|
||||
- [Licences](../contribute/licenses.md): What you can do with the code (free to use and modify under terms of the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause)!)
|
||||
- [Licences](../contribute/licenses.md): What you can do with the code (free to use and modify under terms of the permissive [BSD 3-clause license](https://opensource.org/license/BSD-3-Clause)!)
|
||||
- [Contributing](../contribute/index.md): How to work with our [source code](../contribute/code.md).
|
||||
|
||||
@@ -53,7 +53,7 @@ Supported hardware includes (this is not an exhaustive list):
|
||||
- [Holybro DroneCAN H-RTK F9P Rover](https://holybro.com/products/dronecan-h-rtk-f9p-rover)
|
||||
- [Holybro DroneCAN H-RTK F9P Helical](https://holybro.com/products/dronecan-h-rtk-f9p-helical)
|
||||
- [RaccoonLab GNSS Modules](https://docs.raccoonlab.co/guide/gps_mag_baro/)
|
||||
- [Zubax GNSS](https://zubax.com/products/gnss_2)
|
||||
- [Zubax GNSS](https://shop.zubax.com/products/zubax-gnss-2)
|
||||
- Power monitors
|
||||
- [Pomegranate Systems Power Module](../dronecan/pomegranate_systems_pm.md)
|
||||
- [CUAV CAN PMU Power Module](../dronecan/cuav_can_pmu.md)
|
||||
@@ -65,7 +65,7 @@ Supported hardware includes (this is not an exhaustive list):
|
||||
- [ARK Flow](ark_flow.md)
|
||||
- [Ark Flow MR](ark_flow_mr.md)
|
||||
- [Avionics Anonymous Laser Altimeter UAVCAN Interface](../dronecan/avanon_laser_interface.md)
|
||||
- [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder)
|
||||
- [RaccoonLab uRangefidner and Rangefinders Adapter](https://docs.raccoonlab.co/guide/rangefinder/)
|
||||
- Optical Flow
|
||||
- [Ark Flow](ark_flow.md)
|
||||
- [Ark Flow MR](ark_flow_mr.md)
|
||||
@@ -320,4 +320,4 @@ If successful, the firmware binary will be removed from the root directory and t
|
||||
- [Home Page](https://dronecan.github.io) (dronecan.github.io)
|
||||
- [Protocol Specification](https://dronecan.github.io/Specification) (dronecan.github.io)
|
||||
- [Implementations](https://dronecan.github.io/Implementations/) (dronecan.github.io)
|
||||
- [Cyphal/CAN Device Interconnection](https://kb.zubax.com/pages/viewpage.action?pageId=2195476) (kb.zubax.com)
|
||||
- [Cyphal/CAN Device Interconnection](https://wiki.zubax.com/public/cyphal/CyphalCAN-device-interconnection?pageId=2195476) (kb.zubax.com)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user