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);
75bool setParameters(int deviceId, int baudRate, int dataBits, int stopBits, int parity);
76bool getCarrierDetect(int deviceId);
77bool getClearToSend(int deviceId);
78bool getDataSetReady(int deviceId);
79bool getDataTerminalReady(int deviceId);
80bool setDataTerminalReady(int deviceId, bool set);
81bool getRingIndicator(int deviceId);
82bool getRequestToSend(int deviceId);
83bool setRequestToSend(int deviceId, bool set);
84QSerialPort::PinoutSignals getControlLines(int deviceId);
85int getFlowControl(int deviceId);
86bool setFlowControl(int deviceId, int flowControl);
87bool purgeBuffers(int deviceId, bool input, bool output);
88bool setBreak(int deviceId, bool set);
89bool startReadThread(int deviceId);
90bool stopReadThread(int deviceId);
91bool readThreadRunning(int deviceId);
92
95void cleanupJniCache();
96} // 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
void unregisterPointer(QSerialPortPrivate *ptr)
int getDeviceId(const QString &portName)
bool usePosixSerial()
bool setDataTerminalReady(int deviceId, bool set)
void setNativeMethods()
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)
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)