<!--
	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>Elecraft K2</RIG>

<PROGRAMMER>
	Dave Freese			W1HKJ; 
	Leigh L. Klotz, Jr. WA5ZNU
	Tested by:			WA5ZNU, Leigh
</PROGRAMMER>

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

<TITLE>RigCAT - K2</TITLE>

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

<TIMEOUT>50</TIMEOUT>
<RETRIES>2</RETRIES>
<WRITE_DELAY>5</WRITE_DELAY>
<BAUDRATE>38400</BAUDRATE>
<RTSCTS>true</RTSCTS>
<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>CW-R</SYMBOL><BYTE>37</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>RTTY</SYMBOL><BYTE>36</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>RTTY-R</SYMBOL><BYTE>39</BYTE></ELEMENT>
</MODES>

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

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

<!-- if you know the bandwidth values for the 4 IF filters you can substitute the
     numeric values for the strings FL-1 to FL-4, ie 400 for FL-1
-->
     
<BANDWIDTHS>
	<ELEMENT><SYMBOL>FL-1</SYMBOL><BYTE>31</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>FL-2</SYMBOL><BYTE>32</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>FL-3</SYMBOL><BYTE>33</BYTE></ELEMENT>
	<ELEMENT><SYMBOL>FL-4</SYMBOL><BYTE>34</BYTE></ELEMENT>
</BANDWIDTHS>
	
<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>


<!-- 
    Response to a request for Bandwidth
    K2 replies with FWwwwwNA;
    where wwww = filter bandwidth in hz ie, 0400  ===> not used for this implementation
          N    = filter number, 1 to 4 as decimal character
          A    = audio filter state, 0 = OFF, 1 = AF1, 2 = AF2
-->

<REPLY>
	<SYMBOL>BW</SYMBOL> 
	<SIZE>9</SIZE>
	<STRING>FW</STRING>
	<SKIP>4</SKIP>
	<DATA>
		<DTYPE>BYTE</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<BYTE>;</BYTE>
</REPLY>

<!-- 
    Initialization command
    K22; sets the extended command mode for the K2 
-->

<COMMAND>
	<SYMBOL>INIT</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>K22;</STRING>
</COMMAND>

<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>IF;</STRING>
	<INFO>FREQ</INFO>
</COMMAND>

<COMMAND>
	<SYMBOL>SETMODE</SYMBOL>
	<SIZE>4</SIZE>
	<STRING>M1</STRING>
	<DATA>
		<DTYPE>BYTE</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<STRING>;</STRING>
	<OK>MODE</OK>
</COMMAND>

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

<COMMAND>
	<SYMBOL>SETBW</SYMBOL>
	<SIZE>8</SIZE>
	<STRING>FW0000</STRING>
	<DATA>
		<DTYPE>BYTE</DTYPE>
		<SIZE>1</SIZE>
	</DATA>
	<STRING>;</STRING>
	<OK>OK</OK>
	<BAD>BAD</BAD>
</COMMAND>

<COMMAND>
	<SYMBOL>GETBW</SYMBOL>
	<SIZE>3</SIZE>
	<STRING>FW;</STRING>
	<INFO>BW</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>
