高通GAIA V3命令参考手册的研读学习(07):GAIA命令和确认和状态码表

本文详细解释了QTILGAIA协议中的命令与确认机制,包括ACK报文结构、命令发起方式、以及如何通过状态码判断命令执行结果。还提到数据包组合以减少协议开销,以及状态码的可扩展性。
摘要由CSDN通过智能技术生成

2.3  QTIL GAIA命令和确认

前面2.2讲了每个数据包(报文包)里的数据的含义。每一个这样的报文包从主机(例如手机里的APP)发出去后,设备在收到并检查上述的规则检查是有效的后,就回送给主机一个确认(ACK)的报文。ACK报文的结构与命令报文的结构相同。仅仅将 “命令ID”字段中的值为初始命令的最高位更改为“1”。

例如,如果主机发送一个报文,报文中包含的 “命令ID”是0x0001(即0000 0000 0000 0001),那么设备回复的确认报文中该处就是:0x8001(即1000 0000 0000 0001)。

命令可以由连接的任何一方发起,也就是说即可以主机发给设备,设备回复确认报文,也可以设备主动发给主机,主机回复确认报文。

由于实现和资源的限制,发起者可以发送多个命令,而不必等待每个命令得到确认。 因此,多个QTIL GAIA数据包可以在较低的级别(例如L2CAP、USB)组合成一个数据包,从而减少了协议开销。 QTIL GAIA协议没有规定按顺序接收确认。

按照惯例,ACK包的有效载荷的第一个八位字节包含一个状态值(参见下表QTIL GAIA命令状态码)。这个状态码或者状态值,用来表示命令是否执行成功或者失败的原因。 这不是协议强制要求的,供应商自己的命令可能表现不同,也就是开发者可以自己定义特定的其余的含义,因为下表只定义了8种情况,而这是一个8位字节,可以定义256种情况。

表A-1 GAIA命令状态码

状态

代码

描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

复业思维20240108

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值