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

OpenGD77 channels power #507

Closed
ua0lnj opened this issue Dec 24, 2024 · 16 comments · Fixed by #517
Closed

OpenGD77 channels power #507

ua0lnj opened this issue Dec 24, 2024 · 16 comments · Fixed by #517
Assignees
Labels
bug Something isn't working OpenGD77 Affects devices with OpenGD77 firmware

Comments

@ua0lnj
Copy link

ua0lnj commented Dec 24, 2024

Hi.
OpenGD77 have "Master" settings in channels power option. Master-min-low-midle-hi-max. After first codeplug upload from Qdmr I have min power of all channels now. Master must set as default, if power not setting in channels options.
That's great, do everything from Linux, no need to use Win :)

@hmatuschek hmatuschek self-assigned this Dec 24, 2024
@hmatuschek hmatuschek added bug Something isn't working OpenGD77 Affects devices with OpenGD77 firmware labels Dec 24, 2024
@hmatuschek
Copy link
Owner

First of all, thanks for reporting. It is certainly a bug. Unfortunately, I don't know, where the global power setting is stored and I don't have a OpenGD77 radio at hand. But you can help.

  1. Read the binary codeplug from the radio. dmrconf read codeplug1.dfu
  2. Change the global power setting in the radio
  3. Read it again dmrconf read codeplug2.dfu
  4. For each DFU file, create a hex-dump: dmrconf info codeplugX.dfu > codeplugX.hex
  5. Compare them using diff. E.g., diff codeplug1.hex codeplug2.hex

If the global power setting is stored in the codeplug on the radio, the difference should be visible.

@hmatuschek
Copy link
Owner

hmatuschek commented Dec 24, 2024

Also, I have fixed the power decoding of the channel power setting in the branch
507-opengd77-channels-power unfortunately, you may need to reset all power settings of your channels.

@ua0lnj
Copy link
Author

ua0lnj commented Dec 24, 2024

Ok, I'll try tomorrow.

@ua0lnj
Copy link
Author

ua0lnj commented Dec 25, 2024

I did it... 0 size of diff.
Another case, change the settings of one channel and compare?

@ua0lnj
Copy link
Author

ua0lnj commented Dec 25, 2024

About 507-opengd77-channels-power.
I read and wrote back codeplug. All channels were master power, became 500 mW. In Qdmr were default power, became low power, and no default.

@hmatuschek
Copy link
Owner

hmatuschek commented Dec 25, 2024 via email

@hmatuschek
Copy link
Owner

hmatuschek commented Dec 25, 2024 via email

@hmatuschek hmatuschek added this to the Version 0.12.1 milestone Dec 25, 2024
@ua0lnj
Copy link
Author

ua0lnj commented Dec 27, 2024

Global power settings not stored in codeplug. I change master power, restored settings -> download sawed codeplug (In Windows OpenGD CPS), and master power not changed.

@ua0lnj
Copy link
Author

ua0lnj commented Dec 27, 2024

Qdmr does not read global power settings correctly. I change it, but Qdmr read High always.

@ua0lnj
Copy link
Author

ua0lnj commented Dec 27, 2024

It clearly doesn't work correctly. I set default power on the channel, write to the radio, read from the radio and get low but not default. It seems that the channel power is read correctly, but is written incorrectly. If I change the channel settings in the radio, the program read correctly.

@hmatuschek
Copy link
Owner

Qdmr does not read global power settings correctly. I change it, but Qdmr read High always.

Since the global power setting is not stored by the firmware inside the codeplug (for some unknown reason), I cannot read it. So, I default to "high". But since it is not stored, I cannot set it too. Therefore, this setting has no effect here.

I consider this a bug in OpenGD77, I would make much more sense, to store the global power setting within the codeplug, if it is referenced (inside the channel settings) there.

@hmatuschek
Copy link
Owner

It clearly doesn't work correctly. I set default power on the channel, write to the radio, read from the radio and get low but not default. It seems that the channel power is read correctly, but is written incorrectly. If I change the channel settings in the radio, the program read correctly.

Thanks for this observation, it helps a lot.

hmatuschek added a commit that referenced this issue Dec 28, 2024
@hmatuschek
Copy link
Owner

It clearly doesn't work correctly. I set default power on the channel, write to the radio, read from the radio and get low but not default. It seems that the channel power is read correctly, but is written incorrectly. If I change the channel settings in the radio, the program read correctly.

Added a unit test for this, qdmr appears to be self-consistent. That is, it is written such that the default power is read by qdmr correctly. This means, that the encoding of this setting is more complicated and the firmware interferes with the settings written to the device.

@hmatuschek
Copy link
Owner

Okay, can reproduce it in unit tests. It has nothing todo with the OpenGD77 codeplug but with the preprocessing of the codeplug.

@hmatuschek
Copy link
Owner

Should be fixed in the 507-opengd77-channels-power branch.

@hmatuschek hmatuschek linked a pull request Dec 28, 2024 that will close this issue
hmatuschek added a commit that referenced this issue Dec 28, 2024
* Fixed decoding of channel power setting for OpenGD77 radios.
* Fixed copying of channel power settings.
@ua0lnj
Copy link
Author

ua0lnj commented Dec 28, 2024

Yes, it's works now!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working OpenGD77 Affects devices with OpenGD77 firmware
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants