[chirp_devel] IC-7000 Split Duplex and the User Experience
Tom Hayward
Tue Dec 29 15:40:45 PST 2015
On Tue, Dec 29, 2015 at 3:15 PM, Joseph scanlan via chirp_devel
<chirp_devel at intrepid.danplanet.com> wrote:
> Duplex is set for each channel. Valid values are "" (simplex), "+", "-",
> and "split". There is a place in each memory channel (and the CI-V frame)
> for a separate transmit frequency.
I think I understand now. When the user has chosen + or -, it will use
the band's standard offset. When the user chooses "split", it uses the
specified transmit frequency. And the problem you have is that
sometimes users change the offset for + or - without realizing it
affects the whole band.
How about something like this:
def set_memory(self, mem):
...
if mem.duplex in ('+', '-'):
if mem.offset == get_band_offset(mem.freq):
memobj.duplex = self._rf.valid_duplexes.index(mem.duplex)
else:
memobj.duplex = self._rf.valid_duplexes.index("split")
if mem.duplex == '+':
memobj.txfreq = mem.freq + mem.offset
else:
memobj.txfreq = mem.freq - mem.offset
elif mem.duplex == "split":
memobj.txfreq = mem.offset
else:
memobj.duplex = self._rf.valid_duplexes.index("")
[This could be refactored a bit, but hopefully this is simple enough
to understand.]
You will need to figure out how to write get_band_offset() if you want
to use that logic. Otherwise you can just set any offset as split.
Tom KD7LXL
More information about the chirp_devel
mailing list