Ver código fonte

Z991239-3374 #comment other: WatchDog错误码

翟俊伟80258120 3 anos atrás
pai
commit
0117b2bb98

+ 3 - 1
Module/mod_watchdog/CMakeLists.txt

@@ -16,10 +16,12 @@ add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
 target_include_directories(${MODULE_NAME} PRIVATE
 	${DevHeadPath}
 	${ModuleCommonHeadPath}
+	${RVC_OTHER_DEPENDENIES_DIR}/libpublicFun
 )
 
 # 添加实体需要依赖的其他共享库(包括系统库)
-target_link_libraries(${MODULE_NAME} ${MODULE_BASE_LIBS})
+set(${MODULE_PREFIX}_SYSLIBS libpublicFun)
+target_link_libraries(${MODULE_NAME} ${MODULE_BASE_LIBS} ${${MODULE_PREFIX}_SYSLIBS})
 
 deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
 

+ 20 - 2
Module/mod_watchdog/WatchDogFSM.cpp

@@ -23,6 +23,10 @@ ErrorCodeEnum CWatchDogFSM::OnExit()
 void CWatchDogFSM::s0_on_entry()
 {
 	LOG_FUNCTION();
+	if (m_FirstStart) {
+		m_FirstStart = FALSE;
+		ToLogWarnInfoAboutTerm(this, m_adapterInfo);
+	}
 }
 
 void CWatchDogFSM::s0_on_exit()
@@ -211,12 +215,26 @@ ErrorCodeEnum CWatchDogFSM::Load()
 	if (result != Error_Succeed) {
 		return result;
 	}
+	m_adapterInfo.adapterFileName = dllName;
 
 	result = m_hDevHelper->DevOpen();
     if (result == Error_Succeed) {
-        LOG_TRACE("WatchDog open succeed.");
+		ZeroMemory(m_devCatInfo.szModel, sizeof(m_devCatInfo.szModel));
+		ZeroMemory(m_devCatInfo.szType, sizeof(m_devCatInfo.szType));
+		ZeroMemory(m_devCatInfo.szVendor, sizeof(m_devCatInfo.szVendor));
+		result = m_hDevHelper->GetDevCategory(m_devCatInfo);
+		if (result == Error_Succeed)
+		{
+			Dbg("szVendor:%s ,szType:%s szModel:%s", m_devCatInfo.szVendor, m_devCatInfo.szType, m_devCatInfo.szModel);
+			m_adapterInfo.devCatInfo = m_devCatInfo;
+		}
+		else {
+			SetErrPackage(m_errPkg, "OnInit::GetDevCategory", m_devSN, result, MEC_DEVAPI_WATCHDOG_GetDevCategory);
+			AlarmDEC(m_errPkg);
+		}
     } else {
-		LOG_WATCHDOG_ERROR_MSG_MACRO(result, DevOpen);
+		SetErrPackage(m_errPkg, "OnInit::DevOpen", m_devSN, result, MEC_DEVAPI_WATCHDOG_DevOpen);
+		AlarmDEC(m_errPkg);
         return Error_DevConnFailed;
     }
 

+ 11 - 1
Module/mod_watchdog/WatchDogFSM.h

@@ -101,7 +101,12 @@ public:
 		FSM_RULE_ENTRY(s4, FSM_STATE_EXIT, USER_EVT_QUIT, 0)
 		END_FSM_RULE()
 
-	CWatchDogFSM() {}
+	CWatchDogFSM() : m_devSN("")
+	{
+		HARDWARE_ENTITY_RESET_ENTITYID(m_entCode, 0x20D);
+		m_FirstStart = TRUE;
+		ZeroMemory(&m_adapterInfo, sizeof(m_adapterInfo));
+	}
 	virtual ~CWatchDogFSM() {};
 
 	virtual ErrorCodeEnum OnInit();
@@ -129,6 +134,11 @@ public:
 private:
 	ErrorCodeEnum Load();
 
+	ErrorPackage m_errPkg;
+	CSimpleStringA m_devSN;
+	AdapterInfo m_adapterInfo;
+	DevCategoryInfo m_devCatInfo;
+
 };
 struct StartWatchTask : public ITaskSp
 {