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

Fixed encoding of APRS settings #558

Merged
merged 9 commits into from
Jan 24, 2025

Conversation

hmatuschek
Copy link
Owner

Also added OpenGD77 extension to APRS settings.

@hmatuschek hmatuschek linked an issue Jan 23, 2025 that may be closed by this pull request
@ec1oud
Copy link

ec1oud commented Jan 24, 2025

So I'm on the 554 branch:

9eff4db 2025-01-23 23:01  (HEAD, origin/554-decoding-of-aprs-system-on-opengd77)  Added OpenGD77 extension for APRS settings.

I open my yaml, check to make sure the APRS entry looks reasonable and the location is still there on the channel's openGD77 extension. Yes I can have the JO59gw square now. And upload the codeplug to the radio again.

But the radio still prompts me with "Location?" when I try to transmit. I even have a couple of "locations" to choose from on the channel settings menu on the radio now: one with APRS-0 destination and no path, to see if that makes a difference. Nope, they both prompt the same way.

aprs-554-branch
channel-554-branch

Maybe you meant the 556 branch, but same result there.

Maybe it's because your firmware revision is different than mine?

I guess I will buy a MD-UV380 with GPS. I want to try OPNRTX anyway; and not having a GPS and trying to do APRS is anyway only of limited use. Any advice about that? OPNRTX is better than OpenGD77, and works fine with qdmr right?

@hmatuschek
Copy link
Owner Author

I am on this (#554) branch and targeting the 20240908 firmware, as it is the latest stable release. I will certainly not support unstable betas. They change to much.

@ec1oud
Copy link

ec1oud commented Jan 24, 2025

20240908 firmware is what I have. So I must be missing something else. Anything looking weird or wrong in my yaml file?

@hmatuschek
Copy link
Owner Author

Your YAML file looks good. Sorry for the many invalid locators. Unfortunately, you may need to delete them by hand. E.g., search-replace with an empty string. The current branch will not decode invalid locations. Those already in the YAML file, however, are written to and read back from the device and will therefore stay.

I have to check with my RD5R and compare the behavior with the OpenGD77 CPS. I believe, the OpenGD77 APRS implementation is still a bit buggy and I cannot fix firmware bugs. What I belief:

  • The APRS and satellite feature require a global location setting, that is not stored in the codeplug. You have to set it in the radio.
  • Once APRS is working, I can override the global location using fixed locations in the APRS setting or channel using qdmr.
  • A bug that is definitely in the firmware: Even if you select location: channel in the APRS options, and the selected APRS settings of the channel contain a fixed location, the APRS location is used not the one in the channel.

@ec1oud
Copy link

ec1oud commented Jan 24, 2025

Even if you select location: channel in the APRS options, and the selected APRS settings of the channel contain a fixed location, the APRS location is used not the one in the channel.

So how do you set the APRS location? It would be more intuitive to put it there in the UI anyway, IMO. But I guess it would just be default location: if there is a GPS and it gets a fix, then that would get replaced with the actual location?

@hmatuschek
Copy link
Owner Author

hmatuschek commented Jan 24, 2025 via email

@ec1oud
Copy link

ec1oud commented Jan 24, 2025

OK I see, finally. I have to Create the opengd77 option before I can change the location there on the APRS entry.

And on the radio, I can get to what it thinks is the present location under "Radio info", and type in coordinates on the keypad. So actually it's possible to use this in the field, not only with predefined locations.

In qdmr though, I can only enter a grid square, and then the precision is not as good as if I could enter lat/lon coordinates. Then aprs.fi shows me in the forest nearby, rather than actually sitting at home. ;-) Probably you could make it work either way (qdmr could show both lat/lon and grid square, and allow editing either one, maybe in a dialog for that purpose. Maybe even use qtlocation in your dialog to allow picking the location on a map. But it's better to get the Qt 6 porting done before adding that.)

So I got the radio to transmit with a location after all, either from the APRS setting or from the manually-entered value.

@hmatuschek
Copy link
Owner Author

The device specific extension are implemented using Qts property system. The serialization/parsing as well as the GUI representation are all derived from these properties. This is needed to avoid a huge amount of code. This, however, limits the freedom on which datatypes are supported. Adding a new one is somewhat complex so I opted for the locator. Being a string made it easy. Internally, however, it is a QGeoCoordinate type.

For now, I would suggest to add a few more places for the locator. E.g. 8 or 10 for higher precision

@hmatuschek hmatuschek merged commit 1230056 into master Jan 24, 2025
2 checks passed
@hmatuschek hmatuschek deleted the 554-decoding-of-aprs-system-on-opengd77 branch January 24, 2025 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Decoding of APRS system on OpenGD77
2 participants