I’m (still) working on support for the Icom IC-F521/F621.  Now I have a traceback that has me stumped.  I get the error when I try to copy a memory to the clipboard.  I’m running Chirp on Ubuntu 24.04.1 LTS (noble).

Traceback (most recent call last):

  File "/home/joseph/Devl/chirp/chirp/wxui/memedit.py", line 1716, in <lambda>

    self.Bind(wx.EVT_MENU, lambda e: self.cb_copy(cut=False), copy_item)

                                     ^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/joseph/Devl/chirp/chirp/wxui/memedit.py", line 1953, in cb_copy

    self.cb_copy_data(self.cb_copy_getdata(cut=cut))

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/joseph/Devl/chirp/chirp/wxui/memedit.py", line 1936, in cb_copy_getdata

    memdata.SetData(pickle.dumps(payload))

                    ^^^^^^^^^^^^^^^^^^^^^

AttributeError: Can't pickle local object 'Processor.do_bitfield.<locals>.bitDE'


What might I have done (or failed to do) in my driver that has memedit so upset?

I did look through memedit.py and read about the pickle module (even played with making variables global) but no flash of enlightenment.

Second question.

Which Icom drivers make good examples?  I’m using ic2820.py only because I have an IC-2820 radio.


— Joseph@n7xsd.us
— n7xsd@yahoo.net
— +1-702-896-0507