MENU | |||
Introducing FSQCALL | Uses for FSQCALL |
Sending text using FSQ is generally very reliable, certainly more so than other digital modes that use no error correction. Therefore with just a little verification, it has been possible to devise a simple system (simple to use, that is), which can provide clutter-free communication (station selective squelch), and can also perform many automated message-related tasks.This selective calling system is called FSQCALL, and operates in the ZL2AFP software in the default Active mode.
While not attempting to be a full Automatic Link Establishment (ALE) system, FSQCALL performs similar functions to allow stations to establish links and pass simple messages manually or automatically. The focus is on sending simple one-sentence messages or commands in a manner suited to the FSQ protocol. There is a handful of simple and easy to learn commands used by FSQCALL. ALL of these can be manually typed, while the receiver end is largely automated. These simple commands allow you to:
This sounds like a tall order, but cunning design has allowed all this to be achieved with just over a dozen easily remembered one-character commands. And you don't even need to remember them all, as the program itself lists the commands for you, with just a mouse-click. There is also comprehensive Help available from the Menu, which gives you details of operating Rules and Syntax, so you can't go wrong.
- Find a station's location and status.
- Read a station's pre-defined message.
- 'Poll' a station to check how reception is.
- Send a sentence to just one specific station.
- Send a sentence to all stations within range.
- Send a sentence to be stored in a specific file.
- Change the transmitting speed at another station.
- Receive and save a file from an unattended station.
- Determine which program version a station is running.
- Send a file to one, many or all stations, even unattended.
- Call CQ (prints at all stations in range where CQ is enabled).
- Send or receive telemetry from one or many remote stations.
- Determine which other stations have been active, and when.
- Have a station relay your sentence to another station or stations.
- Send an image to, or receive an image from an unattended station.
- Send periodic 'soundings and other messages from third party software.
- Raise an Alert at a station, with automatic response once acknowledged.
- Send a periodic 'sounding' message to let other stations know you are active.
- Send a file with Forward Error Correction, guaranteeing 100% perfect reception.
The FSQCALL message structure is simply an extension of FSQ. Every sentence starts automatically with your_call:<crc>. The crc (Cyclic Redundancy Check) is used to ensure that the source callsign is received correctly, since it's often used in automatic replies. The CRC is generated and applied automatically. Every message you transmit is identified by your callsign.
You simply type a destination callsign (or maybe more than one), a one-letter command for each callsign, and a message, if needed. Then you just press ENTER, as in normal 'vanilla mode' FSQ. Let's define some terms:
- Direction:
- A destination callsign for a message or command.
- Preamble:
- The callsign and checksum; the stuff that's prepended automatically to the sentence.
- Trigger:
- The one-letter command character used with every FSQCALL transmission.
- Payload:
- The accompaning information for a message or command.
- Sentence:
- The complete transmission, Direction, Trigger and message, if any.
- Sounding:
- Periodic transmission of the Preamble, with or without an optional Payload.
Sounding assists other stations to build a list of available stations.
Sounding is always used without a Direction and Trigger.
Here are some examples below. The text shown bold is added automatically before transmission, outgoing text is in red, while replies (both automated and manual) are shown in blue. In the first exchange, ZL1BPU asks for ZL2ABC's location, which is an automatic response:
zl1bpu:b6zl2abc@As another example, ZL1BPU and ZL2ABC have established contact and are chatting in Active mode:If in range, ZL2ABC will automatically reply:
zl2abc:2ezl1bpu Lower Hutt
Why is the callsign 'zl1bpu' repeated in the reply? So the receiving station FSQCALL selective squelch opens to allow the message to simply print:
Lower Hutt
zl1bpu:b6zl2abc Have you seen Jim ZL3JIM lately?As you will by now have gathered, if your callsign isn't in an incoming message, nothing will print. FSQCALL acts like a smart selective squelch. It opens the receiver for printing on the main screen (and other actions) when your callsign is received, and closes again when the actual receiver squelch closes (when the other station stops transmitting).
(ZL2ABC sees only Have you seen Jim ZL3JIM lately?)and ZL2ABC replies:
zl2abc:2ezl1bpu Yes, he was at the club meeting on Wednesday.
(ZL1BPU sees only Yes, he was at the club meeting on Wednesday.)
The Squelch is also 'fade-proof', using a smart delay design to ride through fades that might otherwise close the Selcall.
Because the squelch also locks-out transmission, just as in vanilla FSQ, stations generally do not transmit over other stations, or reply until the other station has finished transmitting. Various delays are also added before automatic replies, in order to manage the priority of messages. Manually typed messages have the highest priority, and sounding messages the lowest. This technique is called CSMA, or Carrier Sensed Multiple Access, controlling access to the radio channel.
Detailed descriptions of the FSQCALL Syntax and FSQCALL Rules are also available from the program Menu.
Using full-time Forward Error Correction system (FEC) would add unacceptable delay and markedly reduce throughput, and since FSQ is generally robust, a simple error check mechanism is all that is required, protecting only the message preamble. The preamble of every sentence is protected by a checksum, an 8-bit Cyclic Redundancy Check. The CRC forms the two mysterious letters/numbers which follow the colon in every FSQCALL header. If this preamble is not correct, the message will be ignored, for two reasons:Each incoming message is also of course checked for the correct destination callsign (your callsign), and if that's not present, or received incorrectly, the message is ignored. It's also ignored if your callsign is not immediately followed by a permitted trigger character. These are the command characters used to tell the receiver what to do. There are sixteen of them:
- If the preamble is incorrect, the software won't know who to send automatic replies to!
- If the preamble is incorrect, there's a high chance that the message will be too, and you may not know who it's from, in order to ask for a repeat.
? $ * ! ~ # % + | @ & ^ _ < and >, plus space Quite simply, if you don't get an expected reply to your command or message, you just send it again. Messages that don't have an automatic reply (the only one is callsign followed by space) are best used only when the other station is attended, otherwise you've no way of knowing if it was received. If it wasn't received, or was garbled, the other station operator will probably send "Agn?".
The program has a 'Monitor Pane', and you can always keep an eye on that to see if there was anything you might have missed. This is especially useful if for some reason the squelch closes early (typically caused by a fade), or some station is calling you, but doesn't have your callsign the same as you've set it, or makes an error in the syntax.
The error rate in FSQ is so low that you see more typing errors than from any other cause!
This is a very brief summary of the most-used commands. For full syntax, see the FSQCALL Syntax Help item within the program.callsign message Enables print of message at station callsignIt's easy to see how simple this all is. There are various ramifications involved if the syntax is used improperly. Check also the FSQCALL Rules. Several other trigger characters and commands are available but not listed here, and others are reserved for future features.
callsign? Returns signal report from station callsign
callsign* Sets FSQCALL ACTIVE at station callsign if it was in SLEEP
callsign!message Station callsign retransmits message
callsign~message Station callsign retransmits message after a 15 second delay
callsign#[file.ext]message Station callsign stores message as or appended to file.ext
callsign+[file.ext] Station returns the requested file using # command
callsign@ Returns QTH message from station callsign
callsign& Returns QTC message from station callsign
callsign> Station callsign changes to 3 baud and confirms
callsign< Station callsign changes to 6 baud and confirms
allcall message Enables print of message at all stations in network
cqcqcq message Enables print of message at all stations with CQ reception enabled
If you wish to chat with two or more friends at once, simply include both/all their callsigns in each sentence. Alternatively,
use allcall as the address, and everyone will receive the message. In order to avoid serious mayhem on the radio channel,
the automated replies do not work with allcall!
Sending Files and Images
Small text files in a range of popular formats can be reliably sent and stored automatically. You can also remotely request
a file, or read a directory of available files, a brief or detailed list. Files are kept in the /Shared folder, and as a security
measure, other users have no access to files elsewhere on your computer. If you wish to give them access to a file, copy it into the
/Shared folder, then update the directories using the File/Refresh directories menu item. You can also refresh the directories
using the Menu.bat batch file.
There are several 'Helper' programs able to send files. FSE sends and receives Error Corrected files; FST sends telemetry.
You can also write your own 'Helper' program. All it need to do to transmit automatically is place a correctly formatted
message in the file 'data.txt', and save it in the /Shared folder. FSQCall
since V0.36 will accept files to transmit from any approppriate 'helper' program. You could for example write a 'Smart Sounding'
program or a weather message generator.
To send a file:
Other users can read your directories using the file read command:
About File Formats
If the file you received won't open, you can still manually access it, as pressing the MSG RX
button will open the file folder instead of the file. Just look for the newest file.
Emergency Communications
The Error Corrected file transfer feature is perfect for Emergency Communications applications. You can be certain that the message
received is 100% correct.
FSQCALL also works really well on VHF FM, or on VHF repeaters. Stability of equipment can be an issue on VHF, especially with narrow-band
digital modes. Using audio subcarriers on an FM transmission avoids this. In addition, if the transceiver can be operated
with the FM squelch open (you often don't need to listen anyway), FSQCALL will easily copy signals that won't open the squelch.
In fact it has been found that the sensitivity of IFK modes on FM is much better even than VHF SSB.
Operator training requirements for Emergency Communications are minimal. Practice with a couple of laptops chatting across the clubrooms (speaker to
microphone) for an hour or so will train new operators well. Another hour spent with each operator's own HF equipment connected
would be useful in order to check out and become familiar with their digital interface, connections and settings.
Telemetry
The FSQCALL telemetry capability also allows third party programs to create files that FSQCALL will automatically transmit,
and makes available the stored telemetry data for automated analysis by third party applications. You can also use the automatic
file transmission capability for other smart activities, such as sending weather reports and Soundings which include time stamps.
These aspects of FSQCALL are covered in the Help Menu Telemetry item.
Logging and Web Database
To complement the proposed web database feature, FSQCALL V0.42 has an additional feature added to the sounding message:
it will send a special fixed-format message containing the station locator, transmitted power level, and a checksum to
protect the information. Anyone interested in developing a web database should contact the author.
Uses for FSQCALL
Keeping in Touch
The simplest application for FSQCALL is to provide a convenient 'watering hole' for a group of friends who wish to keep
in touch and chat occasionally. Experience has shown that leaving your equipment running on the 40m calling channel during the day,
and the 80m channel at night, will provide fairly reliable communications over about a 500 - 1000 km range. Depending on propagation,
40m may well work day and night over the summer. Late afternoon in winter would benefit from a 60m channel, if one is available.
Only modest power
is required. You can leave a message for your friend if they aren't available, and even use one friend to relay a
message to another. The software will tell you who is currently available, and you can query the station if you wish to make sure.
Yes indeed! FSQCALL has three colour image formats that can be sent and received automatically, plus a black-and-white
high resolution FAX mode. There is also a web camera capability. Not only can you send images, but you can request images, either stored
or from the web cam, from another station. These features are described in detail in the
Image Mode Help file.
callsign#[filename.ext]file contents...
You can either type the file content directly into the TX pane, or use the File/File to send Menu option to send a file from anywhere on the computer. If you use this second approach, the command is completed for you, complete with file name.
callsign+[short.callsign] Short directory listing, just file names
callsign+[long.callsign] Detailed directory listing (includes file date, time and size)
FSQCALL will indicate that a file has been received by illuminating the MSG RX light
and button. In theory, if you subsequently click on the button, it will open the latest received file for you to view.
However, this only works for registered file types, such as .TXT. If you are expecting other file types (such
as .TLM telemetry files) register them with your operating system. Also please make your friends aware that if they
wish to send you a message as a file, they should ALWAYS use a file suffix .TXT, as it's the only universally accepted
file format.
FSQCALL is also designed for management of field stations in an emergency, exercise, or sports event scenario.
FSQCALL should not be used to pass important messages, such as those involving privacy or medical aspects (and it won't handle large files), but is absolutely ideal for
passing commands such as changing location, requesting specific information, or passing on changes to plans, schedules
and contact information. Typical messages would be 'Call John (09) 554 321' or 'Check number of stage starters with marshall'. By using FSQCALL, the field stations can remain in contact without having to listen on a radio
channel (which can be very tiring), and without missing a message if they step away from the radio for some reason.
FSQCALL has a built-in telemetry capability. Remote devices can directly send data, or can be connected to a computer
with a third-party helper program, and a radio
which sends the data. Data is sent using the File Store command (#). Telemetry can be sent to all stations, a specific station, to a common
telemetry file, or to an individual file for each remote device. Each transmission to the same station and file is stored sequentially
in the same file, available for later analysis.
FSQCALL V0.42 has two additional features. It includes a full-time message log, which logs every transmission heard
on the working channel. A new log file is started al local midnight. This feature is useful as a tool for 'post mortem'
examination of an emergency or exercise. However, it is aso provided so that a third-party developer might periodically
search the file looking for soundings that could be posted to a web database (in the manner of WSPR).