|
|
@ -68,7 +68,8 @@ SyncQueue<_UDPSendInfo>* UDP_Info_queue;
|
|
|
|
#ifdef __TCPSend
|
|
|
|
#ifdef __TCPSend
|
|
|
|
SyncQueue<_TCPSendInfo>* TCP_Info_queue;
|
|
|
|
SyncQueue<_TCPSendInfo>* TCP_Info_queue;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifdef __MqttSend
|
|
|
|
#ifdef __MQTTSend
|
|
|
|
|
|
|
|
SyncQueue<_MqttSendInfo>* MQTT_Info_queue;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
bool flag = false;
|
|
|
|
bool flag = false;
|
|
|
|
SyncQueue<_XMLExportDataInfo>* export_XMLData_Info_queue;
|
|
|
|
SyncQueue<_XMLExportDataInfo>* export_XMLData_Info_queue;
|
|
|
@ -132,7 +133,7 @@ Cigarette::Cigarette(QWidget* parent)
|
|
|
|
if (!read_rotate_message()) {
|
|
|
|
if (!read_rotate_message()) {
|
|
|
|
update_rotate = true;
|
|
|
|
update_rotate = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef LOG_RECORD
|
|
|
|
QThread* hThread = new QThread();
|
|
|
|
QThread* hThread = new QThread();
|
|
|
|
CLog* clogWorkThread = new CLog();
|
|
|
|
CLog* clogWorkThread = new CLog();
|
|
|
|
clogWorkThread->moveToThread(hThread);
|
|
|
|
clogWorkThread->moveToThread(hThread);
|
|
|
@ -140,9 +141,8 @@ Cigarette::Cigarette(QWidget* parent)
|
|
|
|
connect(hThread, &QThread::finished, clogWorkThread, &CLog::deleteLater);
|
|
|
|
connect(hThread, &QThread::finished, clogWorkThread, &CLog::deleteLater);
|
|
|
|
connect(this, &Cigarette::sengMsgToClog, clogWorkThread, &CLog::recMegFromCigarette);
|
|
|
|
connect(this, &Cigarette::sengMsgToClog, clogWorkThread, &CLog::recMegFromCigarette);
|
|
|
|
hThread->start();
|
|
|
|
hThread->start();
|
|
|
|
|
|
|
|
|
|
|
|
emit sengMsgToClog("Application Start.");
|
|
|
|
emit sengMsgToClog("Application Start.");
|
|
|
|
|
|
|
|
#endif
|
|
|
|
g_save_queue = new SyncQueue<std::pair<std::string, cv::Mat>>(Queue_Size);
|
|
|
|
g_save_queue = new SyncQueue<std::pair<std::string, cv::Mat>>(Queue_Size);
|
|
|
|
g_save_queue->name = "save queue";
|
|
|
|
g_save_queue->name = "save queue";
|
|
|
|
#ifdef __UDPSend
|
|
|
|
#ifdef __UDPSend
|
|
|
@ -153,6 +153,10 @@ Cigarette::Cigarette(QWidget* parent)
|
|
|
|
TCP_Info_queue = new SyncQueue<_TCPSendInfo>(Queue_Size);
|
|
|
|
TCP_Info_queue = new SyncQueue<_TCPSendInfo>(Queue_Size);
|
|
|
|
TCP_Info_queue->name = "TCP Info queue";
|
|
|
|
TCP_Info_queue->name = "TCP Info queue";
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __MQTTSend
|
|
|
|
|
|
|
|
MQTT_Info_queue = new SyncQueue<_MqttSendInfo>(Queue_Size);
|
|
|
|
|
|
|
|
MQTT_Info_queue->name = "MQTT Info queue";
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#ifdef __ExportData
|
|
|
|
#ifdef __ExportData
|
|
|
|
export_XMLData_Info_queue = new SyncQueue<_XMLExportDataInfo>(Queue_Size);
|
|
|
|
export_XMLData_Info_queue = new SyncQueue<_XMLExportDataInfo>(Queue_Size);
|
|
|
|
export_XMLData_Info_queue->name = "Export Data Info queue";
|
|
|
|
export_XMLData_Info_queue->name = "Export Data Info queue";
|
|
|
@ -270,17 +274,23 @@ Cigarette::Cigarette(QWidget* parent)
|
|
|
|
sThread.init(UDP_Info_queue, g_sys_conf.MonitorIP, g_sys_conf.MonitorPort);
|
|
|
|
sThread.init(UDP_Info_queue, g_sys_conf.MonitorIP, g_sys_conf.MonitorPort);
|
|
|
|
sThread.start_work();
|
|
|
|
sThread.start_work();
|
|
|
|
|
|
|
|
|
|
|
|
rThread = new threadReceive();
|
|
|
|
rThread.init(g_sys_conf.MonitorIP, g_sys_conf.MonitorPort);
|
|
|
|
rThread->init(g_sys_conf.MonitorIP, g_sys_conf.MonitorPort);
|
|
|
|
connect(&rThread, &threadReceive::sendMsgToCigratte, this, &Cigarette::recMsgFromUdp);
|
|
|
|
connect(rThread, &threadReceive::sendMsgToCigratte, this, &Cigarette::recMsgFromUdp);
|
|
|
|
rThread.start_work();
|
|
|
|
rThread->start_work();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __TCPSend
|
|
|
|
#ifdef __TCPSend
|
|
|
|
std::string serverIp = g_sys_conf.TcpIP;
|
|
|
|
std::string ServerIp = g_sys_conf.TcpIP;
|
|
|
|
int serverPort = g_sys_conf.TcpPort;
|
|
|
|
int ServerPort = g_sys_conf.TcpPort;
|
|
|
|
tcpSendThread.init(TCP_Info_queue, serverIp, serverPort);
|
|
|
|
TcpSendThread.init(TCP_Info_queue, ServerIp, ServerPort);
|
|
|
|
tcpSendThread.start_work();
|
|
|
|
TcpSendThread.start_work();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTTSend
|
|
|
|
|
|
|
|
std::string MqttServerIp = g_sys_conf.TcpIP;
|
|
|
|
|
|
|
|
int MqttServerPort = g_sys_conf.TcpPort;
|
|
|
|
|
|
|
|
MqttSendThread.init(MQTT_Info_queue, MqttServerIp, MqttServerPort);
|
|
|
|
|
|
|
|
MqttSendThread.start_work();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __ExportData
|
|
|
|
#ifdef __ExportData
|
|
|
@ -437,21 +447,25 @@ Cigarette::Cigarette(QWidget* parent)
|
|
|
|
|
|
|
|
|
|
|
|
m_delay = new QTimer(this);//换班防连击
|
|
|
|
m_delay = new QTimer(this);//换班防连击
|
|
|
|
connect(m_delay, SIGNAL(timeout()), this, SLOT(enable_shift()));
|
|
|
|
connect(m_delay, SIGNAL(timeout()), this, SLOT(enable_shift()));
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __UDPSend
|
|
|
|
#ifdef __UDPSend
|
|
|
|
m_sendMsg_delay = new QTimer(this);
|
|
|
|
m_sendMsg_delay = new QTimer(this);
|
|
|
|
connect(m_sendMsg_delay, SIGNAL(timeout()), this, SLOT(sendLatestData()));
|
|
|
|
connect(m_sendMsg_delay, SIGNAL(timeout()), this, SLOT(sendLatestData()));
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
m_op_delay = new QTimer(this);
|
|
|
|
m_op_delay = new QTimer(this);
|
|
|
|
connect(m_op_delay, SIGNAL(timeout()), this, SLOT(op_timeout()));
|
|
|
|
connect(m_op_delay, SIGNAL(timeout()), this, SLOT(op_timeout()));
|
|
|
|
|
|
|
|
|
|
|
|
m_admin_delay = new QTimer(this);
|
|
|
|
m_admin_delay = new QTimer(this);
|
|
|
|
connect(m_admin_delay, SIGNAL(timeout()), this, SLOT(admin_timeout()));
|
|
|
|
connect(m_admin_delay, SIGNAL(timeout()), this, SLOT(admin_timeout()));
|
|
|
|
|
|
|
|
#ifdef CLEAR_THREAD
|
|
|
|
clean_pTimer = new QTimer(this);
|
|
|
|
clean_pTimer = new QTimer(this);
|
|
|
|
connect(clean_pTimer, SIGNAL(timeout()), this, SLOT(CleanThreadStartAuto()));
|
|
|
|
connect(clean_pTimer, SIGNAL(timeout()), this, SLOT(CleanThreadStartAuto()));
|
|
|
|
clean_pTimer->start(3600000);
|
|
|
|
clean_pTimer->start(5000);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __MQTTSend
|
|
|
|
|
|
|
|
mqtt_pTimer = new QTimer(this);
|
|
|
|
|
|
|
|
connect(mqtt_pTimer, SIGNAL(timeout()), this, SLOT(MqttMsgSend()));
|
|
|
|
|
|
|
|
mqtt_pTimer->start(3600000);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
connect(ui.label_alarm, SIGNAL(QlabelDoubleClick()), this, SLOT(OnCancelAlarm()));//报警标签双击消警
|
|
|
|
connect(ui.label_alarm, SIGNAL(QlabelDoubleClick()), this, SLOT(OnCancelAlarm()));//报警标签双击消警
|
|
|
|
|
|
|
|
|
|
|
@ -556,7 +570,7 @@ Cigarette::~Cigarette()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
emit sengMsgToClog("Application exited.");
|
|
|
|
emit sengMsgToClog("Application exited.");
|
|
|
|
Exit();
|
|
|
|
Exit();
|
|
|
|
exit(-1);
|
|
|
|
//exit(-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Cigarette::start_work()
|
|
|
|
void Cigarette::start_work()
|
|
|
@ -705,12 +719,15 @@ void Cigarette::Exit()
|
|
|
|
delete g_save_queue;
|
|
|
|
delete g_save_queue;
|
|
|
|
#ifdef __UDPSend
|
|
|
|
#ifdef __UDPSend
|
|
|
|
sThread.stop();
|
|
|
|
sThread.stop();
|
|
|
|
rThread->stop();
|
|
|
|
rThread.stop();
|
|
|
|
delete rThread;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __TCPSend
|
|
|
|
#ifdef __TCPSend
|
|
|
|
tcpSendThread.stop();
|
|
|
|
TcpSendThread.stop();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __MQTTSend
|
|
|
|
|
|
|
|
MqttSendThread.stop();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __ExportData
|
|
|
|
#ifdef __ExportData
|
|
|
@ -1860,7 +1877,6 @@ void Cigarette::handleTimeout()
|
|
|
|
ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);"));
|
|
|
|
ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);"));
|
|
|
|
ui.label_alarm->setText(QStringLiteral("无报警"));
|
|
|
|
ui.label_alarm->setText(QStringLiteral("无报警"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __UDPSend
|
|
|
|
#ifdef __UDPSend
|
|
|
|
QString str;
|
|
|
|
QString str;
|
|
|
|
str = QString("alarm") + '_' + QString::number(alarm_info.alarm_code);
|
|
|
|
str = QString("alarm") + '_' + QString::number(alarm_info.alarm_code);
|
|
|
@ -3597,6 +3613,7 @@ void Cigarette::DisableDebugMode()
|
|
|
|
g_debug_mode = false;
|
|
|
|
g_debug_mode = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CLEAR_THREAD
|
|
|
|
void Cigarette::CleanThreadStart()
|
|
|
|
void Cigarette::CleanThreadStart()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QThread* handleThread = new QThread();
|
|
|
|
QThread* handleThread = new QThread();
|
|
|
@ -3625,6 +3642,7 @@ void Cigarette::CleanThreadStartAuto()
|
|
|
|
connect(handleThread, &QThread::finished, handleThread, &QThread::deleteLater);
|
|
|
|
connect(handleThread, &QThread::finished, handleThread, &QThread::deleteLater);
|
|
|
|
handleThread->start();
|
|
|
|
handleThread->start();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
void Cigarette::record_output_statistic(qint64 quantity, int Kick[NumberOfSupportedCameras], int shift)
|
|
|
|
void Cigarette::record_output_statistic(qint64 quantity, int Kick[NumberOfSupportedCameras], int shift)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -3669,6 +3687,12 @@ void Cigarette::record_output_statistic(qint64 quantity, int Kick[NumberOfSuppor
|
|
|
|
last_shift = shift;
|
|
|
|
last_shift = shift;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Cigarette::MqttMsgSend()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_MqttSendInfo MqttSendInfo;
|
|
|
|
|
|
|
|
MQTT_Info_queue->put(MqttSendInfo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __UDPSend
|
|
|
|
#ifdef __UDPSend
|
|
|
|
void Cigarette::recMsgFromUdp(QString data)
|
|
|
|
void Cigarette::recMsgFromUdp(QString data)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -3770,7 +3794,9 @@ void Cigarette::recMsgFromUdp(QString data)
|
|
|
|
else if (data == "CLEARNIMAGE")
|
|
|
|
else if (data == "CLEARNIMAGE")
|
|
|
|
{
|
|
|
|
{
|
|
|
|
emit sengMsgToClog("Clean images.");
|
|
|
|
emit sengMsgToClog("Clean images.");
|
|
|
|
|
|
|
|
#ifdef CLEAR_THREAD
|
|
|
|
CleanThreadStart();
|
|
|
|
CleanThreadStart();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (data == "DEBUGEN")
|
|
|
|
else if (data == "DEBUGEN")
|
|
|
|
{
|
|
|
|
{
|
|
|
|