|
libdrmconf
0.12.0
A library to program DMR radios.
|
Base class for all Radio objects. More...
#include <radio.hh>


Public Types | |
| enum | Status { StatusIdle , StatusDownload , StatusUpload , StatusUploadCallsigns , StatusError } |
| Possible states of the radio object. More... | |
Public Slots | |
| virtual bool | startDownload (bool blocking=false, const ErrorStack &err=ErrorStack())=0 |
| Starts the download of the codeplug. More... | |
| virtual bool | startUpload (Config *config, bool blocking=false, const Codeplug::Flags &flags=Codeplug::Flags(), const ErrorStack &err=ErrorStack())=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, const CallsignDB::Selection &selection=CallsignDB::Selection(), const ErrorStack &err=ErrorStack())=0 |
| Assembles the callsign DB from the given one and uploads it to the device. | |
Signals | |
| 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. | |
Public Member Functions | |
| Radio (QObject *parent=nullptr) | |
| Default constructor. | |
| virtual const QString & | name () const =0 |
| Returns the name of the radio (e.g., device identifier). | |
| virtual const RadioLimits & | limits () const =0 |
| Returns the limits for this radio. More... | |
| virtual const Codeplug & | codeplug () const =0 |
| Returns the codeplug instance. | |
| virtual Codeplug & | codeplug ()=0 |
| Returns the codeplug instance. | |
| virtual const CallsignDB * | callsignDB () const |
| Returns the call-sign DB instance. | |
| virtual CallsignDB * | callsignDB () |
| Returns the call-sign DB instance. | |
| Status | status () const |
| Returns the current status. | |
| const ErrorStack & | errorStack () const |
Returns the error stack, passed to startDownload, startUpload or startUploadCallsignDB. More... | |
Static Public Member Functions | |
| static Radio * | detect (const USBDeviceDescriptor &descr, const RadioInfo &force=RadioInfo(), const ErrorStack &err=ErrorStack()) |
Tries to detect the radio connected to the specified interface or constructs the specified radio using the RadioInfo passed by force. | |
Protected Attributes | |
| Status | _task |
| The current state/task. | |
| ErrorStack | _errorStack |
| The error stack. | |
Base class for all Radio objects.
The radio objects represents a connected radio. This class controlles the communication with the device as well as the conversion between device specific code-plugs and generic configurations.
| enum Radio::Status |
| const ErrorStack & Radio::errorStack | ( | ) | const |
Returns the error stack, passed to startDownload, startUpload or startUploadCallsignDB.
It contains the error messages from the upload/download process.
|
pure virtual |
|
pure virtualslot |
Starts the download of the codeplug.
Once the download finished, the codeplug can be accessed and decoded using the codeplug() method.
Implemented in DR1801UV.