123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- #include "SendStruct.h"
- #include "spdlog/spdlog.h"
- #include "GlobalVariable.h"
- // ************************** StOneRoadVolumeInfo ************************** 【【
- StOneRoadVolumeInfo::StOneRoadVolumeInfo()
- {
- bSilence = SILENCE_DEF_VALUE;
- bOverload = false;
- bReversed = false;
- m_bNoise = false;
- m_bNoiseWarning = false;
- m_nLeftDBOfRealTime = VOLUME_MIN_BD;
- m_nRightDBOfRealTime = VOLUME_MIN_BD;
- for(int i = 0; i < VOLUME_INFO_NUM; ++i)
- {
- aryLeftDB[i] = VOLUME_MIN_BD;
- aryRightDB[i] = VOLUME_MIN_BD;
- }
- }
- StOneRoadVolumeInfo& StOneRoadVolumeInfo::operator=(const StOneRoadVolumeInfo &obj)
- {
- bSilence = obj.bSilence;
- bOverload = obj.bOverload;
- bReversed = obj.bReversed;
- m_bNoise = obj.m_bNoise;
- m_bNoiseWarning = obj.m_bNoiseWarning;
- m_nLeftDBOfRealTime = obj.m_nLeftDBOfRealTime;
- m_nRightDBOfRealTime = obj.m_nRightDBOfRealTime;
- for(int i = 0; i < VOLUME_INFO_NUM; ++i)
- {
- aryLeftDB[i] = obj.aryLeftDB[i];
- aryRightDB[i] = obj.aryRightDB[i];
- }
- return *this;
- }
- StOneRoadVolumeInfo::StOneRoadVolumeInfo(const StOneRoadVolumeInfo& obj)
- {
- *this = obj;
- }
- void StOneRoadVolumeInfo::GetDBString(std::string &strLeftDB, std::string &strRightDB, const uint32_t nDBNum) const
- {
- int nOffset = 1;
- if (nDBNum > 0)
- {
- nOffset = VOLUME_INFO_NUM / nDBNum;
- }
- strLeftDB = "";
- strRightDB = "";
- std::string strLeft, strRight;
- for(int i = 0; i < VOLUME_INFO_NUM; i+=nOffset)
- {
- strLeft = fmt::format("{}", aryLeftDB[i]);
- if (!strLeftDB.empty())
- {
- strLeftDB += ",";
- }
- strLeftDB += strLeft;
- strRight = fmt::format("{}", aryRightDB[i]);
- if (!strRightDB.empty())
- {
- strRightDB += ",";
- }
- strRightDB += strRight;
- }
- }
- std::string StOneRoadVolumeInfo::GetString()
- {
- std::string strRet = fmt::format("{},{},{},{},{}", bSilence, bOverload, bReversed, m_nLeftDBOfRealTime, m_nRightDBOfRealTime);
- return strRet;
- }
- std::string StOneRoadVolumeInfo::GetStringNoise()
- {
-
- std::string strRet = fmt::format("{},{},{},{},{},{}", bSilence, bOverload, bReversed, m_nLeftDBOfRealTime, m_nRightDBOfRealTime, m_bNoise);
- return strRet;
- }
- std::string StOneRoadVolumeInfo::GetStringNoiseWarning()
- {
- // 后5位0是预留扩展用的,避免每次修改接口
- std::string strRet = fmt::format("{},{},{},{},{},{},{},0,0,0,0,0", bSilence, bOverload, bReversed, m_nLeftDBOfRealTime, m_nRightDBOfRealTime, m_bNoise, m_bNoiseWarning);
- return strRet;
- }
- bool StOneRoadVolumeInfo::isHasAlarm()
- {
- if (bSilence || bOverload || bReversed || m_bNoise)
- {
- return true;
- }
- return false;
- }
- // ************************** StSendChannelVolumeInfo ************************** 【【
- StSendChannelVolumeInfo::StSendChannelVolumeInfo(const StSendChannelVolumeInfo& obj)
- {
- *this = obj;
- }
- StSendChannelVolumeInfo& StSendChannelVolumeInfo::operator=(const StSendChannelVolumeInfo &obj)
- {
- bNotConsistencyWarning = obj.bNotConsistencyWarning;
- bConsistency = obj.bConsistency;
- road1VolumeInfo = obj.road1VolumeInfo;
- road2VolumeInfo = obj.road2VolumeInfo;
- m_tCurTime = obj.m_tCurTime;
- bAlarm = obj.bAlarm;
- dSimilarity = obj.dSimilarity;
- return *this;
- }
- std::string StSendChannelVolumeInfo::GetString()
- {
-
- std::string strRet = fmt::format("{};{};{};{};{};{},End",
- m_tCurTime, bConsistency, bNotConsistencyWarning, road1VolumeInfo.GetString(), road2VolumeInfo.GetString(),dSimilarity);
- return strRet;
- }
- std::string StSendChannelVolumeInfo::GetStringNoise()
- {
- std::string strRet = fmt::format("{};{};{};{};{};{};End",
- m_tCurTime, bConsistency, bNotConsistencyWarning, road1VolumeInfo.GetStringNoise(), road2VolumeInfo.GetStringNoise(), bAlarm);
- return strRet;
- }
- std::string StSendChannelVolumeInfo::GetStringNoiseWarning()
- {
- // 后5位0是预留扩展用的,避免每次修改接口;2023-11-03 dSimilarity用掉1位,还有4位备用
- std::string strRet = fmt::format("{};{};{};{};{};{};{};0;0;0;0;End",
- m_tCurTime, bConsistency, bNotConsistencyWarning, road1VolumeInfo.GetStringNoiseWarning(), road2VolumeInfo.GetStringNoiseWarning(), bAlarm, dSimilarity);
- return strRet;
- }
- bool StSendChannelVolumeInfo::isHasAlarmExcept()
- {
- if (road1VolumeInfo.isHasAlarm() || road2VolumeInfo.isHasAlarm())
- {
- return true;
- }
- return false;
- }
|