Hi Dan,

On 28-Jan-20 09:57, Dan Smith via chirp_devel wrote:
@@ -669,8 +677,6 @@
         rf.has_dtcs_polarity = False    # REV TN reverses the tone, not the dcs
         rf.has_cross = True
         rf.has_settings = True
-        rf.valid_tuning_steps = self.legal_steps
-
Here, you stop setting valid_tuning_steps, and thus stop looking at self.legal_steps. See below.

Turns out, this isn't a bug. I just had removed a duplicate line (see a few lines up in ft4.py, not visible in patch).

But it's good that the patch wasn't applied: it gives me the opportunity to attack this from a different angle. There are a total of four new radios I'd like to add (FT-25R, FT-4VR, FT-65E, FT-4XE), and that's much easier after a patch with some restructuring has been applied. I will send this patch first and see what your verdict is (I appreciate your checking!), before sending patches which apply a series of fixes for issues and add the four radios.


73,
Bernhard


On 1/28/20 3:56 PM, Bernhard Hailer wrote:
Thanks Dan,

I missed the legal_steps bug, indeed. Also found another issue with addressing VFO memories, which needs fixing. While working on the fixes, I'll convert the doc strings to comments.

Please hold the patches until I got this straight - I might actually go an entirely different way and prepare for more radios, making the implementation of new radios in this driver easier.

(Still have a problem with the test script not including added radios such as the FT-25. But that's another thing I need to figure out.)


73,
Bernhard

On 28-Jan-20 09:57, Dan Smith via chirp_devel wrote:
@@ -669,8 +677,6 @@
         rf.has_dtcs_polarity = False    # REV TN reverses the tone, not the dcs
         rf.has_cross = True
         rf.has_settings = True
-        rf.valid_tuning_steps = self.legal_steps
-
Here, you stop setting valid_tuning_steps, and thus stop looking at self.legal_steps. See below.

+        """
+        First, we need to know whether a channel is enabled,
+        then we can process any channel parameters.
+        It was found (at least on an FT-25) that channels might be
+        uninitialized and memory is just completely filled with 0xFF.
+        """
This is a docstring in python, and doesn't belong here despite being allowed. If you want to insert a comment, please use the comment prefix (#).

+        """
+        So, now if channel is not empty, we can do the evaluation of
+        all parameters. Otherwise we set them to defaults.
+        """
Same here.

@@ -1117,7 +1142,7 @@
                                    # UHF, RX (400000000, 480000000)
         ]
     _valid_chars = chirp_common.CHARSET_ASCII
-    numblocks = 0x215      # number of 16-byte blocks in the radio
+    numblocks = 0x215           # number of 16-byte blocks in the radio
This is non-functional noise in the patch, which we should try to avoid to keep the history clean.

+@directory.register
+class YaesuFT25Radio(YaesuSC35GenericRadio):
+    MODEL = "FT-25R"
+    _basetype = BASETYPE_FT65
+    valid_bands = [
+        (65000000, 108000000),     # broadcast FM, receive only
+        (144000000, 148000000),    # VHF, US version, TX and RX
+                                   # VHF, RX (136000000, 174000000)
+        ]
+    _valid_chars = chirp_common.CHARSET_ASCII
+    numblocks = 0x215      # number of 16-byte blocks in the radio
+    _memsize = 16 * numblocks   # used by CHIRP file loader to guess radio type
+    MAX_MEM_SLOT = 200
+    Pkeys = 4     # number of programmable keys on the FT-65
+    namelen = 8   # length of the mem name display on the FT-65 front panel
+    id_str = b'IFT-25R\x00\x00V100\x00\x00'
+    freq_offset_scale = 50000
+    legal_steps = US_LEGAL_STEPS
Looks like you still expect legal_steps to be used, but you removed the reference above.

I was going to apply this despite the docstring thing because you have patches above and just ask you to fix the comments later. However, I'm not sure about the legal_steps thing, so let me know if I'm missing something and we can go from there.

Thanks!

--Dan
_______________________________________________
chirp_devel mailing list
chirp_devel@intrepid.danplanet.com
http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers