XNSim/XNCore/XNIDL/XNSimStatus.idl

67 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

2025-04-28 12:25:20 +08:00
module XNSim
{
module XNSimStatus
{
//内核加载状态,内置类型,不能用作主题
@nested
struct XNCoreStatus
{
long XNFWStatus; //主框架加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNTMStatus; //时间管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNEMStatus; //事件管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNSDStatus; //场景管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNThMStatus; //线程管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNMMStatus; //模型管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNSMStatus; //服务管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
long XNDMStatus; //DDS管理器加载状态 0-未加载 1-初始化完成 2-正常 其它-异常
};
//引擎状态主题
struct XNEngineStatus
{
string XNEngineName; //引擎名称
long XNEngineID; //引擎ID
long XNEngineSt; //引擎状态 0-未开始 1-运行中 2-暂停 3-终止 其它-未知状态
long XNEngineAff; //引擎CPU亲和性
long XNThCnt; //线程数量
XNCoreStatus XNCoreSt; //内核状态
};
//线程状态主题
struct XNThreadStatus
{
string XNThreadName; //线程名称
long XNThreadID; //线程ID
long XNThreadSt; //线程状态 0-未开始 1-运行中 2-暂停 3-终止 其它-未知状态
long XNThreadAff; //线程CPU亲和性
long XNThreadPro; //线程优先级
unsigned long long XNThRunCnt; //线程运行周期数
double XNThCurFreq; //线程实时频率,单位Hz
double XNThSetFreq; //线程设置频率,单位Hz
};
//模型状态主题
struct XNModelStatus
{
string XNModelName; //模型名称
long XNModelID; //模型ID
long XNModelSt; //模型状态主题
long XNModelThID; //模型所属线程ID
long XNModelNode; //模型运行节点
long XNModelPro; //模型运行优先级
unsigned long long XNModelRunCnt; //模型运行周期数
double XNMdlCurFreq; //模型实时频率,单位Hz
double XNMdlSetFreq; //模型设置频率,单位Hz
};
};
module XNSimControl
{
//仿真运行控制主题
struct XNRuntimeControl
{
long XNSimCmd; //仿真控制指令 0-无指令 1-暂停 2-继续 3-终止
long XNThrCmd; //线程控制指令 从低位到高位每两个二进制位控制一个线程的运行00-无指令01- 暂停10-继续11-结束
};
};
};