Skip to content

Commit

Permalink
Merge branch 'master' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
Yury-MonZon authored Jan 10, 2025
2 parents 6968493 + 941579c commit cc1d0fe
Show file tree
Hide file tree
Showing 29 changed files with 666 additions and 59 deletions.
2 changes: 1 addition & 1 deletion common/source/docs/common-advanced-configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ tuning options for the vehicle.
EKF (Extended Kalman Filter) <common-apm-navigation-extended-kalman-filter-overview>
EKF Affinity & Lane Switching <common-ek3-affinity-lane-switching>
EKF Sources and Selection <common-ekf-sources>
Ethernet/Network Setup <common-network>
[site wiki="copter,rover"]
Fence Failsafes <common-geofencing-landing-page>
[/site]
Expand Down Expand Up @@ -89,7 +90,6 @@ tuning options for the vehicle.
[/site]
Moving Vehicle Initialization <common-moving-vehicle-initialization>
Multiple Radio Control Receivers <common-multiple-rx>
Network/Ethernet Setup <common-network>
[site wiki="copter,rover"]
Non-GPS Navigation <common-non-gps-navigation-landing-page>
[/site]
Expand Down
1 change: 1 addition & 0 deletions common/source/docs/common-autopilots.rst
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ Closed Hardware
MakeFlyEasy PixPilot-C3 <common-makeflyeasy-PixPilot-C3>
MakeFlyEasy PixPilot-V3 <common-makeflyeasy-PixPilot-V3>
MakeFlyEasy PixPilot-V6 <common-makeflyeasy-PixPilot-V6>
MakeFlyEasy PixPilot-V6PRO <common-makeflyeasy-PixPilot-V6PRO>
Mateksys F405 TE Family <common-matekf405-te>
Mateksys H743-Wing/MINI/SLIM/WLITE <common-matekh743-wing>
MFT-SEMA100 <common-mft-sema100>
Expand Down
71 changes: 71 additions & 0 deletions common/source/docs/common-caddx-gimbal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
.. _common-caddx-gimbal:

[copywiki destination="plane,copter,rover"]

=============
CADDX Gimbals
=============

`CADDX <https://caddxfpv.com/products/caddxfpv-gm1-gm2-gm3.html>`__ GM1, GM2, GM3 gimbals are small 1, 2 and 3-axis gimbals weighing between 16g and 46g and can be paired with 19mm x 19mm FPV cameras

.. image:: ../../../images/caddxfpv-gimbal.png
:target: https://caddxfpv.com/products/caddxfpv-gm1-gm2-gm3.html

.. warning::

Support for these gimbals is available in ArduPilot 4.7 (and higher) and requires the gimbal's firmware be 3.4 (or higher)

The `user manual can be found here <https://cdn.shopify.com/s/files/1/0036/3921/4169/files/GM_Series_Manual_V1.0_1.pdf>`__

Where and What to Buy
---------------------

- The GM1, GM2 and GM3 gimbals can be purchased directly from `CADDXFPV <https://caddxfpv.com/products/caddxfpv-gm1-gm2-gm3.html>`__
- The `GL and GM Upgrade Cable <https://caddxfpv.com/products/gl-and-gm-upgrade-cable>`__ is likely also required to upgrade the gimbal's firmware to 3.4 (or higher)

Connecting to the Autopilot
---------------------------

.. image:: ../../../images/caddxfpv-gm3-autopilot.png
:target: ../_images/caddxfpv-gm3-autopilot.png
:width: 450px

Connect the gimbal's RX, TX and GND pins to one of the autopilot's serial ports as shown above

Connect with a ground station and set the following parameters. The params below assume the autopilot's telem2 port is used

- :ref:`SERIAL2_PROTOCOL <SERIAL2_PROTOCOL>` to 8 ("Gimbal")
- :ref:`SERIAL2_BAUD <SERIAL2_BAUD>` to "115" for 115200 bps
- :ref:`MNT1_TYPE <MNT1_TYPE>` to "13" ("CADDX") and reboot the autopilot
- :ref:`MNT1_PITCH_MIN <MNT1_PITCH_MIN>` to -90
- :ref:`MNT1_PITCH_MAX <MNT1_PITCH_MAX>` to 90
- :ref:`MNT1_YAW_MIN <MNT1_YAW_MIN>` to -170
- :ref:`MNT1_YAW_MAX <MNT1_YAW_MAX>` to 170
- :ref:`MNT1_RC_RATE <MNT1_RC_RATE>` to 60 (deg/s) to control speed of gimbal when using RC targetting
- :ref:`RC6_OPTION <RC6_OPTION>` = 213 ("Mount Pitch") to control the gimbal's pitch angle with RC channel 6
- :ref:`RC7_OPTION <RC7_OPTION>` = 214 ("Mount Yaw") to control the gimbal's yaw angle with RC channel 7
- :ref:`RC8_OPTION <RC8_OPTION>` = 163 ("Mount Lock") to switch between "lock" and "follow" mode with RC channel 8

Configuring the Gimbal
----------------------

Firmware upgrade instructions are in the "Upgrade" section of the `user manual <https://cdn.shopify.com/s/files/1/0036/3921/4169/files/GM_Series_Manual_V1.0_1.pdf>`__ but in short:

- Download the GimbalConfig windows application and latest gimbal firmware from the `CADDXFPV Download Center <https://caddxfpv.com/pages/download-center>`__ (look for the "Firmware / GM Gimbal Firmware" link near the bottom of the page)
- Extract the contents of the downloaded zip file and run the GimbalConfig application
- Connect the `Upgrade Cable <https://caddxfpv.com/products/gl-and-gm-upgrade-cable>`__ to the upgrade port shown below, connect the other end to your PC

.. image:: ../../../images/caddx-firmware-update.png
:target: ../_images/caddx-firmware-update.png
:width: 450px

- Open the GimbalConfig application, select the COM port, then "Open" and find the "CwGimbalZGV2Main_V3.4.cahf" file and push "Upgrade"

.. image:: ../../../images/caddx-firmware-update-PC.png
:target: ../_images/caddx-firmware-update-PC.png
:width: 450px

Control and Testing
-------------------

See :ref:`Gimbal / Mount Controls <common-mount-targeting>` for details on how to control the camera and gimbal using RC, GCS or Auto mode mission commands
14 changes: 2 additions & 12 deletions common/source/docs/common-ethernet-adapters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Hardware
- `BotBlox SwitchBlox for Ardupilot <https://botblox.io/switchblox-for-ardupilot/>`__ : ethernet switch to allow connecting multiple devices together
- `BotBlox DroneNet for Ardupilot <https://botblox.io/dronenet-for-ardupilot/>`__ : ethernet switch with CAN, USART, RS485, and GPIO/PWM adapters allowing non-ethernet devices including autopilots to work over ethernet
- `BotBlox SwitchBlox Cable Adapter for Ardupilot <https://botblox.io/switchblox-cable-adapter-for-ardupilot/>`__ : adapter to ease the ethernet port differences across different device manufacturers
- `CubeNode ETH <https://docs.cubepilot.org/user-guides/cubenode/cubenode-eth>`__ : serial to ethernet adapter to allow non-ethernet autopilots to work over ethernet
- `CubeNode ETH <https://docs.cubepilot.org/user-guides/cubenode/cubenode-eth>`__ : serial to ethernet adapter to allow non-ethernet autopilots to work over ethernet using PPP
- `CubeLAN 8-Port Switch <https://irlock.com/products/cubelan-8-port-switch>`__ : ethernet switch using the CubePilot preferred 5-pin connector

PPP Setup
Expand All @@ -28,7 +28,7 @@ PPP Setup
.. image:: ../../../images/build-server-ppp.jpg
:target: ../_images/build-server-ppp.jpg

.. note:: if using a local build environment (:ref:`building-the-code`), you can include PPP capability by using the ``--enable-ppp`` waf configuration option when building the code for an autopilot locally.
.. note:: if using a local build environment (:ref:`building-the-code`), you can include PPP capability by using the ``\-\-enable-PPP`` waf configuration option when building the code for an autopilot locally.

- Connect one of the H7 based autopilot's serial ports to the ethernet switch's or Ethernet-to-PPP-adapter's USART port. For optimum performance a serial port with flow control should be used (e.g. normally SERIAL1 or SERIAL2). In the following instructions SERIAL2 is used

Expand All @@ -47,18 +47,8 @@ In addition, it may implement its own Web Browser interface for status and confi
.. image:: ../../../images/PPP_web_server.jpg
:target: ../_images/PPP_web_server.jpg

Adapters
========

- `BotBlox DroneNet adapter and Ethernet Switch <https://botblox.io/dronenet-for-ardupilot/>`__

.. image:: ../../../images/BotBlox_DroneNet.jpg
:target: ../_images/BotBlox_DroneNet.jpg
:width: 450px

Video
=====


.. youtube:: bN6iDP4Zjzg

3 changes: 3 additions & 0 deletions common/source/docs/common-future-wiki-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ New Board Support
- SkysakuraH743, see https://github.com/ArduPilot/ardupilot_wiki/pull/6427
- AeroFox H7 , see https://github.com/ArduPilot/ardupilot_wiki/pull/6446
- GEPRC TAKER H7 BT, see https://github.com/ArduPilot/ardupilot_wiki/pull/6450
- MicoAir743-AIO, see https://github.com/ArduPilot/ardupilot_wiki/pull/6511
- CrazyF405 ELRS, see https://github.com/ArduPilot/ardupilot_wiki/pull/6513
- MicoAir743v2, see https://github.com/ArduPilot/ardupilot_wiki/pull/6525

New Peripheral Support
======================
Expand Down
15 changes: 10 additions & 5 deletions common/source/docs/common-install-sdcard.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Loading Firmware via SD Card
============================

It is possible to update the ArduPilot firmware on certain autopilots by placing a specifically-named file onto an SD card and running the autopilot's bootloader (e.g. by power-cycling the board.
It is possible to update the ArduPilot firmware on certain autopilots by placing a specifically-named file onto an SD card and running the autopilot's bootloader (e.g. by power-cycling the board).

.. note:: at this time only a few autopilots have this capability. See instructions below to determine if an autopilot has this feature. Only H7 based autopilots using MMC connected SD cards are capable of this and not all that do have had the feature added as of yet.

Expand All @@ -25,7 +25,7 @@ The Bootloader

Currently, no autopilot ships with a bootloader capable of flashing from the SD card. Updating the bootloader is required to support flashing from SD card. Note that updating the autopilot's bootloader is an operation which can make your board non-operational, and difficult to recover. More-so with boards that do not expose a "boot0" pin, such as the CubeOrange. Be aware of this risk, and be prepared to spend considerable time recovering a board if something bad happens when updating the bootloader.

:ref:`The instructions on updating the bootloader <common-bootloader-update>` can be followed to update your bootloader; be aware that you must use a "latest" firmware to obtain a suitable bootloader.
:ref:`The instructions on updating the bootloader <common-bootloader-update>` can be followed to update your bootloader; be aware that you must use a recent firmware (4.5 or higher) to obtain a suitable bootloader.


The Firmware File
Expand Down Expand Up @@ -58,7 +58,6 @@ If you are building your own firmware, and the board is configured to support fl
Boards which support flash-from-sdcard will also have ``.abin`` files available for download from `firmware.ardupilot.org <https://firmware.ardupilot.org/>`__



Firmware File Name
==================

Expand All @@ -70,7 +69,7 @@ There is only one correct filename that may be used to flash-from-sdcard; this i
Transferring the File to the SD card
====================================

This can be done in your operating system as you would ordinarily interact with the SD card (e.g. file browser.).
This can be done in your operating system as you would ordinarily interact with the SD card (e.g. file browser).

You can also transfer the file to the SD card via ``MAVFTP``.

Expand All @@ -92,7 +91,7 @@ After the transfer is complete, the directory listing should look something like
Triggering the Flash Update
===========================

Power cycle the board to enter the bootloader which will automaticallt check for the firmware update file and begin flashing it.
Power cycle the board to enter the bootloader which will automatically check for the firmware update file and begin flashing it. Alternatively to avoid the powercycle the autopilot may be rebooted via a `PREFLIGHT_REBOOT_SHUTDOWN <https://mavlink.io/en/messages/common.html#MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN>`__ command with the 'Param1' field set to 3 (ie. "Reboot autopilot and keep it in the bootloader until upgraded")

It should take roughly 1 minute to verify the firmware and flash it to the vehicle's internal flash.

Expand All @@ -109,3 +108,9 @@ Several things can go wrong with the firmware flash, but some diagnostics are av
- if the file is called ``ardupilot-verify-failed.abin`` then the checksum the bootloader calculated did not match the bootloader in the ``.abin`` metadata.
- if the file is called ``ardupilot-flash.abin`` the process failed when writing the firmware, or the board was interrupted while doing so. The board is unlikely to boot into an ArduPilot firmware if this has happened, so a re-flash will be required.
- if the file is called ``ardupilot-flashed.abin`` you should not need this "troubleshooting" section, as the flash process has succeeded!

Demo Video
==========

.. youtube:: HjiT-Yk4flk
:width: 100%
Loading

0 comments on commit cc1d0fe

Please sign in to comment.