Browse Source

1028

master
zara 8 months ago
parent
commit
c431f69cdc
  1. 12
      CMakeLists.txt
  2. 49
      mainwindow.cpp
  3. 2
      mainwindow.h
  4. 141
      mainwindow.ui
  5. 84
      menu1.cpp
  6. 11
      menu1.h
  7. 133
      menu1.ui
  8. 20
      multipoint.cpp
  9. 37
      usbcontrol.cpp
  10. 8
      usbcontrol.h
  11. 11
      usbthread.cpp
  12. 7
      usbthread.h

12
CMakeLists.txt

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
set(PROJECT_VERSION 1.4.2.17)
set(PROJECT_VERSION 1.4.2.19)
add_definitions(-DProjectVersion=\"${PROJECT_VERSION}\")
project(zxrcClient VERSION ${PROJECT_VERSION} LANGUAGES CXX)
@ -62,8 +62,8 @@ set(LIBS @@ -62,8 +62,8 @@ set(LIBS
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets SerialPort)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets SerialPort)
find_package(QFluentWidgets REQUIRED)
set(PROJECT_SOURCES
@ -94,7 +94,7 @@ set(PROJECT_SOURCES @@ -94,7 +94,7 @@ set(PROJECT_SOURCES
datathread.cpp
datathread.h
qt5app.rc.in
${CMAKE_CURRENT_BINARY_DIR}/qt5app.rc
# ${CMAKE_CURRENT_BINARY_DIR}/qt5app.rc
multipoint.cpp
multipoint.h
idpath.cpp
@ -122,7 +122,7 @@ set(PROJECT_SOURCES @@ -122,7 +122,7 @@ set(PROJECT_SOURCES
add_executable (zxrcClientSA WIN32 ${PROJECT_SOURCES} )
target_include_directories (zxrcClientSA PRIVATE ${INCLUDE_DIRS})
target_link_directories (zxrcClientSA PRIVATE ${LIB_DIRS})
target_link_libraries (zxrcClientSA PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries (zxrcClientSA PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::SerialPort)
target_link_libraries (zxrcClientSA PRIVATE QFluentWidgets::Widgets ${LIBS})
target_link_libraries (zxrcClientSA PRIVATE ${OpenCV_LIBS})
target_compile_definitions (zxrcClientSA PRIVATE CLIENT=0)
@ -156,7 +156,7 @@ set(LOCALALGO @@ -156,7 +156,7 @@ set(LOCALALGO
add_executable (zxrcClientPC WIN32 ${LOCALALGO} ${PROJECT_SOURCES})
target_include_directories (zxrcClientPC PRIVATE ${INCLUDE_DIRS})
target_link_directories (zxrcClientPC PRIVATE ${LIB_DIRS})
target_link_libraries (zxrcClientPC PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries (zxrcClientPC PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::SerialPort)
target_link_libraries (zxrcClientPC PRIVATE QFluentWidgets::Widgets ${LIBS})
target_link_libraries (zxrcClientPC PRIVATE ${OpenCV_LIBS})
target_compile_definitions (zxrcClientPC PRIVATE CLIENT=2)

49
mainwindow.cpp

@ -97,6 +97,7 @@ void MainWindow::initUI() @@ -97,6 +97,7 @@ void MainWindow::initUI()
ui->toolBar->addWidget(ui->spinBox);
ui->toolBar->addWidget(ui->label_3);
ui->toolBar->addWidget(ui->spinBox_2);
ui->toolBar->addWidget(ui->pushButton_13);
m1 = new menu1();
@ -191,6 +192,7 @@ void MainWindow::initConnect() @@ -191,6 +192,7 @@ void MainWindow::initConnect()
connect(m1,SIGNAL(signalsetGPOL(int)),ucontrol,SLOT(setGPOL(int)));
connect(m1,SIGNAL(signalsetIT(double)),ucontrol,SLOT(setIT(double)));
connect(m1,SIGNAL(signalsetspname(QString)),ucontrol,SLOT(slotsetspname(QString)));
connect(m1,&menu1::signalsetIT,[this](double it){
this->d_it = it;
@ -239,6 +241,7 @@ void MainWindow::initConnect() @@ -239,6 +241,7 @@ void MainWindow::initConnect()
connect(m1,SIGNAL(signalonepoint()),ucontrol,SLOT(onepoint()));
connect(m1,SIGNAL(signalsaveb()),ucontrol,SLOT(saveb()));
connect(m1,SIGNAL(signalopenb(bool)),ucontrol,SLOT(openb(bool)));
connect(m1,SIGNAL(signalsetge(bool)),ucontrol,SLOT(setge(bool)));
connect(m2,SIGNAL(signalsag(bool)),ucontrol,SLOT(setsag(bool)));
@ -246,7 +249,6 @@ void MainWindow::initConnect() @@ -246,7 +249,6 @@ void MainWindow::initConnect()
connect(m2,SIGNAL(signalsetkf(int)),ucontrol,SLOT(setkf(int)));
connect(m2,SIGNAL(signalsethist(int)),ucontrol,SLOT(sethist(int)));
#elif CLIENT==2
// connect(usb,SIGNAL(signalGetImage(cv::Mat)),m_tp,SLOT(slotprocimg(cv::Mat)));
// connect(m_tp,SIGNAL(signalsendimg(cv::Mat)),m_avg,SLOT(slotprocimg(cv::Mat)));
@ -574,8 +576,8 @@ void MainWindow::on_pushButton_2_clicked() @@ -574,8 +576,8 @@ void MainWindow::on_pushButton_2_clicked()
#if CLIENT == 0 || CLIENT == 1
ucontrol->setIT(5.0);
ucontrol->setGPOL(800);
ucontrol->openk(true);
ucontrol->openb(true);
// ucontrol->openk(true);
// ucontrol->openb(true);
@ -881,7 +883,7 @@ void MainWindow::slotShowImage(cv::Mat img) @@ -881,7 +883,7 @@ void MainWindow::slotShowImage(cv::Mat img)
if(b_stat &(!b_fullscreen)){
if(b_stat &(!b_fullscreen) &(!ui->pushButton_13->isChecked())){
QPainter p(&pix);
QPen pen = p.pen();
QPen npen(QColor(0xad,0x14,0x53));
@ -896,8 +898,27 @@ void MainWindow::slotShowImage(cv::Mat img) @@ -896,8 +898,27 @@ void MainWindow::slotShowImage(cv::Mat img)
if(b_fullscreen)
ui->imagelabel->setPixmap(pix.scaled(ui->imagelabel->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation));
else
ui->imagelabel->setPixmap(pix);
{
if(ui->pushButton_13->isChecked()){
if(ui->scrollArea->size() - QSize(20,20) != ui->imagelabel->size()){
ui->imagelabel->resize(ui->scrollArea->size() - QSize(30,30));
ui->imagelabel->move(10,10);
ui->imagelabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
}
ui->imagelabel->setPixmap(pix.scaled(ui->scrollArea->size() - QSize(30,30),Qt::KeepAspectRatio,Qt::SmoothTransformation));
}
else{
if(ui->imagelabel->size() != QSize(rows,cols)){
ui->imagelabel->resize(rows,cols);
ui->imagelabel->move(10,10);
ui->imagelabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
}
ui->imagelabel->setPixmap(pix);
}
}
}
void MainWindow::slotlogtext(QString msg)
@ -1028,7 +1049,11 @@ void MainWindow::on_spinBox_valueChanged(int arg1) @@ -1028,7 +1049,11 @@ void MainWindow::on_spinBox_valueChanged(int arg1)
rows = arg1;
ui->scrollAreaWidgetContents->setMinimumHeight(rows+20);
ui->imagelabel->resize(cols,rows);
ui->imagelabel->move(10,10);
ui->imagelabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
qDebug()<<__LINE__<<ui->scrollArea->width()<<" "<<ui->scrollArea->height();
qDebug()<<ui->imagelabel->width()<<" "<<ui->imagelabel->height();
#if CLIENT==2
m_mp->setparas(rows,cols);
@ -1045,6 +1070,9 @@ void MainWindow::on_spinBox_2_valueChanged(int arg1) @@ -1045,6 +1070,9 @@ void MainWindow::on_spinBox_2_valueChanged(int arg1)
cols = arg1;
ui->scrollAreaWidgetContents->setMinimumWidth(cols+20);
ui->imagelabel->resize(cols,rows);
ui->imagelabel->move(10,10);
ui->imagelabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
#if CLIENT == 2
m_mp->setparas(rows,cols);
#endif
@ -1190,3 +1218,14 @@ void MainWindow::on_pushButton_12_clicked() @@ -1190,3 +1218,14 @@ void MainWindow::on_pushButton_12_clicked()
}
}
void MainWindow::on_pushButton_13_clicked()
{
if(ui->pushButton_13->isChecked()){
ui->pushButton_13->setText(u8"适应屏幕");
}
else{
ui->pushButton_13->setText(u8"原始大小");
}
}

2
mainwindow.h

@ -98,6 +98,8 @@ private slots: @@ -98,6 +98,8 @@ private slots:
void on_pushButton_12_clicked();
void on_pushButton_13_clicked();
private:
void initIns();
void initUI();

141
mainwindow.ui

@ -15,6 +15,55 @@ @@ -15,6 +15,55 @@
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="5">
<widget class="SpinBox" name="spinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>512</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="FluentLabelBase" name="label_12">
<property name="text">
<string>分辨率</string>
</property>
<property name="margin">
<number>10</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="TogglePushButton" name="pushButton">
<property name="text">
<string>开始传输</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="ComboBox" name="comboBox">
<item>
<property name="text">
<string>640x512</string>
</property>
</item>
<item>
<property name="text">
<string>1280x1024</string>
</property>
</item>
<item>
<property name="text">
<string>自定义</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1">
<widget class="PushButton" name="pushButton_2">
<property name="text">
@ -22,6 +71,26 @@ @@ -22,6 +71,26 @@
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="FluentLabelBase" name="label_2">
<property name="text">
<string> 行数 </string>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="SpinBox" name="spinBox_2">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>640</number>
</property>
</widget>
</item>
<item row="0" column="7">
<widget class="FluentLabelBase" name="label_3">
<property name="text">
@ -29,14 +98,14 @@ @@ -29,14 +98,14 @@
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="TogglePushButton" name="pushButton">
<item row="0" column="9">
<widget class="TogglePushButton" name="pushButton_13">
<property name="text">
<string>开始传输</string>
<string>原始大小</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="9">
<item row="1" column="0" colspan="10">
<widget class="Splitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@ -84,7 +153,7 @@ @@ -84,7 +153,7 @@
</rect>
</property>
<property name="text">
<string>TextLabel</string>
<string/>
</property>
</widget>
</widget>
@ -287,68 +356,6 @@ @@ -287,68 +356,6 @@
</widget>
</widget>
</item>
<item row="0" column="4">
<widget class="FluentLabelBase" name="label_2">
<property name="text">
<string> 行数 </string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="ComboBox" name="comboBox">
<item>
<property name="text">
<string>640x512</string>
</property>
</item>
<item>
<property name="text">
<string>1280x1024</string>
</property>
</item>
<item>
<property name="text">
<string>自定义</string>
</property>
</item>
</widget>
</item>
<item row="0" column="5">
<widget class="SpinBox" name="spinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>512</number>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="SpinBox" name="spinBox_2">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>640</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="FluentLabelBase" name="label_12">
<property name="text">
<string>分辨率</string>
</property>
<property name="margin">
<number>10</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="statusbar"/>

84
menu1.cpp

@ -1,12 +1,15 @@ @@ -1,12 +1,15 @@
#include "menu1.h"
#include "ui_menu1.h"
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
menu1::menu1(QWidget *parent) :
QWidget(parent),
ui(new Ui::menu1)
{
ui->setupUi(this);
#if CLIENT==2
//#if CLIENT==2
ui->pushButton_12->hide();
ui->pushButton->hide();
ui->pushButton_2->hide();
@ -20,7 +23,11 @@ menu1::menu1(QWidget *parent) : @@ -20,7 +23,11 @@ menu1::menu1(QWidget *parent) :
ui->pushButton_14->hide();
ui->pushButton_4->hide();
ui->pushButton_7->hide();
#endif
ui->pushButton_15->hide();
ui->pushButton_16->hide();
//#endif
on_pushButton_17_clicked();
}
menu1::~menu1()
@ -34,6 +41,25 @@ void menu1::hideui() @@ -34,6 +41,25 @@ void menu1::hideui()
ui->pushButton_9->hide();
ui->spinBox->hide();
ui->pushButton_12->hide();
#if CLIENT==0
ui->pushButton_12->hide();
ui->pushButton->hide();
ui->pushButton_2->hide();
ui->pushButton_3->hide();
ui->pushButton_4->hide();
ui->pushButton_5->hide();
ui->pushButton_6->hide();
ui->pushButton_7->hide();
ui->pushButton_8->hide();
ui->pushButton_13->hide();
ui->pushButton_14->hide();
ui->pushButton_4->hide();
ui->pushButton_7->hide();
ui->pushButton_15->hide();
ui->pushButton_16->hide();
#endif
}
void menu1::showui()
@ -41,6 +67,25 @@ void menu1::showui() @@ -41,6 +67,25 @@ void menu1::showui()
ui->pushButton_9->show();
ui->spinBox->show();
#if CLIENT==0
ui->pushButton_12->show();
ui->pushButton->show();
ui->pushButton_2->show();
ui->pushButton_3->show();
ui->pushButton_4->show();
ui->pushButton_5->show();
ui->pushButton_6->show();
ui->pushButton_7->show();
ui->pushButton_8->show();
ui->pushButton_13->show();
ui->pushButton_14->show();
ui->pushButton_4->show();
ui->pushButton_7->show();
ui->pushButton_15->show();
ui->pushButton_16->show();
#endif
}
void menu1::opentec()
@ -144,3 +189,38 @@ void menu1::on_pushButton_14_clicked() @@ -144,3 +189,38 @@ void menu1::on_pushButton_14_clicked()
emit signalopenb(false);
}
void menu1::on_pushButton_15_clicked()
{
emit signalsetge(true);
}
void menu1::on_pushButton_16_clicked()
{
emit signalsetge(false);
}
void menu1::on_pushButton_17_clicked()
{
ui->comboBox->blockSignals(true);
ui->comboBox->clear();
foreach (QSerialPortInfo info,QSerialPortInfo::availablePorts()){
ui->comboBox->addItem(info.portName());
}
ui->comboBox->blockSignals(false);
if(!ui->comboBox->currentText().isEmpty()){
emit signalsetspname(ui->comboBox->currentText());
}
}
void menu1::on_comboBox_currentTextChanged(const QString &arg1)
{
emit signalsetspname(arg1);
}

11
menu1.h

@ -29,7 +29,8 @@ signals: @@ -29,7 +29,8 @@ signals:
void signalsetIT(double);
void signalopenTEC(bool);
void signalset14bit(bool);
void signalsetge(bool); //灰度等间距
void signalsetspname(QString);
public:
void opentec();
@ -63,6 +64,14 @@ private slots: @@ -63,6 +64,14 @@ private slots:
void on_pushButton_14_clicked();
void on_pushButton_15_clicked();
void on_pushButton_16_clicked();
void on_pushButton_17_clicked();
void on_comboBox_currentTextChanged(const QString &arg1);
private:
Ui::menu1 *ui;
};

133
menu1.ui

@ -14,38 +14,28 @@ @@ -14,38 +14,28 @@
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="7" column="0">
<widget class="TogglePushButton" name="pushButton_11">
<item row="4" column="0">
<widget class="QPushButton" name="pushButton_6">
<property name="text">
<string>开启TEC</string>
<string>单点校正</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="TogglePushButton" name="pushButton_12">
<item row="2" column="0">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>切换14Bit</string>
<string>计算K值</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<item row="3" column="0">
<widget class="QPushButton" name="pushButton_5">
<property name="text">
<string>保存K值</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="DoubleSpinBox" name="doubleSpinBox">
<property name="maximum">
<double>35.000000000000000</double>
</property>
<property name="value">
<double>5.000000000000000</double>
<string>开启K值</string>
</property>
</widget>
</item>
<item row="5" column="1">
<item row="7" column="1">
<widget class="QPushButton" name="pushButton_9">
<property name="text">
<string>设置GPOL(mv)</string>
@ -53,33 +43,27 @@ @@ -53,33 +43,27 @@
</widget>
</item>
<item row="5" column="0">
<widget class="SpinBox" name="spinBox">
<property name="maximum">
<number>4000</number>
</property>
<property name="singleStep">
<number>0</number>
</property>
<property name="value">
<number>800</number>
<widget class="QPushButton" name="pushButton_8">
<property name="text">
<string>开启B值</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="pushButton_6">
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>单点校正</string>
<string>存高温背景</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="pushButton">
<item row="5" column="1">
<widget class="QPushButton" name="pushButton_14">
<property name="text">
<string>存低温背景</string>
<string>关闭B值</string>
</property>
</widget>
</item>
<item row="6" column="1">
<item row="8" column="1">
<widget class="QPushButton" name="pushButton_10">
<property name="text">
<string>设置积分时间(ms)</string>
@ -87,51 +71,91 @@ @@ -87,51 +71,91 @@
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_3">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>计算K值</string>
<string>存低温背景</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="pushButton_2">
<item row="6" column="1">
<widget class="QPushButton" name="pushButton_16">
<property name="text">
<string>存高温背景</string>
<string>密度均衡关闭</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="6" column="0">
<widget class="QPushButton" name="pushButton_15">
<property name="text">
<string>密度均衡开启</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="pushButton_7">
<property name="text">
<string>保存B值</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="pushButton_5">
<item row="9" column="0">
<widget class="TogglePushButton" name="pushButton_11">
<property name="text">
<string>开启K值</string>
<string>开启TEC</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="8" column="0">
<widget class="DoubleSpinBox" name="doubleSpinBox">
<property name="maximum">
<double>35.000000000000000</double>
</property>
<property name="value">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton_13">
<property name="text">
<string>关闭K值</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="pushButton_8">
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>开启B值</string>
<string>保存K值</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="pushButton_14">
<item row="7" column="0">
<widget class="SpinBox" name="spinBox">
<property name="maximum">
<number>4000</number>
</property>
<property name="singleStep">
<number>0</number>
</property>
<property name="value">
<number>800</number>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="TogglePushButton" name="pushButton_12">
<property name="text">
<string>关闭B值</string>
<string>切换14Bit</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="ComboBox" name="comboBox"/>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="pushButton_17">
<property name="text">
<string>刷新串口</string>
</property>
</widget>
</item>
@ -148,6 +172,11 @@ @@ -148,6 +172,11 @@
<extends>QSpinBox</extends>
<header location="global">qfluentwidgets</header>
</customwidget>
<customwidget>
<class>ComboBox</class>
<extends>QComboBox</extends>
<header location="global">qfluentwidgets</header>
</customwidget>
<customwidget>
<class>DoubleSpinBox</class>
<extends>QDoubleSpinBox</extends>

20
multipoint.cpp

@ -18,6 +18,11 @@ MultiPoint::MultiPoint(QObject *parent) @@ -18,6 +18,11 @@ MultiPoint::MultiPoint(QObject *parent)
enable = false;
b_rmbld = false;
b_thre = 4;
stages = nullptr;
kstages = nullptr;
bstages = nullptr;
}
void MultiPoint::saveData(cv::Mat img)
@ -58,6 +63,15 @@ void MultiPoint::calcData(QVector<double> vct) @@ -58,6 +63,15 @@ void MultiPoint::calcData(QVector<double> vct)
double vn = vct.last();
if(stages !=nullptr)
free(stages);
if(kstages != nullptr)
free(kstages);
if(bstages !=nullptr)
free(bstages);
stages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1));
kstages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1));
bstages = (double*)malloc(sizeof(double)*(stagecount+1));
@ -270,6 +284,12 @@ void MultiPoint::loaddata() @@ -270,6 +284,12 @@ void MultiPoint::loaddata()
stagecount = data.length()/((2*rows*cols+1)*8) - 1;
if(stages !=nullptr)
free(stages);
if(kstages != nullptr)
free(kstages);
if(bstages !=nullptr)
free(bstages);
stages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1));
kstages = (double*)malloc(sizeof(double)*rows*cols*(stagecount+1));
bstages = (double*)malloc(sizeof(double)*(stagecount+1));

37
usbcontrol.cpp

@ -24,6 +24,10 @@ int usbcontrol::sendMessage(char *msg, int msglen) @@ -24,6 +24,10 @@ int usbcontrol::sendMessage(char *msg, int msglen)
for(int i = 1;i<7;i++){
msg[7] +=msg[i];
}
if(sp.isOpen()){
sp.write(msg,8);
}
if(bulkinPoint==NULL){
initEndPoint();
}
@ -518,5 +522,36 @@ void usbcontrol::mpset1(int index, unsigned short avg) @@ -518,5 +522,36 @@ void usbcontrol::mpset1(int index, unsigned short avg)
QString log = t.toString();
log+= u8"保存第" + QString::number(index)+u8"个背景,平均亮度为"+QString::number(avg);
emit signalSendMessage(log);
emit signalSendMessage(log);
}
void usbcontrol::setge(bool b)
{
char msg[8] = {0};
msg[0] = 0x44;
msg[1] = 0x02;
msg[2] = 0x15;
msg[3] = b?1:0;
sendMessage(msg,8);
QDateTime t = QDateTime::currentDateTime();
QString log = t.toString();
log+= b?u8"开启灰度等密度均衡":u8"关闭灰度等密度均衡";
emit signalSendMessage(log);
}
void usbcontrol::slotsetspname(QString name)
{
sp.setPortName(name);
if(sp.open(QIODevice::ReadWrite)){
sp.setBaudRate(9600);
sp.setStopBits(QSerialPort::StopBits::OneStop);
sp.setParity(QSerialPort::Parity::NoParity);
sp.setDataBits(QSerialPort::Data8);
}
else
emit signalSendMessage(u8"设置串口号错误");
}

8
usbcontrol.h

@ -13,6 +13,8 @@ @@ -13,6 +13,8 @@
#include <CyAPI.h>
#include <QObject>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
class usbcontrol:public QObject
{
@ -51,6 +53,10 @@ public slots: @@ -51,6 +53,10 @@ public slots:
void mpstatus(bool b);
void mppop(int index);
void mpset1(int index, unsigned short avg);
void setge(bool b);
void slotsetspname(QString);
signals:
void signalSendMessage(QString);
@ -66,6 +72,8 @@ private: @@ -66,6 +72,8 @@ private:
unsigned char* contexts;
OVERLAPPED inOvLap;
QSerialPort sp;
};
#endif // USBCONTROL_H

11
usbthread.cpp

@ -29,6 +29,8 @@ usbthread::usbthread(QObject *parent): @@ -29,6 +29,8 @@ usbthread::usbthread(QObject *parent):
// lensum = 0;
});
tg->start(1000);
usbstatus = 0;
}
usbthread::~usbthread()
@ -66,6 +68,11 @@ void usbthread::setStatu(bool _run) @@ -66,6 +68,11 @@ void usbthread::setStatu(bool _run)
isRun = _run;
}
int usbthread::getUsbStatus()
{
return usbstatus;
}
//void usbClass::setcallback(void (*func)(cv::Mat))
//{
// imageCallback = func;
@ -102,14 +109,17 @@ void usbthread::run() @@ -102,14 +109,17 @@ void usbthread::run()
CCyBulkEndPoint* bulkinPoint =(CCyBulkEndPoint*)device->EndPointOf(0x81);
if(bulkinPoint == NULL){
qDebug()<<"no endpoint ";
usbstatus = 2;
return;
}
if( device->bSuperSpeed !=true){
signalMessage(QString::fromLocal8Bit("当前usb接口并非usb3.0, 请确认连接"));
newProcess->setStatu(false);
usbstatus = 3;
return;
}
usbstatus = 1;
unsigned char** buffer = new unsigned char*[128];
unsigned char** contexts = (unsigned char**)malloc(sizeof(unsigned char*)*128);
OVERLAPPED inOvLap[128];
@ -141,6 +151,7 @@ void usbthread::run() @@ -141,6 +151,7 @@ void usbthread::run()
usbstatus = 0;
}
void usbthread::logout()

7
usbthread.h

@ -27,6 +27,8 @@ public: @@ -27,6 +27,8 @@ public:
void stopProcessData();
void setStatu(bool _run);
// void setcallback(void(*func)(cv::Mat));
int getUsbStatus();/// 0 初始化 1 正常工作 2 无设备 3 接插不稳定
signals:
void signalGetImage(cv::Mat);
@ -60,6 +62,11 @@ private: @@ -60,6 +62,11 @@ private:
QTimer* tg;
int lensum;
int usbstatus;
};

Loading…
Cancel
Save