From 6f2e4cec3983ca9bc316bab457e7b771494f6824 Mon Sep 17 00:00:00 2001 From: zcy <290198252@qq.com> Date: Thu, 29 Apr 2021 22:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E7=BB=9C=E9=83=A8=E5=88=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protoDebuger/NetSelect.qml | 40 +++++++++++++----- protoDebuger/network_controller.cpp | 14 ++++--- protoDebuger/network_controller.h | 12 +++--- protoDebuger/sharedata.cpp | 64 +++++++++++++++++------------ protoDebuger/sharedata.h | 18 ++++---- 5 files changed, 93 insertions(+), 55 deletions(-) diff --git a/protoDebuger/NetSelect.qml b/protoDebuger/NetSelect.qml index e42ad9d..2294c71 100644 --- a/protoDebuger/NetSelect.qml +++ b/protoDebuger/NetSelect.qml @@ -49,7 +49,7 @@ Item { id: textEdit Layout.leftMargin: 20 Layout.topMargin: 20 - width: 233 + width: 80 height: 40 text: qsTr("9001") font.italic: false @@ -61,6 +61,26 @@ Item { cursorVisible: true font.pixelSize: 20 } + RadioButton { + id: radioButton + Layout.leftMargin: 20 + Layout.topMargin: 20 + width: 138 + height: 41 + text: qsTr("服务端") + checkable: true + checked: true + + + onClicked:{ + if(radioButton.checked == true){ + radioButton.checked = false + }else{ + radioButton.checked = true + } + + } + } } RowLayout{ @@ -91,7 +111,7 @@ Item { ] } RadioButton { - id: radioButton + id: radioSelectWebsocket Layout.leftMargin: 20 Layout.topMargin: 20 width: 138 @@ -100,16 +120,11 @@ Item { checkable: true checked: true onCheckableChanged: { - console.log(radioButton.checkable) + checked = ~checked } onClicked:{ - if(radioButton.checked == true){ - radioButton.checked = false - }else{ - radioButton.checked = true - } - + radioSelectWebsocket.checked = ~radioSelectWebsocket.checked } } } @@ -121,7 +136,7 @@ Item { id: label8 Layout.leftMargin: 20 Layout.topMargin: 20 - text: qsTr("客户端/服务端地址: ") + text: qsTr("地址: ") Layout.preferredHeight: 40 renderType: Text.QtRendering wrapMode: Text.NoWrap @@ -155,7 +170,12 @@ Item { height: 52 text: qsTr("打开网口") + onClicked: { + let ret = DataWrap.openNetwork() + + } } + } diff --git a/protoDebuger/network_controller.cpp b/protoDebuger/network_controller.cpp index ee9d812..57c647e 100644 --- a/protoDebuger/network_controller.cpp +++ b/protoDebuger/network_controller.cpp @@ -1,7 +1,7 @@ #include "network_controller.h" -network_controller::network_controller(network_controller::NetWorkType type, QString ip, uint16_t port) +NetworkController::NetworkController(NetworkController::NetWorkType type, QString ip, uint16_t port) { if(type == NetWorkType::TYPE_TCP_CLIENT){ mTcp = new QTcpSocket(); @@ -11,21 +11,25 @@ network_controller::network_controller(network_controller::NetWorkType type, QSt QObject::connect(mTcp, SIGNAL(disconnected()), this, SLOT(on_disconect())); mTcp->connectToHost(ip,port,QIODevice::ReadWrite); - } } -network_controller::~network_controller() +int NetworkController::SendData(int8_t *data, uint32_t len) +{ + return mTcp->write((const char *)data,len); +} + +NetworkController::~NetworkController() { } -void network_controller::on_ready_read() +void NetworkController::on_ready_read() { } -void network_controller::on_disconect() +void NetworkController::on_disconect() { } diff --git a/protoDebuger/network_controller.h b/protoDebuger/network_controller.h index 1126a92..ea462a7 100644 --- a/protoDebuger/network_controller.h +++ b/protoDebuger/network_controller.h @@ -8,18 +8,20 @@ #include -class network_controller : public QObject +class NetworkController : public QObject { Q_OBJECT +public: typedef enum{ - TYPE_UDP_SERVER, + TYPE_UDP_SERVER = 0, TYPE_TCP_SERVER, TYPE_UDP_CLIENT, TYPE_TCP_CLIENT, }NetWorkType; -public: - network_controller(NetWorkType type,QString ip,uint16_t port); - ~network_controller(); + + NetworkController(NetWorkType type,QString ip,uint16_t port); + int SendData(int8_t *data,uint32_t len); + ~NetworkController(); public slots: void on_ready_read(); diff --git a/protoDebuger/sharedata.cpp b/protoDebuger/sharedata.cpp index 0a7997f..c79a461 100644 --- a/protoDebuger/sharedata.cpp +++ b/protoDebuger/sharedata.cpp @@ -5,22 +5,22 @@ #include ShareData::ShareData(QObject *parent) : QObject(parent), - mView(nullptr), - mLuaStatus(false) + m_qml_view_(nullptr), + m_luavm_status_(false) { - mSerialController = new SerialController(nullptr); + m_serial_controller_ = new SerialController(nullptr); QFile file("Test.lua"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return; QTextStream in(&file); - mLuaScript = in.readAll(); - qDebug()<< mLuaScript; - int ret = mLua.DoString(mLuaScript); + m_lua_string = in.readAll(); + qDebug()<< m_lua_string; + int ret = m_lua_.DoString(m_lua_string); if(ret < 0){ qDebug()<<"默认lua脚本加载错误"; }else{ - mLuaStatus = true; + m_luavm_status_ = true; } } @@ -33,36 +33,36 @@ int ShareData::SetQuickView(QQuickView *view) } - this->mView = view; + this->m_qml_view_ = view; QObject *qmlObject = view->findChild("SerialSelect", Qt::FindChildOption::FindChildrenRecursively); if(nullptr != qmlObject) qmlObject->setProperty("comlist",comList); - mProtoDebug = view->findChild("ProtoDebug", + m_qml_protodebug_ = view->findChild("ProtoDebug", Qt::FindChildOption::FindChildrenRecursively); - if(nullptr != mProtoDebug) - mProtoDebug->setProperty("lua_script_text",mLuaScript); + if(nullptr != m_qml_protodebug_) + m_qml_protodebug_->setProperty("lua_script_text",m_lua_string); } int ShareData::OnDataRecv(QByteArray arr) { - if(mLuaStatus) - mLua.OnDataRecv(QString(arr)); + if(m_luavm_status_) + m_lua_.OnDataRecv(QString(arr)); } int ShareData::ShowDataInQML(QString x) { - if(nullptr != mProtoDebug){ - QMetaObject::invokeMethod(mProtoDebug, "addString",Q_ARG(QVariant, x)); + if(nullptr != m_qml_protodebug_){ + QMetaObject::invokeMethod(m_qml_protodebug_, "addString",Q_ARG(QVariant, x)); } } int ShareData::SendUartData(const char *data) { if(nullptr != data){ - this->mSerialController->SendData((uint8_t *)data,strlen(data)); + this->m_serial_controller_->SendData((uint8_t *)data,strlen(data)); return 0; } return -1; @@ -71,17 +71,27 @@ int ShareData::SendUartData(const char *data) int ShareData::openUart(QString port, QString baudRate, QString dataBits, QString stopBits, QString flow) { qDebug()<OpenSerial(port,baudRate,dataBits,stopBits,flow) == 0){ - mSerialController->SetListener(this); + if(m_serial_controller_->OpenSerial(port,baudRate,dataBits,stopBits,flow) == 0){ + m_serial_controller_->SetListener(this); return 0; } qDebug()<<"openserial failed"; return -1; } +int ShareData::openNetwork(QString ip, uint32_t port, bool is_ws,int type) +{ + if(type == NetworkController::TYPE_TCP_CLIENT){ + + } + if(type == NetworkController::TYPE_UDP_CLIENT){ + m_network_ = new NetworkController(NetworkController::TYPE_TCP_CLIENT,ip,port); + } +} + int ShareData::closeSerial() { - if(mSerialController->CloseSerial() == 0){ + if(m_serial_controller_->CloseSerial() == 0){ qDebug()<<"close serial ok"; return 0; } @@ -91,13 +101,13 @@ int ShareData::closeSerial() int ShareData::TestLua() { - mLua.OnDataRecv("ss"); + m_lua_.OnDataRecv("ss"); } int ShareData::TestShowData() { - if(nullptr != mProtoDebug){ - QMetaObject::invokeMethod(mProtoDebug, "addString",Q_ARG(QVariant, QString("test\r\n"))); + if(nullptr != m_qml_protodebug_){ + QMetaObject::invokeMethod(m_qml_protodebug_, "addString",Q_ARG(QVariant, QString("test\r\n"))); } return 0; } @@ -105,15 +115,15 @@ int ShareData::TestShowData() int ShareData::updateLuaScript(QString str) { qDebug()< #include #include "lua_wraper.h" @@ -39,6 +39,7 @@ public: Q_INVOKABLE int openUart(QString port,QString baudRate,QString dataBits,QString stopBits, QString flow); + Q_INVOKABLE int openNetwork(QString ip,uint32_t port,bool is_ws,int type); Q_INVOKABLE int closeSerial(); Q_INVOKABLE int TestLua(); Q_INVOKABLE int TestShowData(); @@ -53,13 +54,14 @@ signals: void valueFromCpp(int val); private: - SerialController *mSerialController; - LuaDelegate mLua; - QObject *mProtoDebug; - QObject *mRootObj; - bool mLuaStatus; - QString mLuaScript; - QQuickView *mView; + NetworkController *m_network_; + SerialController *m_serial_controller_; + LuaDelegate m_lua_; + QObject *m_qml_protodebug_; + QObject *m_root_obj_; + bool m_luavm_status_; + QString m_lua_string; + QQuickView *m_qml_view_; };