command table 最多有几层

问题现象
在CMD命令表中定义了四层 如下

Table MAIN = { /*
--------------------------------------
# subtable class options command word
- --------- ---------- -------------------- ----------------- */
{ 1, ISOMMANAGER, INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER), "ISOMMANAGER" },
};


Table ISOMMANAGER = { /*
--------------------------------------
# subtable class options command word
- --------- --------- ----------------- ---------- */
{ 1, ZERO , INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER), "START" },
{ 2, SELECT , INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER), "SELECT" },

};

Table SELECT = { /*
--------------------------------------
# subtable class options command word
- --------- --------- ----------------- ---------- */
{ 30, ZERO, INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER), "OPEN" },
{ 31, ZERO, INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER_SELECT), "OK" },
{ 40, ROUTE, INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER_ROUTE), "ROUTE" },

};


Table ROUTE = { /*
--------------------------------------
# subtable class options command word
- --------- --------- ----------------- ---------- */
{ 41, ZERO , INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER_ROUTE), "DIRECTION" },
{ 42, ZERO , INHERIT, NONE | CMDSTR (CMDID_ISOMMANAGER_ROUTE), "RESET" },

};

但是 调用 ISOMMANAGER SELECT ROUTE RESET 的时候就说在这个AP中没有定义。但是如果改为三层,就可以调用。


想请教一下,这个MS中是不是对CMD有层数的制限。

Parents
  • Hi Liu-san,

    MDL中的Command最多可以定义为5层。一个commandnumber是一个长整型数,如0x01020345。其中的01表示第一级命令的索引值,02是第二级命令的索引值,03是第三级命令的索引值,4是第四级,5是第五级。它们都是十六进制的,因而可以推断出前三级分别可有最多256个不同的命令键入,后两级最多可有16个不同的命令键入。

    您的命令不能起作用推测应该是您的整个cmd.r文件某处定义有问题。可否将整个cmd.r文件上载到这里供分析?

    本论坛附加文件的方法是:①答复问题时选择Advanced Reply Editor;②将您要附加的文件压缩为.zip文件;③用Insert/Edit Media工具将该文件插入



    Answer Verified By: Bin.Liu 

Reply
  • Hi Liu-san,

    MDL中的Command最多可以定义为5层。一个commandnumber是一个长整型数,如0x01020345。其中的01表示第一级命令的索引值,02是第二级命令的索引值,03是第三级命令的索引值,4是第四级,5是第五级。它们都是十六进制的,因而可以推断出前三级分别可有最多256个不同的命令键入,后两级最多可有16个不同的命令键入。

    您的命令不能起作用推测应该是您的整个cmd.r文件某处定义有问题。可否将整个cmd.r文件上载到这里供分析?

    本论坛附加文件的方法是:①答复问题时选择Advanced Reply Editor;②将您要附加的文件压缩为.zip文件;③用Insert/Edit Media工具将该文件插入



    Answer Verified By: Bin.Liu 

Children