<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoPlainText>Gents,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Here is the image from my Icom IC-V80. As confirmed by Icom's software, the first two memory locations are filled, and contain:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>1) 146.52, simplex. No tone. Label AAAAA<o:p></o:p></p><p class=MsoPlainText>2) 146.76, offset minus, 600 KHz. Tone, 88.5. Label BBBBB<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>It appears to me that a memory channel is 16 bytes long. The first two bytes appear to be frequency / 5000, not three as in IC-T70. So, I have changed frequency in the mem structure to ul16. The next two appear to be offset / 5000, same as IC-T70 . (I am aware of the IC-T70 changes to that for oddball spacings, which I will later confirm are the same here.) The next 5 bytes are the memory label. After that, I can start setting/unsetting bits and figure out the other features.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Is it correct that CTCSS tones are usually enumerated rather than literal values? Where can I find the enumerations?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Also, since this radio does not use memory banks, do I have to strip out any bank code and/or structures from the IC-T70 driver, or does setting:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText style='margin-left:.5in'>rf.has_bank = FALSE<o:p></o:p></p><p class=MsoPlainText style='margin-left:.5in'>rf.has_bank_index = FALSE<br>rf.has_bank_nmames = FALSE<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>...take care of all that?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Making the changes noted to the data structure and bank definitions does not result in the UI showing the correct frequency (it just says ERROR), so I am not clear on what else I am missing. Any tips appreciated. <o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>73,<o:p></o:p></p><p class=MsoPlainText>Drew K3PA<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>-----Original Message-----<br>From: Drew Vonada-Smith [mailto:drew@whisperingwoods.org] <br>Sent: January 01, 2013 16:34<br>To: 'chirp_devel@intrepid.danplanet.com'<br>Subject: RE: [chirp_devel] chirp_devel Digest, Vol 20, Issue 13</p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Dan,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Thank you for explaining. I also found I made an error and was using the wrong driver to begin. Some of the names are very close; ict7h vs ict70. Got the new driver and set the things I already knew; model string, number of memories, band limits etc.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Began again and got a memory size of 0xE80. <o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Next thing: I know from the manual that the T70 uses ASCII channel labels and had memory banks. The V80 has neither. Do you recommend I just delete those items from the structure and try again, or how do you go about reverse engineering the memory channel structure?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>-----Original Message-----<o:p></o:p></p><p class=MsoPlainText>From: <a href="mailto:chirp_devel-bounces@intrepid.danplanet.com"><span style='color:windowtext;text-decoration:none'>chirp_devel-bounces@intrepid.danplanet.com</span></a> [<a href="mailto:chirp_devel-bounces@intrepid.danplanet.com"><span style='color:windowtext;text-decoration:none'>mailto:chirp_devel-bounces@intrepid.danplanet.com</span></a>] On Behalf Of Dan Smith<o:p></o:p></p><p class=MsoPlainText>Sent: January 01, 2013 15:28<o:p></o:p></p><p class=MsoPlainText>To: <a href="mailto:chirp_devel@intrepid.danplanet.com"><span style='color:windowtext;text-decoration:none'>chirp_devel@intrepid.danplanet.com</span></a><o:p></o:p></p><p class=MsoPlainText>Subject: Re: [chirp_devel] chirp_devel Digest, Vol 20, Issue 13<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> 0e80 was the size I used, and this resulted in:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Right, and if you look at this:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> Last addr: 0e80<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>It's saying it stopped there. That's because the radio has a larger memory than 0x0E80, and so the driver stopped because you told it to, not because the radio refused a read. If you set the memsize to 0x10000 or something else large, then you should see that "Last addr" change to the actual end. The T70's size is 0x19E0, which is much larger than the<o:p></o:p></p><p class=MsoPlainText>0x0E80 you told it to look for.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> Anyway, you seem to be looking for someone with more experience at <o:p></o:p></p><p class=MsoPlainText>> this than I have, so I'd best pass on driver work. Maybe the info <o:p></o:p></p><p class=MsoPlainText>> above is useful to someone...<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Well, that's your call, I didn't mean to scare you off. Writing a driver is not trivial thing and it does require some study. I'm not a Windows developer, but I did expect that even a power user would have familiarity with the platform enough to search for files and redirect output. Maybe that's a bad assumption on my part.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>I won't push you, but I think you're pretty close to at least getting an image of the radio. Once you do, all that is left is sifting through it looking for the data and fields you need...<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>--<o:p></o:p></p><p class=MsoPlainText>Dan Smith<o:p></o:p></p><p class=MsoPlainText><a href="http://www.danplanet.com"><span style='color:windowtext;text-decoration:none'>www.danplanet.com</span></a><o:p></o:p></p><p class=MsoPlainText>KK7DS<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p></div></body></html>