[chirp_devel] New Driver patch status?
Any status on the Baojie BJ-218 new driver patch submitted 2/21 for issue #5595? I am attaching the patch file again, in case it got lost...
Hi Rick,
Any status on the Baojie BJ-218 new driver patch submitted 2/21 for issue #5595? I am attaching the patch file again, in case it got lost...
After taking a quick look that this myself, shouldn't this just be a patch to the lt725uv.py driver and not a replacement.
There are also many places where code has commented out and it looks to me like it should have been removed. There also seems to be quite a few places commented code doesn't look like it is indented properly. Here is an example of both.
+ mem.mode = self.MODES[_mem.wide] + + # val = _mem.power # RJD + # if _mem.power == 1: # BJ-218 memory only supports low / high + # val = 2 # bit 1 off/on + # mem.power = LIST_POWER[val] # RJD + + return mem
Jim KC9HI
Any status on the Baojie BJ-218 new driver patch submitted 2/21 for issue #5595? I am attaching the patch file again, in case it got lost...
Sorry for the delay. I've been traveling for the last two weeks, and then sick from traveling :(
Your patch doesn't look properly formatted to me, like maybe you did an "hg diff" and then manually added some headers to make it look like an export or something like that.
Here's the process for doing this:
https://chirp.danplanet.com/projects/chirp/wiki/DevelopersProcess#Submitting...
However, I'm more interested in the outcome of Jim's review feedback. If this is just a revision on another model, it should be implemented as such and not just copied from one driver to the other. The latter increases maintenance burden quite a bit, and the drivers are modular to facilitate sharing.
Thanks!
--Dan
Rick,
I did some playing around with the original lt725uv.py driver. It should upload and download from/to the Luiton and Baojie radios (plus the alias radios).
I went ahead and changed name length to 7. It just won't display on the Luiton radio.
Also the Luiton radio has 3 power levels, but I could only find that would support 2 power levels via programming software. The factory software only allows programming 2 power levels (LOW/HIGH). The memory location only supports 2 power levels (it is a single bit). But the radios does allow you to choose 3 power levels when programming from the keypad (LOW/MIG/HIGH). Yes, MIG is what the radio displays as the 3rd power level choice. It was because of this weird implementation that I left the settings for the power level off.
I have attached my work as the complete driver so you can load it a a module and as a patch. It should give you some ideas for implementing the additional radios. I'm pretty sure you added support will work for the LT-725UV as well.
Jim
Jim- Perfect! That's what I was hoping for. I am testing your lt725.py mods with my Zastone now. It treats the power settings exactly the same; only 1 bit for low/high in the map, but low/'mig'/high at the radio. I'm pretty sure that the individual channel power settings are ignored on upload, and just the bank power level is applied to all. I will verify that. Might as well leave the individual settings 'settable', since the vendor s/w does that. You want me to submit the patch to lt725uv when I'm done testing, or do you want to?
Rick DeWitt AA0RD Sequim, Washington, USA 360-681-3494
On 3/8/2018 8:51 AM, Jim Unroe via chirp_devel wrote:
Rick,
I did some playing around with the original lt725uv.py driver. It should upload and download from/to the Luiton and Baojie radios (plus the alias radios).
I went ahead and changed name length to 7. It just won't display on the Luiton radio.
Also the Luiton radio has 3 power levels, but I could only find that would support 2 power levels via programming software. The factory software only allows programming 2 power levels (LOW/HIGH). The memory location only supports 2 power levels (it is a single bit). But the radios does allow you to choose 3 power levels when programming from the keypad (LOW/MIG/HIGH). Yes, MIG is what the radio displays as the 3rd power level choice. It was because of this weird implementation that I left the settings for the power level off.
I have attached my work as the complete driver so you can load it a a module and as a patch. It should give you some ideas for implementing the additional radios. I'm pretty sure you added support will work for the LT-725UV as well.
Jim
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
Hi Rick,
Perfect! That's what I was hoping for.
Glad to hear it.
I am testing your lt725.py mods with my Zastone now. It treats the power settings exactly the same; only 1 bit for low/high in the map, but low/'mig'/high at the radio. I'm pretty sure that the individual channel power settings are ignored on upload, and just the bank power level is applied to all.
I do know the programming software (factory and CHIRP) reads and writes the power levels on a per-channel basis. Programming the memories via the keypad does too. But if you are in MR mode and change the power level, it seems to be global.
I will verify that. Might as well leave the individual settings 'settable', since the vendor s/w does that.
I agree. I just gave up on it too easy when I originally worked it up.
You want me to submit the patch to lt725uv when I'm done testing, or do you want to?
You do it. It's your project. My goal was to help you out... not to take over. ;-)
Jim KC9HI
Couple of implementation questions- Your Settings > Extra method didn't 'take' for my model, OK if I move that to get_settings? Can I pull the 'Experimental' warning after testing? Any problem if I append the model string to MEM_FORMAT for access by the browser tab? Shouldn't effect anything....?
Rick DeWitt AA0RD Sequim, Washington, USA 360-681-3494
On 3/8/2018 4:43 PM, Jim Unroe wrote:
Hi Rick,
Perfect! That's what I was hoping for.
Glad to hear it.
I am testing your lt725.py mods with my Zastone now. It treats the power settings exactly the same; only 1 bit for low/high in the map, but low/'mig'/high at the radio. I'm pretty sure that the individual channel power settings are ignored on upload, and just the bank power level is applied to all.
I do know the programming software (factory and CHIRP) reads and writes the power levels on a per-channel basis. Programming the memories via the keypad does too. But if you are in MR mode and change the power level, it seems to be global.
I will verify that. Might as well leave the individual settings 'settable', since the vendor s/w does that.
I agree. I just gave up on it too easy when I originally worked it up.
You want me to submit the patch to lt725uv when I'm done testing, or do you want to?
You do it. It's your project. My goal was to help you out... not to take over. ;-)
Jim KC9HI
On Fri, Mar 9, 2018 at 10:24 AM, Rick DeWitt aa0rd@yahoo.com wrote:
Couple of implementation questions- Your Settings > Extra method didn't 'take' for my model, OK if I move that to get_settings?
Are you talking about "Receiving mode", "Launch signaling", "Transmit end signaling", "Compandor and Scrambler"? These are "extra" per-channel settings and are how and where they should be.
What do you mean they didn't take? Are you sure? All "extra" per-channel settings are accessed through the Memory Properties editor.
1. Highlight one or more memory rows 2. Click the [Properties] button near the top of the spreadsheet style memory editor (and alternate method would be to right click on a highlight memory row and choose "Properties" from the menu that appears) 3. Now with the "Memory Properties" editor displayed click on the "Other" tab.
Now you should see the 5 "extra" settings. If these settings don't work on your radio (I bet they do), then skip them when it isn't the LT-725UV. Something like...
if self.MODEL == "LT-725UV": # Extra mem.extra = RadioSettingGroup("extra", "Extra")
if _mem.recvmode == 0xFF: val = 0x00 else: val = _mem.recvmode recvmode = RadioSetting("recvmode", "Receiving mode", RadioSettingValueList(LIST_RECVMODE, LIST_RECVMODE[val])) mem.extra.append(recvmode)
if _mem.botsignal == 0xFF: val = 0x00 else: val = _mem.botsignal botsignal = RadioSetting("botsignal", "Launch signaling", RadioSettingValueList(LIST_SIGNAL, LIST_SIGNAL[val])) mem.extra.append(botsignal)
if _mem.eotsignal == 0xFF: val = 0x00 else: val = _mem.eotsignal eotsignal = RadioSetting("eotsignal", "Transmit end signaling", RadioSettingValueList(LIST_SIGNAL, LIST_SIGNAL[val])) mem.extra.append(eotsignal)
compandor = RadioSetting("compandor", "Compandor", RadioSettingValueBoolean(bool(_mem.compandor))) mem.extra.append(compandor)
scrambler = RadioSetting("scrambler", "Scrambler", RadioSettingValueBoolean(bool(_mem.scrambler))) mem.extra.append(scrambler)
Can I pull the 'Experimental' warning after testing?
Sure.
Any problem if I append the model string to MEM_FORMAT for access by the browser tab? Shouldn't effect anything....?
I'm not sure what you mean by this (but it's early). The "Browser" tab seems to work fine for me
Jim KC9HI
OK, I see those now. I will add the other DTMF, Bootup and VFO settiings to the Settings tab.
Rick DeWitt AA0RD Sequim, Washington, USA 360-681-3494
On 3/10/2018 5:33 AM, Jim Unroe wrote:
On Fri, Mar 9, 2018 at 10:24 AM, Rick DeWitt aa0rd@yahoo.com wrote:
Couple of implementation questions- Your Settings > Extra method didn't 'take' for my model, OK if I move that to get_settings?
Are you talking about "Receiving mode", "Launch signaling", "Transmit end signaling", "Compandor and Scrambler"? These are "extra" per-channel settings and are how and where they should be.
What do you mean they didn't take? Are you sure? All "extra" per-channel settings are accessed through the Memory Properties editor.
- Highlight one or more memory rows
- Click the [Properties] button near the top of the spreadsheet style
memory editor (and alternate method would be to right click on a highlight memory row and choose "Properties" from the menu that appears) 3. Now with the "Memory Properties" editor displayed click on the "Other" tab.
Now you should see the 5 "extra" settings. If these settings don't work on your radio (I bet they do), then skip them when it isn't the LT-725UV. Something like...
if self.MODEL == "LT-725UV": # Extra mem.extra = RadioSettingGroup("extra", "Extra") if _mem.recvmode == 0xFF: val = 0x00 else: val = _mem.recvmode recvmode = RadioSetting("recvmode", "Receiving mode", RadioSettingValueList(LIST_RECVMODE, LIST_RECVMODE[val])) mem.extra.append(recvmode) if _mem.botsignal == 0xFF: val = 0x00 else: val = _mem.botsignal botsignal = RadioSetting("botsignal", "Launch signaling", RadioSettingValueList(LIST_SIGNAL, LIST_SIGNAL[val])) mem.extra.append(botsignal) if _mem.eotsignal == 0xFF: val = 0x00 else: val = _mem.eotsignal eotsignal = RadioSetting("eotsignal", "Transmit end signaling", RadioSettingValueList(LIST_SIGNAL, LIST_SIGNAL[val])) mem.extra.append(eotsignal) compandor = RadioSetting("compandor", "Compandor", RadioSettingValueBoolean(bool(_mem.compandor))) mem.extra.append(compandor) scrambler = RadioSetting("scrambler", "Scrambler", RadioSettingValueBoolean(bool(_mem.scrambler))) mem.extra.append(scrambler)
Can I pull the 'Experimental' warning after testing?
Sure.
Any problem if I append the model string to MEM_FORMAT for access by the browser tab? Shouldn't effect anything....?
I'm not sure what you mean by this (but it's early). The "Browser" tab seems to work fine for me
Jim KC9HI
participants (3)
-
Dan Smith
-
Jim Unroe
-
Rick DeWitt