Personal Page of DM3MAT

TyT™ Codeplug Extensions

This section collects all device specific extensions to the codeplug for TyT™, Retevis™ and some Baofeng™ devices.

These extensions are applicable to TyTMD-390, MD-UV380, MD-UV390, MD-2017, RetevisRT8, RT3S, RT82, RT84 and BaofengDM-1701 radios.

Channel extension

This extension to the codeplug allows to set device specific channel settings for many TyT™ radios (and therefore also many Retevis™ radios). Not all settings are present in all radios. Unsupported settings are ignored during encoding or set to the default value during decoding.

Example 4.4. Example channel settings specifying the default values for TyTRetevis™ devices.

  loneWorker: false
  autoScan: false
  talkaround: true
  dataCallConfirmed: false
  privateCallConfirmed: false
  emergencyAlarmConfirmed: false
  displayPTTId: true
  rxRefFrequency: Low
  txRefFrequency: Low
  tightSquelch: false
  compressedUDPHeader: false
  reverseBurst: true
  killTone: Off
  inCallCriterion: Always
  allowInterrupt: false
  dcdm: false
  dcdmLeader: false

Common channel setting fields


If true, the lone worker feature is enabled. See also Lone Worker


If true, the auto-scan feature is enabled.


If true, talk around is enabled. That is, the radio will receive on the input and transmit on the output frequency of the repeater effectively bypassing the repeater. See also Talkaround.

dataCallConfirmed, privateCallConfirmed, emergencyAlarmConfirmed

Enables the confirmation of data, private and emergency calls. These fields are usually disabled as the radio will first establish the connection before the actual call can be started.


If true, the received analog PTT will be shown.

rxRefFrequency, rxRefFrequency

Specifies some weird reference frequency setting for RX and TX. By default the value Low is used. Possible values are Low, Medium and High.

Channel settings for TyTMD-390 and RetevisRT8


If set to true, the silent squelch is used.


Some unknown flag. Usually disabled.


If enabled (default), avoids a noise burst at the end of a transmission, when the squelch is controlled by a sub tone.

Channel settings for TyTMD-UV390 and RetevisDM-2017


Specifies the kill tone. Possible values are Off, Tone259_2Hz and Tone55_2Hz. Disabling or setting the kill tone to 259.2Hz or 55.2Hz, respectively.


Specifies the in-call criterion. Possible values are Always, AdmitCriterion and TXInterrupt.


Enables/disables interrupts if inCallCriterion is set to TXInterrupt.


If enabled, the dual-capacity direct mode is used for simplex operation. See also DCDM.


If DCDM is enabled, this flag specifies whether this radio is the channel leader. That is, if this radio provides the clock for the time-slots.


Allows to set the squelch level for DMR channels. This prevents the LED to light all the time. The radio, however, remains silent irrespective of this setting.

Scan-list settings extension

This extension to the codeplug allows to specify device specifics settings for scan-lists.

Example 4.5. Scan-list settings example showing the default values.

  holdTime: 500
  prioritySampleTime: 2000

Scan-list settings fields


Specifies the hold time in ms.


Specifies the sample-time in ms for priority channels.

Button settings extension

This extension to the codeplug allows to specify the function for each of the programmable buttons on the radio. Please note that not all TyT™ radios have all buttons described here.

Example 4.6. 

    longPressDuration: 1000 
    sideButton1Short: Disabled
    sideButton1Long: Tone1750Hz
    sideButton2Short: MonitorToggle
    sideButton2Long: Disabled
    sideButton3Short: Disabled
    sideButton3Long: Disabled
    progButton1Short: Disabled
    progButton1Long: Disabled
    progButton2Short: Disabled
    progButton2Long: Disabled

Button settings fields

sideButton1Short, sideButton1Long, sideButton2Short, sideButton2Long, sideButton3Short (Retevis RT84, Baofeng DM-1701), sideButton3Long (Retevis RT84, Baofeng DM-1701), progButton1Short (Retevis RT84, Baofeng DM-1701), progButton1Long (Retevis RT84, Baofeng DM-1701), progButton2Short (Retevis RT84, Baofeng DM-1701), progButton2Long (Retevis RT84, Baofeng DM-1701)

Specifies the different functions for each button press. Must be one of: Disabled, ToggleAllAlertTones, EmergencyOn, EmergencyOff, PowerSelect, MonitorToggle, OneTouch1-OneTouch6, RepeaterTalkaroundToggle, ScanToggle, SquelchToggle, PrivacyToggle, VoxToggle, ZoneIncrement, BatteryIndicator, LoneWorkerToggle, RecordToggle, RecordPlayback, RecordDeleteAll, Tone1750Hz, SwitchUpDown, RightKey, LeftKey or ZoneDecrement.


Specifies the long-press duration in milliseconds.

Menu settings extension

This extension to the codeplug allows to specify which menu items are enabled. This feature is frequently used in commercial applications to restrict the user to change certain settings in the radio.

Example 4.7. 

    hangtimeIsInfinite: false
    hangTime: 10
    textMessage: true
    callAlert: true
    contactEditing: true
    manualDial: true
    remoteRadioCheck: true
    remoteMonitor: true
    remoteRadioEnable: true
    remoteRadioDisable: true
    scan: true
    scanListEditing: true
    callLogMissed: true
    callLogAnswered: true
    callLogOutgoing: true
    talkaround: true
    alertTone: true
    power: true
    backlight: true
    bootScreen: true
    keypadLock: true
    ledIndicator: true
    squelch: true
    vox: true
    password: true
    displayMode: true
    radioProgramming: true
    gpsInformation: true

Menu settings fields

hangtimeIsInfinite, hangTime

Specify the menu hang time. That is the duration, the menu is shown without any user action. If hangtimeIsInfinite is true, the menu is shown indefinitely, irrespective of the hangTime setting. If hangtimeIsInfinite is false, the hangTime specifies the menu hang time in seconds.


Enables the text-messaging menu item.


Enables the call alert menu item.


Enables the contact editing menu item.


Enables manual dial.


Enables the remote radio-check menu item.


Enables the remote monitor menu item.

remoteRadioEnable, remoteRadioDisable

Enables the remote radio enable and disable menu items.

scan, scanListEditing

Enables the scan and scan list editing menu items.

callLogMissed, callLogAnswered, callLogOutgoing

Enables the menu items for the list of missed, answered and outgoing calls.


Enables the talkaround menu item.


Enables the alert tone settings menu item.


Enables the power settings menu item.


Enables the backlight settings menu item.


Enables the boot-screen settings menu item.


Enables the keypad lock settings menu item.


Enables the LED indicator settings menu item.


Enables the squelch settings menu item.


Enables the VOX settings menu item.


Enables the password settings menu item.


Enables the display mode settings menu item.


Enables radio programming from the keypad. E.g., editing channels etc.


Enables the GPS information menu item. This setting has only an effect on radios supporting GPS.

Radio settings extension

This extension allows to set the device-specific general settings for TyT™ and Retevis™ radios. It extends the settings section of the codeplug.

Example 4.8. Radio settings extension example showing default values.

    montitorType: Open
    allLEDsDisabled: false
    talkPermitToneDigital: false
    talkPermitToneAnalog: false
    passwordAndLock: false
    channelFreeIndicationTone: true
    allTonesDisabled: false
    powerSaveMode: true
    wakeupPreamble: true
    bootPicture: true
    channelMode: true
    channelModeA: true
    channelModeB: true
    txPreambleDuration: 600
    channelHangTime: 3000
    groupCallHangTime: 3000
    privateCallHangTime: 3000
    lowBatteryWarnInterval: 120
    callAlertToneContinuous: false
    callAlertToneDuration: 0
    loneWorkerResponseTime: 1
    loneWorkerReminderTime: 10
    digitalScanHangTime: 1000
    analogScanHangTime: 1000
    backlightAlwaysOn: false
    backlightDuration: 10
    keypadLockManual: true
    keypadLockTime: 60
    powerOnPasswordEnabled: false
    powerOnPassword: 0
    radioProgPasswordEnabled: false
    radioProgPassword: 0
    pcProgPassword: null
    privateCallMatch: true
    groupCallMatch: true

Radio settings fields


Specifies the monitor type. Possible values are Open and Silent. This setting only affects analog channels. If Open is specified, the squelch will open if monitoring is enabled.


If enabled, all LEDs are disabled.


If enabled, a talk-permit tone will sound on digital channels.


If enabled, a talk-permit tone will sound on analog channels.


Enables and disables the passwords and keypad locks globally. They can also be enabled/disabled individually below.


If enabled, a tone will sound after a transmission has ended to indicate that the channel is free again.


If enabled, all tones (talk permit, channel free, etc.) are disabled globally.


Puts the radio is a sleep mode when in idle state (no traffic on the channels). This allows for some power saving. However, the radio will need some time to wake up. Consequently, all other radios in the network need to transmit a wake-up preamble.


Enables the transmission of a short wake-up preamble allowing receiving radios to wake-up in time for the actual transmission.


If enabled, a picture is shown during boot rather than the boot text (see introLine1 and introLine2 in the general settings section).

channelMode, channelModeA, channelModeB

Controls the mode of the radio, VFO A and VFO B. If channelMode is true, the entire radio operates in channel mode (memory mode). This also overrides the channelModeA and channelModeB settings. If channelMode is set to false, the channelModeA and channelModeB specify the mode for the VFO A and B, respectively.


Specifies the transmit preamble duration in milliseconds. If this preamble is the wake-up preamble, is unknown.


Specifies the channel hang time in milliseconds.

groupCallHangTime, privateCallHangTime

Specifies the group-call hang time in milliseconds. This is the time a group or private call can be answered directly even if that group call is not the default contact of the channel. See also Hang Time.


Specifies the period of the low-battery warn tone in seconds.


If enabled, a call-alert tone will sound until the operator reacts. This setting overrides the callAlertToneDuration setting.


Specifies the call alert-tone duration in seconds. If callAlertToneContinuous is enabled, the alert tone will be continuous irrespective of this setting.


Sets the lone-worker response time in minutes. See also Lone Worker.


Sets the lone-worker reminder time in minutes. See also Lone Worker.

digitalScanHangTime, analogScanHangTime

Specifies the time in milliseconds, the radio will continue monitoring a DMR or FM channel after the transmission on that channel ended.


If enabled, the backlight will stay on.


Specifies the backlight duration in seconds.


If enabled, the keypad lock is enabled manually. If not, the keypad lock gets enabled automatically after a specified period (see keypadLockTime).


Specifies the time, after which the keypad lock is engaged automatically unless keypadLockManual is enabled.


Enables the power-on password.


Specifies the power-on password. An 8-digit number. This password must then be entered when booting the radio.


Enables the radio-programming password.


Sets the radio-programming password. An 8-digit number. This password must then be entered when making any changes to the radio/channel settings through the keypad.


Specifies the PC programming password. This password is then needed when programming the radio through the CPS. An empty string disables this password.

privateCallMatch, groupCallMatch

If true, the private and group call IDs must match.