add doxygen via opencode
This commit is contained in:
@@ -29,16 +29,36 @@
|
||||
#include "piiodevice.h"
|
||||
|
||||
|
||||
//! \ingroup IO
|
||||
//! \~\brief
|
||||
//! \~english CAN device.
|
||||
//! \~russian Устройство CAN.
|
||||
class PIP_EXPORT PICAN: public PIIODevice {
|
||||
PIIODEVICE(PICAN, "can");
|
||||
|
||||
public:
|
||||
//! \~english Constructs %PICAN with empty path and ReadWrite mode
|
||||
//! \~russian Создаёт %PICAN с пустым путём и режимом ReadWrite
|
||||
explicit PICAN(const PIString & path = PIString(), PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
|
||||
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PICAN();
|
||||
|
||||
//! \~english Set CAN ID for filtering received messages
|
||||
//! \~russian Устанавливает CAN ID для фильтрации принимаемых сообщений
|
||||
void setCANID(int id);
|
||||
|
||||
//! \~english Returns current CAN ID
|
||||
//! \~russian Возвращает текущий CAN ID
|
||||
int CANID() const;
|
||||
|
||||
//! \~english Returns CAN ID of last readed message
|
||||
//! \~russian Возвращает CAN ID последнего прочитанного сообщения
|
||||
int readedCANID() const;
|
||||
|
||||
//! \~english Interrupt blocking operation
|
||||
//! \~russian Прерывает блокирующую операцию
|
||||
void interrupt() override;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -29,6 +29,10 @@
|
||||
#include "pidiagnostics.h"
|
||||
#include "piethernet.h"
|
||||
|
||||
//! \ingroup IO
|
||||
//! \~\brief
|
||||
//! \~english Peering net node.
|
||||
//! \~russian Элемент пиринговой сети.
|
||||
class PIP_EXPORT PIPeer: public PIIODevice {
|
||||
PIIODEVICE(PIPeer, "peer");
|
||||
|
||||
@@ -36,9 +40,16 @@ private:
|
||||
class PeerData;
|
||||
|
||||
public:
|
||||
//! \~english Constructs %PIPeer with name "name"
|
||||
//! \~russian Создаёт %PIPeer с именем "name"
|
||||
explicit PIPeer(const PIString & name = PIString());
|
||||
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PIPeer();
|
||||
|
||||
//! \~english Peer information structure
|
||||
//! \~russian Структура информации о пире
|
||||
class PIP_EXPORT PeerInfo {
|
||||
friend class PIPeer;
|
||||
BINARY_STREAM_FRIEND(PIPeer::PeerInfo);
|
||||
@@ -87,38 +98,89 @@ public:
|
||||
|
||||
BINARY_STREAM_FRIEND(PIPeer::PeerInfo);
|
||||
|
||||
//! \~english Send data to peer with name "to"
|
||||
//! \~russian Отправляет данные пиру с именем "to"
|
||||
bool send(const PIString & to, const PIByteArray & data) { return send(to, data.data(), data.size_s()); }
|
||||
|
||||
//! \~english Send string to peer with name "to"
|
||||
//! \~russian Отправляет строку пиру с именем "to"
|
||||
bool send(const PIString & to, const PIString & data) { return send(to, data.data(), data.size_s()); }
|
||||
bool send(const PIString & to, const void * data, int size);
|
||||
|
||||
//! \~english Send data to peer "to"
|
||||
//! \~russian Отправляет данные пиру "to"
|
||||
bool send(const PeerInfo & to, const PIByteArray & data) { return send(to.name, data.data(), data.size_s()); }
|
||||
bool send(const PeerInfo & to, const PIString & data) { return send(to.name, data.data(), data.size_s()); }
|
||||
bool send(const PeerInfo & to, const void * data, int size) { return send(to.name, data, size); }
|
||||
bool send(const PeerInfo * to, const PIByteArray & data);
|
||||
bool send(const PeerInfo * to, const PIString & data);
|
||||
bool send(const PeerInfo * to, const void * data, int size);
|
||||
|
||||
//! \~english Send data to all peers
|
||||
//! \~russian Отправляет данные всем пирам
|
||||
void sendToAll(const PIByteArray & data);
|
||||
void sendToAll(const PIString & data);
|
||||
void sendToAll(const void * data, int size);
|
||||
|
||||
//! \~english Returns if receiving multicast packets is enabled
|
||||
//! \~russian Возвращает включён ли приём мультикаст пакетов
|
||||
bool isMulticastReceive() const { return !eths_mcast.isEmpty(); }
|
||||
|
||||
//! \~english Returns if receiving broadcast packets is enabled
|
||||
//! \~russian Возвращает включён ли приём широковещательных пакетов
|
||||
bool isBroadcastReceive() const { return !eths_bcast.isEmpty(); }
|
||||
|
||||
//! \~english Returns diagnostic service
|
||||
//! \~russian Возвращает диагностический сервис
|
||||
PIDiagnostics & diagnosticService() { return diag_s; }
|
||||
|
||||
//! \~english Returns diagnostic data
|
||||
//! \~russian Возвращает диагностические данные
|
||||
PIDiagnostics & diagnosticData() { return diag_d; }
|
||||
|
||||
//! \~english Returns all known peers
|
||||
//! \~russian Возвращает всех известных пиров
|
||||
const PIVector<PIPeer::PeerInfo> & allPeers() const { return peers; }
|
||||
|
||||
//! \~english Returns if peer with name "name" exists
|
||||
//! \~russian Возвращает существует ли пир с именем "name"
|
||||
bool isPeerExists(const PIString & name) const { return getPeerByName(name) != 0; }
|
||||
|
||||
//! \~english Returns peer info by name, or nullptr if not found
|
||||
//! \~russian Возвращает информацию о пире по имени, или nullptr если не найден
|
||||
const PeerInfo * getPeerByName(const PIString & name) const { return peers_map.value(name, 0); }
|
||||
|
||||
//! \~english Returns self info
|
||||
//! \~russian Возвращает информацию о себе
|
||||
const PeerInfo & selfInfo() const { return self_info; }
|
||||
const PIMap<PIString, PIVector<PeerInfo *>> & _peerMap() const { return addresses_map; }
|
||||
|
||||
//! \~english Reinitialize peer network
|
||||
//! \~russian Переинициализирует пиринговую сеть
|
||||
void reinit();
|
||||
|
||||
//! \~english Lock peers list
|
||||
//! \~russian Блокирует список пиров
|
||||
void lock() { peers_mutex.lock(); }
|
||||
|
||||
//! \~english Unlock peers list
|
||||
//! \~russian Разблокирует список пиров
|
||||
void unlock() { peers_mutex.unlock(); }
|
||||
|
||||
//! \~english Change peer name to "new_name"
|
||||
//! \~russian Изменяет имя пира на "new_name"
|
||||
void changeName(const PIString & new_name);
|
||||
|
||||
//! \~english Returns trusted peer name
|
||||
//! \~russian Возвращает имя доверенного пира
|
||||
const PIString & trustPeerName() const { return trust_peer; }
|
||||
|
||||
//! \~english Set trusted peer name
|
||||
//! \~russian Устанавливает имя доверенного пира
|
||||
void setTrustPeerName(const PIString & peer_name) { trust_peer = peer_name; }
|
||||
|
||||
//! \~english Set TCP server IP address
|
||||
//! \~russian Устанавливает IP адрес TCP сервера
|
||||
void setTcpServerIP(const PIString & ip);
|
||||
|
||||
ssize_t bytesAvailable() const override;
|
||||
|
||||
@@ -29,35 +29,59 @@
|
||||
#include "piiodevice.h"
|
||||
|
||||
|
||||
//! \ingroup IO
|
||||
//! \~\brief
|
||||
//! \~english SPI device.
|
||||
//! \~russian Устройство SPI.
|
||||
class PIP_EXPORT PISPI: public PIIODevice {
|
||||
PIIODEVICE(PISPI, "spi");
|
||||
|
||||
public:
|
||||
//! \~english Constructs %PISPI with path "path", speed "speed_hz" and mode "mode"
|
||||
//! \~russian Создаёт %PISPI с путём "path", скоростью "speed_hz" и режимом "mode"
|
||||
explicit PISPI(const PIString & path = PIString(), uint speed_hz = 1000000, PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
|
||||
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PISPI();
|
||||
|
||||
//! \brief Parameters of PISPI
|
||||
//! \~english Parameters of PISPI
|
||||
//! \~russian Параметры PISPI
|
||||
enum Parameters {
|
||||
ClockInverse /*! SPI clk polarity control*/ = 0x1,
|
||||
ClockPhaseShift /*! SPI clk phase control */ = 0x2,
|
||||
ClockInverse /*! \~english SPI clk polarity control \~russian Управление полярностью SPI clk */ = 0x1,
|
||||
ClockPhaseShift /*! \~english SPI clk phase control \~russian Управление фазой SPI clk */ = 0x2,
|
||||
};
|
||||
|
||||
//! \~english Set SPI speed in Hz
|
||||
//! \~russian Устанавливает скорость SPI в Гц
|
||||
void setSpeed(uint speed_hz);
|
||||
|
||||
//! \~english Returns current SPI speed in Hz
|
||||
//! \~russian Возвращает текущую скорость SPI в Гц
|
||||
uint speed() const { return spi_speed; }
|
||||
|
||||
//! \~english Set number of bits per word, default is 8
|
||||
//! \~russian Устанавливает количество бит на слово, по умолчанию 8
|
||||
void setBits(uchar bits = 8);
|
||||
|
||||
//! \~english Returns number of bits per word
|
||||
//! \~russian Возвращает количество бит на слово
|
||||
uchar bits() const { return spi_bits; }
|
||||
|
||||
//! Set parameters to "parameters_"
|
||||
//! \~english Set parameters to "parameters_"
|
||||
//! \~russian Устанавливает параметры в "parameters_"
|
||||
void setParameters(PIFlags<PISPI::Parameters> parameters_) { spi_mode = (int)parameters_; }
|
||||
|
||||
//! Set parameter "parameter" to "on" state
|
||||
//! \~english Set parameter "parameter" to "on" state
|
||||
//! \~russian Устанавливает параметр "parameter" в состояние "on"
|
||||
void setParameter(PISPI::Parameters parameter, bool on = true);
|
||||
|
||||
//! Returns if parameter "parameter" is set
|
||||
//! \~english Returns if parameter "parameter" is set
|
||||
//! \~russian Возвращает установлен ли параметр "parameter"
|
||||
bool isParameterSet(PISPI::Parameters parameter) const;
|
||||
|
||||
//! Returns parameters
|
||||
//! \~english Returns parameters
|
||||
//! \~russian Возвращает параметры
|
||||
PIFlags<PISPI::Parameters> parameters() const { return spi_mode; }
|
||||
|
||||
ssize_t bytesAvailable() const override;
|
||||
|
||||
@@ -62,13 +62,24 @@
|
||||
|
||||
struct usb_dev_handle;
|
||||
|
||||
//! \ingroup IO
|
||||
//! \~\brief
|
||||
//! \~english USB device.
|
||||
//! \~russian Устройство USB.
|
||||
class PIP_USB_EXPORT PIUSB: public PIIODevice {
|
||||
PIIODEVICE(PIUSB, "usb");
|
||||
|
||||
public:
|
||||
//! \~english Constructs %PIUSB with vendor ID "vid" and product ID "pid"
|
||||
//! \~russian Создаёт %PIUSB с идентификатором поставщика "vid" и идентификатором продукта "pid"
|
||||
explicit PIUSB(ushort vid = 0, ushort pid = 0);
|
||||
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PIUSB();
|
||||
|
||||
//! \~english USB endpoint structure
|
||||
//! \~russian Структура USB endpoint
|
||||
struct PIP_USB_EXPORT Endpoint {
|
||||
Endpoint(uchar a = 0, uchar at = 0, ushort mps = 0) {
|
||||
address = a;
|
||||
@@ -111,6 +122,8 @@ public:
|
||||
UsageType usage_type = DataEndpoint;
|
||||
};
|
||||
|
||||
//! \~english USB interface structure
|
||||
//! \~russian Структура USB интерфейса
|
||||
struct PIP_USB_EXPORT Interface {
|
||||
uchar index = 0;
|
||||
uchar value_to_select = 0;
|
||||
@@ -120,6 +133,8 @@ public:
|
||||
PIVector<PIUSB::Endpoint> endpoints;
|
||||
};
|
||||
|
||||
//! \~english USB configuration structure
|
||||
//! \~russian Структура USB конфигурации
|
||||
struct PIP_USB_EXPORT Configuration {
|
||||
uchar index = 0;
|
||||
uchar value_to_select = 0;
|
||||
@@ -130,6 +145,8 @@ public:
|
||||
PIVector<PIUSB::Interface> interfaces;
|
||||
};
|
||||
|
||||
//! \~english USB device descriptor structure
|
||||
//! \~russian Структура дескриптора USB устройства
|
||||
struct PIP_USB_EXPORT Descriptor {
|
||||
ushort usb_spec_number = 0;
|
||||
uchar device_class = 0;
|
||||
@@ -145,36 +162,100 @@ public:
|
||||
PIVector<PIUSB::Configuration> configurations;
|
||||
};
|
||||
|
||||
//! \~english Returns current device descriptor
|
||||
//! \~russian Возвращает текущий дескриптор устройства
|
||||
const PIUSB::Descriptor & currentDescriptor() const { return desc_; }
|
||||
|
||||
//! \~english Returns current configuration
|
||||
//! \~russian Возвращает текущую конфигурацию
|
||||
const PIUSB::Configuration & currentConfiguration() const { return conf_; }
|
||||
|
||||
//! \~english Returns current interface
|
||||
//! \~russian Возвращает текущий интерфейс
|
||||
const PIUSB::Interface & currentInterface() const { return iface_; }
|
||||
|
||||
//! \~english Returns vendor ID
|
||||
//! \~russian Возвращает ID поставщика
|
||||
ushort vendorID() const { return vid_; }
|
||||
|
||||
//! \~english Returns product ID
|
||||
//! \~russian Возвращает ID продукта
|
||||
ushort productID() const { return pid_; }
|
||||
|
||||
//! \~english Returns device number
|
||||
//! \~russian Возвращает номер устройства
|
||||
int deviceNumber() const { return property("deviceNumber").toInt(); }
|
||||
|
||||
//! \~english Returns read timeout in milliseconds
|
||||
//! \~russian Возвращает таймаут чтения в миллисекундах
|
||||
int timeoutRead() const { return property("timeoutRead").toInt(); }
|
||||
|
||||
//! \~english Returns write timeout in milliseconds
|
||||
//! \~russian Возвращает таймаут записи в миллисекундах
|
||||
int timeoutWrite() const { return property("timeoutWrite").toInt(); }
|
||||
|
||||
//! \~english Returns read endpoint
|
||||
//! \~russian Возвращает endpoint для чтения
|
||||
const PIUSB::Endpoint & endpointRead() const { return ep_read; }
|
||||
|
||||
//! \~english Returns write endpoint
|
||||
//! \~russian Возвращает endpoint для записи
|
||||
const PIUSB::Endpoint & endpointWrite() const { return ep_write; }
|
||||
|
||||
//! \~english Returns all endpoints
|
||||
//! \~russian Возвращает все endpoints
|
||||
const PIVector<PIUSB::Endpoint> & endpoints() const { return eps; }
|
||||
|
||||
//! \~english Returns read endpoints
|
||||
//! \~russian Возвращает endpoints для чтения
|
||||
PIVector<PIUSB::Endpoint> endpointsRead();
|
||||
|
||||
//! \~english Returns write endpoints
|
||||
//! \~russian Возвращает endpoints для записи
|
||||
PIVector<PIUSB::Endpoint> endpointsWrite();
|
||||
|
||||
//! \~english Returns endpoint by address
|
||||
//! \~russian Возвращает endpoint по адресу
|
||||
PIUSB::Endpoint getEndpointByAddress(uchar address);
|
||||
|
||||
//! \~english Set vendor ID to "vid"
|
||||
//! \~russian Устанавливает ID поставщика в "vid"
|
||||
void setVendorID(ushort vid);
|
||||
|
||||
//! \~english Set product ID to "pid"
|
||||
//! \~russian Устанавливает ID продукта в "pid"
|
||||
void setProductID(ushort pid);
|
||||
|
||||
//! \~english Set configuration by value
|
||||
//! \~russian Устанавливает конфигурацию по значению
|
||||
bool setConfiguration(uchar value);
|
||||
|
||||
//! \~english Set interface by value
|
||||
//! \~russian Устанавливает интерфейс по значению
|
||||
bool setInterface(uchar value);
|
||||
|
||||
//! \~english Set read endpoint
|
||||
//! \~russian Устанавливает endpoint для чтения
|
||||
void setEndpointRead(const PIUSB::Endpoint & ep) { ep_read = ep; }
|
||||
|
||||
//! \~english Set write endpoint
|
||||
//! \~russian Устанавливает endpoint для записи
|
||||
void setEndpointWrite(const PIUSB::Endpoint & ep) { ep_write = ep; }
|
||||
|
||||
//! \~english Set device number
|
||||
//! \~russian Устанавливает номер устройства
|
||||
void setDeviceNumber(int dn) { setProperty("deviceNumber", dn); }
|
||||
|
||||
//! \~english Set read timeout in milliseconds
|
||||
//! \~russian Устанавливает таймаут чтения в миллисекундах
|
||||
void setTimeoutRead(int t) { setProperty("timeoutRead", t); }
|
||||
|
||||
//! \~english Set write timeout in milliseconds
|
||||
//! \~russian Устанавливает таймаут записи в миллисекундах
|
||||
void setTimeoutWrite(int t) { setProperty("timeoutWrite", t); }
|
||||
|
||||
//! \~english Control write to device
|
||||
//! \~russian Управляющая запись в устройство
|
||||
int controlWrite(const void * data, int max_size);
|
||||
|
||||
virtual void flush() override;
|
||||
|
||||
Reference in New Issue
Block a user