OpenGD77 User Guide updated

posted in: DMR, GD-77, Ham radio | 15

I’ve now updated the OpenGD77 User Guide to include the new features in the Tier 2 Alpha 2 release.

A PDF of the guide can be downloaded from here…


Notable changes to the functionality in the Tier 2 Alpha 2 version are as follow.


Signal meter on VFO and Channel screens


Inverse video display of received TalkGroup

If the Rx TG does not match the current Tx TG it is now displayed in inverse video to alert the operator that they will not be replying on the same TG.


Note. In the official firmware, the radio would transmit on the Rx TG if the PTT was pressed within a short time of the Rx signal ending, however this functionality is not ideal, as the operator may want to immediately transmit on another TG, For Example to force their hotspot to change TG.

So with the OpenGD77 firmware the operator can decide whether the want to transmit on the currently selected TG or…

If you wish to reply (Transmit) on the same TG as the received signal.  Press the Function / blue button on the side of the radio while the TG is being displayed in inverse video and the Tx TG will be changed to match the Rx TG.


Channel and VFO quick menus

The Orange button functionality has been changed to provide a context senstive menu on both the Channel and VFO screens. Currently there are only a few functions available, but I will add new functions at a later date.

Channel mode quick menu

The Channel mode quick menu only currently has one option. This will copy the current channel to the VFO.

Press the Green button to copy or the Red button to cancel.


VFO Quick menu


The VFO quick menu currently has 3 options.

These copy or exchange the Tx or Rx frequencies


Note. To listen on the input of a DMR repeater, both the Tx and Rx frequencies need to be set to the Rx frequency of the repeater (the Tx frequency of the radio). This is because of the underlying Tier 2 Active or Passive mode selection, is hidden from the operator, and selected by the firmware depending on whether the Tx and Rx frequencies are the same

If Tx freq = Rx freq then the radio will be in DMR Active mode, otherwise the radio will be put into DMR Passive mode.

In DMR passive mode, the radio assumes its listening to a repeater which transmits both TimeSlots and the repeater is the synchronisation master, where as in Tier 2 Active mode the radio is the DMR master on Tx and operates to receive the single Timeslot pulses sent by another DMR radio.


15 Responses

  1. Rick

    Hi, very nice how you caught that memory spillover bug. These things are too bad with too low level stuff.
    I’d like to share three thoughts of mine.

    > In the official firmware, the radio would transmit on the Rx TG if the PTT was pressed within a short time of the Rx signal ending, however this functionality is not ideal

    I think, in addition to the blue-button override, the option to customize the default “talk-to destination” could provide a really useful selection in the new quick menus (e.g. fixed / last called / hang on last heard / hang on last selected call / hang on last private call / …).

    > Tier 2 Active or Passive mode selection, is hidden from the operator, and selected by the firmware depending on whether the Tx and Rx frequencies are the same

    I’m not sure if multiple peer devices on a simplex frequency can reliably work based only on this. Doesn’t only one (and not more than one) device have to operate in the active mode, and all others in the passive mode.

    Maybe it might work, if by default the devices are only “eligible” to become the active slot calibrator, whith tha actual slot calibrator getting elected amoung the peers automatically, and automatically replaced if the previously selected device disappears.

    But I could still see cases that would need to be able to manually configure only one specific, adequately located device to operate as a designated “master” slot calibrator, and other devices to not be eligible as a slot clot calibrator, to ensure for more reliability.

    The third thought concerns allowing for the “dumb” data burst (time-slot) repeater mode.
    When it is enabled on a single frequency, there are cases where does and does not make sense for the device to be the slot calibrator. It depends on whether the device has a central or edge position.
    And in the case when a device is set up for data burst repeater mode with a RX/TX frequency pair (one way bridge), I am not sure yet if it also may or may not make sense to operate as a slot calibrator on the TX frequency, or just allow to optionally repeat the calibration that comes in (to be enabled only in one direction).

  2. Roger Clark


    I could add all those call options, but I think it would be confusing for the majority of operators, so those settings would probably need to be in some of settings screen in the menus, rather than a bewildering array of options on the Blue button.

    The Private Call system, already has a lock feature, so that when you accept a Private Call, the radio sets the TX PC to the received stations ID.
    You can exit back to the previous TG by pressing Function + Red at the end of the QSO.

    Re:Active vs Passive

    There is are a lot of other variants I have not had time to investigate, including Dual Capacity Direct, where I think it is technically possible that in a simplex QSO both stations transmit and receive constantly.

    Currently if I try to enable the Rx in the alternate TS during Tx, I have an audio corruption problem on Motorola DR3000 repeaters but it works OK on a duplex hotspot.

    Ideally the C6000 should be receiving on the alternate TS, as this may help to prevent the radio going out of sync with the repeater, but in practice loss of sync does not appear to be a problem.

    The official firmware appears to enable Rx during Tx for simplex calls, but this actually causes incompatibility problems with Single Frequency Repeater, as they get digital audio feedback.

    I discussed this with Colin G4ELM, and he was of the opinion that most commercial radios probably don’t enable Rx on the alternate slot while transmitting.

    I will need to do some tests to see if I can confirm whether the official firmware does or doesn’t, and one way is possibly to see if the radio detects loss of signal from the repeater whilst transmitting, but from personal experience the official Radioddity firmware does not appear to do this.

    Overall, I have loads of other bugs to fix, and as I am the only person working on the project, I have to prioritise bug fixing above functionality enhancements most of the time.

    Also, there are other functionality thinks which need to be improved, like an easier way to adjust the power, than the current situation where the power is set by adjusting the raw DAC value that drives the PA control.
    I think apart from bug fixing, this will probably be something I need to tackle next

  3. Wilhelm Onken

    Wow!!! Fantastic work…

  4. Rick

    > [call hang-on] settings would probably need to be in some of settings screen in the menus, rather than a bewildering array of options on the Blue button.

    I see. The very basic preference may just be to either have hang-on timeouts for the last heard group (responder mode), or not (timeout = zero), to stay with the chosen settings (for maintaining ongoing QSOs). Maybe just this basic timeout option could be in the quick menu. The function key simply might always just override the current default mode (toggles over to the other mode, ether to last-heard or original-setting).

    Any more specific channel hang-on options might later go into a more advanced config menu.

    > You can exit [from a private call] to the previous TG by pressing Function + Red at the end of the QSO.

    Having to use Function + Green for call operations is actually something I found rather non-intuitive. And it’s the same here with ending a call. And I think the use of the Function key itself might also be improved a little. Let me explain, maybe you like it:

    Things could be more intuitive, or similar to older mobile phones, if the (almost) always-available toggle for switching between the VFO- and Channel-mode would be mapped to something different. Maybe the “#’ key.

    “Green” could directly open a call menu, that allows to directly enter destinations…
    * By their contact number or name, or the numerical talk group by prepending a “*”, and IDs by prepending a “#”
    * Or by simply select existing “contacts” (using left/right)
    * Up/down would browse to other menu entries.

    And at all times “Red” could end any current call (hang-on) and return to the main screen (i.e. the VFO/Channel screen as currently selected with the “#” toggle.)

    Also, the “Function +” actions might be easier to fiddle, if the a short press of the function key could suffice to start, say a two second timeout, to use the keys with their “function +” mapping (showing a “Fn” on the screen and emitting a little beep on timeout, if beeps are not set to mute).

  5. Roger Clark

    There are not really enough keys.

    Using # is not a good way to change to VFO or Channel mode as it’s the international symbol for a number. It’s also used for manual dial on the official firmware and on other radios like the MD-380 etc

    The Black button on the side of the radio is currently not being used but I am not sure if that’s the ideal method to change screens, however I may give it a try and see if it feels confirmtable.

    Hang time could be changed to a certain extent but it’s also partially dependant on the repeater or hotspot settings e.g. I have 20 sec hang time on my hotspots

  6. Rick

    > Re:Active vs Passive

    Full-duplex in DMO, yes, I think I’ve read about some company presenting such feature. And that odd receive-during-own-transmit of the original firmware might just be a residue of such attempts. The audio corruption you describe may be the same Alister, G0NEF reported posted to , i.e. a feedback loop of your own audio coming back from the (in your case two-frequency) repeater.

    I would also consider that the “RX during self-originated TX” simply a bug in the original firmware.

    I am not sure if it would be worth trying to adjust the timing by monitoring the repeater during TX. If the TX isn’t really long or continuous, and it would be necessary, there is likely rather something to fix wth the clocking.

    > to prioritise bug fixing above functionality enhancements most of the time

    I am really glad. That’s really sane.

    If you already know how to set up RX and TX concurrently, though, maybe that mode can already put to work for repeating externally originating DMR bursts on the other timeslot (establishing a portable single frequency repeater). It could already allow to extend the range in DMO.

  7. Rick

    > There are not really enough keys.
    > Using # is not a good way to change to VFO or Channel mode

    I see. These little usability things were just to let you know, no serious problem at all.

    If there is no real need to enter leading zeros (without a prepended * or #), maybe the “0” could be an alternative for switching VFO/Channel. (I like the usual possibilities to customize the sidekey actions, when they are not needed for any basic operations.)

  8. Roger Clark

    No worries

    I’m happy to accept suggestions and I agree that the Red key to change from VFO <--> Channel is not ideal as its generally used for the cancel button

    Its a shame the GD-77 does not have a separate VFO/Menu button like some other radio’s do, as that would get around the problem.

    Re: Customisable side keys

    Yes. I agree they are a good idea.

    The official firmware makes good use of them, but I suspect virtually everyone ends up using the same 3 or 4 functions, just assigned to different buttons 😉

  9. Alex

    How about adding support for short and long pressing buttons or keys?

    This would enable something like:

    – Main menu: long green
    – Accept private call: green
    – Talkgroup override: green
    – Back to default TG / Hangup private call: red
    – Switching between VFO and channel: long red

    I have working code to detect short and long pressing buttons. Doing the same with the keypad isn’t too difficult.

  10. Roger Clark

    Using long and short presses would allow better use of the buttons.

    The existing button scanning code currently has some problems which also need to be fixed.

    The buttons are not denounced. I am using the original button scanning code that Kai wrote, which simply checks the values of the button matrix, once per RTOS loop ( which is approximately 1000 times per second)

    I think the existing code should check that the button state is stable for perhaps 5 times that it the matrix is read.

    Currently the code responds to the button being pressed rather than it being released, but to support long and short presses this will need to be changed, so that the menus etc work on button release.

    I think only the button scanning code would need to change, except for the PTT code.

    The PTT needs to start Tx when it’s pressed and end Tx when it’s released, so the code would need to probably send both button DOWN and button UP data, and what button UP data would include whether it’s a long or short press.

    Also currently the entire keypad and button bit patten data is sent to all the UI functions, and these can check for any combination of buttons e.g. it is possible to check whether # and * are pressed at the same time.

    However this would probably need to be changed, so that it’s assumed that only 1 key can be pressed on the keypad at a time.

    In the official firmware they preprocess the keypad bitmap and convert to individual button codes, and have special codes for multi key sequences like # and * together, and we would need to do the same

  11. Detlef Roselieb

    Hello Roger,
    Thank you for the very good Open Firmware.
    Unfortunately miss 3 important functions for me: SK1 short -> Scan, SK1 long -> Monitor, and the dual mode mode. Is that possible?
    vy 73 Detlef, DK5AH

  12. Roger Clark

    The radio is always in monitor mode.

    Scanning will be added when I have time, or when perhaps someone sends me an update to the source code to add that feature.

  13. Urs

    Hi Roger,

    amazing achievement, hope you keep up the good work.

    vy 73, Urs DL1KDX

  14. EB7GZG Toni

    hello Roger,
    I have a very particular problem.
    when I work through repeater in dmr, pressing ptt does not start the transmission. however if there is an rx signal on the repeater, if you let me. How could I solve it?

Leave a Reply