屏蔽了squit3,实现了外部通讯交互

This commit is contained in:
zjk
2025-04-27 00:11:30 +08:00
parent 06226b6704
commit a45ba75c37
17 changed files with 580 additions and 257 deletions
+32 -24
View File
@@ -44,28 +44,36 @@ LowerCommManager::~LowerCommManager(){
}
}
bool LowerCommManager::initUdpComm(){
//设置UDP监听端口
if(m_udpComm->udpScoket)
{
try
{
m_udpComm->udpScoket->vBindSocket();
cout<<MOOS::ConsoleColours::green()<< "UDP set succeed!"<< MOOS::ConsoleColours::reset() << endl;
}
catch(const std::exception& e)
{
std::cerr << e.what() << '\n';
cout<<MOOS::ConsoleColours::red()<< "UDP set Fild!"<< MOOS::ConsoleColours::reset() << endl;
if (m_udpComm->udpScoket) {
try {
std::cout << MOOS::ConsoleColours::yellow() << "Attempting to bind UDP socket..." << MOOS::ConsoleColours::reset() << std::endl;
m_udpComm->udpScoket->vBindSocket(); // 可能会抛出 XPCException 或其他 std::exception
std::cout << MOOS::ConsoleColours::green() << "UDP bind succeeded!" << MOOS::ConsoleColours::reset() << std::endl;
LOG_F(INFO, "UDP bind succeeded!");
}
catch (const std::exception& e) {
std::cerr << MOOS::ConsoleColours::red()
<< "[UDP Bind Failed] Exception: " << e.what()
<< MOOS::ConsoleColours::reset() << std::endl;
LOG_F(ERROR, "UDP bind failed: %s", e.what());
return false;
}
catch (...) {
std::cerr << MOOS::ConsoleColours::red()
<< "[UDP Bind Failed] Unknown exception occurred!"
<< MOOS::ConsoleColours::reset() << std::endl;
LOG_F(ERROR, "Unknown exception occurred during UDP bind");
return false;
}
} else {
std::cerr << MOOS::ConsoleColours::red()
<< "[UDP Init Failed] udpSocket is null!"
<< MOOS::ConsoleColours::reset() << std::endl;
LOG_F(ERROR, "udpSocket is null!");
return false;
}
}
else
{
cout<<MOOS::ConsoleColours::red()<< "UDP set Fild!"<< MOOS::ConsoleColours::reset() << endl;
return false;
}
return true;
return true;
}
void LowerCommManager::processPeriodicTasks() {
sendCcuCommand(m_pm->m_CcuColCmd);
@@ -128,10 +136,10 @@ bool LowerCommManager::sendDisSysCommand(const disSysBreakerList& cmd){
d.emergencyLithiumBatteryGroup1CircuitBreaker = getBreakerOption(cmd.bus4Breaker.emergencyLithiumBatteryGroup1CircuitBreaker);
m_udpComm->sendDisSysCmd(d);
//将指令写入数据库
m_pm->m_db->insertDisSysCmd(a);
m_pm->m_db->insertDisSysCmd(b);
m_pm->m_db->insertDisSysCmd(c);
m_pm->m_db->insertDisSysCmd(d);
// m_pm->m_db->insertDisSysCmd(a);
// m_pm->m_db->insertDisSysCmd(b);
// m_pm->m_db->insertDisSysCmd(c);
// m_pm->m_db->insertDisSysCmd(d);
return true;
}