Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update OpenGD77 support #394

Open
1 of 20 tasks
hmatuschek opened this issue Oct 12, 2023 · 7 comments
Open
1 of 20 tasks

Update OpenGD77 support #394

hmatuschek opened this issue Oct 12, 2023 · 7 comments
Labels
bug Something isn't working enhancement New feature or request OpenGD77 Affects devices with OpenGD77 firmware

Comments

@hmatuschek
Copy link
Owner

hmatuschek commented Oct 12, 2023

This is a larger change. With the support of other radios, the OpenGD77 firmare changes the codeplug and callsign DB format. To this end, a detection of the firmware variant is needed and some device specific implementation of the codeplug/callsign DB. Hence the following sub-steps are needed. (Unifies issues #393, #300, #297, #239, #223)

  • Implement variant detection (update communication protocol).
  • Infer and implement common OpenGD77Base/OpenMDUV380
    • Codeplug
    • Call-sign DB
  • Update OpenDM1801A
    • Codeplug
    • Call-sign DB
  • Update OpenGD77
    • Codeplug
    • Call-sign DB
  • Update OpenRD5R
    • Codeplug
    • Call-sign DB
  • Implement OpenMD1701
    • Codeplug
    • Call-sign DB
  • Implement OpenMDUV380
    • Codeplug
    • Call-sign DB
  • Test, test, test
@allesand
Copy link

allesand commented Oct 12, 2023

Note for later:

Multi DMR ID support:
OpenGD77 supports multiple DMR ids. qdmr has general support for this feature, but not for OpenGD77. Reading a OpenGD77 device with multiple IDs (written by the Windows CPS) works fine, though, they are correctly written to the yaml file. Writing and re-reading just returns one ID. qdmr correctly complains before writing.

Maximum number of TGs (RXGroupList):
"The maximum number of TG's in a TG-List is 32" (https://www.opengd77.com/viewtopic.php?t=2063 or https://www.opengd77.com/viewtopic.php?t=2541 for other sizes)
Actually, qdmr 0.11.3 seems to not read the 32 entries from an RX list on my RD-5R running OpenGD77 - qdmr 0.8.1 is working correctly. Will try to determine why. Seems to only read about 15 oder 16.
Is that somewhere in opengd77_limits.cc ?
At " /* Define limits for group lists. */"?
But: is it writing more than it is reading? Is it a display issue? Strange. Have to confirm how many are written.

@luzemario
Copy link

luzemario commented Dec 15, 2023

Does qDMR support STM32 radios? or only MK22 ones?

@allesand
Copy link

@luzemario : Are you asking specifically regarding radios running OpenGD77? There was some discussion here: #300
I have an RD-5R running OpenGD77 which is handled well by qdmr and is MK22-based, right?

Currently, qdmr supports for example an RT3S when running stock firmware. There seem to be differences between the implementations of OpenGD77 on the supported radio families, though. So current status is (again, from report at #300) that qdmr can not be used reliably for an RT3S or DM1701 when the radio is running OpenGD77.

To change that is the goal of the tasks in this issue. Did I understand your question correctly?

@luzemario
Copy link

luzemario commented Dec 22, 2023

Yeah, I own a DM-1701 running OpenGD77. And yes, some fields are shown garbled after reading the radio. You are correct.

The DM-1701 has a STM32, that is slightly different from MK22.

@hmatuschek
Copy link
Owner Author

Does anyone know, where I can get the source code of the latest OpenGD77 CPS and firmware? It is super weird to treat this open source firmware like any other shitty commercial one, needing to reverse engineer everything from scratch.

@luzemario
Copy link

Maybe this can be useful:

https://www.opengd77.com/viewtopic.php?f=19&t=2742

The interface code has changed a bit since then, but not too often.

@hmatuschek
Copy link
Owner Author

Thanks, that helps a lot.

hmatuschek added a commit that referenced this issue May 24, 2024
* Documented changes in the APRS settings encoding. Addresses #349.
* Fixed exisiting props of APRSSettings.
* Merged FM and DMR APRS settings. Fixed frequency issue. Addresses #349.
* Fixed APRS settings for DMR6X2UV.
* Cleanup of DMR6X2UV codeplug.
* Fixed crash in D878UV read. Addresses #349.
* Added anytone settings extension for FM APRS systems. Addresses #249.
* Implemented FM APRS frequency list and experimental storage of labels. Addresses #349.
* Added some docs for FM APRS settings extension. Addresses #394.
* Fixed missing encoding/decoding of report flags for Anytone APRS settings extension.
* Fixed decoding of D878UV codeplugs of older DFU images.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request OpenGD77 Affects devices with OpenGD77 firmware
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants