Table of Contents
Fldigi Parrot
Experimental HF Digi-mode message-relay system using Fldigi and Python
Work in progress
Uses xml-rpc
in python
to communicate with fldigi and read the incoming RX Text.
When a particular text sequence is received (ZCZC CALL CALL
) to trigger the “parrot” function, the RX text is then read searching for an end of message
string (…end
). When this is found the full message is then re-transmitted, with self-identification added to ensure it is clear which station is the source of the message and which is the source of the relay.
Transmitter control via RS232 / NMEA (for an IC-M710 marine HF transceiver) is also included to allow for remote commands to change frequency to be handled. Fldigi does the rig control (via its own hamlib
configuration). Fldigi is told what we want the radio to do via xml-rpc
rather than have direct control ourselves.
Monitoring
A web-page is provided that shows the Fldigi receive text, in almost real time at:
and another shows the parrot activity:
Software
The python
scripts to run these functions are run within a tmux
session which is set up with the following script:
tmux script
rx_buf.py
rx_buf.py reads the Fldigi RX Buffer and provides the online web page to allow remote observation of what is being received.
parrot_flmsg.py
parrot_flmsg.py
handles the message-relay functions.
Recent changes were made to handle the longer formal message formats of flmsg
.
The parrot also provides some simple remote control of the HF transceiver's frequency and power level via QSY? and PWR? commands.
flfn.py
flfn.py
is a helper module of functions to communicate with fldigi using xml-rpc
.
Parrot Operation
Basic overview
To trigger a message relay you need to send the following format of text:
ZCZC GM4SLV <YOURCALL>
(replacing <YOURCALL>
with your actual callsign)
This is the start of message
trigger.
Then type/paste/otherwise send your message-to-be-relayed.
To end the message send:
… end
If you are using flmsg
to to create and send the message it will send the correct end of message
string … end
itself, otherwise you need to add it manually.
After a short delay, if successful, you should hear/see your message being relayed.