AFTER attempting to change the second memory slot (python index 1) to show 146 MHz, I expected the UI to auto-populate the rest of the line similar to what showed on the first memory (FM…). BUT:
- Memory 2 UI now shows a label with an asterisk (almost surely indicating a change to that line) with the 146 I typed still in the frequency location; the rest of the line is blank
- Home3 (!) UI now shows the correct Memory 2 line, along with label “2”, as if it were memory 2
[Two more screenshots labeled with “after mem 1 change” are no longer included but available.]
- Looking at the browser, memory index 1 and Home1, Home2 and Home 3 all show the correct register information.
[Two more screenshots after the changed include “browser” in the filename are no longer included.]]
- This type of problem occurs for every memory line up through 100, although it starts to populate the PMS specials memory lines.
I haven't debugged your problem, but the reason for the UI disconnect is that you;'re returning an overlapping set of special memories with the regular ones. You need to map your special memories somewhere that does not overlap with the regular numbered memories (i.e. start right after the last regular memory). So when you edit memory 1, you'll notice that "Home2" actually changes waaay down at the bottom of the memory editor. During the initial load, you've returned a special memory with a number=1 and so chirp thinks that's where memory number 1 goes.
I'll take a todo to write a test to cover this if we really don't already have one.
A copy of my modified ft1d.py:<ft1d.py>
In the future, a draft github PR (or at least a diff) would be a lot easier to look at and pull down to try. However, you've got a ton of change in your .py file from current master, which makes it really hard to tell what all you've changed. Please do split that up into pieces before you submit, otherwise it'll be really difficult to review.
--Dan