<?xml version="1.0" encoding="utf-8"?>
<!--

  IC-7300 RigCAT definitions for use with fldigi

  Very strong recommendations:
    Read the fldigi user's manual!
    Search for "Rig Xml How" and you'll find a lot of valuable details.
    Read the full IC-7300 user's manual (file IC-7300_ENG_CD_0.pdf on
    the supplied CD)! "Section 19 CONTROL COMMAND" will tell you all
    about the valid CI-V commands.
    Read, read, read and read again !!!

  fldigi is part of the fl* suite of programs developed by Dave Freese,
  W1HKJ, the winner of the 2014 ARRL Technical Excellence Award.
  All programs of the suite are developed using the Fast Light Toolkit.
  They are open-source, cross-platform solutions running on OS X, Linux,
  BSD, and Windows.

  General Information

  IC-7300 CI-V address is 94  (default)
  fldigi RigCAT controller address is E0 (default)

  If this is changed all CI-V -Commands below MUST be changed too!

  Operating Environment

  I run fldigi on Linux MINT 17.3. Hence all my fldigi experience I
  gained in this environment.  However, it shouldn't be a big deal to
  adapt this file to any fldigi operating environment.  In fact, no
  changes should be necessary, but it wasn't tested ...

  Storage:
  This file should be stored in this directory (folder)

  on Linux  : /home/[login]/.fldigi/rigs/
  on OS X   : /Users/[login]/.fldigi/rigs/
  on XP     : C:\Documents and Settings\[login]\fldigi.files\rigs\
  on Vista  :
     Win-7  :
     Win-8  :
     Win-10 : C:\User\[login]\fldigi.files\rigs\

  Serial Device:

  My USB serial port device is

  /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_IC-7300_03001347-if00-port0

  If there are multiple serial USB port controllers connected it's
  VERY important to connect to the correct CP2102 controller :-)

  IC-7300 Settings

  Select Menu / Set / Connectors

  ACC/USB Output Select = AF               That's what we want to decode
  ACC/USB AF Output Level = 50%            Avoid overload of fldigi's 
                                           audio processor
  ACC/USB AF SQL = OFF (Open)              Keep squelch open, let fldigi 
                                           do the job
  ACC/USB AF Beep/Speech... Output = OFF   Keep USB Audio controller free 
                                           of keyboard confirmation beeps. 
                                           What the hell should fldigi do 
                                           with that strange noise?
  ACC/USB IF Output Level = 50%            In this case we really don't care
  ACC MOD Level = 50%                      We really don't care too
  USB MOD Level = 50%                      That's what we want to send. 
                                           Use 50% input and output MOD 
                                           level to avoid overload of fldigi's 
                                           DSP and the IC-7300's finals.
  DATA OFF MOD = MIC                       Keep ACC on for debugging purposes
                                           ... just in case :-)
  DATA MOD = USB                           Use internal soundcard only!
  EXTERNAL KEYPAD                          This parms are not related to 
                                           fldigi ... just to avoid confusion :-)
    VOICE = OFF
      KEYER = OFF
      RTTY  = OFF
  CI-V
    CI-V Output (for ANT) = OFF            Just set this parameter
    CI-V USB Port = Unlink from [Remote]   Make USB Port available
    CI-V USB Baud Rate = 19200             Fixed communication speed, 
                                           may be increased ... this may 
                                           require H/W flow control mimics
    CI-V USB Echo Back = ON                This is what we expect to ensure 
                                           a command has been transferred properly
  USB Serial Function = CI-V               Make USB Port available for 
                                           serial CI-V-Commands
  RTTY Decode Baud Rate = 9600             We really don't care ... 
                                           keep default or any other value
  USB Send = OFF                           Do NOT use DTR or RTS unless you 
                                           have very good reasons!
  USB Keying (CW) = OFF                    Do NOT use DTR or RTS unless you 
                                           have very good reasons!
  USB Keying (RTTY) = OFF                  Do NOT use DTR or RTS unless you 
                                           have very good reasons!

  Digital mode Operation
  ..................
  It's better to use less NB, NR or other filters. Let fldigi do the
  job on a fast computer, it's REALLY WORLDCLASS BETTER!!!
  Some settings may apply to my environment only.
  Some comments may be issued due to my limited understanding.
  But it works at least for my purposes :-)

  Again, all of this is subject to change while gaining more experience.
  Your feedback, your comments, improvements and your ideas are welcome
  via DC4PCqrv(at)gmail.com

  See you on my fldigi waterfall!

  55 + 73 de Karl-Heinz, DC4PC

  PS: Please excuse my typos. I’m neither native English nor American,
  just German!

-->

<RIGDEF>

  <RIG>Icom IC-7300</RIG>

  <PROGRAMMER>
    Originator : Karl-Heinz  DC4PC
    Tested by  : DC4PC
    Updated by : John, KB0NE
               : Cliff, AE5ZA
               : David, W1HKJ
               : Haris, SV1GRB
  </PROGRAMMER>

  <STATUS>
    Tested:     AE5ZA, SV1GRB
    Version:    1.04
    Date:       December 28, 2019
  </STATUS>

  <TITLE>RigCAT - IC-7300</TITLE>

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

<!-- 50ms Time Out  -->
  <TIMEOUT>50</TIMEOUT>
<!-- Max. 5 retries before failure  -->
  <RETRIES>5</RETRIES>
<!-- No write delay: Send commands immediately  -->
  <WRITE_DELAY>0</WRITE_DELAY>
<!-- TT in milliseconds, not used -->
<!-- <POST_WRITE_DELAY>TT</POST_WRITE_DELAY>  -->

<!--    Serial Interface definitions 19200-8N1 would be shorter :-) -->
<!-- Set something reasonable fast  -->
  <BAUDRATE>19200</BAUDRATE>
<!-- One Stop-Bit   -->
  <STOPBITS>1</STOPBITS>

<!-- CI-V-CAT-Commands are used to control the PTT. See comments at the
     end of this file to read more!
-->
<!-- true:  H/W handshake data flow control -->
  <RTSCTS>false</RTSCTS>
<!-- RTS / DTR are not used for PTT: Do not change this unless you
     know what you are doing! -->
<!-- true:  toggle RTS signal line for PTT  -->
  <RTSPTT>false</RTSPTT>
<!-- true:  toggle DTR signal line for PTT  -->
  <DTRPTT>false</DTRPTT>
<!-- true:  set RTS signal line to +12V -->
  <RTSPLUS>false</RTSPLUS>
<!-- true:  set DTR signal line to +12V -->
  <DTRPLUS>false</DTRPLUS>
<!-- true:  enable PTT CI-V-CAT-command -->
  <CMDPTT>true</CMDPTT>
<!-- true:  The TRX CI-V-Interface echoes all chars -->
  <ECHO>true</ECHO>

<!-- Please note: Mode 06 is not defined by the IC-7300 architecture    -->
<!-- My DSP Filters are set to 1.8KHz (flt1), 2.4 KHz (flt2) and
     3.0 KHz (flt3). Hence, I use Filter 3 for digi modes on all bands  -->
<!--
     CW / CW-R mode strings corrected                                   -->

  <MODES>
    <ELEMENT> <SYMBOL>USB-D</SYMBOL>  <BYTES>01 01 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>USB</SYMBOL>    <BYTES>01 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>LSB-D</SYMBOL>  <BYTES>00 01 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>LSB</SYMBOL>    <BYTES>00 00 03</BYTES> </ELEMENT>  
    <ELEMENT> <SYMBOL>AM-D</SYMBOL>   <BYTES>02 01 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>AM</SYMBOL>     <BYTES>02 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>CW</SYMBOL>     <BYTES>03 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>CW-R</SYMBOL>   <BYTES>07 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>RTTY</SYMBOL>   <BYTES>04 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>RTTY-R</SYMBOL> <BYTES>08 00 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>FM-D</SYMBOL>   <BYTES>05 01 03</BYTES> </ELEMENT>
    <ELEMENT> <SYMBOL>FM</SYMBOL>     <BYTES>05 00 03</BYTES> </ELEMENT>
  </MODES>                            <!--    |  |  +- Filter 3
                                              |  +.....Data Mode if 01
                                              +....... TRX Mode
                                      -->

<!-- lsb mode strings should match those given in the modes id specifier    -->
  <LSBMODES>
    <STRING>LSB</STRING>
    <STRING>LSB-D</STRING>
    <STRING>RTTY</STRING>
    <STRING>CW-R</STRING>
  </LSBMODES>

<!--  Bandwith symbols are valid for SSB and CW modes. Does not
      make much sense for the IC-7300 ... at least as I perceive it, but
      I may be wrong .. -->
  <BANDWIDTHS>
    <ELEMENT><SYMBOL>50</SYMBOL>    <BYTE>00</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>100</SYMBOL>   <BYTE>01</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>150</SYMBOL>   <BYTE>02</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>200</SYMBOL>   <BYTE>03</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>250</SYMBOL>   <BYTE>04</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>300</SYMBOL>   <BYTE>05</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>350</SYMBOL>   <BYTE>06</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>400</SYMBOL>   <BYTE>07</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>450</SYMBOL>   <BYTE>08</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>500</SYMBOL>   <BYTE>09</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>600</SYMBOL>   <BYTE>10</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>700</SYMBOL>   <BYTE>11</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>800</SYMBOL>   <BYTE>12</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>900</SYMBOL>   <BYTE>13</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1000</SYMBOL>  <BYTE>14</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1100</SYMBOL>  <BYTE>15</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1200</SYMBOL>  <BYTE>16</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1300</SYMBOL>  <BYTE>17</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1400</SYMBOL>  <BYTE>18</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1500</SYMBOL>  <BYTE>19</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1600</SYMBOL>  <BYTE>20</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1700</SYMBOL>  <BYTE>21</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1800</SYMBOL>  <BYTE>22</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>1900</SYMBOL>  <BYTE>23</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2000</SYMBOL>  <BYTE>24</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2100</SYMBOL>  <BYTE>25</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2200</SYMBOL>  <BYTE>26</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2300</SYMBOL>  <BYTE>27</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2400</SYMBOL>  <BYTE>28</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2500</SYMBOL>  <BYTE>29</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2600</SYMBOL>  <BYTE>30</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2700</SYMBOL>  <BYTE>31</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2800</SYMBOL>  <BYTE>32</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>2900</SYMBOL>  <BYTE>33</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3000</SYMBOL>  <BYTE>34</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3100</SYMBOL>  <BYTE>35</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3200</SYMBOL>  <BYTE>36</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3300</SYMBOL>  <BYTE>37</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3400</SYMBOL>  <BYTE>38</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3500</SYMBOL>  <BYTE>39</BYTE></ELEMENT>
    <ELEMENT><SYMBOL>3600</SYMBOL>  <BYTE>40</BYTE></ELEMENT>
  </BANDWIDTHS>


<!--
    CI-V-Command results: fldigi can parse and decode message returned
    from the transceiver that define 4 aspects of the transceiver operation:
    .   OK data accepted by the transceiver
    .   BAD (NG - no good) data rejected by the transceiver
    .   MODE current operating mode of the transceiver
    .   BW current bandwidth setting of the transceiver
    .   FREQ frequency of the active VFO (might be either A or B)
-->

<!--  OK data accepted by the transceiver
      Six bytes command response
-->
  <REPLY><SYMBOL>OK</SYMBOL><SIZE>6</SIZE>
    <BYTES>FE FE E0 94 FB FD</BYTES>
  </REPLY>

<!--  BAD (NG - no good) data rejected by the transceiver
      Six bytes command response
-->
  <REPLY><SYMBOL>BAD</SYMBOL><SIZE>6</SIZE>
    <BYTES>FE FE E0 94 FA FD</BYTES>
  </REPLY>

<!--  MODE current operating mode of the transceiver, eight bytes command
      response
      Prefix + CI-V-Command code 26 00 (current VFO)
      Three byte binary data is returned corresponding to the MODE
      definitions above followed by one byte trailer
-->
  <REPLY><SYMBOL>MODE</SYMBOL><SIZE>10</SIZE>
    <BYTES>FE FE E0 94 26 00</BYTES>
    <DATA><DTYPE>BINARY</DTYPE><SIZE>3</SIZE></DATA>
    <BYTE>FD</BYTE>
  </REPLY>

<!--  BW current bandwidth setting of the transceiver, eight bytes
      command response
      Prefix + CI-V-Command code 1A 03
      One byte variable binary data followed by one byte trailer
-->
  <REPLY><SYMBOL>BW</SYMBOL><SIZE>8</SIZE>
    <BYTES>FE FE E0 94 1A 03</BYTES>
    <DATA><DTYPE>BINARY</DTYPE><SIZE>1</SIZE></DATA>
    <BYTE>FD</BYTE>
  </REPLY>

<!--  FREQ frequency of the active VFO (might be either A or B)
      Eleven bytes command response
      5 bytes (ten BCD-Digits) frequency data returned
      One byte trailer
-->
  <REPLY><SYMBOL>FREQ</SYMBOL><SIZE>11</SIZE>
    <BYTES>FE FE E0 94 03</BYTES>
    <DATA>
      <DTYPE>BCD</DTYPE>
      <SIZE>10</SIZE>
      <MAX>74800000</MAX>
      <MIN>30000</MIN>
      <RESOL>1</RESOL>
      <REV>true</REV>
    </DATA>
    <BYTE>FD</BYTE>
  </REPLY>

<!--
    CI-V-Commands:
-->

<!--  Set operating frequency of current VFO, eleven bytes command length
      Prefix + CI-V-Command code 05
      One byte trailer
      Result (command response) may be OK or BAD (Not Good)
      5 bytes (ten BCD-Digits) frequency data
-->
  <COMMAND><SYMBOL>SETFREQ</SYMBOL><SIZE>11</SIZE>
    <BYTES>FE FE 94 E0 05</BYTES>
    <DATA>
      <DTYPE>BCD</DTYPE>
      <SIZE>10</SIZE>
      <MAX>74800000</MAX>
      <MIN>30000</MIN>
      <RESOL>1</RESOL>
      <REV>true</REV>
    </DATA>
    <BYTE>FD</BYTE>
      <OK>OK</OK> <BAD>BAD</BAD>
  </COMMAND>

<!--  Read operating frequency of curren VFO, six bytes command length
      Prefix + CI-V-Command code 03 + trailer
      Result (command response) is FREQ ... or BAD
-->
  <COMMAND><SYMBOL>GETFREQ</SYMBOL><SIZE>6</SIZE>
    <BYTES>FE FE 94 E0 03 FD</BYTES>
    <INFO>FREQ</INFO>
  </COMMAND>

<!--  Selected filter width, eight bytes command length
      Prefix + CI-V-Command code 1A 03
      Command data <BANDWIDTH> as defined above
      One byte trailer
      Result may be OK or BAD (Not Good)
-->
  <COMMAND><SYMBOL>SETBW</SYMBOL><SIZE>8</SIZE>
    <BYTES>FE FE 94 E0 1A 03</BYTES>
    <DATA><DTYPE>BINARY</DTYPE><SIZE>1</SIZE></DATA>
    <BYTE>FD</BYTE>
    <OK>OK</OK> <BAD>BAD</BAD>
  </COMMAND>

<!--  Read the selected filter width, seven bytes command length
      Prefix + CI-V-Command code 1A 03 + trailer
      Result (command response) is BW ... or BAD
-->
  <COMMAND><SYMBOL>GETBW</SYMBOL><SIZE>7</SIZE>
    <BYTES>FE FE 94 E0 1A 03 FD</BYTES>
    <INFO>BW</INFO>
  </COMMAND>


<!-- SETMODE and GETMODE usually use the CI-V-Commands 01 and 04. Both
     are changed with the IC-7300 concept and are not working as I like it.
     To set the DATA Mode (because of the IC-7300 internal sound card)
     AND the Filter on the current VFO (here case VFO 0) ... and there
     is one command only available.
     Hence, the CI-V-Command 26. This makes life easier, does it really?
-->

<!-- Operating mode selection for transceive
     Prefix + CI-V-Command code 26 00 (current VFO 0)
     Three byte binary MODE data as declared above followed by one byte
     trailer
     Result may be OK or BAD (Not Good)
-->
  <COMMAND><SYMBOL>SETMODE</SYMBOL><SIZE>10</SIZE>
    <BYTES>FE FE 94 E0 26 00</BYTES>
    <DATA><DTYPE>BYTES</DTYPE><SIZE>3</SIZE></DATA>
    <BYTE>FD</BYTE>
    <OK>OK</OK> <BAD>BAD</BAD>
  </COMMAND>

<!-- Read operating mode
     Prefix + CI-V-Command code 26 00 + (current VFO 0) trailer
     Result (command response) is MODE ... or BAD
-->
  <COMMAND><SYMBOL>GETMODE</SYMBOL><SIZE>6</SIZE>
    <BYTES>FE FE 94 E0 26 00 FD</BYTES>
    <INFO>MODE</INFO>
  </COMMAND>


<!-- Use PTT Commands via CI-V and switch off RTS and DTR control. There 
     are good reasons.
       . This ensures CI-V is working
       . The signal lines RTS, DTR, CTS etc. may be used for serial flow 
         control on very high speed USB links
       . Using a serial terminal programm to debug the CI-V interface 
         RTS and DTR signals do not confuse the TRX (eg. switch on Tx 
         attached to an untuned antenna)
       . The TRX is not confused by the USB testing process during computer
         startup
       . Keep the PTTON definitions at the end of the file. If there are 
         unrecoverable errors before theese definitions, PTT just does 
         not work :-)
    -->

<!-- Set transceiver status RX == PTT off    
     Prefix + CI-V-Command code 1C 00 00 + trailer   
     Result may be OK or BAD (Not Good)  
-->
  <COMMAND><SYMBOL>PTTOFF</SYMBOL><SIZE>8</SIZE>
    <BYTES>FE FE 94 E0 1C 00 00 FD</BYTES>
    <OK>OK</OK> <BAD>BAD</BAD>
  </COMMAND>

<!-- Set transceiver status TX == PTT on 
     Prefix + CI-V-Command code 1C 00 01 + trailer   
     Result may be OK or BAD (Not Good)  
-->
  <COMMAND><SYMBOL>PTTON</SYMBOL><SIZE>8</SIZE>
    <BYTES>FE FE 94 E0 1C 00 01 FD</BYTES>
    <OK>OK</OK> <BAD>BAD</BAD>
  </COMMAND>

<!-- ... JW: Copy, Paste 7200, edit contrlr addr... -->

<!-- power meter scale mapping -->
<PMETER>
   0,   0;   49,  12;   74,  20; 
  89,  25;  103,  30;  124,  40; 
 143,  50;  183,  75;  213, 100;
 255, 120
</PMETER>

<!-- smeter scale mapping -->
<SMETER> 0,0; 255,100 </SMETER>

<REPLY>
  <SYMBOL>SMETER</SYMBOL>
  <SIZE>9</SIZE>
	<BYTES>FE FE E0 94 15 02</BYTES>
	<DATA>
		<DTYPE>BCD</DTYPE>
		<SIZE>3</SIZE>
		<MAX>255</MAX>
		<MIN>0</MIN>
		<RESOL>1</RESOL>
		<REV>false</REV>
	 </DATA>
	<BYTE>FD</BYTE>
</REPLY>

<COMMAND>
  <SYMBOL>GET_SMETER</SYMBOL>
  <SIZE>7</SIZE>
  <BYTES>FE FE 94 E0 15 02 FD</BYTES>
  <INFO>SMETER</INFO>
</COMMAND>

<REPLY>
  <SYMBOL>PWRMETER</SYMBOL>
  <SIZE>9</SIZE>
	<BYTES>FE FE E0 94 15 11</BYTES>
	<DATA>
		<DTYPE>BCD</DTYPE>
		<SIZE>3</SIZE>
		<MAX>255</MAX>
		<MIN>0</MIN>
		<RESOL>1</RESOL>
		<REV>false</REV>
	 </DATA>
	<BYTE>FD</BYTE>
</REPLY>

<COMMAND>
  <SYMBOL>GET_PWRMETER</SYMBOL>
  <SIZE>7</SIZE>
  <BYTES>FE FE 94 E0 15 11 FD</BYTES>
  <INFO>PWRMETER</INFO>
</COMMAND>

// power level set
<PWRLEVEL>
    0, 0;   3, 1;   6, 2;   8, 3;  11, 4;  13, 5;  16, 6;  18, 7;  21, 8; 23, 9;
   25,10;  29,11;  31,12;  34,13;  36,14;  39,15;  41,16;  44,17;  46,18; 49,19;
   51,20;  54,21;  57,22;  59,23;  62,24;  65,25;  67,26;  69,27;  72,28; 74,29;
   77,30;  80,31;  82,32;  85,33;  87,34;  90,35;  92,36;  95,37;  97,38; 100,39;
  102,40; 105,41; 108,42; 110,43; 113,44; 115;45; 118,46; 120,47; 123,48; 125,49;
  128,50; 131,51; 133,52; 136,53; 138,54; 142,55; 143,56; 146,57; 148,58; 151,59;
  153,60; 156,61; 159,62; 161,63; 165,64; 166,65; 170,66; 172,67; 175,68; 177,69;
  179,70; 183,71; 185,72; 188,73; 190,74; 192,75; 194,76; 197,77; 199,78; 202,79;
  205,80; 208,81; 210,82; 212,83; 215,84; 217,85; 220,86; 222,87; 225,88; 227,89;
  230,90; 234,91; 236,92; 239,93; 241,94; 243,95; 246,96; 248,97; 250,98; 253,99;
  255,100;
</PWRLEVEL>

<REPLY>
  <SYMBOL>PWRLEVEL</SYMBOL>
  <SIZE>9</SIZE>
  <BYTES>FE FE E0 94 14 0A</BYTES>
  <DATA>
    <DTYPE>BCD</DTYPE>
    <SIZE>3</SIZE>
  </DATA>
  <BYTE>FD</BYTE>
</REPLY>

<COMMAND>
  <SYMBOL>GET_PWRLEVEL</SYMBOL>
  <SIZE>7</SIZE>
  <BYTES>FE FE 94 E0 14 0A FD</BYTES>
  <INFO>PWRLEVEL</INFO>
</COMMAND>

<COMMAND>
  <SYMBOL>SET_PWRLEVEL</SYMBOL>
  <SIZE>9</SIZE>
  <BYTES>FE FE 94 E0 14 0A</BYTES>
  <DATA>
    <DTYPE>BCD</DTYPE>
    <SIZE>3</SIZE>
  </DATA>
  <BYTE>FD</BYTE>
</COMMAND>

<!-- NOTCH ON/OFF VALUE -->

<NOTCH>
  53,0; 255,4040;
</NOTCH>

<COMMAND>
	<SYMBOL>SET_NOTCH_ON</SYMBOL>
	<SIZE>8</SIZE>
	<BYTES>FE FE 94 E0 16 48 01 FD</BYTES>
</COMMAND>

<COMMAND>
	<SYMBOL>SET_NOTCH_OFF</SYMBOL>
	<SIZE>8</SIZE>
	<BYTES>FE FE 94 E0 16 48 00 FD</BYTES>
</COMMAND>

<COMMAND>
	<SYMBOL>SET_NOTCH_VAL</SYMBOL>
	<SIZE>9</SIZE>
	<BYTES>FE FE 94 E0 14 0D</BYTES>
	<DATA>
        <DTYPE>BCD</DTYPE>
        <SIZE>3</SIZE>
	</DATA>
	<BYTE>FD</BYTE>
</COMMAND>

<REPLY>
	<SYMBOL>NOTCH_ON</SYMBOL>
	<SIZE>8</SIZE>
	<BYTES>FE FE E0 94 16 48 01 FD</BYTES>
</REPLY>

<COMMAND>
	<SYMBOL>GET_NOTCH_ON</SYMBOL>
	<SIZE>7</SIZE>
	<BYTES>FE FE 94 E0 16 48 FD</BYTES>
	<INFO>NOTCH_ON</INFO>
</COMMAND>

<REPLY>
	<SYMBOL>NOTCH</SYMBOL>
	<SIZE>9</SIZE>
	<BYTES>FE FE E0 94 14 0D</BYTES>
	<DATA>
		<DTYPE>BCD</DTYPE>
		<SIZE>3</SIZE>
	</DATA>
	<BYTE>FD</BYTE>
</REPLY>

<COMMAND>
	<SYMBOL>GET_NOTCH</SYMBOL>
	<SIZE>7</SIZE>
	<BYTES>FE FE 94 E0 14 0D FD</BYTES>
	<INFO>NOTCH</INFO>
</COMMAND>


</RIGDEF>

<!--    That's all folks !!!    -->
