kopia lustrzana https://github.com/jamescoxon/dl-fldigi
385 wiersze
13 KiB
Plaintext
385 wiersze
13 KiB
Plaintext
/**
|
|
\page rig_xml_page Rig Xml How to
|
|
|
|
\tableofcontents
|
|
|
|
This document describes the contents of the rig definition file \"rig.xml\".
|
|
<br>
|
|
|
|
A number of transceivers have rig definition files written and tested
|
|
which you may use. These are found in the xmls directory on this
|
|
site: <a href="http://www.w1hkj.com/xmlarchives.html">xml archives</a>.
|
|
You will find subdirectories by manufacturer which contain files named
|
|
by rig type, ie: TS-850.xml. If you create, test and verify the proper
|
|
operation for a transceiver not yet posted please share that with
|
|
others by sending it as an attachment to w1hkj@w1hkj.com and I will
|
|
post it on the web site. You are encouraged to study the various rig
|
|
definition files to learn more about how they are organized.
|
|
|
|
Comments are contained within the tag pair:
|
|
|
|
\<!-<br> --\>
|
|
<br>
|
|
|
|
and may appear anywhere in the rig definition file The entire rig definition
|
|
must be contained within the tag pair
|
|
|
|
\<RIGDEF\><br>\</RIGDEF\>
|
|
|
|
The text within the tag pair \<RIG\>\</RIG\> specifies the transceiver to
|
|
which this file applies, as in:
|
|
|
|
\<RIG\>Icom 746 PRO\</RIG\>
|
|
<br>
|
|
|
|
The text within the tag pair \<PROGRAMMER\>\</PROGRAMMER\> is not used by the
|
|
parser, but should as a minimum say who created and who tested the definition file, as in:
|
|
<br>
|
|
|
|
\<PROGRAMMER\>
|
|
<br>
|
|
|
|
Dave Freese W1HKJ Tested by: W1HKJ, Dave <br> \</PROGRAMMER\>
|
|
|
|
The text within the tag pair
|
|
|
|
\<STATUS\><br> \</STATUS\>
|
|
|
|
is not used by the parser, but should as a minimum state whether the
|
|
definition file has been \"Verified\", is \"Alpha&\", what the Version and
|
|
Date of creation or update, as in:
|
|
|
|
\<STATUS\> Verified Version: 1.0 Date: 2007 Jan 5 \</STATUS\>
|
|
|
|
The \<TITLE\><br> \</TITLE\>
|
|
|
|
tag pair contains the text which will be displayed on the window decoration bar, as in:
|
|
|
|
\<TITLE\>Rig Control - IC-746 PRO\</TITLE\><br>
|
|
|
|
The serial port parameters may be preset in the xml file and also set or
|
|
changed on the rigcat configuration tab.
|
|
<br>
|
|
\<!--
|
|
<br>
|
|
default settings for initial setup
|
|
<br>
|
|
--\>
|
|
<br>
|
|
|
|
<table>
|
|
<tr>
|
|
<td>xml tag<br>
|
|
</td>
|
|
<td>parameter<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<TIMEOUT\>TT\</TIMEOUT\></td>
|
|
<td>TT in milliseconds<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<RETRIES\>NN\</RETRIES\></td>
|
|
<td>NN integer<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<WRITE_DELAY\>TT\</WRITE_DELAY\></td>
|
|
<td>TT in milliseconds<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<POST_WRITE_DELAY\>TT\</POST_WRITE_DELAY\></td>
|
|
<td>TT in milliseconds<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<BAUDRATE\>BAUD\</BAUDRATE\></td>
|
|
<td>BAUD = 1200, 2400, 4800, 9600, 19200, 38400 ...<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<STOPBITS\>B\</STOPBITS\></td>
|
|
<td>B = 1 or 2<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<RTSCTS\>BOOL\</RTSCTS\></td>
|
|
<td>BOOL = true, false; h/w handshake used for data flow control<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<RTSPLUS\>BOOL\</RTSPLUS\></td>
|
|
<td>BOOL = true, false; set RTS signal line to +12 V<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<RTSPTT\>BOOL\</RTSPTT\></td>
|
|
<td>BOOL = true, false; toggle RTS signal line for PTT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<DTRPLUS\>BOOL\</DTRPLUS\></td>
|
|
<td>BOOL = true, false; set DTR signal line to + 12 V</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<DTRPTT\>BOOL\</DTRPTT\></td>
|
|
<td>BOOL = true, false; toggle DTR signal line for PTT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<ECHO\>BOOL\</ECHO\></td>
|
|
<td>BOOL = true, false; xcvr/interface echoes all chars (typical of CI-V interface)<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>\<CMDPTT\>BOOL\</CMDPTT\></td>
|
|
<td>BOOL = true, false; use command string for PTT (not supported by all rigs)<br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
|
|
The transceiver modes are specified within the \<MODES\>\</MODES\> tag pair.
|
|
Each entry or element associated with a mode has a symbol name (text) and a
|
|
way to specify what the data transfer consists of. The data transfer might
|
|
be a single byte, multiple bytes, or aa string
|
|
<br>
|
|
|
|
Example 1, for the Icom-746PRO
|
|
<br>
|
|
|
|
\<MODES\><br>
|
|
\<ELEMENT\>\<SYMBOL\>LSB\</SYMBOL\>\<BYTE\>00\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>USB\</SYMBOL\>\<BYTE\>01\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>AM\</SYMBOL\>\<BYTE\>02\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW\</SYMBOL\>\<BYTE\>03\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>RTTY\</SYMBOL\>\<BYTE\>04\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>FM\</SYMBOL\>\<BYTE\>05\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW-R\</SYMBOL\>\<BYTE\>07\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>RTTY-R\</SYMBOL\>\<BYTE\>08\</BYTE\>\</ELEMENT\><br>
|
|
\</MODES\><br>
|
|
<br>
|
|
|
|
Example 2, for the Kenwood 850
|
|
<br>
|
|
|
|
\<MODES\><br>
|
|
\<ELEMENT\>\<SYMBOL\>LSB\</SYMBOL\>\<BYTE\>31\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>USB\</SYMBOL\>\<BYTE\>32\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW\</SYMBOL\>\<BYTE\>33\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>FM\</SYMBOL\>\<BYTE\>34\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>AM\</SYMBOL\>\<BYTE\>35\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>FSK\</SYMBOL\>\<BYTE\>36\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW-R\</SYMBOL\>\<BYTE\>37\</BYTE\>\</ELEMENT\><br>
|
|
|
|
\<ELEMENT\>\<SYMBOL\>FSK-R\</SYMBOL\>\<BYTE\>39\</BYTE\>\</ELEMENT\><br>
|
|
\</MODES\><br>
|
|
<br>
|
|
|
|
Example 3, for the FT-100
|
|
<br>
|
|
\<MODES\><br>
|
|
\<ELEMENT\>\<SYMBOL\>LSB\</SYMBOL\>\<BYTE\>00\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>USB\</SYMBOL\>\<BYTE\>01\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW\</SYMBOL\>\<BYTE\>02\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>CW-R\</SYMBOL\>\<BYTE\>03\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>AM\</SYMBOL\>\<BYTE\>04\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>DIG\</SYMBOL\>\<BYTE\>05\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>FM\</SYMBOL\>\<BYTE\>06\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>W-FM\</SYMBOL\>\<BYTE\>07\</BYTE\>\</ELEMENT\><br>
|
|
\</MODES\><br>
|
|
<br>
|
|
|
|
The modes which are supported by lower sideband in the transceiver are
|
|
specified in the \<LSBMODES\>\</LSBMODES\> tar pair. The string
|
|
data for the LSB modes must match those given in the modes id specifier
|
|
For example in the Icom 746 Pro:
|
|
<br>
|
|
|
|
\<LSBMODES\><br>
|
|
\<STRING\>LSB\</STRING\><br>
|
|
\<STRING\>RTTY\</STRING\><br>
|
|
\<STRING\>CW-R\</STRING\><br>
|
|
\</LSBMODES\><br>
|
|
<br>
|
|
|
|
If the transceiver data stream uses identically the same format for the
|
|
bandwidth data then it is specified in the \<BANDWIDTHS\>\</BANDWIDTHS\> tag
|
|
pair
|
|
<br>
|
|
|
|
Example for the Icom 746 Pro:
|
|
<br>
|
|
|
|
\<BANDWIDTHS\><br>
|
|
\<ELEMENT\>\<SYMBOL\>50\</SYMBOL\>\<BYTE\>00\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>100\</SYMBOL\>\<BYTE\>01\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>150\</SYMBOL\>\<BYTE\>02\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>200\</SYMBOL\>\<BYTE\>03\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>250\</SYMBOL\>\<BYTE\>04\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>300\</SYMBOL\>\<BYTE\>05\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>350\</SYMBOL\>\<BYTE\>06\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>400\</SYMBOL\>\<BYTE\>07\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>450\</SYMBOL\>\<BYTE\>08\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>500\</SYMBOL\>\<BYTE\>09\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>600\</SYMBOL\>\<BYTE\>10\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>700\</SYMBOL\>\<BYTE\>11\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>800\</SYMBOL\>\<BYTE\>12\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>900\</SYMBOL\>\<BYTE\>13\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1000\</SYMBOL\>\<BYTE\>14\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1100\</SYMBOL\>\<BYTE\>15\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1200\</SYMBOL\>\<BYTE\>16\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1300\</SYMBOL\>\<BYTE\>17\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1400\</SYMBOL\>\<BYTE\>18\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1500\</SYMBOL\>\<BYTE\>19\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1600\</SYMBOL\>\<BYTE\>20\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1700\</SYMBOL\>\<BYTE\>21\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1800\</SYMBOL\>\<BYTE\>22\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>1900\</SYMBOL\>\<BYTE\>23\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2000\</SYMBOL\>\<BYTE\>24\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2100\</SYMBOL\>\<BYTE\>25\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2200\</SYMBOL\>\<BYTE\>26\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2300\</SYMBOL\>\<BYTE\>27\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2400\</SYMBOL\>\<BYTE\>28\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2500\</SYMBOL\>\<BYTE\>29\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2600\</SYMBOL\>\<BYTE\>30\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2700\</SYMBOL\>\<BYTE\>31\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2800\</SYMBOL\>\<BYTE\>32\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2900\</SYMBOL\>\<BYTE\>33\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3000\</SYMBOL\>\<BYTE\>34\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3100\</SYMBOL\>\<BYTE\>35\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3200\</SYMBOL\>\<BYTE\>36\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3300\</SYMBOL\>\<BYTE\>37\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3400\</SYMBOL\>\<BYTE\>38\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3500\</SYMBOL\>\<BYTE\>39\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>3600\</SYMBOL\>\<BYTE\>40\</BYTE\>\</ELEMENT\><br>
|
|
\</BANDWIDTHS\><br>
|
|
<br>
|
|
|
|
If the bandwidth data stream is unique for send and receive data streams then
|
|
they are specified separately with the \<BW-CMD\>\</BW-CMD\> tag pair for
|
|
data sent to the transceiver, and the \<BW-REPLY\>\</BW-REPLY\> tag pair for
|
|
data returned to the computer.
|
|
<br>
|
|
|
|
Example: FT-100:
|
|
<br>
|
|
|
|
\<BW-CMD\><br>
|
|
\<ELEMENT\>\<SYMBOL\>300\</SYMBOL\>\<BYTE\>00\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>500\</SYMBOL\>\<BYTE\>01\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2400\</SYMBOL\>\<BYTE\>02\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>6000\</SYMBOL\>\<BYTE\>03\</BYTE\>\</ELEMENT\><br>
|
|
\</BW-CMD\><br>
|
|
<br>
|
|
\<BW-REPLY\><br>
|
|
\<ELEMENT\>\<SYMBOL\>300\</SYMBOL\>\<BYTE\>03\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>500\</SYMBOL\>\<BYTE\>02\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>2400\</SYMBOL\>\<BYTE\>01\</BYTE\>\</ELEMENT\><br>
|
|
\<ELEMENT\>\<SYMBOL\>6000\</SYMBOL\>\<BYTE\>00\</BYTE\>\</ELEMENT\><br>
|
|
\</BW-REPLY\><br>
|
|
<br>
|
|
|
|
Fldigi can parse and decode message returned from the transceiver that define
|
|
4 aspects of the transceiver operation:
|
|
<br>
|
|
|
|
<table>
|
|
<tr>
|
|
<td>OK</td>
|
|
<td>data accepted by the transceiver</td>
|
|
</tr>
|
|
<tr>
|
|
<td>BAD</td>
|
|
<td>data rejected by the transceiver</td>
|
|
</tr>
|
|
<tr>
|
|
<td>MODE</td>
|
|
<td>current operating mode of the transceiver</td>
|
|
</tr>
|
|
<tr>
|
|
<td>BW</td>
|
|
<td>current bandwidth setting of the transceiver</td>
|
|
</tr>
|
|
<tr>
|
|
<td>FREQ</td>
|
|
<td>frequency of the active VFO (might be either A or B for example)</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
|
|
These are all contained within multiple \<REPLY\>\</REPLY\> tag pairs. This
|
|
is an example of a fixed format message with no variable fields. It is the
|
|
OK message sent back by the Icom-746 PRO:
|
|
<br>
|
|
|
|
\<REPLY\><br>
|
|
\<SYMBOL\>OK\</SYMBOL\><br>
|
|
\<SIZE\>6\</SIZE\><br>
|
|
\<BYTES\>FE FE E0 66\</BYTES\><br>
|
|
\<BYTE\>FB\</BYTE\><br>
|
|
\<BYTE\>FD\</BYTE\><br>
|
|
\</REPLY\><br>
|
|
<br>
|
|
|
|
The \<SYMBOL\>\</SYMBOL\> pair and the command definition are
|
|
mandatory. The \<SIZE\>\</SIZE\> field is mandatory and specifies the number
|
|
of bytes contained in this reply. The above definition could also have been
|
|
coded as:
|
|
<br>
|
|
|
|
\<REPLY\><br>
|
|
\<SYMBOL\>OK\</SYMBOL\><br>
|
|
\<SIZE\>6\</SIZE\><br>
|
|
\<BYTES\>FE FE E0 66 FB FD\</BYTES\><br>
|
|
\</REPLY\><br>
|
|
<br>
|
|
|
|
When the reply contains variable data it is specified in a contained
|
|
tag pair \<DATA\>\</DATA\>. This data field contains specifiers that describe
|
|
the kind and size of the data. The \<DTYPE\>\</DTYPE\> tag pair may
|
|
be one of:
|
|
<br>
|
|
|
|
BINARY or<br>
|
|
DECIMAL<br>
|
|
<br>
|
|
|
|
This is an example for the reply to a mode query that is returned by the Icom-746 PRO:<br>
|
|
<br>
|
|
|
|
\<REPLY\><br>
|
|
\<SYMBOL\>MODE\</SYMBOL\> specifies the response name<br>
|
|
\<SIZE\>8\</SIZE\>
|
|
8 bytes of data returned<br>
|
|
\<BYTES\>FE FE E0 66\</BYTES\> 4 bytes of preamble<br>
|
|
|
|
\<BYTE\>04\</BYTE\> 1
|
|
additional byte for preample<br>
|
|
\<DATA\><br>
|
|
|
|
\<DTYPE\>BINARY\</DTYPE\> binary data field of
|
|
1 byte<br>
|
|
\<SIZE\>1\</SIZE\><br>
|
|
\</DATA\><br>
|
|
|
|
\<FILL\>1\</FILL\>
|
|
a variable field (data) not used<br>
|
|
|
|
\<BYTE\>FD\</BYTE\> 1
|
|
byte postamble<br>
|
|
\</REPLY\><br>
|
|
<br>
|
|
|
|
Fldigi rigcat will check for both the preample and postamble to insure
|
|
that a valid reply has been sent by the transceiver.
|
|
<br>
|
|
|
|
\ref rig_xml_page "Return to Top of Page"
|
|
<br>
|
|
\ref main_page "Return to Main Page"
|
|
|
|
*/
|