Description
This document describes the codeplug format of the OpenGD77 firmware running on a GD77.
| Address | Element | Description |
|---|---|---|
| 80h | Settings | |
| 1470h | DTMF Settings | |
| 1588h | APRS Systems | |
| 2f88h | DTMF Contacts | |
| 3780h | Channel Bank 0 | |
| 7518h | Boot Settings | |
| 7590h | VFO Settings | |
| 8010h | Zone Bank | |
| 1000000h | Additional Settings | This section of flash memory is always of size 11a0h. It may contain several setting elements. E.g., satellite orbital elements, theme settings etc. |
| 1030000h | Callsign DB Segment 0 | |
| 107b1b0h | Channel Banks 1-7 | |
| 1087620h | Contacts | |
| 108d620h | Group List Bank | |
| 10b8000h | Callsign DB Segment 1 | Remaining entries of the callsign DB |
1173 Settings vR202409080done
Element at address 80h of size 90h.
UHF min frequency UHFmin
At address 0h: 16-bit bcd little-endian integer value (bcd4le). Default value 0h.
in MHz.
UHF max frequency UHFmax
At address 2h: 16-bit bcd little-endian integer value (bcd4le). Default value 0h.
in MHz.
VHF min frequency VHFmin
At address 4h: 16-bit bcd little-endian integer value (bcd4le). Default value 137h.
in MHz.
VHF max frequency VHFmax
At address 6h: 16-bit bcd little-endian integer value (bcd4le). Default value 170h.
Maximum frequency for VHF band in MHz.
Unknown data
At address 8h: Unknown data of size 58h.
Callsign Call
At address 60h: ASCII string of length (up to) 8 chars, 255h-padded.
DMR ID
At address 68h: 32-bit bcd big-endian integer value (bcd8be). Default value 0h.
Unknown data
At address 6ch: Unknown data of size 24h.
1174 DTMF Settings vR202409080done
Element at address 1470h of size 8h.
Description
Collects all setting fields for encoding/decoding of DTMF tones.
Unknown data
At address 0h: Unknown data of size 2h.
First digit delay
At address 2h: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the transmission delay of the first DTMF digit in 100ms. Valid values are 100-1000ms
First digit duration
At address 3h: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the duration of the first digit it 100ms. Valid values are 0-1000ms.
Ast/Hash duration.
At address 4h: 8-bit unsigned integer value (uint8). Default value 1h.
Specifies the duration for the asterisk (*) and hash (#) symbols in 100ms. Valid values are 0-1000ms.
DTMF Rate
At address 5h: 8-bit unsigned integer value (uint8). Default value 0h.
Whatever that is. Valid values between 1-10.
Tail duration
At address 6h: 8-bit unsigned integer value (uint8). Default value 5h.
Delay in 100ms after end of last symbol befor transmission ends. Valid values are 0-1000ms
Unused data
At address 7h: Unused data of size 1h: 00
1175 APRS Systems vR202409080
Exactly 8 repetitions of APRS System.
1176 APRS System vR202409080
Element of size 40h.
Name
At address 0h: ASCII string of length (up to) 8 chars, 255h-padded.
Source SSID S-SSID
At address 8h: 8-bit unsigned integer value (uint8).
SSID of the transmitter.
Latitude
At address 9h: 24-bit unsigned little-endian integer value (uint24le).
Complex encoded latitude in sign, degree and decimals.
The most significant bit is the sign bit. The next 8 bits are the degrees and the lest significant 15 bits encode 4 decimals.
Longitude
At address ch: 24-bit unsigned little-endian integer value (uint24le).
Complex encoded longitude in sign, degree and decimals.
Most significant bit of the uint24le holds the sign bit, the next 8 bit are the degrees and the remaining 15 least significiant bits hold 4 decimals.
Via-1 Call Via1
At address fh: ASCII string of length (up to) 6 chars, 00h-padded.
Via-1 SSID
At address 15h: 8-bit unsigned integer value (uint8). Default value 0h.
Via-2 Call
At address 16h: ASCII string of length (up to) 6 chars, 00h-padded.
Via-2 SSID
At address 1ch: 8-bit unsigned integer value (uint8). Default value 0h.
APRS Icon Table IcnTab
At address 1dh: Enumeration of size 1h, with 2 options. Specifies the APRS icon table.
| Value | Name | Description |
|---|---|---|
| 0 | Primary | |
| 1 | Alternate |
APRS Icon index
At address 1eh: 8-bit unsigned integer value (uint8).
Specifies the icon index within the icon table.
Comment
At address 1fh: ASCII string of length (up to) 23 chars, 00h-padded.
Pad byte
At address 36h: Unused data of size 1h: 00
Unknown integer
At address 37h: 32-bit unsigned little-endian integer value (uint32le). Default value 12700000h.
Fixed to value 12700000 decimal.
Unused data
At address 3bh: Unused data of size 2h: 00
Position Masking Mask
At address 3dh:7: Enumeration of size 0h:4, with 8 options.
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | 0.0005° | |
| 2 | 0.001° | |
| 3 | 0.005° | |
| 4 | 0.01° | |
| 5 | 0.05° | |
| 6 | 0.1° | |
| 7 | 0.5° |
Unused data
At address 3dh:3: Unused data of size 0h:2:
Use position POS
At address 3dh:1: boolean value.
Baud rate BRT
At address 3dh:0: Enumeration of size 0h:1, with 2 options.
| Value | Name | Description |
|---|---|---|
| 0 | 1200 Baud | |
| 1 | 300 Baud |
Unknown data
At address 3eh: Unknown data of size 2h.
1177 DTMF Contacts vR202409080done
Exactly 32 repetitions of DTMF Contact.
Description
Bank of 64 DTMF contacts.
1178 DTMF Contact vR202409080done
Element of size 20h.
Description
A DTMF contact. Invalid entries have empty names.
Name
At address 0h: ASCII string of length (up to) 16 chars, 255h-padded.
1178.1 Number vR202409080done
Exactly 16 repetitions of Digit.
Digit
8-bit unsigned integer value (uint8).
0h-fh Corresponding to 0-9, A, B, C, D, *, #.
1179 Channel Bank 0 vR202409080done
Element at address 3780h of size 1c10h.
Description
The first channel bank.
1179.1 Channel bit map vR202409080done
Exactly 128 repetitions of Channel bit.
Description
Marks, which channels are valid.
Channel bit
boolean value. Default value 0h.
Enables a single channel.
1179.2 Channels vR202409080done
Exactly 128 repetitions of Channel.
Description
Encodes all valid channels.
1179.3 Channel vR202409080done
Element of size 38h.
Encodes a single channel.
Name
At address 0h: ASCII string of length (up to) 15 chars, 255h-padded.
Specifies the channel name.
Pad byte
At address fh: Unused data of size 1h: 02 55
RX Frequency
At address 10h: 32-bit bcd little-endian integer value (bcd8le).
RX Frequency in 10Hz as 8-digit BCD in little endian.
TX Frequency
At address 14h: 32-bit bcd little-endian integer value (bcd8le).
TX Frequency in 10Hz in 8-digit BCD little endian.
Channel Mode
At address 18h: Enumeration of size 1h, with 2 options. Specifies the mode of the channel.
| Value | Name | Description |
|---|---|---|
| 0 | FM | |
| 1 | DMR |
Power
At address 19h: Enumeration of size 1h, with 11 options. Specifies the transmit power.
| Value | Name | Description |
|---|---|---|
| 0 | Master | |
| 1 | 50mW | |
| 2 | 250mW | |
| 3 | 500mW | |
| 4 | 750mW | |
| 5 | 1W | |
| 6 | 2W | |
| 7 | 3W | |
| 8 | 4W | |
| 9 | 5W | |
| 10 | Maximum |
Latitude LSB
At address 1ah: 8-bit unsigned integer value (uint8).
LSB of the uint24le complex encoding of the latitude.
The LSB of the 24bit latitude value.
Transmit Timout TOT
At address 1bh: 8-bit unsigned integer value (uint8). Valid values between 0h and 33h, with default value 0h.
Specifies the transmit timeout.
The timeout is specified in multiples of 15s, where 0 disables the timeout (infinite timeout). Valid field values are 0, 1, ..., 33, corresponding to infinite, 15s, ..., 495s.
Latitude MSB
At address 1ch: 16-bit unsigned little-endian integer value (uint16le).
MSB of the uint24le encoding the latitude.
Encodes the latitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Longitude LSB
At address 1eh: 16-bit unsigned little-endian integer value (uint16le).
Least significant part of the uin24le encoding the longitude.
RX Tone
At address 20h: 16-bit signed little-endian integer value (int16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
TX Tone
At address 22h: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
Longitude MSB
At address 24h: 8-bit unsigned integer value (uint8).
Most significant byte of the uint24le encoding the longitude.
Encodes the longitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Unused data
At address 25h: Unused data of size 1h: 00
Override DMR ID OID
At address 26h:7: boolean value. Default value 0h.
If enabled, the DMR ID is overridden.
Disable beep NOB
At address 26h:6: boolean value. Default value 0h.
Disable Power Save NOE
At address 26h:5: boolean value. Default value 0h.
Unused data
At address 26h:4: Unused data of size 0h:1: 00
Use Location LOC
At address 26h:3: boolean value.
Whatever that means.
Force DCO DCO
At address 26h:2: boolean value. Default value 0h.
Unused data
At address 26h:1: Unused data of size 0h:2: 00
Channel DMR ID
At address 27h: 24-bit unsigned big-endian integer value (uint24be). Default value 1600h.
If enabled, holds the DMR ID used for this channel. Somewhat weird in uint24be.
Unused data
At address 2ah: Unused data of size 1h: 00
Group List Index
At address 2bh: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the group list index +1. Default 0: none.
Color code
At address 2ch: 8-bit unsigned integer value (uint8). Default value 1h.
Simply stores the color code as is.
APRS System Index
At address 2dh: 8-bit unsigned integer value (uint8). Default value 0h.
Index of the APRS system associated with the channes +1. Default 0: none.
TX Contact
At address 2eh: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Index (+1) of the transmit contact.
Specifies the index of the transmit contact. The index is 1-based. An index of 0 means no contact.
Unused data
At address 30h:7: Unused data of size 0h:4: 00
TX Alias TS1 TAL2
At address 30h:3: Enumeration of size 0h:2, with 4 options. How to transmit talker alias on time slot 2
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
TX Alias TS1 TAL1
At address 30h:1: Enumeration of size 0h:2, with 4 options. How to transmit the talker alias on time-slot 1.
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
Unknown data
At address 31h: Unknown data of size 0h:1.
Time slot 2 TS2
At address 31h:6: boolean value. Default value 0h.
If enabled, time slot 2 is used. Otherwise TS 1.
Unused data
At address 31h:5: Unused data of size 0h:6: 00
Unused data
At address 32h: Unused data of size 1h: 00
Unused bit
At address 33h:7: Unused data of size 0h:1: 00
VOX enable VOX
At address 33h:6: boolean value.
Enabled VOX for this channel.
Skip in Zone Scan SZS
At address 33h:5: boolean value. Default value 0h.
If enabled, the channel is skipped during a zone scan.
Skip Scan SAS
At address 33h:4: boolean value. Default value 0h.
If enabled, the cannel is skipped in all scans.
Unknown data
At address 33h:3: Unknown data of size 0h:1.
TX disable RXO
At address 33h:2: boolean value. Default value 0h.
If enabled, the TX is disabled. That is, the channel is RX only.
Bandwidth BW
At address 33h:1: Enumeration of size 0h:1, with 2 options. Specifies the FM bandwidth.
| Value | Name | Description |
|---|---|---|
| 0 | Narrow (12.5kHz) | |
| 1 | Wide (25kHz) |
Unused data
At address 33h:0: Unused data of size 0h:1:
Unused data
At address 34h: Unused data of size 3h: 00 00 00
Squelch Level
At address 37h: 8-bit unsigned integer value (uint8). Default value 0h.
0: Global setting, 1: open, 2-14: 5%(n-1), 15: closed.
1180 Boot Settings vR202409080
Element at address 7518h of size 48h.
Boot display
At address 0h: Enumeration of size 1h, with 2 options.
| Value | Name | Description |
|---|---|---|
| 0 | Picture | |
| 1 | Text |
Boot password enable PWD
At address 1h: 8-bit unsigned integer value (uint8). Default value 0h.
Unknown data
At address 2h: Unknown data of size ah.
Boot password PWD
At address ch: 24-bit bcd big-endian integer value (bcd6be). Default value 0h.
Unknown data
At address fh: Unknown data of size 19h.
Boot Text Line 1
At address 28h: ASCII string of length (up to) 16 chars, 255h-padded.
Boot Text Line 2
At address 38h: ASCII string of length (up to) 16 chars, 255h-padded.
1181 VFO Settings
Element at address 7590h of size 70h.
1181.1 VFO Channel A vR202409080done
Element at address 0h of size 38h.
Encodes the settings for VFO A.
Name
At address 0h: ASCII string of length (up to) 15 chars, 255h-padded.
Specifies the channel name.
Pad byte
At address fh: Unused data of size 1h: 02 55
RX Frequency
At address 10h: 32-bit bcd little-endian integer value (bcd8le).
RX Frequency in 10Hz as 8-digit BCD in little endian.
TX Frequency
At address 14h: 32-bit bcd little-endian integer value (bcd8le).
TX Frequency in 10Hz in 8-digit BCD little endian.
Channel Mode
At address 18h: Enumeration of size 1h, with 2 options. Specifies the mode of the channel.
| Value | Name | Description |
|---|---|---|
| 0 | FM | |
| 1 | DMR |
Power
At address 19h: Enumeration of size 1h, with 11 options. Specifies the transmit power.
| Value | Name | Description |
|---|---|---|
| 0 | Master | |
| 1 | 50mW | |
| 2 | 250mW | |
| 3 | 500mW | |
| 4 | 750mW | |
| 5 | 1W | |
| 6 | 2W | |
| 7 | 3W | |
| 8 | 4W | |
| 9 | 5W | |
| 10 | Maximum |
Latitude LSB
At address 1ah: 8-bit unsigned integer value (uint8).
LSB of the uint24le complex encoding of the latitude.
The LSB of the 24bit latitude value.
Unused data
At address 1bh: Unused data of size 1h: 00
Latitude MSB
At address 1ch: 16-bit unsigned little-endian integer value (uint16le).
MSB of the uint24le encoding the latitude.
Encodes the latitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Longitude LSB
At address 1eh: 16-bit unsigned little-endian integer value (uint16le).
Least significant part of the uin24le encoding the longitude.
RX Tone
At address 20h: 16-bit signed little-endian integer value (int16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
TX Tone
At address 22h: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
Longitude MSB
At address 24h: 8-bit unsigned integer value (uint8).
Most significant byte of the uint24le encoding the longitude.
Encodes the longitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Unused data
At address 25h: Unused data of size 1h: 00
Override DMR ID OID
At address 26h:7: boolean value. Default value 0h.
If enabled, the DMR ID is overridden.
Disable beep NOB
At address 26h:6: boolean value. Default value 0h.
Disable Power Save NOE
At address 26h:5: boolean value. Default value 0h.
Unused data
At address 26h:4: Unused data of size 0h:1: 00
Use Location LOC
At address 26h:3: boolean value.
Whatever that means.
Force DCO DCO
At address 26h:2: boolean value. Default value 0h.
Unused data
At address 26h:1: Unused data of size 0h:2: 00
Channel DMR ID
At address 27h: 24-bit unsigned big-endian integer value (uint24be). Default value 1600h.
If enabled, holds the DMR ID used for this channel. Somewhat weird in uint24be.
Unused data
At address 2ah: Unused data of size 1h: 00
Group List Index
At address 2bh: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the group list index +1. Default 0: none.
Color code
At address 2ch: 8-bit unsigned integer value (uint8). Default value 1h.
Simply stores the color code as is.
APRS System Index
At address 2dh: 8-bit unsigned integer value (uint8). Default value 0h.
Index of the APRS system associated with the channes +1. Default 0: none.
Unused data
At address 2eh: Unused data of size 2h: 00 00
Unused data
At address 30h:7: Unused data of size 0h:4: 00
TX Alias TS1 TAL2
At address 30h:3: Enumeration of size 0h:2, with 4 options. How to transmit talker alias on time slot 2
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
TX Alias TS1 TAL1
At address 30h:1: Enumeration of size 0h:2, with 4 options. How to transmit the talker alias on time-slot 1.
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
Unknown data
At address 31h: Unknown data of size 0h:1.
Time slot 2 TS2
At address 31h:6: boolean value. Default value 0h.
If enabled, time slot 2 is used. Otherwise TS 1.
Unused data
At address 31h:5: Unused data of size 0h:6: 00
Unused data
At address 32h: Unused data of size 1h: 00
Unused bit
At address 33h:7: Unused data of size 0h:1: 00
VOX enable VOX
At address 33h:6: boolean value.
Enabled VOX for this channel.
Skip in Zone Scan SZS
At address 33h:5: boolean value. Default value 0h.
If enabled, the channel is skipped during a zone scan.
Skip Scan SAS
At address 33h:4: boolean value. Default value 0h.
If enabled, the cannel is skipped in all scans.
Unknown data
At address 33h:3: Unknown data of size 0h:1.
TX disable RXO
At address 33h:2: boolean value. Default value 0h.
If enabled, the TX is disabled. That is, the channel is RX only.
Bandwidth BW
At address 33h:1: Enumeration of size 0h:1, with 2 options. Specifies the FM bandwidth.
| Value | Name | Description |
|---|---|---|
| 0 | Narrow (12.5kHz) | |
| 1 | Wide (25kHz) |
Unused data
At address 33h:0: Unused data of size 0h:1:
Unused data
At address 34h: Unused data of size 3h: 00 00 00
Squelch Level
At address 37h: 8-bit unsigned integer value (uint8). Default value 0h.
0: Global setting, 1: open, 2-14: 5%(n-1), 15: closed.
1181.2 VFO Channel B vR202409080done
Element at address 38h of size 38h.
Encodes the settings for VFO B.
Name
At address 0h: ASCII string of length (up to) 15 chars, 255h-padded.
Specifies the channel name.
Pad byte
At address fh: Unused data of size 1h: 02 55
RX Frequency
At address 10h: 32-bit bcd little-endian integer value (bcd8le).
RX Frequency in 10Hz as 8-digit BCD in little endian.
TX Frequency
At address 14h: 32-bit bcd little-endian integer value (bcd8le).
TX Frequency in 10Hz in 8-digit BCD little endian.
Channel Mode
At address 18h: Enumeration of size 1h, with 2 options. Specifies the mode of the channel.
| Value | Name | Description |
|---|---|---|
| 0 | FM | |
| 1 | DMR |
Power
At address 19h: Enumeration of size 1h, with 11 options. Specifies the transmit power.
| Value | Name | Description |
|---|---|---|
| 0 | Master | |
| 1 | 50mW | |
| 2 | 250mW | |
| 3 | 500mW | |
| 4 | 750mW | |
| 5 | 1W | |
| 6 | 2W | |
| 7 | 3W | |
| 8 | 4W | |
| 9 | 5W | |
| 10 | Maximum |
Latitude LSB
At address 1ah: 8-bit unsigned integer value (uint8).
LSB of the uint24le complex encoding of the latitude.
The LSB of the 24bit latitude value.
Unused data
At address 1bh: Unused data of size 1h: 00
Latitude MSB
At address 1ch: 16-bit unsigned little-endian integer value (uint16le).
MSB of the uint24le encoding the latitude.
Encodes the latitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Longitude LSB
At address 1eh: 16-bit unsigned little-endian integer value (uint16le).
Least significant part of the uin24le encoding the longitude.
RX Tone
At address 20h: 16-bit signed little-endian integer value (int16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
TX Tone
At address 22h: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
Longitude MSB
At address 24h: 8-bit unsigned integer value (uint8).
Most significant byte of the uint24le encoding the longitude.
Encodes the longitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Unused data
At address 25h: Unused data of size 1h: 00
Override DMR ID OID
At address 26h:7: boolean value. Default value 0h.
If enabled, the DMR ID is overridden.
Disable beep NOB
At address 26h:6: boolean value. Default value 0h.
Disable Power Save NOE
At address 26h:5: boolean value. Default value 0h.
Unused data
At address 26h:4: Unused data of size 0h:1: 00
Use Location LOC
At address 26h:3: boolean value.
Whatever that means.
Force DCO DCO
At address 26h:2: boolean value. Default value 0h.
Unused data
At address 26h:1: Unused data of size 0h:2: 00
Channel DMR ID
At address 27h: 24-bit unsigned big-endian integer value (uint24be). Default value 1600h.
If enabled, holds the DMR ID used for this channel. Somewhat weird in uint24be.
Unused data
At address 2ah: Unused data of size 1h: 00
Group List Index
At address 2bh: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the group list index +1. Default 0: none.
Color code
At address 2ch: 8-bit unsigned integer value (uint8). Default value 1h.
Simply stores the color code as is.
APRS System Index
At address 2dh: 8-bit unsigned integer value (uint8). Default value 0h.
Index of the APRS system associated with the channes +1. Default 0: none.
Unused data
At address 2eh: Unused data of size 2h: 00 00
Unused data
At address 30h:7: Unused data of size 0h:4: 00
TX Alias TS1 TAL2
At address 30h:3: Enumeration of size 0h:2, with 4 options. How to transmit talker alias on time slot 2
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
TX Alias TS1 TAL1
At address 30h:1: Enumeration of size 0h:2, with 4 options. How to transmit the talker alias on time-slot 1.
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
Unknown data
At address 31h: Unknown data of size 0h:1.
Time slot 2 TS2
At address 31h:6: boolean value. Default value 0h.
If enabled, time slot 2 is used. Otherwise TS 1.
Unused data
At address 31h:5: Unused data of size 0h:6: 00
Unused data
At address 32h: Unused data of size 1h: 00
Unused bit
At address 33h:7: Unused data of size 0h:1: 00
VOX enable VOX
At address 33h:6: boolean value.
Enabled VOX for this channel.
Skip in Zone Scan SZS
At address 33h:5: boolean value. Default value 0h.
If enabled, the channel is skipped during a zone scan.
Skip Scan SAS
At address 33h:4: boolean value. Default value 0h.
If enabled, the cannel is skipped in all scans.
Unknown data
At address 33h:3: Unknown data of size 0h:1.
TX disable RXO
At address 33h:2: boolean value. Default value 0h.
If enabled, the TX is disabled. That is, the channel is RX only.
Bandwidth BW
At address 33h:1: Enumeration of size 0h:1, with 2 options. Specifies the FM bandwidth.
| Value | Name | Description |
|---|---|---|
| 0 | Narrow (12.5kHz) | |
| 1 | Wide (25kHz) |
Unused data
At address 33h:0: Unused data of size 0h:1:
Unused data
At address 34h: Unused data of size 3h: 00 00 00
Squelch Level
At address 37h: 8-bit unsigned integer value (uint8). Default value 0h.
0: Global setting, 1: open, 2-14: 5%(n-1), 15: closed.
1182 Zone Bank vR202409080done
Element at address 8010h of size 2ee0h.
Description
Hold the zone bitmap as well as the actual zones.
1182.1 Zone bitmap vR202409080done
Exactly 72 repetitions of Zone enable bit.
Description
Encodes which zone is valid. Encodes only 68 bits.
Zone enable bit
boolean value. Default value 0h.
Enables a particular zone.
Unused data
At address 9h: Unused data of size 17h: 00
1182.2 Zones vR202409080done
Exactly 68 repetitions of Zone.
1182.3 Zone vR202409080done
Element of size b0h.
Name
At address 0h: ASCII string of length (up to) 15 chars, 255h-padded.
Specifies the zone name.
Pad byte
At address fh: Unused data of size 1h: ff
1182.3.1 Channel Indieces vR202409080done
Exactly 80 repetitions of Channel Index.
Channel Index
16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Index of the channel +1. 0=unused.
1183 Additional Settings needs review
Element at address 1000000h of size 11a0h.
This section of flash memory is always of size 11a0h. It may contain several setting elements. E.g., satellite orbital elements, theme settings etc.
Description
Each setting is stored in a block starting with a magic number and followed by its size. The size field only covers the content. The position of each block may vary. The blocks, hoever, are packed densely.
Fixed string
At address 0h: ASCII string of length (up to) 8 chars, 00h-padded. .
Version number
At address 8h: 32-bit unsigned little-endian integer value (uint32le). Default value 0h.
Some unknown integer. Seen value 1.
Possibly a version number/revision of the structure.
1183.1 Boot Image needs review
Element at address ch of size 408h.
Block Type ID
At address 0h: 32-bit unsigned little-endian integer value (uint32le).
The magic number identifying the block type, alwas set to 1h.
Size
At address 4h: 32-bit unsigned little-endian integer value (uint32le).
Size of the block content, fixed to 400h
1183.1.1 Image data needs review
Element at address 8h of size 400h.
Unknown data
At address 0h: Unknown data of size 400h.
1183.2 Boot Melody vR202409080done
Element at address 414h of size 208h.
Block Type ID
At address 0h: 32-bit unsigned little-endian integer value (uint32le).
The magic number identifying the block type. This one is unknown, seen 2h.
Size
At address 4h: 32-bit unsigned little-endian integer value (uint32le).
Size of the block content, fixed to 200h
1183.2.1 Melody vR202409080done
Exactly 256 repetitions of Tone.
1183.2.2 Tone vR202409080done
Element of size 2h.
Specifies a tone in terms of pitch and duration.
Pitch
At address 0h: Enumeration of size 1h, with 46 options.
| Value | Name | Description |
|---|---|---|
| 0 | Off/Silence | |
| 1 | A2 | 110Hz |
| 2 | A#2 | |
| 3 | B2 | |
| 4 | C3 | |
| 5 | C#3 | |
| 6 | D3 | |
| 7 | D#3 | |
| 8 | E3 | |
| 9 | F3 | |
| 10 | F#3 | |
| 11 | G3 | |
| 12 | G#3 | |
| 13 | A3 | 220 Hz |
| 14 | A#3 | |
| 15 | B3 | |
| 16 | C4 | |
| 17 | C#4 | |
| 18 | D4 | |
| 19 | D#4 | |
| 20 | E4 | |
| 21 | F4 | |
| 22 | F#4 | |
| 23 | G4 | |
| 24 | G#4 | |
| 25 | A4 | 440 Hz |
| 26 | A#4 | |
| 27 | B4 | |
| 28 | C5 | |
| 29 | C#5 | |
| 30 | D5 | |
| 31 | D#5 | |
| 32 | E5 | |
| 33 | F5 | |
| 34 | F#5 | |
| 35 | G5 | |
| 36 | G#5 | |
| 37 | A5 | |
| 38 | A#5 | |
| 39 | B5 | |
| 40 | C6 | |
| 41 | C#6 | |
| 42 | D6 | |
| 43 | D#6 | |
| 44 | E6 | |
| 45 | F6 |
Duration
At address 1h: 8-bit unsigned integer value (uint8). Valid values between 0h and ffh, with default value 0h.
Specifies the tone duration in 100ms?!?
1183.3 Orbital Elements Bank needs review
Element at address 61ch of size 9e0h.
Block Type ID
At address 0h: 32-bit unsigned little-endian integer value (uint32le). Default value 0h.
Specifies, that his block is a set of orbital elements. The value is fixed to 3.
Either also a revision number or a field count.
Size
At address 4h: 32-bit unsigned little-endian integer value (uint32le).
Contains the size of the entire bank, incluing the header. That is 9d8h.
1183.3.1 Orbital Elements needs review
Exactly 25 repetitions of Orbital Element.
1183.3.2 Orbital Element needs review
Element of size 64h.
Name
At address 0h: ASCII string of length (up to) 8 chars, 00h-padded.
Epoch Year
At address 8h: 8-bit bcd integer value (bcd2).
Epoch julien day
At address 9h: 48-bit bcd big-endian integer value (bcd12be).
First derivative of mean motion
At address fh: 40-bit bcd big-endian integer value (bcd10be).
Inclination
At address 14h: 32-bit bcd big-endian integer value (bcd8be).
Right ascension of the ascending node
At address 18h: 32-bit bcd big-endian integer value (bcd8be).
Eccentricity
At address 1ch:7: 28-bit bcd big-endian integer value (bcd7be).
Argument of perigee
At address 1fh:3: 32-bit bcd big-endian integer value (bcd8be).
Mean anomaly
At address 23h:3: 32-bit bcd big-endian integer value (bcd8be).
Mean motion
At address 27h:3: 44-bit bcd big-endian integer value (bcd11be).
Revolution number at epoch
At address 2dh:7: 20-bit bcd big-endian integer value (bcd5be).
Unused
At address 2fh:3: 4-bit bcd integer value (bcd1).
set to blank bh.
FM Downlink Frequency
At address 30h: 32-bit unsigned little-endian integer value (uint32le).
FM Uplinkrequency
At address 34h: 32-bit unsigned little-endian integer value (uint32le).
CTCSS tone frequency
At address 38h: 32-bit unsigned little-endian integer value (uint32le).
Encoded frequency in 0.1Hz.
APRS Downlink Frequency
At address 3ch: 32-bit unsigned little-endian integer value (uint32le).
APRS Uplink Frequency
At address 40h: 32-bit unsigned little-endian integer value (uint32le).
Beacon Frequency
At address 44h: 32-bit unsigned little-endian integer value (uint32le).
Unused data
At address 48h: Unused data of size 4h: 00
APRS path
At address 4ch: ASCII string of length (up to) 24 chars, 00h-padded.
Unused data
At address 9cch: Unused data of size 14h:
Unused data
At address ffch: Unused data of size 1a4h: ff
1184 Callsign DB Segment 0 needs review
Element at address 1030000h of size 40000h.
Magic String
At address 0h: ASCII string of length (up to) 2 chars, 00h-padded. A fixed ASCII string 'Id'.
Format
At address 2h: Enumeration of size 1h, with 2 options.
| Value | Name | Description |
|---|---|---|
| 45 | Uncompressed | Old uncompressed format |
| 78 | Compressed | New compressed format |
Entry size
At address 3h: 8-bit unsigned integer value (uint8).
Specifies the size of every entry. The encoding is quiet weird: 59h=15bytes, 5d=19bytes, ..., 50bytes.
Version string
At address 4h: ASCII string of length (up to) 3 chars, 00h-padded. Fixed to '001'.
Pad byte
At address 7h: Unused data of size 1h: 00
Entry count
At address 8h: 32-bit unsigned little-endian integer value (uint32le).
Specifies the number of entries in the callsign db.
1184.1 Entries needs review
Exactly 17475 repetitions of Entry.
1184.2 Entry needs review
Element of size fh.
DMR ID
At address 0h: 24-bit unsigned little-endian integer value (uint24le).
1184.2.1 Call etc needs review
Exactly 4 repetitions of Char Group.
Text field containing the callsign, name, city, etc. This is encoded in a compressed form. Chars are encoded using a simple 6bit table and stored in 4-chars groups as 3bytes each. Padding is 00h (space).
1184.2.2 Char Group needs review
Exactly 4 repetitions of Single char.
Contains 4 6-bit chars
Single char
6-bit unsigned integer value (uint6).
Using translation table [' ', '0', ..., '9', 'A', ..., 'Z', 'a', ..., 'z', '.'].
Unused data
At address 3fff9h: Unused data of size 7h:
1185 Channel Banks 1-7
Exactly 7 repetitions of Channel Bank.
1186 Channel Bank vR202409080done
Element of size 1c10h.
Description
The first channel bank.
1186.1 Channel bit map vR202409080done
Exactly 128 repetitions of Channel bit.
Description
Marks, which channels are valid.
Channel bit
boolean value. Default value 0h.
Enables a single channel.
1186.2 Channels vR202409080done
Exactly 128 repetitions of Channel.
Description
Encodes all valid channels.
1186.3 Channel vR202409080done
Element of size 38h.
Encodes a single channel.
Name
At address 0h: ASCII string of length (up to) 15 chars, 255h-padded.
Specifies the channel name.
Pad byte
At address fh: Unused data of size 1h: 02 55
RX Frequency
At address 10h: 32-bit bcd little-endian integer value (bcd8le).
RX Frequency in 10Hz as 8-digit BCD in little endian.
TX Frequency
At address 14h: 32-bit bcd little-endian integer value (bcd8le).
TX Frequency in 10Hz in 8-digit BCD little endian.
Channel Mode
At address 18h: Enumeration of size 1h, with 2 options. Specifies the mode of the channel.
| Value | Name | Description |
|---|---|---|
| 0 | FM | |
| 1 | DMR |
Power
At address 19h: Enumeration of size 1h, with 11 options. Specifies the transmit power.
| Value | Name | Description |
|---|---|---|
| 0 | Master | |
| 1 | 50mW | |
| 2 | 250mW | |
| 3 | 500mW | |
| 4 | 750mW | |
| 5 | 1W | |
| 6 | 2W | |
| 7 | 3W | |
| 8 | 4W | |
| 9 | 5W | |
| 10 | Maximum |
Latitude LSB
At address 1ah: 8-bit unsigned integer value (uint8).
LSB of the uint24le complex encoding of the latitude.
The LSB of the 24bit latitude value.
Unused data
At address 1bh: Unused data of size 1h: 00
Latitude MSB
At address 1ch: 16-bit unsigned little-endian integer value (uint16le).
MSB of the uint24le encoding the latitude.
Encodes the latitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Longitude LSB
At address 1eh: 16-bit unsigned little-endian integer value (uint16le).
Least significant part of the uin24le encoding the longitude.
RX Tone
At address 20h: 16-bit signed little-endian integer value (int16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
TX Tone
At address 22h: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Encoded as uint16le. MSB (15) is DCS/CTCSS flag and bit 14 flags inverted DCS codes. The rest is 3-digit BCD containing CTCSS frequency in 0.1Hz or octal DCS code. Boy, what a s**t. ffffh means disabled.
Longitude MSB
At address 24h: 8-bit unsigned integer value (uint8).
Most significant byte of the uint24le encoding the longitude.
Encodes the longitude in sign, degree and decimals. The MSB holds the sign bit, the next 8 bit encode the degrees and the least significant 15 bits encode 4 decimals.
Unused data
At address 25h: Unused data of size 1h: 00
Override DMR ID OID
At address 26h:7: boolean value. Default value 0h.
If enabled, the DMR ID is overridden.
Disable beep NOB
At address 26h:6: boolean value. Default value 0h.
Disable Power Save NOE
At address 26h:5: boolean value. Default value 0h.
Unused data
At address 26h:4: Unused data of size 0h:1: 00
Use Location LOC
At address 26h:3: boolean value.
Whatever that means.
Force DCO DCO
At address 26h:2: boolean value. Default value 0h.
Unused data
At address 26h:1: Unused data of size 0h:2: 00
Channel DMR ID
At address 27h: 24-bit unsigned big-endian integer value (uint24be). Default value 1600h.
If enabled, holds the DMR ID used for this channel. Somewhat weird in uint24be.
Unused data
At address 2ah: Unused data of size 1h: 00
Group List Index
At address 2bh: 8-bit unsigned integer value (uint8). Default value 0h.
Specifies the group list index +1. Default 0: none.
Color code
At address 2ch: 8-bit unsigned integer value (uint8). Default value 1h.
Simply stores the color code as is.
APRS System Index
At address 2dh: 8-bit unsigned integer value (uint8). Default value 0h.
Index of the APRS system associated with the channes +1. Default 0: none.
TX Contact
At address 2eh: 16-bit unsigned little-endian integer value (uint16le). Default value 0h.
Index (+1) of the transmit contact.
Specifies the index of the transmit contact. The index is 1-based. An index of 0 means no contact.
Unused data
At address 30h:7: Unused data of size 0h:4: 00
TX Alias TS1 TAL2
At address 30h:3: Enumeration of size 0h:2, with 4 options. How to transmit talker alias on time slot 2
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
TX Alias TS1 TAL1
At address 30h:1: Enumeration of size 0h:2, with 4 options. How to transmit the talker alias on time-slot 1.
| Value | Name | Description |
|---|---|---|
| 0 | None | |
| 1 | APRS | |
| 2 | Text | |
| 3 | Both |
Unknown data
At address 31h: Unknown data of size 0h:1.
Time slot 2 TS2
At address 31h:6: boolean value. Default value 0h.
If enabled, time slot 2 is used. Otherwise TS 1.
Unused data
At address 31h:5: Unused data of size 0h:6: 00
Unused data
At address 32h: Unused data of size 1h: 00
Unused bit
At address 33h:7: Unused data of size 0h:1: 00
VOX enable VOX
At address 33h:6: boolean value.
Enabled VOX for this channel.
Skip in Zone Scan SZS
At address 33h:5: boolean value. Default value 0h.
If enabled, the channel is skipped during a zone scan.
Skip Scan SAS
At address 33h:4: boolean value. Default value 0h.
If enabled, the cannel is skipped in all scans.
Unknown data
At address 33h:3: Unknown data of size 0h:1.
TX disable RXO
At address 33h:2: boolean value. Default value 0h.
If enabled, the TX is disabled. That is, the channel is RX only.
Bandwidth BW
At address 33h:1: Enumeration of size 0h:1, with 2 options. Specifies the FM bandwidth.
| Value | Name | Description |
|---|---|---|
| 0 | Narrow (12.5kHz) | |
| 1 | Wide (25kHz) |
Unused data
At address 33h:0: Unused data of size 0h:1:
Unused data
At address 34h: Unused data of size 3h: 00 00 00
Squelch Level
At address 37h: 8-bit unsigned integer value (uint8). Default value 0h.
0: Global setting, 1: open, 2-14: 5%(n-1), 15: closed.
1187 Contacts vR202409080done
Exactly 1024 repetitions of Contact Element.
Description
A list of up to 1024 contact elements. Empty names indicate invalid entries. Probably dense. That is, the list ends with the first invalid entry.
1188 Contact Element vR202409080done
Element of size 18h.
Description
Encodes a DMR contact.
Name
At address 0h: ASCII string of length (up to) 16 chars, 255h-padded.
Encodes the name of the contact. Up to ASCII 16 chars, filled with ffh.
DMR ID
At address 10h: 32-bit bcd big-endian integer value (bcd8be).
Specifies the DMR ID as a 8-digit BCD number in big endian.
Call Type
At address 14h: Enumeration of size 1h, with 3 options. Specifies the call type.
| Value | Name | Description |
|---|---|---|
| 0 | Private Call | |
| 1 | Group Call | |
| 2 | All Call | Also implies a certain DMR ID. |
Unused data
At address 15h: Unused data of size 2h: 01 00
Time Slot Override
At address 17h: Enumeration of size 1h, with 3 options. Allows to override the time slot of the channel, if this contact is selected as the current transmit contact.
| Value | Name | Description |
|---|---|---|
| 0 | None | Do not override the time slot of the channel. |
| 1 | Time Slot 1 | Overrides the channel time slot with TS1. |
| 2 | Time Slot 2 | Overrides the channel time slot with TS2. |
1189 Group List Bank vR202409080done
Element at address 108d620h of size 1840h.
Description
Consists of a lenght array for each of the 64 group lists and the actual group lists.
1189.1 Length Array vR202409080done
Exactly 76 repetitions of Length.
Description
Specifies the number of entries for each of the valid group lists.
Length
8-bit unsigned integer value (uint8). Default value 0h.
Specifies the number of elements +1 of the corresponding group list.
Unused data
At address 4ch: Unused data of size 34h: 00
1189.2 Group Lists vR202409080done
Exactly 76 repetitions of Group List.
Description
Up to 76 group lists.
1189.3 Group List vR202409080done
Element of size 50h.
Description
Encodes a group list.
Name
At address 0h: ASCII string of length (up to) 15 chars, 00h-padded.
Specifies the name of the group list.
Pad Byte
At address fh: Unused data of size 1h: ff
1189.3.1 Contact Indices vR202409080done
Exactly 32 repetitions of Contact index +1. If 0, invalid index..
Contact index +1. If 0, invalid index.
16-bit unsigned little-endian integer value (uint16le). Default value 0h.
1190 Callsign DB Segment 1 needs review
Element at address 10b8000h of size 48000h.
Remaining entries of the callsign DB
1190.1 Entries needs review
Exactly 19660 repetitions of Entry.
1190.2 Entry needs review
Element of size fh.
DMR ID
At address 0h: 24-bit unsigned little-endian integer value (uint24le).
1190.2.1 Call etc needs review
Exactly 4 repetitions of Char Group.
Text field containing the callsign, name, city, etc. This is encoded in a compressed form. Chars are encoded using a simple 6bit table and stored in 4-chars groups as 3bytes each. Padding is 00h (space).
1190.2.2 Char Group needs review
Exactly 4 repetitions of Single char.
Contains 4 6-bit chars
Single char
6-bit unsigned integer value (uint6).
Using translation table [' ', '0', ..., '9', 'A', ..., 'Z', 'a', ..., 'z', '.'].
Unused data
At address 47ff4h: Unused data of size ch: 00