<!--
	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>Kenwood TS-950</RIG>

<PROGRAMMER>
	Dave Freese		W1HKJ
	Tested by:		K1GPL, Joe Barr
</PROGRAMMER>

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

<TITLE>RigCAT - TS-950</TITLE>

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

<TIMEOUT>50</TIMEOUT>
<RETRIES>2</RETRIES>
<WRITE_DELAY>5</WRITE_DELAY>
<BAUDRATE>4800</BAUDRATE>
<RTSCTS>true</RTSCTS>
<STOPBITS>2</STOPBITS>
<ECHO>false</ECHO>
<CMDPTT>true</CMDPTT>

<MODES>
	<ELEMENT><SYMBOL>LSB</SYMBOL><BYTE>31</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>USB</SYMBOL><BYTE>32</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>CW</SYMBOL><BYTE>33</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>FM</SYMBOL><BYTE>34</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>AM</SYMBOL><BYTE>35</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>FSK</SYMBOL><BYTE>36</BYTE></ELEMENT>
</MODES>

<!-- lsb mode strings should match those given in the modes symbol specifier -->

<LSBMODES>
	<STRING>LSB</STRING>
	<STRING>FSK</STRING>
</LSBMODES>

<!-- frequency & mode data are contained in the IF; response
     IFaaaaaaaaaaaXXXXXbbbbbcdXeefghjklmmX;
     12345678901234567890123456789012345678
     where:
         aaaaaaaaaaa => decimal value of vfo frequency
         bbbbb => rit/xit frequency
         c => rit off/on
         d => xit off/on
         e => memory channel
         f => tx/rx
         g => mode
         h => function
         j => scan off/on
         k => split off /on
         l => tone off /on
         m => tone number
         X => unused characters
         
Test output from Minicom to IF; command         

IF00014070000       -00300     000200;

0002000 is vfoA in usb
0001000 is vfoA in LSB
0003000 CW
0004000 FM
0005000 AM
0007000 CWN    (dont have narrow filter however)
0002100 VFOB in USB
0002001 VFOA in USB SPILT
0012000 PTT on in USB
         
-->

<REPLY>
	<SYMBOL>MODE</SYMBOL>
	<SIZE>38</SIZE>
	<STRING>IF</STRING>
	<FILL>27</FILL>
	<DATA>
		<DTYPE>BYTE</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<FILL>7</FILL>
	<STRING>;</STRING>
</REPLY>

<REPLY>
	<SYMBOL>FREQ</SYMBOL>
	<SIZE>38</SIZE>
	<STRING>IF</STRING>
	<DATA>
		<DTYPE>DECIMAL</DTYPE>
	    <SIZE>11</SIZE>
	    <MAX>99999999999</MAX>
	    <MIN>00001500000</MIN>
	    <RESOL>1</RESOL>
	</DATA>
	<FILL>24</FILL>
	<STRING>;</STRING>
</REPLY>	

<COMMAND>
	<SYMBOL>SETFREQ</SYMBOL>
	<SIZE>14</SIZE>
	<STRING>FA</STRING>
	<DATA>
		<DTYPE>DECIMAL</DTYPE>
	    <SIZE>11</SIZE>
	    <MAX>99999999999</MAX>
	    <MIN>00001500000</MIN>
	    <RESOL>1</RESOL>
	</DATA>
	<STRING>;</STRING>
</COMMAND>

<COMMAND>
	<SYMBOL>GETFREQ</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>FA;</STRING>
	<INFO>FREQ</INFO>
</COMMAND>

<COMMAND>
	<SYMBOL>SETMODE</SYMBOL>
	<SIZE>4</SIZE>
	<STRING>MD</STRING>
	<DATA>
		<DTYPE>BYTE</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<STRING>;</STRING>
</COMMAND>

<COMMAND>
	<SYMBOL>GETMODE</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>IF;</STRING>
	<INFO>MODE</INFO>
</COMMAND>

<COMMAND>
	<SYMBOL>PTTON</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>TX;</STRING>
</COMMAND>

<COMMAND>
	<SYMBOL>PTTOFF</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>RX;</STRING>
</COMMAND>

</RIGDEF>
