Hello!
I'm working on a driver for the Alinco DJ-500[1]. I've decoded tons of the memory image, especially the channel entries. I learned a lot about the inner mechanics of Chirp, still I stumbled over some detail. The DJ-500 has one extra tone (62.5 Hz) additional to the regular tones, and one special setting "Custom" with a separate channel property for the CTCSS frequency in the range of 62.5 Hz to 254.1 Hz in steps of 0.1 Hz. I can handle the special tone, but whenever the value is set to Custom, split_tone_encode boils out because Memory has only the tones from chirp_common.py, and I do not know how to reliably tell it to accept extended tones.
What is the right way to tell it what to do? I tried subclassing Memory, but I'm unsure if this holds. Should I get rid of split_tone_* all together? What is then the expectation for tx/rxtone/mode/pol?
Btw. the tmode and split_tone_decode/encode system is quite a quirks for the DJ-500. It has tone modes, tone and polarity for RX and TX, both CTCSS and DCS, which are freely interchangeable. It's confusing in this context to select TSQL etc. and not have them verbose mapped in the GUI to what is actually stored in the radio. I guess this is a concept that works better for other radios and is rooted there. Anyway, maybe I did not graps the concept completely. Any explanation optionally welcome.
73 de Patrick OE6PSE
[1] I want to get something working for our field day this weekend, and I'm nearly done.