flmsg - quick guide
flmsg is a simple forms management editor for the amateur radio
supported standard message formats. These current include:
- ICS-203 - Organization Assignment List
- ICS-205 - Incident Radio Communictions
- ICS-213 - General Message Form
- ICS-214 - Unit log
- ICS-216 - Radio Requirements Worksheet
- ICS-309 - Incident Communications Log
- HICS-203 - Hospital Organization
- HICS-206 - Hospital Staff Medical Plan
- HICS-213 - Hospital Incident Message
- HICS-214 - Hospital Operational Log
- MARS Daily - Military Auxiliary
Radio System Daily report
- MARS IN/EEI - Military Auxiliary
Radio System IN/EEI report
- MARS Net - Military Auxiliary Radio
System net report
- MARS Army - Military Auxiliary
Radio System Army formatted message
- MARS Navy - Military Auxiliary
Radio System Navy formatted message
- IARU - International Amateur Radio Union
- Radiogram - NTS message
- Red Cross Safety & Welfare -
- Red Cross 5739 - On Site Detailed
- Red Cross 5739A - Detailed Damage
Assessment Supplemental Worksheet
- Red Cross 5739B - Area Assessment
- Plaintext - generic message format
- CSV-text - Comma Separated Value text
- Blank - very simple text format with no
- Drag and Drop
- target control (widget) that accepts either a data file (.203 etc), a
wrapped data file
(.wrap), or the text associated with a data file. The later may
be a copy and paste from another application such as fldigi or a text
- Transfer - transfer any file using
flmsg wrap and header controls.
It's data files are pure ASCII text that can
be sent from point to point using the internet, amateur radio, or other
electronic link. The data files are designed to minimize the
transfer size. This is particularly important on amateur
HF. The data file and the transfer file are one in the same, but
can be further encapsulated using either flarq or wrap for the purpose
of confirming the received file integrity.
- Custom HTML Form - User
generated custom form using HTML FORM conrols.
- Custom CSV Form - User generated
custom form using substitution strings in html document.
The File and Template menus are:
Drag and Drop Target
Can be used in lieu of the Drag-N-Drop
New - clear all fields and name the
default file "new.f2s" (new.m2s for radiogram)
Open - open an existing file flmsg data files have the extension
".i2s" for IARU form
".203" for ICS-203 forms
".205" for ICS-205 forms
".25A" for ICS-206A forms
".206" for ICS-206 forms
".213" for ICS-213 forms
".214" for ICS-214 forms
".216" for ICS-216 forms
".H203" for HICS-203 forms
".H206" for HICS-206 forms
".H213" for HICS-213 forms
".H214" for HICS-214 forms
".mds" for MARS daily report
".mis" for MARS IN/EEI report
".mns" for MARS net report
".nas" for MARS Army message
".nns" for MARS Navy message
".m2s" read as "message 2 send" for radiogram forms
".sws" for Red Cross Safety & Welfare report
".39s" for Red Cross 5739
".3as" for Red Cross 5739A
".3bs" for Red Cross 5739B
".p2s" for plain text, generic forms
".c2s" for comma-separated-value spreadsheets
".b2s" for blank forms
Save - save the current file to the name in the "file:" display box
Save As - save using a new filename that the user provides
View- write the data to specified type of file
Html delivery - viewed in default
browser, contains only those elements sent to final recipient
Html file copy - viewed in default browser, contains ALL fields
including record keeping
Text - viewed in default text editor - suitable for CW / Voice
Import - Import the data fields from a
Qforms eXtended Markup Language (xml) file
Export - Export the data fields to a Qforms compatible xml file
Wrap (Import / Export / AutoSend)
Import the data fields from a Wrapped
data file. If the data file is corrupt you will be given the
opportunity to either allow flmsg to recover as many fields as possible
or to view the file using the default text editor.
Export the data fields to a Wrapped data file
Create a wrapped datafile and save in the NBEMS.files/WRAP/auto
directory. If running, fldigi will find and automatically
transmit the file.
Load - load an existing template file
- the default extension for the supported files are:
IARU template - "i2t"
ICS-203 template - ".203T"
ICS-205 template - ".205T"
ICS-205A template - ".25T"
ICS-206 template - ".206T"
ICS-213 template - ".213T"
ICS-214 template - ".214T"
ICS-216 template - ".216T"
HICS-203 template - ".H203T"
HICS-206 template - ".H206T"
HICS-213 template - ".H213T"
HICS-214 template - ".H214T"
MARS daily template - ".mdt"
MARS IN/EEI template - ".mit"
MARS Net template - ".mnt"
MARS Army template - ".nat"
MARS Navy templat - ".nnt"
Radiogram template - ".m2t"
Red Cross Safety & Welfare template - ".swt"
Red Cross 5739 - ".39t"
Red Cross 5739A - ".3at"
Red Cross 5739B - ".3bt"
Plain text template - ".p2t"
CVS-spreadsheet - ".c2t"
Blank text template - ".b2t"
Save - save the current form as a template file, using the default (or
Save As - save the current form as a template file, user provides the
Note: data files and template files for ICS213 are identical. The
difference is their location in the computer directory structure and
their extension. Message files and template files maintain their
uniqueness by virture of their file name. If you reuse a filename
the old data will be lost.
On XP: C:\Documents and
On Vista: C:\Users\<username>NBEMS.files
On Linux: /home/<username>/.nbems
On Puppy: /root/.nbems
On OS X: /home/<username>/.nbems
Data files are located in the sub directory "ICS/messages"
Template files are located in the sub directory "ICS/templates"
View files (.rtf, .html, .txt) are located in the "ICS/" subdirectory.
||The compression panel is at the
bottom of the main dialog. You can elect to compress any file
during transmission. Compressed data must be converted to a
character set that can be transmitted by fldigi. The choices are
base-64, base-128 and base-256. A limited subset of digital modem
types can be selected from the 2nd combo box. If flmsg and fldigi
are executing concurrently then flmsg will command fldigi to change
modem when a new modem type is selected in flmsg. Each time these
controls are changed (when a change is made to the form itself) the
status blocks for transfer size and number of seconds to transfer is
There are four separate configuration dialogs for flmsg:
|Personal data that will be used
on various forms.
The Call is a required field. If you leave it blank the program
will nag you when you try to save a file, create a wrapped file, or use
the autosend function.
- Date format - select the date format that will be used for
both ICS213 and Radiogram
- Time format - select the time format that will be used for
both ICS213 and Radiogram
- Wrap - automatically open the target folder (directory)
when the file is exported
- All flmsg data streams can be compressed to reduce
transmission time. The compression will only be applied to the
data part of the transmission, and it will only occur if the
compression actually reduces the size of the file. The
compression information is recorded in the event log (see below).
- Naming files - automatic file name generation as:
You can elect to use any or none
of the autogeneration components
CALLSIGN is the operators callsign
YYYYMMDD is year, day, month
HHMMSS is hours, minutes, seconds local or Zulu at time file is created
NNNN is an auto incremented serial number
Filename extensions are f2s for ICS-213 data, f2t for ICS-213 templates
m2s for radiogram data.
- Radiogram serial numbers can be auto-incremented. The
auto-increment number is also used for the file name. In the
example shown the next Radiogram will be number 104 and the associated
file sill be W1HKJ-104.m2s
- MARS roster file - Callsign entries in the MARS forms is
from a combo box that is filled in from a configuration file.
This file is a simple CSV, Comma Separated Value, text file. An
example of it's contents is:
CALL, LNAME, STATE, BCALL, POSITION
Note that empty fields are still separated by a comma. This file
can be managed using a text editor or any spreadsheet program.
- Radiogram format -
- # words per line to be used when formating the radiogram
- Auto increment the filename numbering
- Assign a value to the next auto increment number
- Add the ARL numeric descriptors to end of html form
|Configure server interface to
fldigi. Used for xmlrpc interface to fldigi. Allows flmsg
to control fldigi modem selection for a limited subset of the fldigi
flmsg can connect directly to fldigi using fldigi's ARQ socket
service. Fldigi acts as the server and flmsg the client.
Pressing the "AutoSend" button will initiate an immediate transfer of
an encapsulated file to fldigi. You should have fldigi prepared
to accept the file for transmission. The frequency (radio and
audio) and modem type should be correct and if you are in a QSO then
your contact should be prepared to receive the transmission.
Qform data file
flmsg can read and write Qform ICS213 data files. The Qform data
file is larger by virtue of the xml structure. The file size
ratio is less when the content is larger.
Viewing the data in a printable format
The program can produce a viewable document in ASCII text and Hypertext
Markup Language (html) file
formats. After creating the document flmsg will request the file
to be opened by the default viewer / editor for that type of document.
Html Text Format
The html Text Format file that the File/Write menu item produces can be
opened with any web browser program. Use that
software for printing the report.
Command line parameters
Flmsg may be invoked from the command line (or parameters added to the
--flmsg-dir "full-path-name-of-folder for all FLMSG folders"
--auto-dir "full-path-name-of-folder for autosend files"
auto-dir and flmsg-dir can be separate and unique
--p FILENAME - print and exit
--b FILENAME - print and stay open
The --p and --b options are used by fldigi when it automatically opens
flmsg to display a received flmsg data file.
The --flmsg-dir parameter is used to change the default location of all
of the files associated with flmsg. This should match with the
same command parameter passed to fldigi. This allows the user to
run multiple instances of flmsg / fldigi with each keyed to the
other. For example the user might have separate flmsg/fldigi
pairs for HF, VHF etc. The default is
XP - C:\Documents and
Vista/Win7 - C:\Users\<username>\NBEMS.files\
Linux/Unix/OS X - $HOME/.nbems/
The --auto-dir parameter is used to further change the name of the
folder used to contain the file that is sent automatically by
fldigi. Fldigi's command line parameter --auto-dir must
match. This is in addition to and over rides the --flmsg-dir
parameter. The default is:
XP - C:\Documents and
Vista/Win7 - C:\Users\<username>\NBEMS.files\WRAP\auto\
Linux/Unix/OS X - $HOME/.nbems/WRAP/auto/
Events are recorded at various debugging levels (default is INFO) to
assist the user in reporting problems to the developers. The most
recent event is at the top of the dialog. The
event log is opened from the Help | Event Log menu item:
A new feature in this version of fldigi is the ability of the program
to track origination and modification of many of the message types.
The program also keeps track of the stations in the transmit
path for a specific message.
An example plaintext message:
When exported as a wrap file becomes:
:hdr_fm:19 W1HKJ 201214042019Z
:hdr_ed:19 W1HKJ 201210041840Z
:tt:20 A plain text message
:sb:17 Bumps in the road
:mg:105 Life seems to have more
than it's share of bumps in the road. The secret is to stay alert
at the wheel.
The :hdr_fm: is a first-to-last list of sending stations, each
separated by a new-line character.
The :hdr_ed: is a first-to-last list of editing / modifying sations,
each separated by a new-line character.
Each entry consists of the station callsign and the Zulu date time in
These can be viewed from within flmsg using the "Help | Header Trace"
flmsg now has the capability of working with locally prepared custom
forms. Custom forms may be created either using a special comma
separated value (csv) format or with html forms.
Custom Html Forms
The basis of a custom flmsg form is an html form.
You can use LibreOffice to create a form and then export it to an
format. You can also use LibeOffice to import an MS word document
first. LibreOffice is available for free for all of the operating
systems on which flmsg will execute.
You then use a text / web editor to add some elements; Geany,
Gedit, Notepad++ / Bluefish, Kompozer are suitable editors.
The html flmsg form must include these statements:
<META NAME="EDITABLE" CONTENT="true">
in the “header” (between the <HEAD> and </HEAD>
tags) of the html file:
<META NAME="MENU_ITEM" CONTENT="Example">
The second line, “CONTENT=” value is the name of the form as it
will show up in flmsg in the Form, Custom menu:
flmsg supports the following html form input types:
- text input
- password input
- check box
- radio box
- select (combo box)
- multi-line "text area"
This is the “Example” form. It demonstrates the use of all of
the supported controls.
---------------------------------------- raw html
<h2>A Simple HTML Form
<form>Enter your name: <input name="name" value="W1HKJ" size="20"
maxlength="40" type="text"> and password: <input name="password"
size="9" maxlength="8" type="password"><br>
<p>Please indicate which areas of the world you would like to
<p> <input name="cb1" type="checkbox">Asia<br>
<input name="cb2" type="checkbox">Africa<br>
<input name="cb3" type="checkbox">North America<br>
<input name="cb4" type="checkbox">South America<br>
<input name="cb5" type="checkbox">Antarctica<br>
<input name="cb6" type="checkbox">Europe<br>
<input name="cb7" checked="checked"
<p>Please indicate which area of the world you live:</p>
<p> <input name="rb" value="1" type="radio">Asia<br>
<input name="rb" value="2" type="radio">Africa<br>
<input name="rb" value="3" checked="checked" type="radio">North
<input name="rb" value="4" type="radio">South America<br>
<input name="rb" value="5" type="radio">Antarctica<br>
<input name="rb" value="6" type="radio">Europe<br>
<input name="rb" value="7" type="radio">Australasia<br>
Please select your modem speed:
<option value="none">No modem</option>
<option value="vslow" selected="selected">9600 or
<option value="fast">over 38400</option>
Please enter your address:<br>
<textarea name="address" rows="5" cols="50">106 Whitfield Drive
Toney, Alabama 35773</textarea><br>
--------------------------------- normal HTML view
A Simple HTML Form Document
The “<INPUT” fields must all be
inside a FORM (the “<form>” and “</form>” tags). Use
the Example form above as a guide
for the curently supported INPUT types.
A good source for understanding basic
HTML forms is http://www.w3schools.com/html/html_forms.asp
Once you have your custom form ready,
just drop it into the Custom subdirectory in nbems.files (Windows) or
.nbems (Linux) directory.
Flmsg checks once a second for any new
or deleted custom files and updates the Form, Custom menu.
Once you click on the Custom form in
flmsg, it will open a screen like this:
Use the “Edit Form” button to open an editable form in your web
flmsg will add a “Submit Form”
button to the bottom of your form. Do not add that button during
your form development.
Pressing the "Submit Form" button transfers the data back to flmsg.
When you have the data in the form
filled out, save it from the File, Save menu and then use the
“AutoSend” button in flmsg to send it to fldigi. The receiving
end must also have the same custom form in their Custom folder for
them to be able to view it in a browser and print it.
Use the “View Form” button in flmsg
to view a “Read Only” version of the form.
Of course if you want a printed
version, just use the print function of your web browser while
viewing the form.
The custom html entry form needs to be at both the sending and
receiving end. The raw data can be received without the form, but
it will only display as a comma separated value table. The custom
html form can be transmitted to new receiving stations via any means,
email attachment, "flmsg file trnasfer", or "flamp file transfer".
On Line Site for Custom Html Forms
Custom forms may be uploaded and downloaded from the NBEMSham Yahoo
group. Access to the custom form file folder can be easily
obtained from the "Help | Download custom forms" menu item. Click
this menu item will open your default web browser to this site:
You must be a member of the group to have upload privileges.
Custom CSV Forms
Custom forms consist of three documents, 1, 2, 3 and 4 as
illustrated by the example files in the table below. A custom csv
template should also be distributed with your new custom
document. That will insure that user documents will correctly
correspond to the custom forms. Lines 5 and 6 illustrate a
completed spreadsheet and it's transfer document. Lines 7 and 8
are the final view documents for (5).
|user fill-in template for the Red Cross Daily
Report (in the IRC/template folder)
|html pretty print template for the Red Cross
Daily Report (in the CUSTOM folder)
|text print template for the Red Cross Daily
Report (in the CUSTOM folder)
|empty spreadsheet delineating
the data fields for the ARC daily report (in the CSV folder)
|completed user form for report #001, Red Cross
Daily Report (in the CSV folder)
|flmsg transfer document for above completed form
(in the ICS/MESSAGES folder)
|html view of (6), will be
written to the NBEMS.files/temp_files folder
|text view of (6), will be
written to the NBEMS.files/temp_files folder
The flmsg spreadsheet (csv) handler detects a first line in the csv
Which will cause special handling for both View ... html, and View ...
text, when detected and the files "form_name.html" and "form_name.txt"
are present in the folder
then those template files will be used for the viewer. If not
found then the standard spread sheet view will be presented to the
user. This maintains complete backward compatibility with the
current flmsg. flmsg will create a new subfolder under the
nbems.files (~/.nbems) folder hierarchy.
The form templates, html and txt should be placed in the CUSTOM folder.
Good usage dictates that blank spaces in file names and field names be
replaced with the underscore character.
Field contents should be enclosed in double quotes when the field
contains a comma.
It might be advisable to also distribute a how-to file for each custom
form. The how-to would detail what each csv line requires, which
ones should not be modified, etc.
The developers are working on an embedded web server within flmsg that
will allow further enhancement of the custom form concept. When
completed it will be possible to use the custom form for both data
entry and display.