Files
ardupilot/libraries/AP_Scripting/applets/RockBlock-9704.md
T

2.4 KiB

RockBlock 9704 Lua Script

A Lua script for ArduPilot that enables satellite communication using the RockBlock 9704 SBD modem to send and receive basic MAVLink telemetry.

Requires https://github.com/stephendade/rockblock2mav (MQTT client) at the GCS end

Messages will be send or received if High Latency Mode is enabled, or as configured by RK9_FORCEHL.

Setup: This script requires:

  • A SERIALn port, set to Scripting. Connect to the RXD/TXD lines of the Rockblock's header
  • A SCR_SDEVn (virtual) port, set to MAVLink High Latency. Requires SCR_SDEV_EN=1
  • A relay output connected to the I_EN pin of the Rockblock's header
  • A GPIO input connected to the I_BTD pin of the Rockblock's header

The Rockblock's V_IN- and V_IN+ header pins can be connected to the flight controller's GND and +5V pins respectively.

Caveats:

  • This will only send HIGH_LATENCY2 packets via the SBD modem. No heartbeats, no command acknowledgements, no statustexts, no parameters, etc
  • A single HIGH_LATENCY2 packet will be sent every RK9_PERIOD sec

Parameters

The script has the following parameters:

RK9_FORCEHL

Mode of operation:

  • 0 = start disabled, can be enabled via MAV_CMD_CONTROL_HIGH_LATENCY (default)
  • 1 = start enabled, can be disabled via MAV_CMD_CONTROL_HIGH_LATENCY
  • 2 = enabled on loss of telemetry (GCS) link for RK9_TIMEOUT seconds

RK9_PERIOD

When in High Latency mode, send Rockblock updates every RK9_PERIOD seconds. Defaults to 30 seconds.

RK9_DEBUG

Sends Rockblock debug text to GCS via statustexts. Defaults to 0 (disabled).

RK9_ENABLE

Enables the modem transmission. Defaults to 1 (enabled).

RK9_TIMEOUT

If RK9_FORCEHL=2, this is the number of seconds of no-messages from the GCS until High Latency mode is auto-enabled. Defaults to 5 seconds.

RK9_SERPORT

Serial port number to which the Rockblock is connected. This is the index of the SERIALn_ ports that are set to 28 for "scripting". Defaults to 0.

RK9_SCRPORT

Scripting Serial port number to which the Rockblock is connected for HL2 messages. This is the index of the SCR_SDEV ports that are set to 2 for "MavlinkHL". Defaults to 0.

RK9_RELAY

RELAYn output to control Rockblock power. This connects to I_EN on the Rockblock header. Defaults to RELAY1.

RK9_BOOTED

SERVOn GPIO pin number (usually 50 or greater) that reads the Rockblock booted state. This connects to I_BTD on the Rockblock header. Requires SERVOn_FUNCTION=-1. Defaults to 52 (SERVO3).