OpenGD77 Support
Hey,
I'm using Baofeng DM-1801 with OpenGD77 (http://github.com/rogerclarkmelbourne/OpenGD77/) which is superb, but it's not being detected by dmrconfig (CPS utility for it looks similar on windows as original one.).
Hello, I'm adding some details to help any developer who will tackle this issue. The main difference between the stock firmware and OpenGD77 is the protocol used to transfer the CPS. The stock fw uses probably a custom DFU variant, while OpenGD77 uses a text-based protocol built on top of a USB virtual COM. So the main issue would be to implement the virtual COM support, provided that no other radio already has it. But on modern operating systems you directly get a serial tty, so it shoulndn't be hard. The CPS layout should be quite identical, some bits which have undefined semantics in the original fw have been assigned some behaviour in OpenGD77.
The OpenGD77 also supports 80 channel zones, but again, I don't think that its a big difference and would be easy to change in this code
After some hesitation between improving the python script for OpenGD77 and this, I've started work on this. Looks like the serial protocol for OpenGD77 differs significantly from the one already implemented in serial.c, but I'll just export dev_path and implement it in opengd77.c.
@rogerclarkmelbourne can you please point me to some code or docs which explain the format of the binary blobs, and what goes where? Not particularly well versed in C# ...
Did you post to the OpenGD77 forum. If so there were a load of replies to your question
https://www.opengd77.com/viewtopic.php?f=12&t=959&start=10
As this repo supports communicating with the official GD-77 firmware, the best approach, would be to re-write the HID part of the code to use the OpenGD77 commands to read and write from Flash and EEPROM
The transfer protocol is really simple, but you need to decide whether the part of the codeplug you want to write is in EEPROM or Flash.
Look at code like GD77transfer or the CPS or the OpenGD77 firmware to see exactly how to format the commands to read and write or erase etc.
Thanks. Looks promising!
Gary, WB8LEA
On Mon, Jul 13, 2020, 12:33 AM Roger Clark [email protected] wrote:
Did you post to the OpenGD77 forum. If so there were a load of replies to your question
https://www.opengd77.com/viewtopic.php?f=12&t=959&start=10
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sergev/dmrconfig/issues/49#issuecomment-657352610, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDG2FMYZJHFMK3LKMCTQI3R3KFA5ANCNFSM4MGJZUEA .
Indeed, this was me on the forum and after some further consideration I've decided to go the python way. Speed and efficiency are not key here, a functioning CPS tool is. Also, this C code will need some rework in places to accommodate the new serial protocol.
My work is here for those interested.
OK
Thanks @kzyapkov ! Great to have that until support (hopefully) ends up in dmrconfig when someone has time.