Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
You mean
http://members.optuszoo.com.au/jason.re ... format.pdf
Its no longer correct for the Zones, as the number of channels per zone has been increased to 80
http://members.optuszoo.com.au/jason.re ... format.pdf
Its no longer correct for the Zones, as the number of channels per zone has been increased to 80
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Yes, that's one of the two documents I referred to, and I said they're based on the stock firmware.
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Thanks all! I now have some reading to do, and this is an evenings/weekends project, so it may take a while. But I find it baffling that this excellent open-source firmware currently requires Windows. Well, not really, py script for read/write with OpenGD77CPS for editing under Wine works, but is not ideal.
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
FYI.
Several people have attempted to make CPS's, but I noticed that all those projects eventually got abandoned. I don't even think the Python script is actively supported and I think it has some bugs. But at least it works.
I did consider trying to rewrite the CPS so that it would compile and run on Linux, but I have up shortly after I started as it was too much work.
Daniel F1RMB also tried for many hours to make the CPS.exe work via Wine and Mono but it was impossible to make it fully work, because there is no support in Wine for serial comms !!!
Several people have attempted to make CPS's, but I noticed that all those projects eventually got abandoned. I don't even think the Python script is actively supported and I think it has some bugs. But at least it works.
I did consider trying to rewrite the CPS so that it would compile and run on Linux, but I have up shortly after I started as it was too much work.
Daniel F1RMB also tried for many hours to make the CPS.exe work via Wine and Mono but it was impossible to make it fully work, because there is no support in Wine for serial comms !!!
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
I can already dump info for Contacts and RX Groups. I'll dig into the firmware a bit to identify the parts which really need to be supported.
I have no intention on implementing an interface -- there are excellent spreadsheet programs available to use for free. I'm still not sure if CSV is the best format though, I'm considering import-exporting to YAML, to be edited with a text editor.
I have no intention on implementing an interface -- there are excellent spreadsheet programs available to use for free. I'm still not sure if CSV is the best format though, I'm considering import-exporting to YAML, to be edited with a text editor.
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
I considered using XML at one point, but you'd need to write an editor, which is not worth the hassleLZ1CK wrote: ↑Mon Jul 13, 2020 9:27 pmI can already dump info for Contacts and RX Groups. I'll dig into the firmware a bit to identify the parts which really need to be supported.
I have no intention on implementing an interface -- there are excellent spreadsheet programs available to use for free. I'm still not sure if CSV is the best format though, I'm considering import-exporting to YAML, to be edited with a text editor.
Just stick to separate CSV's
BTW. If you look at the Channel export from the CPS, I added some stuff so that it put the Zone and the TG stuff into the Channel CSV
Its not ideal, but the CPS can then auto create zones and contacts and TG lists when its importing channels
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
I added the full GPLv2 license terms to the repo and updated the copyright notice. As I did, I saw the copyright notice contains an incomplete sentence, so I filled it in:
https://github.com/kzyapkov/opengd77xfe ... 7ba30a0L11
Was the idea to license the code under GPL v2 only? If so, the statement was grammatically incorrect.
https://github.com/kzyapkov/opengd77xfe ... 7ba30a0L11
Was the idea to license the code under GPL v2 only? If so, the statement was grammatically incorrect.
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
You'd need to discuss the license with the original author. Try PM'ing themLZ1CK wrote: ↑Thu Jul 16, 2020 7:20 amI added the full GPLv2 license terms to the repo and updated the copyright notice. As I did, I saw the copyright notice contains an incomplete sentence, so I filled it in:
https://github.com/kzyapkov/opengd77xfe ... 7ba30a0L11
Was the idea to license the code under GPL v2 only? If so, the statement was grammatically incorrect.
BTW. I think there is a bug when uploading if you try to upload less than 32 bytes, i.e at the end of a transfer.
I recall fixing the bug when I re-used some of the gd77 transfer code in my script to use the GD-77 to encode WAV to audio for the voice prompts.
I think its lines like this one.
https://github.com/kzyapkov/opengd77xfe ... er.py#L372
Where it checks the number of bytes written is the size of the header + the size of the data buffer. But thats not correct, as you can send less bytes than size of the fixed data buffer (32 bytes)
My fix was to check the first 2 bytes of the response
https://github.com/LibreDMR/voice-promp ... er.py#L140
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
Will do!You'd need to discuss the license with the original author. Try PM'ing them
I reworked the code completely, I think very few original lines are left in my worktree by now. Writing is currently disabled. I'll implement pythonic parsing of the binary blob first. I'll let you know when it's QA-readyBTW. I think there is a bug when uploading if you try to upload less than 32 bytes, i.e at the end of a transfer. ...
Thanks for all the help, and the awesome firmware. 73!
Re: Read/write GD-77 codeplug in Linux in Python 3 (experimental)
OK.
I thought it looked similar but different...