增加了xc声纳的上电
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user