syntorxgen − Generate code plugs for conventional Syntor X radios
syntorxgen [-bdhsvxy] [-o output-file ] [-r refcard-file ]
Syntorxgen reads a text file describing the contents of the desired code plug from standard input. A hex representation of the code plug is generated.
For copious information on working with Syntor X radios, see http://www.open.org/~blenderm/syntorx/.
For details of the contents of a Syntor X code plug, see http://kb8zqz.net/pakman/syntorx.htm.
The author’s knowledge of these radios has come largely from these sources, and from Motorola manuals. Any errors are mine, not theirs.
Generate binary format output.
Generate debugging output.
Print usage information.
Generate Motorola S-record format output.
Print syntorxgen’s version number.
Generate simple hex format output. (default)
Cause the parser to generate debugging output. Only really useful to those who understand yacc parsers.
Write the hex representation of the code plug to output-file instead of standard output.
Write an input file for troff and tbl which will, when processed, produce a reference card listing the parameters of the code plug. The file is written to refcard-file which should be processed using the -ms macro library.
Syntorxgen is capable of writing three output file formats. The first is the Motorola S-record, a well known, and widely supported transfer format. The second is a simple hex dump format. The latter places sixteen hex pairs per line, with a single space in between. There are no headers, and all files are assumed to start at offset 0. The third is a binary image of the code plug.
If you need utilities to convert between various hex formats, you might be interested in Peter Miller’s Srecord package. See http://www.canb.auug.org.au/~millerp/README.html.
messages provide a line number location for the error they
describe. The line numbers are generally accurate, and will
help you to locate the error in your input file.
%s on line %d
A generic parser error message which is hopefully self-explanatory.
mode %d is larger than MAXMODES (%d) at line %d
The input file contains a mode statement specified a mode number which is larger than the maximum allowed number of modes.
unexpected token %s; expecting global config statements at line %d
An unrecognized word was found in the input file where a global keyword was expected.
unexpected token %s; expecting left brace at line %d
A left brace is required after "MODE n", but it was omitted.
unexpected token %s; expecting mode config statements at line %d
An unrecognized word was found in the input file where a mode configuration keyword was expected.
timeout value %d invalid at
line %d; must be 0-465, evenly divisible by
Timeout values can be infinite (0), or anything between 15 seconds and 7 minutes 45 seconds. Timeout values are specified in seconds. They must be evenly divisible by 15.
reference frequency %d is invalid at line %d
Valid reference frequencies are 4166, 5000 and 6250.
unexpected token %s at line %d
The specified word was found in a place it is not allowed.
unexpected token %s; expecting an integer at line %d
A whole number was expected, but something else was found.
unexpected token %s; expecting scan type at line %d
The program was processing a SCANTYPE directive, and the next word should have been NONE, NONPRI, SGLPRI, and DBLPRI, but was not.
unexpected token %s; expecting YES or NO at line %d
The program was processing a TXDPLINV, TXMPL, RXDPLINV, RXMPL, or TBSCAN directive, and the next word should have been YES or NO, but was not.
unexpected token %s; expecting SELECTABLE or FIXED at line %d
The program was processing an NPSCANSOURCE directive, and the next word should have been SELECTABLE or FIXED, but was not.
unexpected token %s; expecting squelch type at line %d
The program was processing a SQUELCHTYPE directive, and the next word should have been STDSTD, ANDSTD or ANDOR, but was not.
Improper command line arguments were provided. The message provides a summary of correct command line usage.
invalid character %c at line %d
The only characters which may appear in an input file are: sharps (#), semicolons, curly braces, digits, upper or lower case alphabetics, spaces and tabs. The exception is inside of comments, where any character is allowed.
no valid ref. frequencies for %g
The specified transmit or receive frequency cannot be programmed into a Syntor X radio, because it is not evenly divisible by a reference frequency of 5000 or 6250 Hz.
using ref. frequency of %g for %g
The specified reference frequency will be used to generate the specified transmit or receive frequency. This message appears if the default or user-specified global or per-mode reference frequency cannot be used and must be changed.
tx pl code %f is out of range, using 254.1
The specified transmit PL frequency is outside of the range which can be programmed. The program has substituted 254.1 Hz to annoy you. Nearly any transmit PL frequency betwen about 18.1 Hz and 907.1 Hz can be programmed. However, the filters in the radio may limit what you can actually achieve.
rx pl code %f is out of range, using 254.1
The programmable range is about 62 Hz to 267 Hz. See "tx pl code %f is out of range..." above.
non-standard tx pl %f will be programmed anyway
The specified transmit PL frequency is not standard. Since it is in the programmable range, it will be programmed anyway. The filters in the radio may still prevent proper functioning, or the tone may cause falsing or other problems.
non-standard rx pl %f will be programmed anyway
The specified receive PL frequency is not standard. Since it is in the programmable range, it will be programmed anyway. The filters in the radio may still prevent proper functioning, or the tone may cause falsing or other problems.
tot of %d seconds is too large, using 15 seconds
The specified timeout value is too large. Timeouts may be infinite (0), or any value between 15-765 seconds which is evenly divisibly by 15.
The program has a bug related to handling the -o command line option.
out of memory
Your system is overloaded.
The program may also fail as it attempts to handle the -o command line option for any of the reasons listed in the man pages for the open(2), fclose(3) or fflush(3) subroutines.
Doubtless there are many.
Dennis Boone <jm-sxg at yagi.h-net.msu.edu>