Third-Party Integrations
QGroundControl
When the MAVLink Module is active, the LightForce unit functions as a transparent bridge, allowing QGroundControl (QGC) to interface directly with the internal communication stack. This enables full mission planning, real-time telemetry visualization, and parameter tuning using a standard MAVLink interface.
To configure QGroundControl to communicate with the LightForce unit, follow these steps:
- Establish Physical Connection: Connect your ground station computer to the LightForce unit via the Ethernet ports or the USB-C management port.
-
Configure Host IP: Ensure your computer’s network adapter is on the same subnet as the LightForce unit.
- If using USB-C, set your static IP to
10.0.0.x(e.g.,10.0.0.5). - If using Ethernet1, set your static IP to
10.0.1.x(e.g.,10.0.1.5). - If using Ethernet2, set your static IP to
10.0.2.x(e.g.,10.0.2.5).
- If using USB-C, set your static IP to
-
Add UDP Link in QGC:
- Open QGroundControl and navigate to Application Settings > Comm Links.
- Click Add to create a new link.
- Set the Type to UDP.
- Set the Port to the designated MAVLink listening port (typically
9999). - Add the Server Address (the LightForce IP):
10.0.0.1for USB or10.0.1.2or10.0.2.2for Ethernet.
-
Connect: Select the newly created link and click Connect. QGC will automatically begin heartbeating with the MAVLink Module and populate the vehicle parameters and HUD data.
ArduPilot
The ArduPilot integration provides a native implementation of the ArduPilot open-source autopilot firmware as a software module running on the LightForce platform. This allows the full ArduPilot flight stack—guidance, control, and safety logic—to operate as a first-class module within the LightForce software architecture, benefiting from its unified communication stack, supervision, and logging.
The module is provided as the arducopter binary. Serial ports, network links, and storage locations are configured through its command-line options:
Usage:
Usage: arducopter [OPTION]...
Options:
--serial0 <string> Serial port for channel 0 (0 through 9 available).
Example: /dev/ttyO4
--serial1 <string> Serial port for channel 1.
--serial2..9 <string>
Additional serial ports (0 through 9 available).
-A, --uartA ... Mapping for `--serial0` (deprecated).
-C, --uartC ... Mapping for `--serial1` (deprecated).
-D, --uartD ... Mapping for `--serial2` (deprecated).
-B, --uartB ... Mapping for `--serial3` (deprecated).
-E, --uartE ... Mapping for `--serial4` (deprecated).
-F, --uartF ... Mapping for `--serial5` (deprecated).
-G, --uartG ... Mapping for `--serial6` (deprecated).
-H, --uartH ... Mapping for `--serial7` (deprecated).
-I, --uartI ... Mapping for `--serial8` (deprecated).
-J, --uartJ ... Mapping for `--serial9` (deprecated).
--log-directory <string>
Custom log path. Example: /var/APM/logs
-l, --log-path <string>
Custom log path. Example: /var/APM/logs
--terrain-directory <string>
Custom terrain path. Example: /var/APM/terrain
-t, --terrain-path <string>
Custom terrain path. Example: /var/APM/terrain
--storage-directory <string>
Custom storage path. Example: /var/APM/storage
-s, --storage-path <string>
Custom storage path. Example: /var/APM/storage
--module-directory <string>
Module support. Example: /usr/lib/ardupilot/modules
-M, --module-path <string>
Module support. Example: /usr/lib/ardupilot/modules
--cpu-affinity <string>
CPU affinity. Example: 1 (single), 1,3 (multiple), 1-3 (range).
-c, --cpu-affinity <string>
CPU affinity. Example: 1 (single), 1,3 (multiple), 1-3 (range).
Network links can be specified on any serial channel. Supported address formats include:
# Networking TCP:
--serial1 tcp:192.168.2.15:1243:wait
--serial0 tcp:11.0.0.2:5678
# Networking UDP:
--serial0 udp:11.0.0.2:14550
--serial0 udp:11.0.0.255:14550:bcast
--serial0 udpin:0.0.0.0:14550
With APM-Bridge Module active on the LightForce unit, the system behaves transparently to standard ArduPilot tooling. With the default configuration, the following command establishes the correct bridges for the system to operate:
arducopter --serial0 udp:192.168.99.1:14550 --serial1 udp:127.0.0.1:9001 --serial2 udp:127.0.0.1:9002