<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello,</p>
    <p>I have an Icom IC-R8600 and worked over the weekend to get chirp
      to work with it. I have done some python and communications
      programming in the past. I was pretty successful given that I had
      to start from ground zero. I used the IC-7000 as a template and
      derived a couple of classes. I got the basic memory read and write
      in live mode to work. The receiver can do variable tuning steps
      and several modes not covered by CHIRP.</p>
    <p>The receiver has groups which appear like banks. The channels go
      from 00 to 99 so it is possible to treat the receiver like it has
      memory channels 0000 to 9999 plus the other special channels. I
      see "special channels" is a selection and wonder if the Band Edge
      is consider special. I also noticed a Band Edge location was used
      as a template for the memory write. It seems like on the IC-7000
      that each bank has a set of Band Edge memories above channel 99.
      The IC-R8600 Band Edge locations are group 102, so the template
      had to use memory 10202 instead of 102. Maybe that is a clue that
      the receiver does not have the typical Icom Banks.<br>
    </p>
    <p>I want to go beyond basic settings and have run into a
      limitation. CHIRP seems to want a fixed structure for memory data.
      Icom decided to return different length data with the mode
      dependent data at the end, like FM tone data. I can see why they
      did it as one fixed length string with everything would be long.
      It is possible to set memories without the added mode data, but
      you can not set memories for non-FM modes if the FM tone data is
      at the end. The only method I have come up with is to add dummy
      tone data when reading non-FM memory locations and truncating the
      tone data when writing non-FM memory locations.</p>
    <p>The receiver also has a clone mode and I wonder if it would be
      easier to try working with it instead. The receiver also has a
      settings file that can be read and written to the SD Card. The
      settings file looks similar to the clone mode output. There are
      two versions and receivers with later firmware can read both. The
      clone data format looks similar to what the existing Icom clone
      code can decode. When I tried auto-detect with the radio set to
      9600, the program returned unknown format 38180001. 3818 is likely
      the engineering code number for the receiver and shows up in
      multiple places, like RX-3818<span class="st"><em>.</em> The 0001
        appears to be a version number.<br>
        <em></em></span></p>
    <p>73 Eric<br>
    </p>
  <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
        <tr>
        <td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link" target="_blank" style="color: #4453ea;">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>