diff options
-rw-r--r-- | examples/serialbus/can/mainwindow.cpp | 25 | ||||
-rw-r--r-- | examples/serialbus/can/mainwindow.ui | 16 |
2 files changed, 33 insertions, 8 deletions
diff --git a/examples/serialbus/can/mainwindow.cpp b/examples/serialbus/can/mainwindow.cpp index 16bf947..3c3458e 100644 --- a/examples/serialbus/can/mainwindow.cpp +++ b/examples/serialbus/can/mainwindow.cpp @@ -172,6 +172,16 @@ void MainWindow::framesWritten(qint64 count) qDebug() << "Number of frames written:" << count; } +static QByteArray dataToHex(const QByteArray &data) +{ + QByteArray result = data.toHex().toUpper(); + + for (int i = 0; i < result.size(); i += 3) + result.insert(i, ' '); + + return result; +} + void MainWindow::checkMessages() { if (!m_canDevice) @@ -191,11 +201,11 @@ void MainWindow::checkMessages() interpretError(view, frame); } else { view += QLatin1String("Id: "); - view += QString::number(id, 16); + view += QString::number(id, 16).toUpper(); view += QLatin1String(" bytes: "); view += QString::number(dataLength, 10); view += QLatin1String(" data: "); - view += frame.payload().data(); + view += dataToHex(frame.payload()); } if (frame.frameType() == QCanBusFrame::RemoteRequestFrame) { @@ -207,12 +217,19 @@ void MainWindow::checkMessages() } } +static QByteArray dataFromHex(const QString &hex) +{ + QByteArray line = hex.toLatin1(); + line.replace(' ', QByteArray()); + return QByteArray::fromHex(line); +} + void MainWindow::sendMessage() const { if (!m_canDevice) return; - QByteArray writings = m_ui->lineEdit->displayText().toUtf8(); + QByteArray writings = dataFromHex(m_ui->lineEdit->displayText()); QCanBusFrame frame; const int maxPayload = m_ui->fdBox->checkState() ? 64 : 8; @@ -222,7 +239,7 @@ void MainWindow::sendMessage() const writings = writings.left(size); frame.setPayload(writings); - qint32 id = m_ui->idEdit->displayText().toInt(); + qint32 id = m_ui->idEdit->displayText().toInt(nullptr, 16); if (!m_ui->EFF->checkState() && id > 2047) //11 bits id = 2047; diff --git a/examples/serialbus/can/mainwindow.ui b/examples/serialbus/can/mainwindow.ui index 26c7489..d2f178b 100644 --- a/examples/serialbus/can/mainwindow.ui +++ b/examples/serialbus/can/mainwindow.ui @@ -26,12 +26,16 @@ <item row="0" column="0"> <widget class="QLabel" name="label"> <property name="text"> - <string>Id</string> + <string>ID (hex)</string> </property> </widget> </item> <item row="0" column="1"> - <widget class="QLineEdit" name="idEdit"/> + <widget class="QLineEdit" name="idEdit"> + <property name="placeholderText"> + <string>123</string> + </property> + </widget> </item> <item row="0" column="2" rowspan="3"> <widget class="QGroupBox" name="groupBox"> @@ -92,12 +96,16 @@ </widget> </item> <item row="1" column="1"> - <widget class="QLineEdit" name="lineEdit"/> + <widget class="QLineEdit" name="lineEdit"> + <property name="placeholderText"> + <string>12 34 AB CE</string> + </property> + </widget> </item> <item row="1" column="0"> <widget class="QLabel" name="label_2"> <property name="text"> - <string>Data</string> + <string>Data (hex)</string> </property> </widget> </item> |