Tange Cloud for Device
 Rev.333
载入中...
搜索中...
未找到
命令的请求与应答

命令码取值规范

TciSetCmdHandler() 设置的回调,接收从APP发过来的命令请求。所有命令请求的值都是偶数。用户调用 TciSendCmdResp() 发送命令应答时,需要带上同样的命令请求字。

case TCI_CMD_xxx:
do_something();
TciSendCmdResp(handle, TCI_CMD_xxx, buff, length_of_response);
break;
int TciSendCmdResp(p2phandle_t handle, unsigned int cmd, const void *data, int dataSize)
发送p2p命令应答

TciSendCmdResp()在发送应答时,内部会将命令码最低位置1。接收端在检查到命令字段最低位为1时,知道这是一个应答,并且比较命令字的其余位来与请求匹配。

  • REQ是偶数
  • RESP=REQ+1

在头文件里定义请求命令的地方,有时也显式定义了相应的响应码,有时不会定义。无论是否定义,响应码都满足上述规则。

命令码取值范围

本SDK用到的命令码范围在 0x0001 ~ 0x8fff.

用户扩展指令范围在 0x9000 ~ 0xffff

通用错误应答

应答携带命令相关的数据时,都定义了相应的结构体。但有的命令或有的场合,应答只需要给出命令成功执行与否的标志,不需要(或没有定义)相应的结构体。这个时候可以使用 TciSendCmdRespStatus() 来返回一个通用的状态(错误)码。

例子

//or
#define TCI_OK
命令成功执行
#define TCI_E_UNSUPPORTED_CMD
不支持的命令
int TciSendCmdRespStatus(p2phandle_t handle, unsigned int cmd, unsigned int status)
发送一个 Tcis_ErrorResp 结构作应答.

状态码取值