proto-debuger/protoDebuger/sharedata.cpp

94 lines
2.4 KiB
C++
Raw Normal View History

2021-04-11 03:28:04 +00:00
#include "sharedata.h"
2021-04-17 17:57:39 +00:00
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include <QFile>
2021-04-11 03:28:04 +00:00
2021-04-17 17:57:39 +00:00
ShareData::ShareData(QObject *parent) : QObject(parent),
mView(nullptr)
2021-04-12 15:39:06 +00:00
{
mSerialController = new SerialController(nullptr);
2021-04-17 17:57:39 +00:00
QFile file("Test.lua");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
mLuaScript = in.readAll();
qDebug()<< mLuaScript;
mLua.DoString(mLuaScript);
}
int ShareData::SetQuickView(QQuickView *view)
{
QStringList comList;
const auto infos = QSerialPortInfo::availablePorts();
for (const QSerialPortInfo &info : infos) {
comList<<info.portName();
}
this->mView = view;
QObject *qmlObject = view->findChild<QObject*>("SerialSelect",
Qt::FindChildOption::FindChildrenRecursively);
if(nullptr != qmlObject)
qmlObject->setProperty("comlist",comList);
mProtoDebug = view->findChild<QObject*>("ProtoDebug",
Qt::FindChildOption::FindChildrenRecursively);
if(nullptr != mProtoDebug)
mProtoDebug->setProperty("lua_script_text",mLuaScript);
}
int ShareData::OnDataRecv(QByteArray arr)
{
// qDebug()<<QString(arr)<<"data";
// if(nullptr != mProtoDebug){
// QMetaObject::invokeMethod(mProtoDebug, "addString",Q_ARG(QVariant, QString(arr)));
// }
mLua.OnDataRecv(QString(arr));
}
int ShareData::ShowDataInQML(QString x)
{
if(nullptr != mProtoDebug){
QMetaObject::invokeMethod(mProtoDebug, "addString",Q_ARG(QVariant, x));
}
2021-04-12 15:39:06 +00:00
}
int ShareData::OpenUart(QString port, QString baudRate, QString dataBits, QString stopBits, QString flow)
{
qDebug()<<port<<baudRate<<dataBits<<stopBits<<flow;
if(mSerialController->OpenSerial(port,baudRate,dataBits,stopBits,flow) == 0){
2021-04-17 17:57:39 +00:00
mSerialController->SetListener(this);
2021-04-12 15:39:06 +00:00
return 0;
}
qDebug()<<"openserial failed";
return -1;
}
int ShareData::CloseSerial()
2021-04-11 03:28:04 +00:00
{
2021-04-13 17:28:19 +00:00
if(mSerialController->CloseSerial() == 0){
qDebug()<<"close serial ok";
return 0;
}
qDebug()<<"cloase serial failed";
return -1;
2021-04-11 03:28:04 +00:00
}
2021-04-14 16:52:05 +00:00
int ShareData::TestLua()
{
2021-04-17 17:57:39 +00:00
mLua.OnDataRecv("ss");
2021-04-14 16:52:05 +00:00
}
2021-04-16 18:27:32 +00:00
int ShareData::TestShowData()
{
if(nullptr != mProtoDebug){
QMetaObject::invokeMethod(mProtoDebug, "addString",Q_ARG(QVariant, QString("test\r\n")));
}
return 0;
}
2021-04-17 17:57:39 +00:00