增加了xc声纳的上电

This commit is contained in:
zjk
2025-09-12 11:35:17 +08:00
parent c2b9bccfc6
commit 481171d9ea
43 changed files with 1921 additions and 296 deletions
+33 -21
View File
@@ -21,6 +21,12 @@ bool _FsmCB(void * pParam)
return pMe->FsmLoop();
}
bool _CommCB(void * pParam)
{
PowerManger* pMe = (PowerManger* )pParam;
return pMe->commLoop();
}
//---------------------------------------------------------
// Constructor()
@@ -78,6 +84,7 @@ PowerManger::PowerManger()
PowerManger::~PowerManger()
{
m_commThread.Stop();
delete m_db;
delete m_lowerCommManager;
delete m_upperCommManager;
@@ -154,12 +161,12 @@ bool PowerManger::Iterate()
// 更新系统数据
m_systemData->updateCommonStatus();
// m_CcuColCmd.heartbeat
if (m_ticker++ % 5 == 0)
{
m_CcuColCmd.heartbeat++;
m_lowerCommManager->processPeriodicTasks();
m_upperCommManager->processPeriodicTasks();
}
// if (m_ticker++ % 5 == 0)
// {
// m_CcuColCmd.heartbeat++;
// m_lowerCommManager->processPeriodicTasks();
// m_upperCommManager->processPeriodicTasks();
// }
return(true);
}
@@ -203,6 +210,10 @@ bool PowerManger::OnStartUp()
PowerManagerFsm::start();
InitEvent initEvent;
PowerManagerFsm::dispatch(initEvent);
//初始化通信线程
m_commThread.Initialise(_CommCB,this);
m_commThread.Start();
return(true);
}
@@ -224,6 +235,9 @@ void PowerManger::registerVariables()
Register(DB_TO_PM_SETPMSYS,0);
Register(DB_TO_PM_SETDEVSWITCH,0);
Register(DB_TO_PM_TASKSTOP,0);
Register(uDetect_xcVoltage_cmd::key,0);
Register(uDetect_zdpVoltage_cmd::key,0);
}
@@ -249,20 +263,6 @@ bool PowerManger::buildReport()
bool PowerManger::FsmLoop()
{
//状态机循环
// while (!m_FsmThread.IsQuitRequested())
// {
// // // 检查故障并触发事件
// // if(int error = checkError()) {
// // m_fsm.triggerFaultEvent(error);
// // } else {
// // // 自动状态转换由状态机内部处理
// // MOOSPause(1000);
// // }
// //延时1s
// usleep(1000000);
// }
return true;
}
@@ -278,7 +278,6 @@ int PowerManger::checkError()
// m_pmCurrentState.ccustate.fcuGZ_3L != 0 ||
// m_pmCurrentState.ccustate.insEmergencyStatusWord != 0)
return 0;
//2.检查断路器状态
}
void PowerManger::printState(const std::string& stateName, const std::string& desp){
@@ -360,6 +359,19 @@ unsigned char PowerManger::getFaultLevel()
return maxLevel;
}
bool PowerManger::commLoop()
{
while(!m_commThread.IsQuitRequested())
{
m_CcuColCmd.heartbeat++;
m_lowerCommManager->processPeriodicTasks();
m_upperCommManager->processPeriodicTasks();
// 延时1秒
usleep(1000000);
}
return true;
}
void PowerManger::injectFault(unsigned type,unsigned int faultCode){
LOG_F(INFO, "注入故障: %d %d", type, faultCode);
TestEvent testEvent("故障注入测试",type,faultCode);