libdrmconf  0.12.0
A library to program DMR radios.
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AuctusA6Interface Class Reference

Implements the communication interface to radios using the Auctus A6 chip. More...

#include <auctus_a6_interface.hh>

Inheritance diagram for AuctusA6Interface:
Inheritance graph
[legend]
Collaboration diagram for AuctusA6Interface:
Collaboration graph
[legend]

Public Types

enum  State {
  CLOSED , IDLE , READ_THROUGH , WRITE_THROUGH ,
  ERROR
}
 Possible states of the interface. More...
 

Public Member Functions

State state () const
 Returns the interface state.
 
- Public Member Functions inherited from USBSerial
virtual ~USBSerial ()
 Destructor.
 
bool isOpen () const
 If true, the device has been found and is open.
 
void close ()
 Closes the interface to the device.
 
- Public Member Functions inherited from RadioInterface
virtual ~RadioInterface ()
 Destructor.
 
virtual RadioInfo identifier (const ErrorStack &err=ErrorStack())=0
 Returns a device identifier.
 
virtual bool write_start (uint32_t bank, uint32_t addr, const ErrorStack &err=ErrorStack())=0
 Starts the write process into the specified bank and at the given address. More...
 
virtual bool write (uint32_t bank, uint32_t addr, uint8_t *data, int nbytes, const ErrorStack &err=ErrorStack())=0
 Writes a chunk of data at the address addr. More...
 
virtual bool write_finish (const ErrorStack &err=ErrorStack())=0
 This function ends a series of write operations. More...
 
virtual bool read_start (uint32_t bank, uint32_t addr, const ErrorStack &err=ErrorStack())=0
 Starts the read process from the specified bank and at the given address. More...
 
virtual bool read (uint32_t bank, uint32_t addr, uint8_t *data, int nbytes, const ErrorStack &err=ErrorStack())=0
 Reads a chunk of data from the block-address bno (block number). More...
 
virtual bool read_finish (const ErrorStack &err=ErrorStack())=0
 This function ends a series of read operations. More...
 
virtual bool reboot (const ErrorStack &err=ErrorStack())
 Some radios need to be rebooted after being read or programmed. More...
 

Protected Member Functions

 AuctusA6Interface (const USBDeviceDescriptor &descriptor, const ErrorStack &err=ErrorStack(), QObject *parent=nullptr)
 Hidden constructor.
 
bool send_receive (uint16_t command, const uint8_t *params, uint8_t plen, uint8_t *response, uint8_t &rlen, const ErrorStack &err=ErrorStack())
 Internal used method to send messages to and receive responses from radio.
 
bool send (uint16_t command, const uint8_t *params, uint8_t plen, const ErrorStack &err=ErrorStack())
 Internal used method to send a command.
 
bool receive (uint16_t &command, uint8_t *response, uint8_t &rlen, const ErrorStack &err=ErrorStack())
 Internal used method to receive a response.
 
bool read (uint8_t *data, qint64 n, unsigned int timeout_ms, const ErrorStack &err=ErrorStack())
 Reads exactly n bytes or timeouts.
 
- Protected Member Functions inherited from USBSerial
 USBSerial (const USBDeviceDescriptor &descriptor, QSerialPort::BaudRate rate=QSerialPort::Baud115200, const ErrorStack &err=ErrorStack(), QObject *parent=nullptr)
 Constructs an opens new serial interface to the devices identified by the given vendor and product IDs. More...
 
QString formatPinoutSignals ()
 Serializes the pinout singals.
 
- Protected Member Functions inherited from RadioInterface
 RadioInterface ()
 Hidden constructor.
 

Protected Attributes

State _state
 Holds the state of the interface.
 

Additional Inherited Members

- Static Public Member Functions inherited from USBSerial
static QList< USBDeviceDescriptordetect (uint16_t vid, uint16_t pid, bool isSave=true)
 Searches for all USB serial ports with the specified VID/PID.
 
static QList< USBDeviceDescriptordetect ()
 Searches for all USB serial ports.
 
- Protected Slots inherited from USBSerial
void onError (QSerialPort::SerialPortError error_t)
 Callback for serial interface errors.
 
void onClose ()
 Callback when closing interface.
 
void signalingChanged ()
 Signaling callback.
 

Detailed Description

Implements the communication interface to radios using the Auctus A6 chip.

This includes devices like Cotre A1 or the Baofeng DR-1801. This class only implements the basic communication protocol. Specifics, like particular commands are implemented in derived interface classes.

Member Enumeration Documentation

◆ State

Possible states of the interface.

Enumerator
CLOSED 

Conntection to device is closed.

IDLE 

Connection is open and device is ready.

READ_THROUGH 

Read from memory. The device just sends some amount of data.

WRITE_THROUGH 

Write to memory. The device just receives some amount of data.

ERROR 

An error state.


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