[chirp_devel] TYT TH-UVF8D support
Eric Allen
Sun Nov 17 11:02:35 PST 2013
Whoops, caught a typo in the settings. Not sure how that crept in there,
but here's an updated patch.
On Fri, Nov 15, 2013 at 5:50 PM, Eric Allen <eric at hackerengineer.net> wrote:
> Same message and patch, but I wasn't sure the one from gmail got through
> due to mailing list configuration. Sorry for the confusion!
>
>
> On Fri, Nov 15, 2013 at 5:34 PM, Dan Smith <dsmith at danplanet.com> wrote:
>
>> This looks like a repeat of your mail from 10/31. Is this patch
>> different? Which one should I look at?
>>
>> --Dan
>>
>> On 11/05/2013 12:18 PM, Eric Allen wrote:
>> > Cool, thanks! Just a few comments from a quick skim:
>> > > - return "Memory %i: %s%s%s %s (%s) r%.1f%s c%.1f%s
>> > d%03i%s%s [%.2f]"% \
>> > > + return "Memory %s: %s%s%s %s (%s) r%.1f%s c%.1f%s
>> > d%03i%s%s [%.2f]"% \
>> > The number is an integer, so this doesn't make sense, AFAICT.
>> >
>> >
>> > aw shucks, you're totally right. I had it in there before I figured out
>> > how to use special channels correctly.
>> >
>> >
>> > > + #if data != radio._mmap[:32]:
>> > > + #raise errors.RadioError("Model mis-match: \n%s\n%s" %
>> > (util.hexprint(data),
>> > > +
>> > #util.hexprint(radio._mmap[:32])))
>> > Why is this commented-out?
>> >
>> >
>> > Thanks for catching that! Disabled it while getting the hang of the
>> > memory layout and forgot to re-enable
>> >
>> >
>> > > +
>> > > + for i in range(0, 0x4000, 0x20):
>> > > + addr = i + 0x20
>> > > + msg = struct.pack(">cHb", "W", i, 0x20)
>> > > + msg += radio._mmap[addr:addr+0x20]
>> > Need space around the + operator here
>> >
>> >
>> > Fixed.
>> >
>> >
>> >
>> > > + def _decode_tone(self, toneval):
>> > > + pol = "N"
>> > > + rawval = (toneval[1].get_bits(0xFF) << 8) |
>> > toneval[0].get_bits(0xFF)
>> > Doesn't this just mean you need to use the other endianess of your
>> > toneval?
>> >
>> >
>> > I copy-pasted from thuv1f.py without thinking too hard about it. There's
>> > a bunch more code in _decode_tone and _encode_tone that rely on this
>> > particular endianness. Can we just leave it as-is, since the other code
>> > does it this way?
>> >
>> >
>> > > + if isinstance(number, int):
>> > > + enabled = self._memobj.enable[(number - 1) /
>> > 8].flags[7-((number - 1) % 8)]
>> > > + dont_skip = self._memobj.skip[(number - 1) /
>> > 8].flags[7-((number - 1) % 8)]
>> > Need space around the - operator.
>> >
>> >
>> > fixed
>> >
>> >
>> > > + if dont_skip:
>> > > + mem.skip = ""
>> > > + else:
>> > > + mem.skip = "S"
>> > This should be four-space indented.
>> >
>> >
>> > fixed
>> >
>> >
>> > Also, this could be compacted to:
>> > mem.skip = "S" if not dont_skip else ""
>> >
>> >
>> > Thanks! fixed
>> >
>> >
>> > > + if mem.empty:
>> > > + _mem.set_raw("\xFF" * 32)
>> > > + self._memobj.enable[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = False
>> > > + self._memobj.skip[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = False
>> > > + return
>> > > + else:
>> > > + self._memobj.enable[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = True
>> >
>> > Need spaces around the - operator.
>> >
>> > fixed
>> >
>> >
>> > > + self._memobj.skip[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = (mem.skip == "")
>> > Here too.
>> >
>> >
>> > fixed
>> >
>> >
>> > On Mon, Oct 7, 2013 at 8:00 AM, Dan Smith <dsmith at danplanet.com
>> > <mailto:dsmith at danplanet.com>> wrote:
>> >
>> > > I acquired a TYT TH-UVF8D several months back, and I've finally
>> found
>> > > the time to finish off adding support for it to CHIRP. In adding
>> > support
>> > > for editing the VFO channels as "Special Channels", I had to make
>> a
>> > > small tweak to the command-line utility so it didn't choke on
>> > > non-numeric channel names. Attached is the patch for that, the
>> > patch for
>> > > the radio, and an image file dumped from the radio for testing
>> > purposes.
>> >
>> > Cool, thanks! Just a few comments from a quick skim:
>> >
>> > > - return "Memory %i: %s%s%s %s (%s) r%.1f%s c%.1f%s
>> > d%03i%s%s [%.2f]"% \
>> > > + return "Memory %s: %s%s%s %s (%s) r%.1f%s c%.1f%s
>> > d%03i%s%s [%.2f]"% \
>> >
>> > The number is an integer, so this doesn't make sense, AFAICT.
>> >
>> > > + #if data != radio._mmap[:32]:
>> > > + #raise errors.RadioError("Model mis-match: \n%s\n%s" %
>> > (util.hexprint(data),
>> > > +
>> > #util.hexprint(radio._mmap[:32])))
>> >
>> > Why is this commented-out?
>> >
>> > > +
>> > > + for i in range(0, 0x4000, 0x20):
>> > > + addr = i + 0x20
>> > > + msg = struct.pack(">cHb", "W", i, 0x20)
>> > > + msg += radio._mmap[addr:addr+0x20]
>> >
>> > Need space around the + operator here
>> >
>> > > + def _decode_tone(self, toneval):
>> > > + pol = "N"
>> > > + rawval = (toneval[1].get_bits(0xFF) << 8) |
>> > toneval[0].get_bits(0xFF)
>> >
>> > Doesn't this just mean you need to use the other endianess of your
>> > toneval?
>> >
>> > > + if isinstance(number, int):
>> > > + enabled = self._memobj.enable[(number - 1) /
>> > 8].flags[7-((number - 1) % 8)]
>> > > + dont_skip = self._memobj.skip[(number - 1) /
>> > 8].flags[7-((number - 1) % 8)]
>> >
>> > Need space around the - operator.
>> >
>> > > + if dont_skip:
>> > > + mem.skip = ""
>> > > + else:
>> > > + mem.skip = "S"
>> >
>> > This should be four-space indented.
>> >
>> > Also, this could be compacted to:
>> >
>> > mem.skip = "S" if not dont_skip else ""
>> >
>> > > + if mem.empty:
>> > > + _mem.set_raw("\xFF" * 32)
>> > > + self._memobj.enable[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = False
>> > > + self._memobj.skip[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = False
>> > > + return
>> > > + else:
>> > > + self._memobj.enable[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = True
>> >
>> > Need spaces around the - operator.
>> >
>> > > + self._memobj.skip[(mem.number - 1) /
>> > 8].flags[7-((mem.number - 1) % 8)] = (mem.skip == "")
>> >
>> > Here too.
>> >
>> > --
>> > Dan Smith
>> > www.danplanet.com <http://www.danplanet.com>
>> > KK7DS
>> >
>> >
>> > _______________________________________________
>> > chirp_devel mailing list
>> > chirp_devel at intrepid.danplanet.com
>> > <mailto:chirp_devel at intrepid.danplanet.com>
>> > http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
>> > Developer docs:
>> > http://chirp.danplanet.com/projects/chirp/wiki/Developers
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > chirp_devel mailing list
>> > chirp_devel at intrepid.danplanet.com
>> > http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
>> > Developer docs:
>> http://chirp.danplanet.com/projects/chirp/wiki/Developers
>> >
>>
>>
>> _______________________________________________
>> chirp_devel mailing list
>> chirp_devel at intrepid.danplanet.com
>> http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
>> Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://intrepid.danplanet.com/pipermail/chirp_devel/attachments/20131117/3854033a/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tyt-th_uvf8d-3.patch
Type: application/octet-stream
Size: 20967 bytes
Desc: not available
Url : http://intrepid.danplanet.com/pipermail/chirp_devel/attachments/20131117/3854033a/attachment-0001.obj
More information about the chirp_devel
mailing list