libdrmconf
0.12.0
A library to program DMR radios.
|
Implements an USB interface to the TYT MD-2017 & Retevis RT82 VHF/UHF 5W DMR (Tier I&II) radios. More...
#include <md2017.hh>
Public Member Functions | |
MD2017 (TyTInterface *device=nullptr, QObject *parent=nullptr) | |
Constructor. More... | |
virtual | ~MD2017 () |
Desturctor. | |
const QString & | name () const |
Returns the name of the radio (e.g., device identifier). | |
const RadioLimits & | limits () const |
Returns the limits for this radio. More... | |
const Codeplug & | codeplug () const |
Returns the codeplug instance. | |
Codeplug & | codeplug () |
Returns the codeplug instance. | |
const CallsignDB * | callsignDB () const |
Returns the call-sign DB instance. | |
CallsignDB * | callsignDB () |
Returns the call-sign DB instance. | |
Public Member Functions inherited from TyTRadio | |
TyTRadio (TyTInterface *device=nullptr, QObject *parent=nullptr) | |
Do not construct this class directly, rather use Radio::detect . | |
Public Member Functions inherited from Radio | |
Radio (QObject *parent=nullptr) | |
Default constructor. | |
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 RadioInfo | defaultRadioInfo () |
Returns the default radio information. More... | |
Static Public Member Functions inherited from Radio | |
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 . | |
Additional Inherited Members | |
Public Types inherited from Radio | |
enum | Status { StatusIdle , StatusDownload , StatusUpload , StatusUploadCallsigns , StatusError } |
Possible states of the radio object. More... | |
Public Slots inherited from TyTRadio | |
bool | startDownload (bool blocking=false, const ErrorStack &err=ErrorStack()) |
Starts the download of the codeplug and derives the generic configuration from it. | |
bool | startUpload (Config *config, bool blocking=false, const Codeplug::Flags &flags=Codeplug::Flags(), const ErrorStack &err=ErrorStack()) |
Derives the device-specific codeplug from the generic configuration and uploads that codeplug to the radio. | |
bool | startUploadCallsignDB (UserDatabase *db, bool blocking=false, const CallsignDB::Selection &selection=CallsignDB::Selection(), const ErrorStack &err=ErrorStack()) |
Encodes the given user-database and uploades it to the device. | |
Public Slots inherited from Radio | |
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 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. | |
Protected Member Functions inherited from TyTRadio | |
void | run () |
Thread main routine, performs all blocking IO operations for codeplug up- and download. | |
Protected Attributes inherited from TyTRadio | |
TyTInterface * | _dev |
The interface to the radio. | |
Codeplug::Flags | _codeplugFlags |
Holds the flags to control assembly and upload of code-plugs. | |
Config * | _config |
The generic configuration. | |
UserDatabase * | _userDB |
A weak reference to the user-database. | |
Protected Attributes inherited from Radio | |
Status | _task |
The current state/task. | |
ErrorStack | _errorStack |
The error stack. | |
Implements an USB interface to the TYT MD-2017 & Retevis RT82 VHF/UHF 5W DMR (Tier I&II) radios.
The TYT MD-2017 and Retevis RT82 radios use the TyT typical DFU-style communication protocol to read and write codeplugs onto the radio (see TyTRadio
).
MD2017::MD2017 | ( | TyTInterface * | device = nullptr , |
QObject * | parent = nullptr |
||
) |
Constructor.
device | Specifies the DFU device to use for communication with the device. |
parent | The QObject parent. |
|
static |
Returns the default radio information.
The actual instance may have different properties due to variants of the same radio.
|
virtual |
Returns the limits for this radio.
Call RadioLimits::verifyConfig
to verify a codeplug with respect to a radio.
Implements Radio.