Thanks Dan and Rich.
Rich - Downloaded your code and will get a proper look at it over the next few weeks.
Dan - will get the frequency coded and then do a pull request. Will do the settings part of the GUI as an increment (they're easily changed on the radio anyway).
Regards,
John, Mi0SYN.
On 06/06/2024 02:21, Richard Cochran via Developers wrote:
Long ago, in June of 2000, I wrote a standalone program to upload/download an ascii text channel list to/from the Icom IC-R2, an ancestor to the R6, which nevertheless looks very similar.
I remember the frequency encoding was strange, with lots of special cases, including different encoding if the spacing was .625 kHz, and handling of the MW band in a totally different format depending on whether 9kHz or 10Khz spacing was being used, and perhaps some other gotchas that have escaped me over the past two and a half decades. But I believe I got the R2 frequency handling solid. I distributed that software for free to a large mailing list of R2 users, and after a few initial bug reports were fixed (that had to do with things other than the frequency), it was very stable.
I dug up my source code, and have just now posted it on the web, at
https://ag6qr.net/priv/VmhNvUR7k8k92fQs7PfN/r2pepperSource.zip
It's written in C++. The meat of the frequency handling code is in the class CFrequency, which is declared in r2radio.h, with the member function definitions in r2radio.cpp.
The C++ class stores frequencies in an internal format consisting as an integer number of kHz, plus flags saying whether it's spaced in 62.5 kHz intervals, and whether it's a 9kHz spaced MW frequency.
The key member functions are
CFrequency::setFromData, converts the raw data bytes from the radio's internal format into an integer number of kHz,
CFrequency::putToData, converts a frequency in integer kHz to the radio's internal data storage format
CFrequency::setFromAscii converts an Ascii buffer into the integer number internal representation
CFrequency::putToAscii converts the internal representation into an Ascii buffer.
I don't know if the R6 uses the same strange internal representation as the R2 did, but it sounds like there may be some common ground here. I don't have access to an R6.
It has been literally decades since I've touched this code, but I remember writing it, and I just glanced over it, and it looks reasonably familiar. I'll try my best to answer questions.
You're welcome to contact me privately off this list, because the details of the internal representation of frequencies on these old scanners may not be of general interest to the entire list. I apologize, I haven't been actively participating in this list recently, and I've missed many posts.
--Rich Cochran/AG6QR
ag6qr@sonic.net
On 6/5/24 15:22, John Bradshaw via Developers wrote:
Hi everyone,
Made progress with the Icom IC-R6, most things now coded, except for one rather important field (frequency).
One that's sorted just the device settings GUI to code before the first pull request, hopefully get some user feedback and test images at that stage.
Would appreciate some fresh eyes on the frequency encoding.
Developers mailing list --developers@lists.chirpmyradio.com To unsubscribe send an email todevelopers-leave@lists.chirpmyradio.com