libdrmconf 0.12.1
A library to program DMR radios.
|
Represents, encodes and decodes the device specific codeplug for Open GD-77 firmware. More...
#include <opengd77_codeplug.hh>
Classes | |
struct | ImageIndex |
Internal used image indices. More... | |
struct | Limit |
Some Limits for this codeplug. More... | |
struct | Offset |
Some offsets. More... | |
Public Member Functions | |
OpenGD77Codeplug (QObject *parent=nullptr) | |
Constructs an empty codeplug for the GD-77. | |
void | clearGeneralSettings () |
bool | encodeGeneralSettings (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | decodeGeneralSettings (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearDTMFSettings () |
bool | encodeDTMFSettings (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | decodeDTMFSettings (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearAPRSSettings () |
bool | encodeAPRSSettings (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | decodeAPRSSettings (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearContacts () |
bool | encodeContacts (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | createContacts (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearDTMFContacts () |
bool | encodeDTMFContacts (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | createDTMFContacts (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearChannels () |
bool | encodeChannels (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | createChannels (Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | linkChannels (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearBootSettings () |
bool | encodeBootSettings (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | decodeBootSettings (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearVFOSettings () |
void | clearZones () |
bool | encodeZones (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | createZones (Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | linkZones (Context &ctx, const ErrorStack &err=ErrorStack()) |
void | clearGroupLists () |
bool | encodeGroupLists (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | createGroupLists (Context &ctx, const ErrorStack &err=ErrorStack()) |
bool | linkGroupLists (Context &ctx, const ErrorStack &err=ErrorStack()) |
Represents, encodes and decodes the device specific codeplug for Open GD-77 firmware.
This codeplug is almost identical to the original GD77 codeplug.
The memory representation of the codeplug within the radio is divided into two images (EEPROM and Flash) and each image again into two sections.
The first segment of the EEPROM image starts at the address 0x000e0 and ends at 0x06000, while the second EEPROM section starts at 0x07500 and ends at 0x0b000.
The first segment of the Flash image starts at the address 0x00000 and ends at 0x011a0, while the second Flash section starts at 0x7b000 and ends at 0x8ee60.
Start | End | Size | Content |
---|---|---|---|
First EEPROM segment 0x000e0-0x06000 | |||
0x000e0 | 0x000ec | 0x000c | General settings, see RadioddityCodeplug::GeneralSettingsElement . |
0x000ec | 0x00128 | 0x003c | ??? Unknown ??? |
0x00128 | 0x01370 | 0x1248 | 32 message texts, see RadioddityCodeplug::MessageBankElement . |
0x01370 | 0x01790 | 0x0420 | ??? Unknown ??? |
0x01790 | 0x02dd0 | 0x1640 | 64 scan lists, see GD77Codeplug::ScanListBankElement , GD77Codeplug::ScanListElement. |
0x02dd0 | 0x02f88 | 0x01b8 | ??? Unknown ??? |
0x02f88 | 0x03388 | 0x0400 | DTMF contacts, see RadioddityCodeplug::DTMFContactElement. |
0x03388 | 0x03780 | 0x03f8 | ??? Unknown ??? |
0x03780 | 0x05390 | 0x1c10 | First 128 channels (bank 0), see RadioddityCodeplug::ChannelBankElement , OpenGD77Codeplug::ChannelElement . |
0x05390 | 0x06000 | 0x0c70 | ??? Unknown ??? |
Second EEPROM segment 0x07500-0x13000 | |||
0x07500 | 0x07518 | 0x0018 | ??? Unknown ??? |
0x07518 | 0x07538 | 0x0020 | Boot settings, see RadioddityCodeplug::BootSettingsElement . |
0x07538 | 0x07540 | 0x0008 | Menu settings, see RadioddityCodeplug::MenuSettingsElement . |
0x07540 | 0x07560 | 0x0020 | 2 intro lines, RadioddityCodeplug::BootTextElement . |
0x07560 | 0x07590 | 0x0030 | ??? Unknown ??? |
0x07590 | 0x075c8 | 0x0038 | VFO A settings OpenGD77Codeplug::VFOChannelElement |
0x075c8 | 0x07600 | 0x0038 | VFO B settings OpenGD77Codeplug::VFOChannelElement |
0x07600 | 0x08010 | 0x0a10 | ??? Unknown ??? |
0x08010 | 0x12c10 | 0xac00 | 250 zones, see OpenGD77Codeplug::ZoneBankElement , OpenGD77Codeplug::ZoneElement . |
0x12c10 | 0x13000 | 0x03f0 | ??? Unknown ??? |
First Flash segment 0x00000-0x011a0 | |||
0x00000 | 0x011a0 | 0x11a0 | ??? Unknown ??? |
Second Flash segment 0x7b000-0x8ee60 | |||
0x7b000 | 0x7b1b0 | 0x01b0 | ??? Unknown ??? |
0x7b1b0 | 0x87620 | 0xc470 | Remaining 896 channels (bank 1-7), see RadioddityCodeplug::ChannelBankElement and OpenGD77Codeplug::ChannelElement . |
0x87620 | 0x8d620 | 0x6000 | 1024 contacts, see OpenGD77Codeplug::ContactElement . |
0x8d620 | 0x8e2a0 | 0x0c80 | 76 RX group lists, see GD77Codeplug::GroupListBankElement , GD77Codeplug::GroupListElement . |
0x8e2a0 | 0x8ee60 | 0x0bc0 | ??? Unknown ??? |