diff options
-rw-r--r-- | main.cpp | 3 | ||||
-rw-r--r-- | qtserialbluetooth.cpp | 6 |
2 files changed, 8 insertions, 1 deletions
@@ -15,6 +15,7 @@ #include <QStringList> #include <QApplication> +#include <QLoggingCategory> #include <git2.h> QTranslator *qtTranslator, *ssrfTranslator; @@ -23,7 +24,7 @@ int main(int argc, char **argv) { int i; bool no_filenames = true; - + QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); QStringList files; QStringList importedFiles; diff --git a/qtserialbluetooth.cpp b/qtserialbluetooth.cpp index b71845657..1f0ed6b47 100644 --- a/qtserialbluetooth.cpp +++ b/qtserialbluetooth.cpp @@ -4,6 +4,7 @@ #include <QtBluetooth/QBluetoothSocket> #include <QEventLoop> #include <QTimer> +#include <QDebug> #include <libdivecomputer/custom_serial.h> @@ -57,16 +58,19 @@ static int qt_serial_open(serial_t **out, dc_context_t *context, const char* dev if (serial_port->socket->state() == QBluetoothSocket::ConnectingState) { // It seems that the connection on channel 1 took more than expected. Wait another 15 seconds + qDebug() << "The connection on RFCOMM channel number 1 took more than expected. Wait another 15 seconds."; timer.start(3 * msec); loop.exec(); } else if (serial_port->socket->state() == QBluetoothSocket::UnconnectedState) { // Try to connect on channel number 5. Maybe this is a Shearwater Petrel2 device. + qDebug() << "Connection on channel 1 failed. Trying on channel number 5."; serial_port->socket->connectToService(remoteDeviceAddress, 5); timer.start(msec); loop.exec(); if (serial_port->socket->state() == QBluetoothSocket::ConnectingState) { // It seems that the connection on channel 5 took more than expected. Wait another 15 seconds + qDebug() << "The connection on RFCOMM channel number 5 took more than expected. Wait another 15 seconds."; timer.start(3 * msec); loop.exec(); } @@ -77,6 +81,8 @@ static int qt_serial_open(serial_t **out, dc_context_t *context, const char* dev // Get the latest error and try to match it with one from libdivecomputer QBluetoothSocket::SocketError err = serial_port->socket->error(); + qDebug() << "Failed to connect to device " << devaddr << ". Device state " << serial_port->socket->state() << ". Error: " << err; + switch(err) { case QBluetoothSocket::HostNotFoundError: case QBluetoothSocket::ServiceNotFoundError: |