[chirp_devel] python2/3 MemoryMap?

Dan Clemmensen
Sun Feb 17 15:18:42 PST 2019


OK, I did in fact make my driver work on both py3 and the (py2) main
branch. I built my image into a bytearray, then converted to bytes,
use MemoryMap:
       bytearraymmap = bytearray(radio._imagesize)
       readimageinto bytearray(bytearraymmap)
       self._mmap= memmap.MemoryMap(bytes(bytearraymmap))

This code works in both places. The py3 version will eventually need to be
cleaned up to use the MemoryMapBytes, simply to avoid the
array copy, but that's minor. We could add a stub version of MemoryMapBytes
to py2 to simplify the transition.

On Sun, Feb 17, 2019 at 3:04 PM Dan Smith via chirp_devel <
chirp_devel at intrepid.danplanet.com> wrote:

> > I'm trying to write a driver that works with both Python 2 and Python 3.
> It works and passes all tests, but it cannot create a memory savable memory
> map when it downloads from the radio.
> > I can choose MemoryMapBytes, which works in Py3, or  MemoryMap, which is
> implemented in both but which results in a mmap that cannot be written to a
> file.  I'm now officially lost, which is my usual state. Any suggestions?
>
> I'm not sure what you mean, so showing code would be a lot more helpful.
> I've converted a bunch of radios in the py3 branch that work on py2 and py3
> at the same time, so you can look for examples there. Most have a first
> commit that just makes them work with MemoryMap (i.e. compat mode) first,
> followed by one that makes them byte-clean using MemoryMapBytes. Note that
> you won't be able to make a driver that works on both on the main branch of
> course.
>
> --Dan
>
> _______________________________________________
> 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/20190217/fc821405/attachment-0001.html 


More information about the chirp_devel mailing list