枚举管理组
枚举管理组定义以下命令:
|
命令描述 |
|---|---|
|
支持的组数量 |
|
列出支持的组 |
|
获取单个组 ID |
|
支持的组详细信息 |
支持的组数量命令
支持的组数量返回设备支持的 MCUmgr 命令组总数。
支持的组数量请求
读取设置请求头字段:
|
|
|
|---|---|---|
|
|
|
该命令发送空 CBOR 映射作为数据。
支持的组数量响应
支持的组数量响应头字段:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"count" : (uint)
}
出错时,CBOR 数据采用以下形式:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
"count" |
包含设备上支持的 MCUmgr 组总数。 |
"err" -> "group" |
|
"err" -> "rc" |
包含基于分组的错误代码的索引。仅在使用 SMP 版本 2 且为非零(错误情况)时出现。 |
"rc" |
|
列出支持的组命令
列出支持的组命令允许列出设备上支持的 MCUmgr 组的组 ID。
列出支持的组请求
列出支持的组请求头字段:
|
|
|
|---|---|---|
|
|
|
该命令发送空 CBOR 映射作为数据。
列出支持的组响应
列出支持的组响应头字段:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"groups" : [
(uint)
...
]
}
出错时,CBOR 数据采用以下形式:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
"groups" |
包含设备上支持的 MCUmgr 组 ID 的列表。 |
"err" -> "group" |
|
"err" -> "rc" |
包含基于分组的错误代码的索引。仅在使用 SMP 版本 2 且为非零(错误情况)时出现。 |
"rc" |
|
获取单个组 ID 命令
获取单个组 ID 命令允许逐个列出设备上支持的 MCUmgr 组的组 ID。
获取单个组 ID 请求
获取单个组 ID 请求头字段:
|
|
|
|---|---|---|
|
|
|
请求的 CBOR 数据:
{
(str,opt)"index" : (uint)
}
其中:
"index" |
包含要返回信息的组的索引(从 0 开始);省略此项可返回第一个组的详细信息。 |
获取单个组 ID 响应
获取单个组 ID 响应头字段:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"group" : (uint)
(str,opt)"end" : (bool)
}
出错时,CBOR 数据采用以下形式:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
"group" |
包含设备上支持的 MCUmgr 组 ID 的列表。 |
"end" |
如果所列组是设备上支持的最后一个组,则设置为 true,否则省略该字段。 |
"err" -> "group" |
|
"err" -> "rc" |
包含基于分组的错误代码的索引。仅在使用 SMP 版本 2 且为非零(错误情况)时出现。 |
"rc" |
|
支持的组详细信息命令
支持的组详细信息命令允许获取每个受支持的 MCUmgr 组的详细信息,例如名称和处理程序数量。设备可以指定要返回详细信息的组允许列表,也可以返回所有组的详细信息。
此命令是可选的,可以使用 CONFIG_MCUMGR_GRP_ENUM_DETAILS 选项启用。可选的名称和处理程序数量可以通过 CONFIG_MCUMGR_GRP_ENUM_DETAILS_NAME 和 CONFIG_MCUMGR_GRP_ENUM_DETAILS_HANDLERS 选项启用/禁用。
支持的组详细信息请求
支持的组详细信息请求头字段:
|
|
|
|---|---|---|
|
|
|
该命令发送空 CBOR 映射作为数据。
请求的 CBOR 数据:
{
(str)"groups" : [
(uint)
...
]
}
其中:
"groups" |
包含要获取详细信息的 MCUmgr 组 ID 列表。 |
支持的组详细信息响应
支持的组详细信息响应头字段:
|
|
|
|---|---|---|
|
|
|
成功响应的 CBOR 数据:
{
(str)"groups" : [
{
(str)"group" : (uint)
(str,opt)"name" : (str)
(str,opt)"handlers" : (uint)
}
...
]
}
出错时,CBOR 数据采用以下形式:
{
(str)"err" : {
(str)"group" : (uint)
(str)"rc" : (uint)
}
}
{
(str)"rc" : (int)
}
其中:
"group" |
MCUmgr 命令组的组 ID。 |
"name" |
MCUmgr 命令组的名称。 |
"handlers" |
MCUmgr 命令组支持的处理程序数量。 |
"err" -> "group" |
|
"err" -> "rc" |
包含基于分组的错误代码的索引。仅在使用 SMP 版本 2 且为非零(错误情况)时出现。 |
"rc" |
|
支持的组详细信息回调
支持的组详细信息提供了一个 MCUmgr 回调(详情参见 MCUmgr 回调),允许应用程序/模块为此响应添加附加字段。此回调可以通过 CONFIG_MCUMGR_GRP_ENUM_DETAILS_HOOK 选项启用,并通过事件 MGMT_EVT_OP_ENUM_MGMT_DETAILS 注册,其中提供的回调数据是 enum_mgmt_detail_output 结构体。请注意,CONFIG_MCUMGR_GRP_ENUM_DETAILS_STATES 选项需要按添加的额外字段数量递增。