进行了水面端测试
This commit is contained in:
@@ -29,7 +29,7 @@ PowerManger::PowerManger()
|
||||
workCondition = 0;
|
||||
currentMod = 0;
|
||||
powerState = 0;
|
||||
falutLevel = 0;
|
||||
faultLevel = 0;
|
||||
soc = 0;
|
||||
sustainableTime = 0;
|
||||
m_faultNum = 0;
|
||||
@@ -125,6 +125,7 @@ bool PowerManger::Iterate()
|
||||
AppCastingMOOSApp::Iterate();
|
||||
// 打印当前状态
|
||||
// cout << " Current State : " << (int)PowerManagerFsm::current_state_ptr->getCurrentState();
|
||||
faultLevel = getFaultLevel();
|
||||
if (m_ticker++ % 5 == 0)
|
||||
{
|
||||
m_CcuColCmd.heartbeat++;
|
||||
@@ -196,6 +197,11 @@ void PowerManger::registerVariables()
|
||||
Register(DB_TO_PM_SUBDISSTATE, 0);
|
||||
Register(DB_TO_PM_MISSION,0);
|
||||
Register(DB_TO_PM_DEEPTH,0);
|
||||
Register(DB_TO_PM_SETOPCONDITION,0);
|
||||
Register(DB_TO_PM_SETOPMODE,0);
|
||||
Register(DB_TO_PM_SETPMSYS,0);
|
||||
Register(DB_TO_PM_SETDEVSWITCH,0);
|
||||
Register(DB_TO_PM_TASKSTOP,0);
|
||||
}
|
||||
|
||||
|
||||
@@ -277,14 +283,6 @@ void PowerManger::printState(const std::string& stateName, const std::string& de
|
||||
}
|
||||
|
||||
|
||||
//==============================系统操作函数====================
|
||||
bool PowerManger::shutdown()
|
||||
{
|
||||
m_CcuColCmd.masterState = 0xFF; //关机
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void PowerManger::initControlCmd()
|
||||
{
|
||||
//================初始化配电指令=============================
|
||||
@@ -340,4 +338,17 @@ void PowerManger::initControlCmd()
|
||||
m_msCmd.workCMD = 99;
|
||||
//================初始化设备驱动指令========================
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char PowerManger::getFaultLevel()
|
||||
{
|
||||
unsigned char maxLevel = 0;
|
||||
for (auto code : faultCode) {
|
||||
// 提取0xabcd中的b位 (右移8位后取低4位)
|
||||
unsigned char level = (code >> 8) & 0xF;
|
||||
if (level > maxLevel) {
|
||||
maxLevel = level;
|
||||
}
|
||||
}
|
||||
return maxLevel;
|
||||
}
|
||||
Reference in New Issue
Block a user