LibDMRConf  0.6.0
A library to program DMR radios.
Public Slots | Public Member Functions | Protected Member Functions | List of all members

Implements an interface to the Baofeng/Radioddity RD-5R VHF/UHF 5W DMR (Tier I/II) radio. More...

#include <rd5r.hh>

Inheritance diagram for RD5R:
Radio

Public Slots

bool startDownload (bool blocking=false)
 Starts the download of the codeplug and derives the generic configuration from it.
 
bool startUpload (Config *config, bool blocking=false, bool update=true)
 Derives the device-specific codeplug from the generic configuration and uploads that codeplug to the radio.
 
bool startUploadCallsignDB (UserDatabase *db, bool blocking=false)
 Encodes the given user-database and uploades it to the device.
 
- Public Slots inherited from Radio
virtual bool startDownload (bool blocking=false)=0
 Starts the download of the codeplug. More...
 
virtual bool startUpload (Config *config, bool blocking=false, bool update=true)=0
 Derives the device-specific codeplug from the generic configuration and uploads that codeplug to the radio.
 
virtual bool startUploadCallsignDB (UserDatabase *db, bool blocking=false)=0
 Assembles the callsign DB from the given one and uploads it to the device.
 

Public Member Functions

 RD5R (QObject *parent=nullptr)
 Constructor. More...
 
const QString & name () const
 Returns the name of the radio (e.g., device identifier).
 
const Radio::Featuresfeatures () const
 Returns the features for the particular radio.
 
const CodePlugcodeplug () const
 Returns the codeplug instance.
 
CodePlugcodeplug ()
 Returns the codeplug instance.
 
- Public Member Functions inherited from Radio
 Radio (QObject *parent=nullptr)
 Default constructor.
 
bool verifyConfig (Config *config, QList< VerifyIssue > &issues)
 Verifies the configuration against the radio features. More...
 
Status status () const
 Returns the current status.
 
const QString & errorMessage () const
 Returns the last error message.
 
void clearError ()
 Clears the last error message and state.
 

Protected Member Functions

void run ()
 Main function running in a separate thread performing the up- and download to and from the device.
 

Additional Inherited Members

- Public Types inherited from Radio
enum  Status {
  StatusIdle, StatusDownload, StatusUpload, StatusUploadCallsigns,
  StatusError
}
 Possible states of the radio object. More...
 
- Signals inherited from Radio
void downloadStarted ()
 Gets emitted once the codeplug download has been started.
 
void downloadProgress (int percent)
 Gets emitted on download progress (e.g., for progress bars).
 
void downloadFinished (Radio *radio, CodePlug *codeplug)
 Gets emitted once the codeplug download has been finished.
 
void downloadError (Radio *radio)
 Gets emitted if there was an error during the codeplug download.
 
void uploadStarted ()
 Gets emitted once the codeplug upload has been started.
 
void uploadProgress (int percent)
 Gets emitted on upload progress (e.g., for progress bars).
 
void uploadError (Radio *radio)
 Gets emitted if there was an error during the upload.
 
void uploadComplete (Radio *radio)
 Gets emitted once the codeplug upload has been completed successfully.
 
- Static Public Member Functions inherited from Radio
static Radiodetect (QString &errorMessage, const QString &force="")
 Detects a radio and returns the corresponding device specific radio instance.
 
- Protected Attributes inherited from Radio
Status _task
 The current state/task.
 
QString _errorMessage
 Holds the last error message.
 

Detailed Description

Implements an interface to the Baofeng/Radioddity RD-5R VHF/UHF 5W DMR (Tier I/II) radio.

The Baofeng/Radioddity RD-5R radio uses a weird HID (human-interface device, see HID and HIDevice) protocol for communication. This class implements the communication details with the radio to read and write codeplugs on the device.

Constructor & Destructor Documentation

◆ RD5R()

RD5R::RD5R ( QObject *  parent = nullptr)

Constructor.

Do not call this constructor directly. Consider using the factory method Radio::detect.


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