|
QGroundControl
Ground Control Station for MAVLink Drones
|
Classes | |
| struct | JniContext |
| struct | JniMethodCache |
Enumerations | |
| enum | DataBits { Data5 = 5 , Data6 = 6 , Data7 = 7 , Data8 = 8 } |
| enum | Parity { NoParity = 0 , OddParity , EvenParity , MarkParity , SpaceParity } |
| enum | StopBits { OneStop = 1 , OneAndHalfStop = 3 , TwoStop = 2 } |
| enum | ControlLine { RtsControlLine = 0 , CtsControlLine , DtrControlLine , DsrControlLine , CdControlLine , RiControlLine } |
| enum | FlowControl { NoFlowControl = 0 , RtsCtsFlowControl , DtrDsrFlowControl , XonXoffFlowControl , XonXoffInlineFlowControl } |
Functions | |
| void | registerPointer (QSerialPortPrivate *ptr) |
| void | unregisterPointer (QSerialPortPrivate *ptr) |
| static QSerialPortPrivate * | lookupByToken (jlong token) |
| static jlong | lookupToken (QSerialPortPrivate *ptr) |
| static QSerialPort * | lookupPortByTokenLocked (jlong token) |
| template<typename Functor > | |
| static bool | dispatchToPortObject (QSerialPort *serialPort, Functor &&func, const char *context) |
| static bool | cacheMethodIds (JNIEnv *env, jclass javaClass) |
| static jclass | getSerialManagerClass () |
| void | cleanupJniCache () |
| static void | jniDeviceHasDisconnected (JNIEnv *env, jobject obj, jlong token) |
| static void | jniDeviceNewData (JNIEnv *env, jobject obj, jlong token, jbyteArray data) |
| static void | jniDeviceException (JNIEnv *env, jobject obj, jlong token, jstring message) |
| void | setNativeMethods () |
| static bool | getContext (JniContext &ctx, const char *caller) |
| QList< QSerialPortInfo > | availableDevices () |
| int | getDeviceId (const QString &portName) |
| int | getDeviceHandle (int deviceId) |
| int | open (const QString &portName, QSerialPortPrivate *classPtr) |
| bool | close (int deviceId) |
| bool | isOpen (const QString &portName) |
| QByteArray | read (int deviceId, int length, int timeout) |
| 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) |
| static bool | callBoolMethod (jmethodID method, int deviceId, const char *name) |
| static bool | callBoolSetMethod (jmethodID method, int deviceId, bool set, const char *name) |
| bool | getCarrierDetect (int deviceId) |
| bool | getClearToSend (int deviceId) |
| bool | getDataSetReady (int deviceId) |
| bool | getDataTerminalReady (int deviceId) |
| bool | getRingIndicator (int deviceId) |
| bool | getRequestToSend (int deviceId) |
| bool | setDataTerminalReady (int deviceId, bool set) |
| bool | setRequestToSend (int deviceId, bool set) |
| QSerialPort::PinoutSignals | getControlLines (int deviceId) |
| int | getFlowControl (int deviceId) |
| bool | setFlowControl (int deviceId, int flowControl) |
| bool | purgeBuffers (int deviceId, bool input, bool output) |
| bool | setBreak (int deviceId, bool set) |
| bool | startReadThread (int deviceId) |
| bool | stopReadThread (int deviceId) |
| bool | readThreadRunning (int deviceId) |
Variables | |
| static QReadWriteLock | s_ptrLock |
| static QHash< jlong, QSerialPortPrivate * > | s_tokenToPtr |
| static QHash< QSerialPortPrivate *, jlong > | s_ptrToToken |
| static JniMethodCache | s_methods |
| static bool | s_methodsCached = false |
| static QMutex | s_cacheLock |
| static jclass | s_serialManagerClass = nullptr |
| constexpr char | CHAR_XON = 17 |
| constexpr char | CHAR_XOFF = 19 |
| constexpr const char * | kJniUsbSerialManagerClassName = "org/mavlink/qgroundcontrol/QGCUsbSerialManager" |
| Enumerator | |
|---|---|
| RtsControlLine | |
| CtsControlLine | |
| DtrControlLine | |
| DsrControlLine | |
| CdControlLine | |
| RiControlLine | |
Definition at line 38 of file AndroidSerial.h.
| Enumerator | |
|---|---|
| Data5 | |
| Data6 | |
| Data7 | |
| Data8 | |
Definition at line 14 of file AndroidSerial.h.
| Enumerator | |
|---|---|
| NoFlowControl | |
| RtsCtsFlowControl | |
| DtrDsrFlowControl | |
| XonXoffFlowControl | |
| XonXoffInlineFlowControl | |
Definition at line 48 of file AndroidSerial.h.
| Enumerator | |
|---|---|
| NoParity | |
| OddParity | |
| EvenParity | |
| MarkParity | |
| SpaceParity | |
Definition at line 22 of file AndroidSerial.h.
| Enumerator | |
|---|---|
| OneStop | |
| OneAndHalfStop | |
| TwoStop | |
Definition at line 31 of file AndroidSerial.h.
| QList< QSerialPortInfo > AndroidSerial::availableDevices | ( | ) |
Definition at line 482 of file AndroidSerial.cc.
References availableDevices(), AndroidSerial::JniMethodCache::availableDevicesInfo, AndroidSerial::JniContext::cls, QSerialPortInfoPrivate::description, QSerialPortInfoPrivate::device, AndroidSerial::JniContext::env, AndroidInterface::JniLocalRef< T >::get(), getContext(), QSerialPortInfoPrivate::hasProductIdentifier, QSerialPortInfoPrivate::hasVendorIdentifier, INVALID_DEVICE_ID, QSerialPortInfoPrivate::manufacturer, QSerialPortInfoPrivate::portName, QSerialPortInfoPrivate::portNameFromSystemLocation(), QSerialPortInfoPrivate::productIdentifier, s_methods, QSerialPortInfoPrivate::serialNumber, and QSerialPortInfoPrivate::vendorIdentifier.
Referenced by availableDevices().
|
static |
Definition at line 169 of file AndroidSerial.cc.
References AndroidSerial::JniMethodCache::availableDevicesInfo, AndroidSerial::JniMethodCache::close, AndroidSerial::JniMethodCache::getCarrierDetect, AndroidSerial::JniMethodCache::getClearToSend, AndroidSerial::JniMethodCache::getControlLines, AndroidSerial::JniMethodCache::getDataSetReady, AndroidSerial::JniMethodCache::getDataTerminalReady, AndroidSerial::JniMethodCache::getDeviceHandle, AndroidSerial::JniMethodCache::getDeviceId, AndroidSerial::JniMethodCache::getFlowControl, AndroidSerial::JniMethodCache::getRequestToSend, AndroidSerial::JniMethodCache::getRingIndicator, AndroidSerial::JniMethodCache::ioManagerRunning, AndroidSerial::JniMethodCache::isDeviceNameOpen, AndroidSerial::JniMethodCache::open, AndroidSerial::JniMethodCache::purgeBuffers, AndroidSerial::JniMethodCache::read, s_methods, s_methodsCached, AndroidSerial::JniMethodCache::setBreak, AndroidSerial::JniMethodCache::setDataTerminalReady, AndroidSerial::JniMethodCache::setFlowControl, AndroidSerial::JniMethodCache::setParameters, AndroidSerial::JniMethodCache::setRequestToSend, AndroidSerial::JniMethodCache::startIoManager, AndroidSerial::JniMethodCache::stopIoManager, AndroidSerial::JniMethodCache::write, and AndroidSerial::JniMethodCache::writeAsync.
Referenced by getSerialManagerClass().
|
static |
Definition at line 757 of file AndroidSerial.cc.
References callBoolMethod(), AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, and getContext().
Referenced by callBoolMethod(), getCarrierDetect(), getClearToSend(), getDataSetReady(), getDataTerminalReady(), getRequestToSend(), getRingIndicator(), readThreadRunning(), startReadThread(), and stopReadThread().
|
static |
Definition at line 772 of file AndroidSerial.cc.
References callBoolSetMethod(), AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, and getContext().
Referenced by callBoolSetMethod(), setBreak(), setDataTerminalReady(), and setRequestToSend().
| void AndroidSerial::cleanupJniCache | ( | ) |
Definition at line 272 of file AndroidSerial.cc.
References s_cacheLock, s_methods, s_methodsCached, and s_serialManagerClass.
Referenced by JNI_OnUnload().
| bool AndroidSerial::close | ( | int | deviceId | ) |
Definition at line 616 of file AndroidSerial.cc.
References AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniMethodCache::close, close(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), and s_methods.
Referenced by QSerialPortPrivate::close(), and close().
|
static |
Definition at line 98 of file AndroidSerial.cc.
Referenced by jniDeviceException(), and jniDeviceHasDisconnected().
| bool AndroidSerial::getCarrierDetect | ( | int | deviceId | ) |
Definition at line 792 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getCarrierDetect, getCarrierDetect(), and s_methods.
Referenced by getCarrierDetect().
| bool AndroidSerial::getClearToSend | ( | int | deviceId | ) |
Definition at line 797 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getClearToSend, getClearToSend(), and s_methods.
Referenced by getClearToSend().
|
static |
Definition at line 461 of file AndroidSerial.cc.
References AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), getSerialManagerClass(), and AndroidSerial::JniContext::valid.
Referenced by availableDevices(), callBoolMethod(), callBoolSetMethod(), close(), getContext(), getControlLines(), getDeviceHandle(), getDeviceId(), getFlowControl(), isOpen(), open(), purgeBuffers(), read(), setFlowControl(), setParameters(), and write().
| QSerialPort::PinoutSignals AndroidSerial::getControlLines | ( | int | deviceId | ) |
Definition at line 832 of file AndroidSerial.cc.
References CdControlLine, QSerialPort::ClearToSendSignal, AndroidSerial::JniContext::cls, CtsControlLine, QSerialPort::DataCarrierDetectSignal, QSerialPort::DataSetReadySignal, QSerialPort::DataTerminalReadySignal, DsrControlLine, DtrControlLine, AndroidSerial::JniContext::env, AndroidInterface::JniLocalRef< T >::get(), getContext(), AndroidSerial::JniMethodCache::getControlLines, getControlLines(), QSerialPort::RequestToSendSignal, RiControlLine, QSerialPort::RingIndicatorSignal, RtsControlLine, and s_methods.
Referenced by getControlLines(), and QSerialPortPrivate::pinoutSignals().
| bool AndroidSerial::getDataSetReady | ( | int | deviceId | ) |
Definition at line 802 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getDataSetReady, getDataSetReady(), and s_methods.
Referenced by getDataSetReady().
| bool AndroidSerial::getDataTerminalReady | ( | int | deviceId | ) |
Definition at line 807 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getDataTerminalReady, getDataTerminalReady(), and s_methods.
Referenced by getDataTerminalReady().
| int AndroidSerial::getDeviceHandle | ( | int | deviceId | ) |
Definition at line 565 of file AndroidSerial.cc.
References AndroidInterface::callStaticIntMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), AndroidSerial::JniMethodCache::getDeviceHandle, getDeviceHandle(), and s_methods.
Referenced by getDeviceHandle(), and QSerialPortPrivate::open().
| int AndroidSerial::getDeviceId | ( | const QString & | portName | ) |
Definition at line 544 of file AndroidSerial.cc.
References AndroidInterface::callStaticIntMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), AndroidSerial::JniMethodCache::getDeviceId, getDeviceId(), and s_methods.
Referenced by getDeviceId().
| int AndroidSerial::getFlowControl | ( | int | deviceId | ) |
Definition at line 897 of file AndroidSerial.cc.
References AndroidInterface::callStaticIntMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), AndroidSerial::JniMethodCache::getFlowControl, getFlowControl(), QSerialPort::NoFlowControl, and s_methods.
Referenced by getFlowControl().
| bool AndroidSerial::getRequestToSend | ( | int | deviceId | ) |
Definition at line 817 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getRequestToSend, getRequestToSend(), and s_methods.
Referenced by getRequestToSend().
| bool AndroidSerial::getRingIndicator | ( | int | deviceId | ) |
Definition at line 812 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::getRingIndicator, getRingIndicator(), and s_methods.
Referenced by getRingIndicator().
|
static |
Definition at line 225 of file AndroidSerial.cc.
References cacheMethodIds(), kJniUsbSerialManagerClassName, s_cacheLock, s_methods, s_methodsCached, and s_serialManagerClass.
Referenced by getContext(), and setNativeMethods().
| bool AndroidSerial::isOpen | ( | const QString & | portName | ) |
Definition at line 631 of file AndroidSerial.cc.
References AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), AndroidSerial::JniMethodCache::isDeviceNameOpen, isOpen(), and s_methods.
Referenced by isOpen().
|
static |
Definition at line 408 of file AndroidSerial.cc.
References dispatchToPortObject(), jniDeviceException(), lookupPortByTokenLocked(), and s_ptrLock.
Referenced by jniDeviceException(), and setNativeMethods().
|
static |
Definition at line 321 of file AndroidSerial.cc.
References dispatchToPortObject(), lookupPortByTokenLocked(), and s_ptrLock.
Referenced by setNativeMethods().
|
static |
Definition at line 361 of file AndroidSerial.cc.
References jniDeviceNewData(), MAX_READ_SIZE, QSerialPortPrivate::newDataArrived(), s_ptrLock, and s_tokenToPtr.
Referenced by jniDeviceNewData(), and setNativeMethods().
|
static |
Definition at line 75 of file AndroidSerial.cc.
References s_ptrLock, and s_tokenToPtr.
|
static |
Definition at line 87 of file AndroidSerial.cc.
References s_tokenToPtr.
Referenced by jniDeviceException(), and jniDeviceHasDisconnected().
|
static |
Definition at line 81 of file AndroidSerial.cc.
References s_ptrLock, and s_ptrToToken.
Referenced by open().
| int AndroidSerial::open | ( | const QString & | portName, |
| QSerialPortPrivate * | classPtr | ||
| ) |
Definition at line 584 of file AndroidSerial.cc.
References AndroidInterface::callStaticIntMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), INVALID_DEVICE_ID, lookupToken(), AndroidSerial::JniMethodCache::open, open(), and s_methods.
Referenced by open(), and QSerialPortPrivate::open().
| bool AndroidSerial::purgeBuffers | ( | int | deviceId, |
| bool | input, | ||
| bool | output | ||
| ) |
Definition at line 932 of file AndroidSerial.cc.
References AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), AndroidSerial::JniMethodCache::purgeBuffers, purgeBuffers(), and s_methods.
Referenced by QSerialPortPrivate::clear(), and purgeBuffers().
| QByteArray AndroidSerial::read | ( | int | deviceId, |
| int | length, | ||
| int | timeout | ||
| ) |
Definition at line 656 of file AndroidSerial.cc.
References AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, AndroidInterface::JniLocalRef< T >::get(), getContext(), AndroidSerial::JniMethodCache::read, read(), and s_methods.
Referenced by read().
| bool AndroidSerial::readThreadRunning | ( | int | deviceId | ) |
Definition at line 970 of file AndroidSerial.cc.
References callBoolMethod(), AndroidSerial::JniMethodCache::ioManagerRunning, readThreadRunning(), and s_methods.
Referenced by readThreadRunning(), and QSerialPortPrivate::startAsyncRead().
| void AndroidSerial::registerPointer | ( | QSerialPortPrivate * | ptr | ) |
Definition at line 37 of file AndroidSerial.cc.
References s_ptrLock, s_ptrToToken, and s_tokenToPtr.
Referenced by QSerialPortPrivate::open().
| bool AndroidSerial::setBreak | ( | int | deviceId, |
| bool | set | ||
| ) |
Definition at line 951 of file AndroidSerial.cc.
References callBoolSetMethod(), s_methods, AndroidSerial::JniMethodCache::setBreak, and setBreak().
Referenced by setBreak(), and QSerialPortPrivate::setBreakEnabled().
| bool AndroidSerial::setDataTerminalReady | ( | int | deviceId, |
| bool | set | ||
| ) |
Definition at line 822 of file AndroidSerial.cc.
References callBoolSetMethod(), s_methods, AndroidSerial::JniMethodCache::setDataTerminalReady, and setDataTerminalReady().
Referenced by QSerialPortPrivate::setDataTerminalReady(), and setDataTerminalReady().
| bool AndroidSerial::setFlowControl | ( | int | deviceId, |
| int | flowControl | ||
| ) |
Definition at line 912 of file AndroidSerial.cc.
References AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), s_methods, AndroidSerial::JniMethodCache::setFlowControl, and setFlowControl().
Referenced by setFlowControl(), and QSerialPortPrivate::setFlowControl().
| void AndroidSerial::setNativeMethods | ( | ) |
Definition at line 293 of file AndroidSerial.cc.
References getSerialManagerClass(), jniDeviceException(), jniDeviceHasDisconnected(), jniDeviceNewData(), and kJniUsbSerialManagerClassName.
Referenced by JNI_OnLoad().
| bool AndroidSerial::setParameters | ( | int | deviceId, |
| int | baudRate, | ||
| int | dataBits, | ||
| int | stopBits, | ||
| int | parity | ||
| ) |
Definition at line 736 of file AndroidSerial.cc.
References AndroidInterface::callStaticBooleanMethod(), AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, getContext(), s_methods, AndroidSerial::JniMethodCache::setParameters, and setParameters().
Referenced by setParameters().
| bool AndroidSerial::setRequestToSend | ( | int | deviceId, |
| bool | set | ||
| ) |
Definition at line 827 of file AndroidSerial.cc.
References callBoolSetMethod(), s_methods, AndroidSerial::JniMethodCache::setRequestToSend, and setRequestToSend().
Referenced by QSerialPortPrivate::setRequestToSend(), and setRequestToSend().
| bool AndroidSerial::startReadThread | ( | int | deviceId | ) |
Definition at line 960 of file AndroidSerial.cc.
References callBoolMethod(), s_methods, AndroidSerial::JniMethodCache::startIoManager, and startReadThread().
Referenced by QSerialPortPrivate::startAsyncRead(), and startReadThread().
| bool AndroidSerial::stopReadThread | ( | int | deviceId | ) |
Definition at line 965 of file AndroidSerial.cc.
References callBoolMethod(), s_methods, AndroidSerial::JniMethodCache::stopIoManager, and stopReadThread().
Referenced by stopReadThread().
| void AndroidSerial::unregisterPointer | ( | QSerialPortPrivate * | ptr | ) |
Definition at line 61 of file AndroidSerial.cc.
References s_ptrLock, s_ptrToToken, and s_tokenToPtr.
Referenced by QSerialPortPrivate::close(), and QSerialPortPrivate::open().
| int AndroidSerial::write | ( | int | deviceId, |
| const char * | data, | ||
| int | length, | ||
| int | timeout, | ||
| bool | async | ||
| ) |
Definition at line 691 of file AndroidSerial.cc.
References AndroidSerial::JniContext::cls, AndroidSerial::JniContext::env, AndroidInterface::JniLocalRef< T >::get(), getContext(), s_methods, AndroidSerial::JniMethodCache::write, and AndroidSerial::JniMethodCache::writeAsync.
|
constexpr |
Definition at line 58 of file AndroidSerial.h.
|
constexpr |
Definition at line 57 of file AndroidSerial.h.
|
constexpr |
Definition at line 60 of file AndroidSerial.h.
Referenced by getSerialManagerClass(), and setNativeMethods().
|
static |
Definition at line 166 of file AndroidSerial.cc.
Referenced by cleanupJniCache(), and getSerialManagerClass().
|
static |
Definition at line 164 of file AndroidSerial.cc.
Referenced by availableDevices(), cacheMethodIds(), cleanupJniCache(), close(), getCarrierDetect(), getClearToSend(), getControlLines(), getDataSetReady(), getDataTerminalReady(), getDeviceHandle(), getDeviceId(), getFlowControl(), getRequestToSend(), getRingIndicator(), getSerialManagerClass(), isOpen(), open(), purgeBuffers(), read(), readThreadRunning(), setBreak(), setDataTerminalReady(), setFlowControl(), setParameters(), setRequestToSend(), startReadThread(), stopReadThread(), and write().
|
static |
Definition at line 165 of file AndroidSerial.cc.
Referenced by cacheMethodIds(), cleanupJniCache(), and getSerialManagerClass().
|
static |
Definition at line 33 of file AndroidSerial.cc.
Referenced by jniDeviceException(), jniDeviceHasDisconnected(), jniDeviceNewData(), lookupByToken(), lookupToken(), registerPointer(), and unregisterPointer().
|
static |
Definition at line 35 of file AndroidSerial.cc.
Referenced by lookupToken(), registerPointer(), and unregisterPointer().
|
static |
Definition at line 167 of file AndroidSerial.cc.
Referenced by cleanupJniCache(), and getSerialManagerClass().
|
static |
Definition at line 34 of file AndroidSerial.cc.
Referenced by jniDeviceNewData(), lookupByToken(), lookupPortByTokenLocked(), registerPointer(), and unregisterPointer().