libdrmconf 0.12.1
A library to program DMR radios.
Loading...
Searching...
No Matches
OpenGD77Codeplug Class Reference

Represents, encodes and decodes the device specific codeplug for Open GD-77 firmware. More...

#include <opengd77_codeplug.hh>

Inheritance diagram for OpenGD77Codeplug:
Collaboration diagram for OpenGD77Codeplug:

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())
 

Detailed Description

Represents, encodes and decodes the device specific codeplug for Open GD-77 firmware.

This codeplug is almost identical to the original GD77 codeplug.

Codeplug structure within radio

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 ???

The documentation for this class was generated from the following files: