Add files via upload

淮安部署版本
This commit is contained in:
Chenglei98 2022-09-17 10:52:03 +08:00 committed by GitHub
commit 8ccab171db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 8072 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
*.o
saved_image
.qmake.stash
doc
log

24
.qmake.stash Normal file
View File

@ -0,0 +1,24 @@
QMAKE_CXX.INCDIRS = \
/usr/include/c++/7 \
/usr/include/x86_64-linux-gnu/c++/7 \
/usr/include/c++/7/backward \
/usr/lib/gcc/x86_64-linux-gnu/7/include \
/usr/local/include \
/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed \
/usr/include/x86_64-linux-gnu \
/usr/include
QMAKE_CXX.LIBDIRS = \
/usr/lib/gcc/x86_64-linux-gnu/7 \
/usr/lib/x86_64-linux-gnu \
/usr/lib \
/lib/x86_64-linux-gnu \
/lib
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 5
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION

30
123.txt Normal file
View File

@ -0,0 +1,30 @@
connect plc success
>>> connect to monitor successfully! >>>
>>> load system parameter successfully! >>>
welcome dk !
Display ID: SF3000-GE04K-10C-00 00:26:ac:a1:00:9d [192.168.15.105]
Display ID: FX10e 70:f8:e7:b0:07:c4 [169.254.128.27]
set ip success
*** Unable to connect to FX10e 70:f8:e7:b0:07:c4 [169.254.128.27]
*** init camera error, error code: -1 ***
>>> try to init camera again... >>>
Display ID: SF3000-GE04K-10C-00 00:26:ac:a1:00:9d [192.168.15.105]
Display ID: FX10e 70:f8:e7:b0:07:c4 [192.168.123.3]
set ip success
>>> Successfully connected to FX10e 70:f8:e7:b0:07:c4 [192.168.123.3]
>>> load calibration init success! >>>
>>> Connecting to SF3000-GE04K-10C-00 00:26:ac:a1:00:9d [192.168.15.105]
>>> Successfully connected to SF3000-GE04K-10C-00 00:26:ac:a1:00:9d [192.168.15.105]
>>> init camera successfully
hello dk !
>>> spec threshold 4 send to python
>>> rgb threshold 6 send to python
new connection to lower machine!
receive message from suhandong
start
queue buffer successfully...
running on 0
queue buffer successfully...
>>> start acquisition >>>

863
Makefile Normal file
View File

@ -0,0 +1,863 @@
#############################################################################
# Makefile for building: tobacco_v1_0
# Generated by qmake (3.1) (Qt 5.9.5)
# Project: tobacco_v1_0.pro
# Template: app
# Command: /usr/lib/qt5/bin/qmake -o Makefile tobacco_v1_0.pro
#############################################################################
MAKEFILE = Makefile
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I. -I/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include -isystem /usr/include/opencv2 -I/home/dt/下载/libmodbus-3.1.6/install/include/modbus -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
QMAKE = /usr/lib/qt5/bin/qmake
DEL_FILE = rm -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
COPY = cp -f
COPY_FILE = cp -f
COPY_DIR = cp -f -R
INSTALL_FILE = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR = cp -f -R
QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall
QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
TAR = tar -cf
COMPRESS = gzip -9f
DISTNAME = tobacco_v1_01.0.0
DISTDIR = /home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0/.tmp/tobacco_v1_01.0.0
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -L/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib/ -lEbTransportLayerLib -lPtUtilsLib -lPvBase -lPvCameraBridge -lPvGenICam -lPvPersistence -lPvStream -lPvTransmitter -lSimpleImagingLib -lEbUtilsLib -lPtConvertersLib -lPvAppUtils -lPvBuffer -lPvDevice -lPvGUI -lPvSerial -lPvSystem -lPvVirtualDevice -L/usr/lib/x86_64-linux-gnu/ -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lmodbus -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread
AR = ar cqs
RANLIB =
SED = sed
STRIP = strip
####### Output directory
OBJECTS_DIR = ./
####### Files
SOURCES = main.cpp \
widget.cpp \
camera.cpp \
thread.cpp \
parameter.cpp moc_widget.cpp \
moc_camera.cpp \
moc_thread.cpp
OBJECTS = main.o \
widget.o \
camera.o \
thread.o \
parameter.o \
moc_widget.o \
moc_camera.o \
moc_thread.o
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
.qmake.stash \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
tobacco_v1_0.pro widget.h \
camera.h \
thread.h \
parameter.h main.cpp \
widget.cpp \
camera.cpp \
thread.cpp \
parameter.cpp
QMAKE_TARGET = tobacco_v1_0
DESTDIR =
TARGET = tobacco_v1_0
first: all
####### Build rules
$(TARGET): ui_widget.h $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
Makefile: tobacco_v1_0.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
.qmake.stash \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
tobacco_v1_0.pro \
/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl \
/usr/lib/x86_64-linux-gnu/libQt5Gui.prl \
/usr/lib/x86_64-linux-gnu/libQt5Network.prl \
/usr/lib/x86_64-linux-gnu/libQt5Core.prl
$(QMAKE) -o Makefile tobacco_v1_0.pro
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
.qmake.stash:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
tobacco_v1_0.pro:
/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl:
/usr/lib/x86_64-linux-gnu/libQt5Gui.prl:
/usr/lib/x86_64-linux-gnu/libQt5Network.prl:
/usr/lib/x86_64-linux-gnu/libQt5Core.prl:
qmake: FORCE
@$(QMAKE) -o Makefile tobacco_v1_0.pro
qmake_all: FORCE
all: Makefile $(TARGET)
dist: distdir FORCE
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
distdir: FORCE
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
$(COPY_FILE) --parents widget.h camera.h thread.h parameter.h $(DISTDIR)/
$(COPY_FILE) --parents main.cpp widget.cpp camera.cpp thread.cpp parameter.cpp $(DISTDIR)/
$(COPY_FILE) --parents widget.ui $(DISTDIR)/
clean: compiler_clean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core
distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) .qmake.stash
-$(DEL_FILE) Makefile
####### Sub-libraries
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first
benchmark: first
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_moc_predefs_make_all: moc_predefs.h
compiler_moc_predefs_clean:
-$(DEL_FILE) moc_predefs.h
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
g++ -pipe -O2 -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
compiler_moc_header_make_all: moc_widget.cpp moc_camera.cpp moc_thread.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_widget.cpp moc_camera.cpp moc_thread.cpp
moc_widget.cpp: thread.h \
camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h \
parameter.h \
widget.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0 -I/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include -I/usr/include/opencv2 -I/home/dt/下载/libmodbus-3.1.6/install/include/modbus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include widget.h -o moc_widget.cpp
moc_camera.cpp: /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h \
camera.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0 -I/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include -I/usr/include/opencv2 -I/home/dt/下载/libmodbus-3.1.6/install/include/modbus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include camera.h -o moc_camera.cpp
moc_thread.cpp: camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h \
thread.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0 -I/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include -I/usr/include/opencv2 -I/home/dt/下载/libmodbus-3.1.6/install/include/modbus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include thread.h -o moc_thread.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_widget.h
compiler_uic_clean:
-$(DEL_FILE) ui_widget.h
ui_widget.h: widget.ui \
/usr/lib/qt5/bin/uic
/usr/lib/qt5/bin/uic widget.ui -o ui_widget.h
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean
####### Compile
main.o: main.cpp widget.h \
thread.h \
camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h \
parameter.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
widget.o: widget.cpp widget.h \
thread.h \
camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h \
parameter.h \
ui_widget.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o widget.o widget.cpp
camera.o: camera.cpp camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o camera.o camera.cpp
thread.o: thread.cpp thread.h \
camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o thread.o thread.cpp
parameter.o: parameter.cpp parameter.h \
camera.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDevice.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvLinkLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvResult.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBaseLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfo.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterArray.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenICamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenString.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenParameterList.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenTypes.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenApi.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenInteger.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnum.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenEnumEntry.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenFloat.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCommand.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenBoolean.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenRegister.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvGenCategory.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEnums.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStream.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBuffer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvBufferLib.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPayloadType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImage.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvPixelType.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartContainer.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvMultiPartSection.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvChunkData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvImageJPEG.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvRawData.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvH264AccessUnit.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvStreamGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystem.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvSystemEventSink.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvNetworkAdapter.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvInterface.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoGEV.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoPleoraProtocol.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvUSBHostController.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoUSB.h \
/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include/PvDeviceInfoU3V.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o parameter.o parameter.cpp
moc_widget.o: moc_widget.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_widget.o moc_widget.cpp
moc_camera.o: moc_camera.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_camera.o moc_camera.cpp
moc_thread.o: moc_thread.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_thread.o moc_thread.cpp
####### Install
install: FORCE
uninstall: FORCE
FORCE:

BIN
black Normal file

Binary file not shown.

1173
camera.cpp Normal file

File diff suppressed because it is too large Load Diff

397
camera.h Normal file
View File

@ -0,0 +1,397 @@
/**
* @file camera.h
* @author DingKun & ChengLei
* @date 2022.3.5
* @brief The file contains a class named Camera
* @details The file contains a class named Camera
* which refers to the hyperspectral camera(FX10e).
*
* The Camera class in this file contains the operation
* and parameters of the hyperspectral camera(FX10e).
*/
#ifndef CAMERA_H
#define CAMERA_H
#include <PvDevice.h>
#include <PvDeviceGEV.h>
#include <PvStream.h>
#include <PvStreamGEV.h>
#include <PvBuffer.h>
#include <PvSystem.h>
#include <QObject>
#include "iostream"
#include <iomanip>
#include <list>
#include "opencv.hpp"
#include <QThread>
#include <QSemaphore>
#include <QMutex>
using namespace std;
extern float file_explosure;
extern vector<int> mroi;
extern vector<int> valid;
extern int R;
extern int G;
extern int B;
class CaptureThread;
//Ebus图像传输流队列的大小
#define BUFFER_COUNT 64
//光谱数据的宽度
#define SPEC_WIDTH 1024
//光谱数据的高度
#define SPEC_HEIGHT 256
//有效的谱段
#define VALIDBANDS 22
//采集校正时取平均的图像数
#define CALIBRATION_FRAMES 35
//光谱相机的数字增益
#define GAIN 2.0f
// 光谱mask高度宽度
#define SPEC_MASK_HEIGHT 1024
#define SPEC_MASK_WIDTH 1024
// RGB mask高度宽度
#define RGB_MASK_HEIGHT 1024
#define RGB_MASK_WIDTH 1024
// RGB图像的高度宽度
#define RGB_HEIGHT 1024
#define RGB_WIDTH 4096
/**
* @brief Indicate a pointer to function
*/
typedef int(*callback_ptr)(uint8_t*, uint64_t, uint64_t);
/**
* @brief List contains pointer to PvBuffer
*/
typedef std::list<PvBuffer *> bufferlist;
/**
* @brief Callback function runs when camera captures one frame
* @param buffer The image data in one frame
* @param frame_size The size of the buffer in one frame
* @param frame_number The number of the frame
* @return Indicate the status of operation
*/
int on_data_callback(uint8_t* buffer, uint64_t frame_size, uint64_t frame_number);
int onDataCallback_calibration(uint8_t* buffer, uint64_t frame_size, uint64_t frame_number);
int onDataCallback_acquisition(uint8_t* buffer, uint64_t frame_size, uint64_t frame_number);
/**
* @brief The Camera class
* @details
* <pre>Hyperspectral camera model: Specim FX10e
* etThe class contains the operation and paramers of the hyperspectral camera(FX10e).
* Steps to control the hyperspectral camera:
* 1. Selects a device
* 2. Connect the PvDevice, opens the PvStream
* 3. Allocates the buffers
* 4. Starts acquistion
* 5. Retrieve/process/free incoming buffers
* 6. Stops acquisition</pre>
*/
class Camera : public QObject
{
Q_OBJECT
public:
PvDevice* lDevice = nullptr; ///< Camera device handler
PvStream* lStream = nullptr; ///< Stream handler
bufferlist lbufferlist; ///< buffer list to manage memory
PvGenCommand *lStart; ///< GenICam command to start capture
PvGenCommand *lStop; ///< GenICam command to stop capture
PvSystem lSystem;
const PvDeviceInfo* lLastDeviceInfo = nullptr; ///< DeviceInfo handler
const PvDeviceInfo *lDeviceInfo = nullptr;
PvGenParameterArray* parameter_array = nullptr; ///< ParameterArray handler
callback_ptr data_callback = nullptr; ///< Pointer to function which type is callback_ptr
CaptureThread* capture_thread = nullptr;
bool capture_black_flag = false; ///< flag to capture black frame
bool capture_white_flag = false; ///< flag to capture white frame
cv::Mat sum_mat_for_calibration;
cv::Mat eps; ///<eps is setted to prevent division by 0
cv::Mat white_mat; ///<white frame for calibration
cv::Mat black_mat; ///<black frame for calibration
float* white_buf = nullptr;
float* black_buf = nullptr;
double m_gain = GAIN;
double m_exposuretime;
double m_framerate;
int64_t m_height;
int single_frame_size;
int multi_frame_size;
explicit Camera(QObject *parent = nullptr);
// uint8_t* padding_frame;
~Camera();
/**
* @brief Initialize the camera
* @return Status
* @retval 0 The camera is initialized successfully
* @retval -1 Failed to enumerate and connect to the camera
* @retval -2 Failed to configure the camera
* @retval -3 Failed to create stream object and open stream
* @retval -4 Failed to configure the stream
* @details <pre>The function contains all the needed operations before the camera works.
* Use function to initialize camera at first when you want to capture images. </pre>
*/
int init_camera();
/**
* @brief Enumerate and connect to the camera
* @return Status
* @retval 0 The camera is connected successfully
* @retval -1 lSystem.Find() error
* @retval -2 lLastDeviceInfo is NULL, camera not found
*/
int enum_connect_camera();
/**
* @brief Connect to the camera
* @details Be sure to enumerate the camera first and lLastDeviceInfo is not NULL
* @return Status
* @retval 0 Connect to the camera successfully
* @retval -1 PvDevice::CreateAndConnect() error
* @retval -2 lLastDeviceInfo is NULL
*/
int connect_camera();
/**
* @brief Get the parameters of camera
*/
void get_camera_parameters();
/**
* @brief Set MROI
* @details <pre>Setting MROI needs to happen as following sequence of commands:
* 1. Disable MROI
* 2. Clear old MROI indexes & values
* 3. Set new MROI indexes & values
* 4. Set STOP INDEX after the last known MROI index
* FX10/FX10e the STOP INDEX: MROI top offset = 1081, MROI height = 0
* 5. Enable MROI</pre>
* @param vec Vector contains mroi parameters
*/
void set_MROI(const vector<int> &vec);
/**
* @brief Config the parameters of camera
* @return Status
* @retval 0 Configure camera parameters successfully
* @retval -1 Failed to configure camera parameters
*/
int config_camera();
/**
* @brief Open stream to the GigE Vision or USB3 Vision device
* @return Status
* @retval 0 The stream is opened successfully
* @retval -1 lStream is NULL or PvStream::CreateAndOpen() error
*/
int open_stream();
/**
* @brief Configure streaming for GigE Vision devices
* @return Status
* @retval 0 Configure stream successfully
* @retval -1 lDeviceGEV is NULL
* @details First, we use a dynamic cast to determine if the PvDevice object represents a GigE Vision device. If it is a
* GigE Vision device, we do the required configuration. If it is a USB3 Vision device, no stream configuration is
* required for this sample. When we create a pointer to the PvStream object, we use a static cast (because we already
* know that the PvStream object represents a stream from a GigE Vision device (PvStreamGEV), and no checking is required)
*/
int configure_stream();
/**
* @brief Create stream buffers to allocate memory for the received images
* @details PvStream contains two buffer queues: an input queue and an output queue. First, we add PvBuffer
* objects to the input queue of the PvStream object by calling PvStream::QueueBuffer once per buffer. As images
* are received, PvStream populates the PvBuffers with images and moves them from the input queue to the output queue.
* The populated PvBuffers are removed from the output queue by the application (using PvStream::RetrieveBuffer),
* processed, and returned to the input queue (using PvStream::QueueBuffer)
*
* The memory allocated for PvBuffer objects is based on the resolution of the image and the bit depth of the
* pixels (the payload) retrieved from the device using PvDevice::GetPayloadSize. The device returns the number of bytes
* required to hold one buffer, based on the configuration of the device
*/
void create_stream_buffers();
/**
* @brief Start acquisition
* @author ChengLei
* @details The function send start command to camera in order to start acquisition.
* It will start a new thread CaptureThread to get image buffer from stream.
*/
void start_acquisition();
/**
* @brief Stop acquisition
* @author ChengLei
* @details The function send stop command to camera in order to stop acquisition.
*/
void stop_acquisition();
/**
* @brief Free stream buffers
* @author Chenglei
* @attention Remenber to free stream buffers before exiting the program
*/
void free_stream_buffers();
/**
* @brief Register callback function
* @param ptr Pointer to the callback function
*/
inline void register_data_callback(callback_ptr ptr){
data_callback = ptr;
}
/**
* @brief Unregister callback function
*/
void unregister_data_callback(){
data_callback = nullptr;
}
/**
* @brief Register callback function for calibration
*/
void register_callback_calibration();
/**
* @brief Register callback function for acquisition
*/
void register_callback_acquisition();
int init_calibration_load();
signals:
void send_calibration_finished_message();
void send_data_to_ui(uint8_t*);
public slots:
/**
* @brief Load calibration file for black frame and white frame
* @details read "./black" and "./white" files for black_buf and white_buf
*/
void load_calibration();
};
/*--------------fx10 capturethread-------------------*/
/**
* @brief The CaptureThread class
* @details CaptureThread runs when camera starts capture.
* Processing to captured buffers depends on callback function which registered before
*/
class CaptureThread: public QThread
{ Q_OBJECT
private:
protected:
/**
* @brief CaptureThread runs when camera starts capture
* @details Processing to captured buffers depends on callback function which registered before
*/
void run();
public:
QMutex stop_mutex;
bool m_stop = false;
explicit CaptureThread(QObject *parent = NULL);
void exit_thread();
};
/*-------------rgb_camera thread--------------*/
class RGB_CaptureThread: public QThread
{ Q_OBJECT
private:
protected:
/**
* @brief CaptureThread runs when camera starts capture
* @details Processing to captured buffers depends on callback function which registered before
*/
void run();
public:
bool m_stop = false;
QMutex stop_mutex;
explicit RGB_CaptureThread(QObject *parent = NULL);
void exit_thread();
};
/* -----------------------RGB_CAMERA--------------------- */
class RGB_Camera : public QObject
{
Q_OBJECT
public:
PvDevice* lDevice = nullptr; ///< Camera device handler
PvStream* lStream = nullptr; ///< Stream handler
bufferlist lbufferlist; ///< buffer list to manage memory
PvGenCommand *lStart; ///< GenICam command to start capture
PvGenCommand *lStop; ///< GenICam command to stop capture
PvGenCommand *lUserSetLoad;
PvGenCommand *Blackcal;
PvGenCommand *Whitecal;
PvGenCommand *lUserSave;
PvGenCommand *lFFCUserSetSave;
PvSystem lSystem;
const PvDeviceInfo* lLastDeviceInfo = nullptr; ///< DeviceInfo handler
const PvDeviceInfo *lDeviceInfo = nullptr;
PvGenParameterArray* parameter_array = nullptr; ///< ParameterArray handler
RGB_CaptureThread* rgb_capture_thread = nullptr;
// double m_gain = 2;
// double m_exposuretime;
// double m_framerate;
explicit RGB_Camera(QObject *parent = nullptr);
~RGB_Camera();
int init_camera();
int enum_connect_camera();
int connect_camera();
int config_camera();
void get_camera_parameters();
int open_stream();
int configure_stream();
void create_stream_buffers();
void start_acquisition();
void stop_acquisition();
void free_stream_buffers();
signals:
void send_rgbdata_to_ui(uint8_t*);
};
#endif // CAMERA_H

34
log Normal file
View File

@ -0,0 +1,34 @@
2022 08.24 10:24:08 On
2022 08.24 10:25:16 Off
2022 08.24 10:30:59 On
2022 08.24 10:32:00 Off
2022 08.24 10:35:27 On
2022 08.24 10:36:37 Off
2022 08.24 10:38:57 On
2022 08.24 10:40:31 Off
2022 08.24 10:55:44 On
2022 08.24 10:55:48 Off
2022 08.24 10:56:33 On
2022 08.24 10:56:44 Off
2022 08.24 11:01:34 On
2022 08.24 11:06:28 On
2022 08.24 13:44:44 On
2022 08.24 14:11:26 On
2022 08.24 15:29:14 On
2022 08.24 15:41:32 On
2022 08.24 15:48:04 On
2022 08.24 15:58:33 On
2022 08.24 16:04:39 On
2022 08.24 16:08:21 On
2022 08.24 16:18:27 On
2022 08.24 16:20:15 On
2022 08.24 16:22:59 On
2022 08.24 16:25:58 On
2022 08.24 16:31:16 On
2022 08.24 16:32:35 On
2022 08.24 16:35:44 On
2022 08.24 16:37:29 On
2022 08.24 16:46:17 On
2022 08.24 17:10:04 Off
2022 08.24 17:15:07 On
2022 08.24 17:21:01 On

30
main.cpp Normal file
View File

@ -0,0 +1,30 @@
#include "widget.h"
#include <QApplication>
#include "pthread.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/sysinfo.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
// cpu_set_t get;
// cpu_set_t mask;
// int num = sysconf(_SC_NPROCESSORS_CONF);
// pthread_t thread_id = pthread_self();
// cout << thread_id << endl;
// CPU_ZERO(&mask);
// CPU_SET(6, &mask);
// sched_setaffinity(0, sizeof(mask), &mask);
// CPU_ZERO(&get);
// sched_getaffinity(0, sizeof(get), &get);
// for(int i=0; i<num; ++i)
// {
// if(CPU_ISSET(i, &get))
// cout << "running on " << i << endl;
// }
return a.exec();
}

2
make.sh Normal file
View File

@ -0,0 +1,2 @@
make clean && make -j12 -s

13
parameter Normal file
View File

@ -0,0 +1,13 @@
700.000000
8
2280
2380
2
401,7,474,26,568,7
35
15
6
3,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,36
4
6
50

4
parameter.cpp Normal file
View File

@ -0,0 +1,4 @@
#include "parameter.h"

23
parameter.h Normal file
View File

@ -0,0 +1,23 @@
#ifndef PARAMETER_H
#define PARAMETER_H
#include "camera.h"
#include <QTime>
class Parameter{
public:
QTime lamp_timer;
uint32_t lamp_used_time = 0;
string password;
vector<string> file_info = vector<string>(2);
uint32_t valve_cnt_vector[256] = {0};
QDateTime current_time;
};
#endif // PARAMETER_H

20
read_buffer.py Normal file
View File

@ -0,0 +1,20 @@
import numpy as np
import matplotlib.pyplot as plt
img_names = [f"mask_result{i}" for i in range(23, 40)]
mask_names = [f"padding_result{i}" for i in range(23, 40)]
for img_name, mask_name in zip(img_names,mask_names):
with open(img_name, "rb") as f:
data = f.read()
with open(mask_name, "rb") as f:
data_mask = f.read()
img = np.frombuffer(data, dtype=np.uint8).reshape((1024, 256, -1))
mask = np.frombuffer(data_mask, dtype=np.uint8).reshape((1024, 256, -1))
fig, axs = plt.subplots(2, 1, constrained_layout=True)
axs[0].imshow(img)
#axs[0].set_title(f'mask_result{i}')
axs[1].imshow(mask)
#axs[1].set_title(f'padding_result{i}')
plt.title(f"img : {img_name}")
plt.show()

8
start_qt.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
echo "123456" | sudo -S dpkg -i /home/dt/eBUS_SDK_Ubuntu-18.04-x86_64-6.2.8-5877.deb
sleep 6
echo "123456" | sudo -S chmod 777 /dev/ttyS0
sleep 20
cd /home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0
./tobacco_v1_0 > /home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0/123.txt

2
sys_parameter Normal file
View File

@ -0,0 +1,2 @@
151248
100

376
thread.cpp Normal file
View File

@ -0,0 +1,376 @@
/**
* @file thread.cpp
* @author DingKun & ChengLei
* @date 2022.3.15
* @brief The file contains the details about implementation of three thread class SendThread,RecvThread,SaveThread and one class SaveBuf
* @details SendThread sends image to python.RecvThread receives mask image from python.SaveThread save three
* images by turns.SaveBuf maintenances the saved images.
*/
#include "thread.h"
#include "unistd.h"
#include "fcntl.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "modbus.h"
#define FIFO_PATH "/tmp/dkimg.fifo"
#define FIFO_MASK "/tmp/dkmask.fifo"
#define FIFO_RGB "/tmp/dkrgb.fifo"
#define FIFO_MASK_RGB "/tmp/dkmask_rgb.fifo"
#define ACQUISITION_ENABLE
extern QSemaphore ready_to_send;
extern QSemaphore ready_to_send_rgb;
extern int file_threshold;
extern int file_threshold_rgb;
extern int file_padding;
extern float* send_buf;
extern float* send_valid_buf;
extern uint8_t* send_rgb_buf;
extern modbus_t* plc;
uint8_t* recvbuf = nullptr;
uint8_t* recvbuf_rgb = nullptr;
extern uint8_t* temp_rgb;
extern Camera* camera;
SaveBuf* save_buf_queue = new SaveBuf();
uint8_t* merge_mask = new uint8_t[256 * 1024];
uint8_t* merge_mask_rgb = new uint8_t[256 * 1024];
//uint8_t* merge_bit2byte = new uint8_t[32 * 1024];
//uint8_t* merge_bit2byte_rgb = new uint8_t[32 * 1024];
uint8_t* send_mask_guo = new uint8_t[32 * 1024];
SendThread::SendThread(QObject *parent) : QThread(parent)
{
recvbuf = new uint8_t[SPEC_MASK_HEIGHT * SPEC_MASK_WIDTH];
recvbuf_rgb = new uint8_t[RGB_MASK_HEIGHT * RGB_MASK_WIDTH];
}
SendThread::~SendThread()
{
if( recvbuf ) delete recvbuf;
if( recvbuf_rgb ) delete recvbuf_rgb;
}
void SendThread::run()
{
//建立管道
if(access(FIFO_PATH, F_OK) == -1)
{
int res = mkfifo(FIFO_PATH, 0777);
if(res < 0)
{
cout << "make img fifo failed!" << endl;
return;
}
}
if(access(FIFO_MASK, F_OK) == -1)
{
int res = mkfifo(FIFO_MASK, 0777);
if(res < 0)
{
cout << "make mask fifo failed!" << endl;
return;
}
}
if(access(FIFO_RGB, F_OK) == -1)
{
int res = mkfifo(FIFO_RGB, 0777);
if(res < 0)
{
cout << "make rgb fifo failed!" << endl;
return;
}
}
if(access(FIFO_MASK_RGB, F_OK) == -1)
{
int res = mkfifo(FIFO_MASK_RGB, 0777);
if(res < 0)
{
cout << "make mask_rgb fifo failed!" << endl;
return;
}
}
int fd_img = open(FIFO_PATH, O_WRONLY);
int fd_rgb = open(FIFO_RGB, O_WRONLY);
string str = to_string(file_threshold);
int ret = write(fd_img, str.c_str(), str.size());
if(ret > 0)
cout << ">>> spec threshold " << file_threshold << " send to python" << endl;
str = to_string(file_threshold_rgb);
ret = write(fd_rgb, str.c_str(), str.size());
if(ret > 0)
cout << ">>> rgb threshold " << file_threshold_rgb << " send to python" << endl;
uint8_t padding_hash[256] = {0};
uint8_t padding_hash_rgb[256] = {0};
while(1)
{
ready_to_send.acquire(); //block if no send_buf is ready!
ready_to_send_rgb.acquire();
int k = 0;
for( int i = 0; i < SPEC_HEIGHT; i++ )
{
for(uint j = 0; j < valid.size(); j++ )
{
memcpy(send_valid_buf + SPEC_WIDTH * k, send_buf + (i * camera->m_height + valid[j]) * 1024,
sizeof(float) * SPEC_WIDTH);
k++;
}
}
/*存图功能*/
if(save_flag == true)
{
static int file_index = 0;
string spec_filename = "./saved_img/spec" + to_string(file_index);
FILE *fp = fopen(spec_filename.c_str(), "wb");
fwrite(send_valid_buf, SPEC_HEIGHT * SPEC_WIDTH * valid.size() * 4, 1, fp);
fclose(fp);
string rgb_filename = "./saved_img/rgb" + to_string(file_index);
fp = fopen(rgb_filename.c_str(), "wb");
fwrite(send_rgb_buf, RGB_HEIGHT * RGB_WIDTH * 3, 1, fp);
fclose(fp);
file_index++;
cout << "save img success!" << endl;
}
///////////////////////////////
//发送给python
write(fd_img, send_valid_buf, SPEC_WIDTH * valid.size() * SPEC_HEIGHT * sizeof(float));
write(fd_rgb, send_rgb_buf, RGB_HEIGHT * RGB_WIDTH * 3);
int fd = open(FIFO_MASK, O_RDONLY);
read(fd, recvbuf, SPEC_MASK_HEIGHT * SPEC_MASK_WIDTH);
close(fd);
fd = open(FIFO_MASK_RGB, O_RDONLY);
read(fd, recvbuf_rgb, RGB_MASK_HEIGHT * RGB_MASK_WIDTH);
close(fd);
// save_buf_queue->enqueue(send_valid_buf, (char*)recvbuf);
//send mask to ui
emit send_mask((char*)recvbuf); //mask*********************************************
emit send_mask_rgb((char*)recvbuf_rgb);
/*mask图像转换喷阀通道 宽度1024像素对应256个喷阀1024/256=4每一行转换为256个bit
*32(32*1024)*/
//光谱mask阀通道转换
int sum = 0;
for(int i=0; i<SPEC_MASK_HEIGHT*SPEC_MASK_WIDTH; i+=4)
{
sum = recvbuf[i] + recvbuf[i+1] + recvbuf[i+2] + recvbuf[i+3];
(sum > 0) ? (merge_mask[i/4] = 1) : (merge_mask[i/4] = 0);
sum = 0;
}
//rgb mask阀通道转换
sum = 0;
for(int i=0; i<RGB_MASK_HEIGHT*RGB_MASK_WIDTH; i+=4)
{
sum = recvbuf_rgb[i] + recvbuf_rgb[i+1] + recvbuf_rgb[i+2] + recvbuf_rgb[i+3];
(sum > 0) ? (merge_mask_rgb[i/4] = 1) : (merge_mask_rgb[i/4] = 0);
sum = 0;
}
//延长喷阀开启时间,纵向拉长像素
uint8_t temp_buf[1024 * 256] = {0};
for(int i=0; i<1024; ++i)
{
if(i == 0)
{
for(int j=0; j<256; ++j)
{
while(padding_hash[j] > 0)
{
temp_buf[padding_hash[j]*256 + j] = 1;
--padding_hash[j];
}
}
}
for(int j=0; j<256; ++j)
{
if(merge_mask[i * 256 + j] == 1)
{
temp_buf[i * 256 + j] = 1;
int padding = 0;
while(padding < file_padding)
{
if(i + padding >= 1024)
{
padding_hash[j] = file_padding - padding;
break;
}
else
{
temp_buf[(i + padding) * 256 + j] = 1;
++padding;
}
}
}
}
}
uint8_t temp_buf_rgb[1024 * 256] = {0};
for(int i=0; i<1024; ++i)
{
if(i == 0)
{
for(int j=0; j<256; ++j)
{
while(padding_hash_rgb[j] > 0)
{
temp_buf[padding_hash_rgb[j]*256 + j] = 1;
--padding_hash_rgb[j];
}
}
}
for(int j=0; j<256; ++j)
{
if(merge_mask_rgb[i * 256 + j] == 1)
{
temp_buf_rgb[i * 256 + j] = 1;
int padding = 0;
while(padding < file_padding)
{
if(i + padding >= 1024)
{
padding_hash_rgb[j] = file_padding - padding;
break;
}
else
{
temp_buf_rgb[(i + padding) * 256 + j] = 1;
++padding;
}
}
}
}
}
//计算喷伐开启次数
/*
for(int i=0; i<REALHEIGHT; ++i)
{
for(int j=0; j<256; ++j)
valve_cnt[j] += merge_mask[i*REALHEIGHT+j];
}
*/
// for(int i=0; i<256*1024; i+=8)
// {
// uint8_t temp = 0;
// for(int j=7; j>=0; --j)
// temp = (temp << 1) | temp_buf[i + j];
// merge_bit2byte[i/8] = temp;
// }
// for(int i=0; i<256*1024; i+=8)
// {
// uint8_t temp = 0;
// for(int j=7; j>=0; --j)
// temp = (temp << 1) | temp_buf_rgb[i + j];
// merge_bit2byte_rgb[i/8] = temp;
// }
//合并两个mask
for(int i=0; i<256*1024; i+=8)
{
uint8_t temp = 0;
uint8_t temp_rgb = 0;
for(int j=7; j>=0; --j)
{
temp = (temp << 1) | temp_buf[i + j];
temp_rgb = (temp_rgb << 1) | temp_buf_rgb[i + j];
}
temp |= temp_rgb;
send_mask_guo[i/8] = temp;
}
emit send_valve_data(send_mask_guo);
}
}
SaveBuf::SaveBuf()
{
buf = new float[SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT * SAVEIMGNUMBER];
mask = new char[1024 * 256 * SAVEIMGNUMBER];
buf_copy = new float[SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT * SAVEIMGNUMBER];
mask_copy = new char[1024 * 256 * SAVEIMGNUMBER];
}
SaveBuf::~SaveBuf()
{
delete [] buf;
delete [] mask;
delete [] buf_copy;
delete [] mask_copy;
}
void SaveBuf::enqueue(float* buf_tmp, char* mask_tmp)
{
mutex.lock();
memcpy(buf + index * SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT, buf_tmp, SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT * 4);
memcpy(mask + index * 1024 * 1024, mask_tmp, 1024 * 1024);
mutex.unlock();
index++;
// cout << "save index ==================" << index << endl;
if(index >= SAVEIMGNUMBER)
index = 0;
}
void SaveBuf::save()
{
mutex.lock();
memcpy(buf_copy, buf, SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT * SAVEIMGNUMBER * 4);
memcpy(mask_copy, mask, 1024 * 1024 * SAVEIMGNUMBER);
mutex.unlock();
char* filename;
QDateTime time = QDateTime::currentDateTime();
QString str = time.toString("yyyyMMddhhmmss");
for( int i = 0; i < SAVEIMGNUMBER; i++)
{
QString mask_name = str + "mask" + QString::number(i);
filename = mask_name.toLatin1().data();
FILE* fp = fopen(filename, "wb");
fwrite(mask_copy + i * 1024 * 1024, 1024 * 1024, 1, fp);
fclose(fp);
QString buf_name = str + "buf" + QString::number(i) + ".raw";
filename = buf_name.toLatin1().data();
fp = fopen(filename, "wb");
fwrite(buf_copy + i * SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT, SPEC_WIDTH * VALIDBANDS * SPEC_HEIGHT * 4, 1, fp);
fclose(fp);
cout << ">>> save success";
}
}
//savethread保存图片线程该线程保持一个环形队列始终存放实时图像
SaveThread::SaveThread(QObject *parent) : QThread(parent)
{}
void SaveThread::run()
{
// cout << "save thread running" << endl;
while (1)
{
save_flag.acquire();
save_buf_queue->save();
cout << "acquired!!" << endl;
}
}

83
thread.h Normal file
View File

@ -0,0 +1,83 @@
/**
* @file thread.h
* @author DingKun & ChengLei
* @date 2022.3.15
* @brief The file contains three thread class SendThread,RecvThread,SaveThread and one class SaveBuf
* @details SendThread sends image to python.RecvThread receives mask image from python.SaveThread save three
* images by turns.SaveBuf maintenances the saved images.
*/
#ifndef THREAD_H
#define THREAD_H
#include <QThread>
#include <QTcpServer>
#include <QTcpSocket>
#include <QMutex>
#include <QDateTime>
#include <QString>
#include "camera.h"
#define SAVEIMGNUMBER 2
/**
* @brief The SendThread class
* @details SendThread contains a send_server and a send_socket connect to python process.
* It detects if send_buf is ready to send by semaphore.If send_buf is ready to send, it obtains valid
* bands in send_buf then send to python process by send_socket
*/
class SendThread: public QThread
{ Q_OBJECT
protected:
/**
* @brief It detects if send_buf is ready to send by semaphore.If send_buf is ready to send, it obtains valid
* bands in send_buf then send to python process by send_socket. Also, if the ACQUISITION_ENABLE flag is defined,
* it is responsible for saving both calibrated image and raw image, but the mission of sending to python is stopped.
*/
void run();
public:
explicit SendThread(QObject *parent = NULL);
~SendThread();
volatile bool save_flag = false;
signals:
void send_valve_data(uint8_t* spec_mask);
void send_to_up_machine(float*);
void send_mask(char* buf);
void send_mask_rgb(char* buf);
};
class SaveBuf
{
public:
SaveBuf();
~SaveBuf();
void enqueue(float* buf_tmp, char* mask_tmp);
void save();
private:
QMutex mutex;
float* buf;
char* mask;
float* buf_copy;
char* mask_copy;
int index = 0;
};
class SaveThread: public QThread
{ Q_OBJECT
protected:
void run();
public:
explicit SaveThread(QObject *parent = NULL);
QSemaphore save_flag;
};
#endif // THREAD_H

BIN
tobacco_v1_0 Normal file

Binary file not shown.

81
tobacco_v1_0.pro Normal file
View File

@ -0,0 +1,81 @@
#-------------------------------------------------
#
# Project created by QtCreator 2022-03-06T19:05:49
#
#-------------------------------------------------
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = tobacco_v1_0
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
UI_DIR += ./
SOURCES += \
main.cpp \
widget.cpp \
camera.cpp \
thread.cpp \
parameter.cpp
HEADERS += \
widget.h \
camera.h \
thread.h \
parameter.h
FORMS += \
widget.ui
LIBS += -L/opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/lib/ -lEbTransportLayerLib \
-lPtUtilsLib \
-lPvBase \
-lPvCameraBridge \
-lPvGenICam \
-lPvPersistence \
-lPvStream \
-lPvTransmitter\
-lSimpleImagingLib \
-lEbUtilsLib \
-lPtConvertersLib \
-lPvAppUtils \
-lPvBuffer \
-lPvDevice \
-lPvGUI \
-lPvSerial \
-lPvSystem \
-lPvVirtualDevice
INCLUDEPATH += /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include
DEPENDPATH += /opt/pleora/ebus_sdk/Ubuntu-18.04-x86_64/include
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lopencv_core \
-lopencv_imgproc \
-lopencv_highgui \
-lopencv_imgcodecs \
INCLUDEPATH += /usr/include/opencv2
DEPENDPATH += /usr/include/opencv2
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lmodbus
INCLUDEPATH += /home/dt/下载/libmodbus-3.1.6/install/include/modbus
#RESOURCES += \
# image_use.qrc

216
tobacco_v1_0.pro.user Normal file
View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.2, 2022-08-30T00:20:35. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{3134a746-b29c-4a8f-8071-aa79d42fc02d}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{3bf39791-694f-41b0-8dcf-bfce0aa84de8}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/dt/2022.8.1/tobacco_v1_0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清理</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">在本地部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">tobacco_v1_0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/dt/tobacco_huaian/aaaaa/2022.8.21/2022.8.20/tobacco_v1_0/tobacco_v1_0.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">tobacco_v1_0.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/dt/2022.8.1/tobacco_v1_0</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.2, 2022-08-05T10:41:42. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{3134a746-b29c-4a8f-8071-aa79d42fc02d}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{3bf39791-694f-41b0-8dcf-bfce0aa84de8}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/dt/2022.8.1/tobacco_v1_0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清理</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">在本地部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">tobacco_v1_0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/dt/2022.8.1/tobacco_v1_0/tobacco_v1_0.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">tobacco_v1_0.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/dt/2022.8.1/tobacco_v1_0</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.2, 2022-08-03T11:31:05. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{501d48d5-9987-478d-af86-7722c8e8d808}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{12453195-ba84-48d3-aaa4-8461ede8ab5c}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/lzy/2022.6.14/tobacco_v1_0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清理</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">在本地部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">tobacco_v1_0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">tobacco_v1_02</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/lzy/2022.8.1/tobacco_v1_0/tobacco_v1_0.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">tobacco_v1_0.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/lzy/2022.6.14/tobacco_v1_0</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.2, 2022-08-20T22:07:30. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{9db08b5e-f7e3-4ec9-8b00-e647974b4cff}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{c3ee8908-68b5-4ade-bc91-1c663943909c}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chenglei/Documents/Tobacco_project/2022.8.9_restart/tobacco_v1_0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清理</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">在本地部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">tobacco_v1_0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">tobacco_v1_02</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/chenglei/Documents/Tobacco_project/2022.8.20/2022.8.14/tobacco_v1_0/tobacco_v1_0.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">tobacco_v1_0.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/chenglei/Documents/Tobacco_project/2022.8.9_restart/tobacco_v1_0</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.2, 2022-06-13T16:35:49. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{cfde348c-c666-4b94-a936-53deb6e48232}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{e3fa18b5-f763-4038-947c-caf36c58ed7b}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/nvidia/tobacco_v1_0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">tobacco_v1_0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/nvidia/tobacco_v1_0/tobacco_v1_0.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">tobacco_v1_0.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/nvidia/tobacco_v1_0</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

BIN
white Normal file

Binary file not shown.

1537
widget.cpp Normal file

File diff suppressed because it is too large Load Diff

188
widget.h Normal file
View File

@ -0,0 +1,188 @@
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include "thread.h"
#include "camera.h"
#include "fstream"
#include "parameter.h"
#include "modbus.h"
#define MODE_SET_ADDR 0x0800
#define CONVEYOR_ADDR 0x0A0F
#define LAMP_ADDR 0x0A0E
#define POWER_ADDR 0x0A12
#define DRAUGHT_FAN_ADDR 0x0A13
#define BRUSH_ADDR 0x0A14
#define LAMP_FORCE 0x0814
#define CONVEYOR_AUTO_ADDR 0x0A26
#define LAMP_AUTO_ADDR 0x0A27
#define BRUSH_AUTO_ADDR 0x0A28
#define POWER_AUTO_ADDR 0x0A29
#define DRAUGHT_FAN_AUTO_ADDR 0x0A2A
namespace Ui {
class Widget;
}
// THIS IS THE FIRST M
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
SendThread* send_thread = nullptr;
SaveThread* save_thread = nullptr;
cv::Mat img;
cv::Mat img_rgb;
QTcpServer* server_to_lowermachine = nullptr;
QTcpSocket* lower_machine = nullptr;
QTcpSocket* up_machine = nullptr; //上位机socket
Parameter* parameter = nullptr;
bool connect_to_monitor = false;
bool send_to_up_machine = false;
volatile bool is_running = false;
void set_spinbox_range();
void set_ui(bool fullscreen);
void connect_monitor();
void load_parameter_doc();
void load_system_parameter();
void connect_signal();
//communication protocal 通信协议
void send_after_start();
//记录相机开启关闭日志
void time_log(int state);
void send_lamp_time_to_monitor();
void restart_from_error();//2022.8.8
int connect_modbus();
int plc_command(int times, int coil_addr, int status);
int plc_open_power();
int plc_close_power();
int plc_auto_start();
int plc_auto_stop();
private slots:
void get_data(uint8_t* buff);
void get_rgb_data(uint8_t* buff);
void On_btn_start_clicked();
void On_btn_stop_clicked();
void On_btn_black_clicked(); //采集黑帧图片
void On_btn_white_clicked(); //采集白帧图片
void On_btn_capture_clicked();
void get_mask(char* get_buf);
void get_mask_rgb(char* get_buf);
void get_valve_data(uint8_t* valve_data);
void get_send_to_up_machine(float* sendbuf);
void readfrom_up_machine();
void readfrom_lower_machine();//2022.8.8
void On_btn_sendsingle_clicked();
void On_btn_autosend_clicked();
void on_btn_1_clicked();
void on_btn_2_clicked();
void on_btn_3_clicked();
void on_btn_4_clicked();
void on_btn_5_clicked();
void on_btn_6_clicked();
void on_btn_7_clicked();
void on_btn_8_clicked();
void on_btn_9_clicked();
void on_btn_0_clicked();
void on_btn_clear_clicked();
void on_btn_del_clicked();
void on_btn_ensure_clicked();
void on_btn_back_clicked();
void on_btn_send_plus_clicked();
void on_btn_send_min_clicked();
void On_btn_threshold_clicked();
void on_btn_set_lower_clicked();
void on_btn_set_camera_clicked();
void on_btn_set_clicked();
void on_btn_rgb_white_clicked();
void on_btn_rgb_black_clicked();
void on_btn_save_enable_clicked();
void on_btn_save_disenable_clicked();
void on_btn_open_conveyor_clicked();
void on_btn_close_conveyor_clicked();
void on_btn_open_lamp_clicked();
void on_btn_close_lamp_clicked();
void on_btn_exit_2_clicked();
void on_btn_0to3_2_clicked();
void on_btn_send_single_long_clicked();
void on_btn_autosend_valve_clicked();
void on_radioButton_manul_2_clicked(bool checked);
void on_radioButton_manul_clicked(bool checked);
private:
Ui::Widget *ui;
};
#endif // WIDGET_H

2099
widget.ui Normal file

File diff suppressed because it is too large Load Diff