<!--
	Rig definition file for use with fldigi
	
	See separate rigxml.odt (Open Office Writer document) for instructions on creating or maintaining
	this file
-->

<RIGDEF>

<RIG>Yaesu FT-100a</RIG>

<PROGRAMMER>
	Dave Freese	W1HKJ
	Tested by:	
</PROGRAMMER>

<STATUS>
	alpha
	Version:	3.11
	Date:		15 April 2009
</STATUS>

<TITLE>RigCAT - FT-100a</TITLE>

<!--
default settings for initial setup
-->

<ECHO>false</ECHO>
<TIMEOUT>500</TIMEOUT>
<RETRIES>2</RETRIES>
<WRITE_DELAY>5</WRITE_DELAY>
<POST_WRITE_DELAY>50</POST_WRITE_DELAY>
<BAUDRATE>38400</BAUDRATE>
<RTSCTS>true</RTSCTS>
<ECHO>false</ECHO>
<CMDPTT>true</CMDPTT>

<MODES>
	<ELEMENT>
		<SYMBOL>LSB</SYMBOL>
		<BYTE>00</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>USB</SYMBOL>
		<BYTE>01</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>CW</SYMBOL>
		<BYTE>02</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>CW-R</SYMBOL>
		<BYTE>03</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>AM</SYMBOL>
		<BYTE>04</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>DIG</SYMBOL>
		<BYTE>05</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>FM</SYMBOL>
		<BYTE>06</BYTE>
	</ELEMENT>
	<ELEMENT>
		<SYMBOL>W-FM</SYMBOL>
		<BYTE>07</BYTE>
	</ELEMENT>
</MODES>

<!-- lsb mode strings should match those given in the modes id specifier 
     These are the modes reported by the rig that actually use LSB signal processing
-->

<LSBMODES>
	<STRING>LSB</STRING>
	<STRING>CW-R</STRING>
</LSBMODES>

<BW-CMD>
	<ELEMENT><SYMBOL>300</SYMBOL><BYTE>00</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>500</SYMBOL><BYTE>01</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>2400</SYMBOL><BYTE>02</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>6000</SYMBOL><BYTE>03</BYTE></ELEMENT>	
</BW-CMD>

<BW-REPLY>
	<ELEMENT><SYMBOL>300</SYMBOL><BYTE>03</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>500</SYMBOL><BYTE>02</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>2400</SYMBOL><BYTE>01</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>6000</SYMBOL><BYTE>00</BYTE></ELEMENT>	
</BW-REPLY>

<REPLY>
	<SYMBOL>MODE</SYMBOL>
	<SIZE>32</SIZE>
	<FILL>5</FILL>
	<DATA>
		<DTYPE>BINARY</DTYPE>
		<SIZE>1</SIZE>
        <MASK>7</MASK>
	</DATA>
	<FILL>26</FILL>
</REPLY>

<!--
Sent: 00 00 00 00 10 ==> send status message
Rcvd: 05 00 2B B3 80 10 08 00 00 81 00 00 03 53 51 05 00 2C B5 F0 12 00 00 02 00 00 00 03 63 51
       0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
      b#  f  f  f  f md ct dc f1 f2 
          3580000
-->
<REPLY>
	<SYMBOL>BW</SYMBOL> 
	<SIZE>32</SIZE>
	<FILL>5</FILL>
	<DATA>
		<DTYPE>BINARY</DTYPE>
		<SIZE>1</SIZE>
		<SHIFT>4</SHIFT>	
		<MASK>3</MASK>
	</DATA>
	<FILL>26</FILL>
</REPLY>

<!-- 4 byte binary value received in positions 1-4 (start with 0)
each bit represents 1.25 Hz
-->

<REPLY>
    <SYMBOL>FREQ</SYMBOL>
    <SIZE>32</SIZE>
    <FILL>1</FILL>
    <DATA>
        <DTYPE>BINARY</DTYPE>
        <SIZE> 4 </SIZE>
        <MAX> 970000000 </MAX>
        <MIN> 30000 </MIN>
        <RESOL> 1.25 </RESOL>
        <REV>false</REV>
    </DATA>
    <FILL>27</FILL>
</REPLY>        

<!-- 8 BCD digits sent in 4 bytes
-->

<COMMAND>
	<SYMBOL>SETFREQ</SYMBOL>
	<SIZE>5</SIZE>
	<DATA>
		<DTYPE>BCD</DTYPE>
		<SIZE> 8 </SIZE>
		<MAX> 970000000 </MAX>
		<MIN> 30000 </MIN>
		<RESOL> 10 </RESOL>
		<REV>true</REV>
	 </DATA>
	<BYTE>0A</BYTE>
</COMMAND>

<COMMAND>
	<SYMBOL>GETFREQ</SYMBOL>
	<SIZE>5</SIZE>
	<BYTES>00 00 00 00 10</BYTES>
	<INFO>FREQ</INFO>
</COMMAND>

<COMMAND>
	<SYMBOL>SETMODE</SYMBOL>
	<SIZE>5</SIZE>
	<BYTES>00 00 00</BYTES>
	<DATA>
		<DTYPE>BINARY</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<BYTE>0C</BYTE>
</COMMAND>
	
<COMMAND>
	<SYMBOL>GETMODE</SYMBOL>
	<SIZE>5</SIZE>
	<BYTES>00 00 00 00 10</BYTES>
	<INFO>MODE</INFO>
</COMMAND>

<COMMAND>
	<SYMBOL>PTTON</SYMBOL>
	<SIZE>5</SIZE>
	<BYTES>00 00 00 01 0F</BYTES>
</COMMAND>

<COMMAND>
	<SYMBOL>PTTOFF</SYMBOL>
	<SIZE>5</SIZE>
	<BYTES>00 00 00 00 0F</BYTES>
</COMMAND>

<COMMAND>
	<SYMBOL>SETBW</SYMBOL>
    <SIZE>5</SIZE>
    <BYTES>00 00 00</BYTES>
    <DATA>
        <DTYPE>BINARY</DTYPE>
        <SIZE>1</SIZE>
    </DATA>
    <BYTE>8C</BYTE>
</COMMAND>

<COMMAND>
    <SYMBOL>GETBW</SYMBOL>
    <SIZE>5</SIZE>
    <BYTES>00 00 00 00 10</BYTES>
    <INFO>BW</INFO>
</COMMAND>

</RIGDEF>

