|
libdrmconf
0.11.3
A library to program DMR radios.
|
Represents and encodes the binary format for the call-sign database within the radio. More...
#include <gd77_callsigndb.hh>


Classes | |
| struct | userdb_entry_t |
| Represents a user-db entry within the binary codeplug. More... | |
| struct | userdb_t |
| Represents the binary call-sign database header. More... | |
Public Member Functions | |
| GD77CallsignDB (QObject *parent=nullptr) | |
| Constructor. | |
| virtual | ~GD77CallsignDB () |
| Destructor. | |
| virtual bool | encode (UserDatabase *calldb, const Selection &selection=Selection(), const ErrorStack &err=ErrorStack()) |
| Encodes as many entries as possible of the given user-database. | |
Public Member Functions inherited from CallsignDB | |
| virtual | ~CallsignDB () |
| Destructor. | |
Public Member Functions inherited from DFUFile | |
| DFUFile (QObject *parent=nullptr) | |
| Constructs an empty DFU file object. | |
| uint32_t | size () const |
| Returns the total size of the DFU file. | |
| uint32_t | memSize () const |
| Returns the total memory size stored in the DFU file. | |
| int | numImages () const |
| Returns the number of images within the DFU file. | |
| const Image & | image (int i) const |
Returns a reference to the i-th image of the file. | |
| Image & | image (int i) |
Returns a reference to the i-th image of the file. | |
| void | addImage (const QString &name, uint8_t altSettings=1) |
| Adds a new image to the file. | |
| void | addImage (const Image &img) |
| Adds an image to the file. | |
| void | remImage (int i) |
Deletes the i-th image from the file. | |
| bool | isAligned (unsigned blocksize) const |
| Checks if all image addresses and sizes is aligned with the given block size. | |
| bool | read (const QString &filename, const ErrorStack &err=ErrorStack()) |
| Reads the specified DFU file. More... | |
| bool | read (QFile &file, const ErrorStack &err=ErrorStack()) |
| Reads the specified DFU file. More... | |
| bool | write (const QString &filename, const ErrorStack &err=ErrorStack()) |
| Writes to the specified file. More... | |
| bool | write (QFile &file, const ErrorStack &err=ErrorStack()) |
| Writes to the specified file. More... | |
| void | dump (QTextStream &stream) const |
| Dumps a text representation of the DFU file structure to the specified text stream. | |
| virtual bool | isAllocated (uint32_t offset, uint32_t img=0) const |
Returns true if the specified address (and image) is allocated. | |
| virtual unsigned char * | data (uint32_t offset, uint32_t img=0) |
| Returns a pointer to the encoded raw data at the specified offset. | |
| virtual const unsigned char * | data (uint32_t offset, uint32_t img=0) const |
| Returns a const pointer to the encoded raw data at the specified offset. | |
Additional Inherited Members | |
Protected Member Functions inherited from CallsignDB | |
| CallsignDB (QObject *parent=nullptr) | |
| Hidden constructor. | |
Protected Attributes inherited from DFUFile | |
| QVector< Image > | _images |
| The list of images. | |
Represents and encodes the binary format for the call-sign database within the radio.
The call-sign DB gets stored at a separate memory bank (no. 3) at address 0x0000. The encoded DB consists of the DB header followed by the DB entries. The number of entries is limited to 10920 leading to a max DB size of 0x20000 bytes. These 0x20000 bytes are organized into two banks bank 3 contains 0x00000-0x0ffff and bank 4 contains 0x10000-0x1ffff.
The header is encoded as:
0 8 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ ... + |'I' 'D' '-' 'V' '0' '0' '1' 0 | # entries, LE | Entries ... | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ ... +
The number of DB entries is encoded as a 32bit little-endian integer.
Each DB entry is encoded as:
0 8 +---+---+---+---+---+---+---+---+---+---+---+---+ | DMR ID, 8xBCD | Name, 8xASCII, 0-terminated | +---+---+---+---+---+---+---+---+---+---+---+---+
The DMR ID gets encoded a 8 BCD digits in little endian while the name is encoded as up-to 8 ASCII bytes 0-terminated and padded.