QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
AndroidSerial.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QByteArray>
4#include <QtCore/QString>
5#include <qserialport.h>
6#include <qserialportinfo.h>
7
9
10namespace AndroidSerial {
12{
13 Data5 = 5,
14 Data6 = 6,
15 Data7 = 7,
16 Data8 = 8
17};
18
27
29{
32 TwoStop = 2
33};
34
44
53
54constexpr char CHAR_XON = 17;
55constexpr char CHAR_XOFF = 19;
56
57constexpr const char* kJniUsbSerialManagerClassName = "org/mavlink/qgroundcontrol/QGCUsbSerialManager";
58
59// POSIX serial backend (devices which expose accessible /dev/tty* nodes, e.g. rooted devices).
60// The backend is selected once at startup from the androidUsePosixSerial app setting.
61void setUsePosixSerial(bool use);
62bool usePosixSerial();
64QList<QSerialPortInfo> availablePosixPorts();
65
66void setNativeMethods();
67QList<QSerialPortInfo> availableDevices();
68int getDeviceId(const QString& portName);
69int getDeviceHandle(int deviceId);
70int open(const QString& portName, QSerialPortPrivate* classPtr);
71bool close(int deviceId);
72bool isOpen(const QString& portName);
73QByteArray read(int deviceId, int length, int timeout);
74int write(int deviceId, const char* data, int length, int timeout, bool async);
76int writeWithProgress(int deviceId, const char* data, int length, int timeout);
77bool setParameters(int deviceId, int baudRate, int dataBits, int stopBits, int parity);
78bool getCarrierDetect(int deviceId);
79bool getClearToSend(int deviceId);
80bool getDataSetReady(int deviceId);
81bool getDataTerminalReady(int deviceId);
82bool setDataTerminalReady(int deviceId, bool set);
83// 1: supported, 0: unsupported, -1: capability query failed.
84int dataTerminalReadySupport(int deviceId);
85bool getRingIndicator(int deviceId);
86bool getRequestToSend(int deviceId);
87bool setRequestToSend(int deviceId, bool set);
88// 1: supported, 0: unsupported, -1: capability query failed.
89int requestToSendSupport(int deviceId);
90QSerialPort::PinoutSignals getControlLines(int deviceId);
91int getFlowControl(int deviceId);
92bool setFlowControl(int deviceId, int flowControl);
93bool purgeBuffers(int deviceId, bool input, bool output);
94bool setBreak(int deviceId, bool set);
95bool startReadThread(int deviceId);
96bool stopReadThread(int deviceId);
97bool readThreadRunning(int deviceId);
98
101void cleanupJniCache();
102} // namespace AndroidSerial
int open(const QString &portName, QSerialPortPrivate *classPtr)
bool getRingIndicator(int deviceId)
void registerPointer(QSerialPortPrivate *ptr)
QByteArray read(int deviceId, int length, int timeout)
int getDeviceHandle(int deviceId)
QList< QSerialPortInfo > availableDevices()
bool getRequestToSend(int deviceId)
bool getDataTerminalReady(int deviceId)
constexpr const char * kJniUsbSerialManagerClassName
int writeWithProgress(int deviceId, const char *data, int length, int timeout)
Returns bytes written, fewer than length on timeout, or -1 on error. A zero timeout waits without lim...
void unregisterPointer(QSerialPortPrivate *ptr)
int getDeviceId(const QString &portName)
bool usePosixSerial()
bool setDataTerminalReady(int deviceId, bool set)
void setNativeMethods()
int requestToSendSupport(int deviceId)
QList< QSerialPortInfo > availablePosixPorts()
int write(int deviceId, const char *data, int length, int timeout, bool async)
bool setParameters(int deviceId, int baudRate, int dataBits, int stopBits, int parity)
bool startReadThread(int deviceId)
int getFlowControl(int deviceId)
QSerialPort::PinoutSignals getControlLines(int deviceId)
bool getDataSetReady(int deviceId)
bool setRequestToSend(int deviceId, bool set)
bool getClearToSend(int deviceId)
bool purgeBuffers(int deviceId, bool input, bool output)
bool getCarrierDetect(int deviceId)
bool isOpen(const QString &portName)
bool readThreadRunning(int deviceId)
bool close(int deviceId)
bool stopReadThread(int deviceId)
int dataTerminalReadySupport(int deviceId)
void setUsePosixSerial(bool use)
bool hasPosixSerialPorts()
constexpr char CHAR_XON
bool setFlowControl(int deviceId, int flowControl)
constexpr char CHAR_XOFF
bool setBreak(int deviceId, bool set)