libdrmconf 0.14.1
A library to program DMR radios.
Loading...
Searching...
No Matches
DM32UVCodeplug Class Reference

Implementation of the binary codeplug for the Baofeng DM32UV. More...

#include <dm32uv_codeplug.hh>

Inheritance diagram for DM32UVCodeplug:
Collaboration diagram for DM32UVCodeplug:

Classes

class  ChannelElement
 Implements encoding channel for the binary codeplug. More...
class  ChannelBankElement
 Channel bank element. More...
class  ChannelExtensionElement
 Implements an extended settings field for each channel. More...
class  ChannelExtensionBankElement
 Encodes a bank of channel extension settings. More...
class  ContactElement
 Implements a single DMR contact. More...
class  ContactBankElement
 Implements the contact bank. More...
class  ContactIndexElement
 Contact index block. More...
class  GroupListElement
 Implements the group list bank element. More...
class  GroupListBankElement
 Implements the group list bank element. More...
class  RadioIdElement
 Implements a DMR radio ID. More...
class  RadioIdBankElement
 Implements the DMR radio ID bank. More...
class  ZoneElement
 Implementation of zone. More...
class  ZoneBankElement
class  ScanListElement
 Implements a scan list. More...
class  ScanListBankElement
 Implements the scan list bank. More...
class  RoamingChannelElement
 Implements a roaming channel. More...
class  RoamingChannelBankElement
 The bank of all roaming channels. More...
class  RoamingZoneElement
 En/Decodes a roaming zone. More...
class  RoamingZoneBankElement
 En/decodes the roaming zone bank. More...
class  SMSTemplateElement
 A sinlge preset message. More...
class  SMSTemplateBankElement
 Preset message (SMS) bank. More...
class  GeneralSettingsElement
 Common settings block. More...
class  APRSSettingsElement
 Implements the APRS settings. More...
class  PasswordSettingsElement
 Implements the password settings. More...
class  MenuSettingElement
 Implements the menu settings. More...
class  EncryptionKeyElement
 Implementation of a single encryption key. More...
class  EncryptionKeyBankElement
 Implements encryption key bank. More...
struct  Limit
 Some internal limits. More...
struct  Offset
 Some internal offsets. More...

Public Member Functions

 DM32UVCodeplug (QObject *parent=nullptr)
 Default/empty constructor.
Configpreprocess (Config *config, const ErrorStack &err) const override
 Returns a prepared configuration for this particular radio.
bool postprocess (Config *config, const ErrorStack &err) const override
 Returns a post-processed configuration of the decoded config.
bool index (Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const override
 Indexes all elements of the codeplug.
bool encode (Config *config, const Flags &flags, const ErrorStack &err=ErrorStack()) override
 Encodes a given abstract configuration (config) to the device specific binary code-plug.
bool decode (Config *config, const ErrorStack &err=ErrorStack()) override
 Decodes a binary codeplug to the given abstract configuration config.
Public Member Functions inherited from Codeplug
virtual ~Codeplug ()
 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 Imageimage (int i) const
 Returns a reference to the i-th image of the file.
Imageimage (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.
bool read (QFile &file, const ErrorStack &err=ErrorStack())
 Reads the specified DFU file.
bool write (const QString &filename, const ErrorStack &err=ErrorStack())
 Writes to the specified file.
bool write (QFile &file, const ErrorStack &err=ErrorStack())
 Writes to the specified file.
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.

Protected Member Functions

virtual bool decodeElements (Context &ctx, const ErrorStack &err=ErrorStack())
 Decode codeplug elements.
virtual bool linkElements (Context &ctx, const ErrorStack &err=ErrorStack())
 Link decoded elements.
virtual bool encodeElements (Context &ctx, const ErrorStack &err=ErrorStack())
 Encode all elements.
virtual bool decodeChannels (Context &ctx, const ErrorStack &err=ErrorStack())
 Decodes all channels defined.
virtual bool linkChannels (Context &ctx, const ErrorStack &err=ErrorStack())
 Links all decoded channels.
virtual bool encodeChannels (Context &ctx, const ErrorStack &err=ErrorStack())
 Encodes all channels.
virtual bool decodeContacts (Context &ctx, const ErrorStack &err=ErrorStack())
 Decode contacts.
virtual bool encodeContacts (Context &ctx, const ErrorStack &err=ErrorStack())
 Allocate and encode contacts.
virtual bool decodeZones (Context &ctx, const ErrorStack &err=ErrorStack())
 Decodes all zones defined.
virtual bool linkZones (Context &ctx, const ErrorStack &err=ErrorStack())
 Links all decoded zones.
virtual bool encodeZones (Context &ctx, const ErrorStack &err=ErrorStack())
 Encodes all zones.
Protected Member Functions inherited from Codeplug
 Codeplug (QObject *parent=nullptr)
 Hidden default constructor.

Additional Inherited Members

Protected Attributes inherited from DFUFile
QVector< Image_images
 The list of images.

Detailed Description

Implementation of the binary codeplug for the Baofeng DM32UV.

Constructor & Destructor Documentation

◆ DM32UVCodeplug()

DM32UVCodeplug::DM32UVCodeplug ( QObject * parent = nullptr)
explicit

Default/empty constructor.

Before encoding, encode will allocate all elements necessary to encode the codeplug. Before decoding, all elements that are allocated on the device must be allocated within the codeplug.

Member Function Documentation

◆ decode()

bool DM32UVCodeplug::decode ( Config * config,
const ErrorStack & err = ErrorStack() )
overridevirtual

Decodes a binary codeplug to the given abstract configuration config.

This must be implemented by the device-specific codeplug.

Implements Codeplug.

◆ encode()

bool DM32UVCodeplug::encode ( Config * config,
const Flags & flags,
const ErrorStack & err = ErrorStack() )
overridevirtual

Encodes a given abstract configuration (config) to the device specific binary code-plug.

This must be implemented by the device-specific codeplug.

Implements Codeplug.

◆ index()

bool DM32UVCodeplug::index ( Config * config,
Context & ctx,
const ErrorStack & err = ErrorStack() ) const
overridevirtual

Indexes all elements of the codeplug.

This method must be implemented by any device or vendor specific codeplug to map config objects to indices used within the binary codeplug to address each element (e.g., channels, contacts etc.).

Implements Codeplug.

◆ postprocess()

bool DM32UVCodeplug::postprocess ( Config * config,
const ErrorStack & err ) const
overridevirtual

Returns a post-processed configuration of the decoded config.

By default, the passed config is returned.

Reimplemented from Codeplug.

◆ preprocess()

Config * DM32UVCodeplug::preprocess ( Config * config,
const ErrorStack & err ) const
overridevirtual

Returns a prepared configuration for this particular radio.

All unsupported features are removed from the copy. The default implementation only copies the config.

Reimplemented from Codeplug.


The documentation for this class was generated from the following files:
  • /builddir/build/BUILD/qdmr-0.14.1-build/qdmr-0.14.1/lib/dm32uv_codeplug.hh
  • /builddir/build/BUILD/qdmr-0.14.1-build/qdmr-0.14.1/lib/dm32uv_codeplug.cc