ソースを参照

V0.6.1
1、修复了过载、反相报警没有对比项信息的bug

Apple 1 ヶ月 前
コミット
2e49f32612

+ 1 - 1
SQL/ACAServer.sql

@@ -1,4 +1,4 @@
--- Active: 1752718919967@@192.1.2.61@5236@EQM_CESHI
+-- Active: 1752920752747@@192.1.2.61@5236@EQM_CESHI
 
 
 #对比项

+ 2 - 2
Server/ThreadCalculate/CalculateDBThread.cpp

@@ -408,7 +408,7 @@ void CalculateDBThread::processOverload()
             m_alarmOverload.EndTime = m_currSecondData.endTime;
 
             /* 开启录音 */
-            if(!m_threadCreateAlarmFile->startRecordAlarmFile(m_alarmSilence))
+            if(!m_threadCreateAlarmFile->startRecordAlarmFile(m_alarmOverload))
             {
                 /* 开启录制报警音频失败 */
                 SPDLOG_LOGGER_WARN(m_logger, "{} 开启录制过载报警音频失败", m_logBase);
@@ -503,7 +503,7 @@ void CalculateDBThread::processPhase()
             m_alarmPhase.EndTime = m_currSecondData.endTime;
 
             /* 开启录音 */
-            if(!m_threadCreateAlarmFile->startRecordAlarmFile(m_alarmSilence))
+            if(!m_threadCreateAlarmFile->startRecordAlarmFile(m_alarmPhase))
             {
                 /* 开启录制报警音频失败 */
                 SPDLOG_LOGGER_WARN(m_logger, "{} 开启录制反相报警音频失败", m_logBase);

+ 20 - 13
Server/ThreadCalculate/NoiseDetectThread.cpp

@@ -85,6 +85,11 @@ void NoiseDetectThread::task()
 
     SPDLOG_LOGGER_INFO(m_logger, " ★ {} 噪音检测线程开始运行  ", m_logBase);
     // std::chrono::system_clock::time_point startTime = std::chrono::system_clock::now();
+#if(CREATE_NOISE_WARN)
+    int noiseWarnCount = 0;
+    bool isNoise = false;
+#endif /* CREATE_NOISE_WARN */
+
     while(m_isRunning)
     {
         std::this_thread::sleep_for(std::chrono::milliseconds(detectInterval));
@@ -118,17 +123,19 @@ void NoiseDetectThread::task()
         {
             continue;
         }
+
+    #if(CREATE_NOISE_WARN)
         /* 这里模拟报警 */
-        // auto now = std::chrono::system_clock::now();
+        if( noiseWarnCount >= 12)
+        {
+            isNoise = !isNoise;
+            noiseWarnCount = 0;
+        }
+        noiseWarnCount++;
 
-        // if(now - startTime > std::chrono::seconds(10) && now - startTime < std::chrono::seconds(20))
-        // {
-        //     SPDLOG_LOGGER_WARN(m_logger, "{} 模拟噪音开始", m_logBase);
-        //     m_currentIsNoise = true; // 模拟噪音检测到
-        // }else
-        // {
-        //     m_currentIsNoise = false;
-        // }
+        m_currentIsNoise = isNoise;
+        
+    #endif /* CREATE_NOISE_WARN */
 
 
         /*------------------------------------------------------------------------
@@ -261,9 +268,9 @@ bool NoiseDetectThread::detectNoise()
 
     std::chrono::duration<double> duration = std::chrono::steady_clock::now() - startTime;
     std::chrono::milliseconds ms = std::chrono::duration_cast<std::chrono::milliseconds>(duration);
-    SPDLOG_LOGGER_DEBUG(m_logger, "{} 计算噪音耗时: {}ms", m_logBase, ms.count());
+    // SPDLOG_LOGGER_DEBUG(m_logger, "{} 计算噪音耗时: {}ms", m_logBase, ms.count());
 
-    SPDLOG_LOGGER_DEBUG(m_logger, "{} 左声道噪音检测结果: {}, 右声道噪音检测结果: {}", m_logBase, isNoiseLeft, isNoiseRight);
+    SPDLOG_LOGGER_DEBUG(m_logger, "{} 左声道噪音检测结果: {}, 右声道噪音检测结果: {}, 耗时:{}", m_logBase, isNoiseLeft, isNoiseRight, ms.count());
 
     /* -------------------------- 和以往的结果对比 --------------------------*/
     m_currentIsNoise = (isNoiseLeft || isNoiseRight); /* 是否检测到噪音 */
@@ -409,8 +416,8 @@ void NoiseDetectThread::saveResultOnlyOneItem()
     }else {
         m_isNoise.store(false);
     }
-    // SPDLOG_LOGGER_INFO(m_logger, "{} 当前噪音检测结果: {}, 噪音预警: {}, 连续噪音个数: {}, 噪音所占百分比: {:.2f}%", 
-    //     m_logBase, m_currentIsNoise, m_isNoiseWarning.load(), numCountinueNoise, percentNoise);
+    SPDLOG_LOGGER_INFO(m_logger, "{} 当前噪音检测结果: {}, 噪音预警: {}, 连续噪音个数: {}, 噪音所占百分比: {:.2f}%", 
+        m_logBase, m_currentIsNoise, m_isNoiseWarning.load(), numCountinueNoise, percentNoise);
     /* 噪音报警信息 */
     if(m_isNoise.load())
     {

+ 5 - 0
Server/ThreadCalculate/NoiseDetectThread.h

@@ -7,6 +7,11 @@
 #include "SystemConfig.h"
 #include "RingQueueManualMutex.hpp"
 
+/* 模拟噪音报警 */
+#define CREATE_NOISE_WARN false
+
+
+
 class CreateWAVThread;
 class CreateRecordFileThread ;
 

+ 1 - 1
Server/ThreadRecord/RecordThread.h

@@ -13,7 +13,7 @@
 #include "spdlog/spdlog.h"
 
 
-/* 设置为true,使用本地文件 */
+/* 设置为true,读取本地文件模拟录音 */
 #define RECORD_READFILE true