在HCI命令里只看到可以设置广播时采用Coded PHY方式,但没有具体配置S=2还是S=8的地方。
难道是由controller自己决定采用s=2或s=8吗,不需要由Host设置吗,有点不明白呢?
Viki Shi:
Every packet sent on LE Coded PHY contains a coding indicator (CI), which indicates the coding of the packet. Thus, when a packet is being received on the LE Coded PHY, the receiver uses the coding indicator to determine the coding of the packet.
Alvin Chen:
你HOST设置的:
#define GAPADV_PARAMS_AE_LONG_RANGE_CONN {\.eventProps = GAP_ADV_PROP_CONNECTABLE,\.primIntMin = 160,\.primIntMax = 160,\.primChanMap = GAP_ADV_CHAN_ALL,\.peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID,\.peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa },\.filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ,\.txPower = GAP_ADV_TX_POWER_NO_PREFERENCE,\.primPhy = GAP_ADV_PRIM_PHY_CODED_S2,\.secPhy = GAP_ADV_SEC_PHY_CODED_S2,\.sid = 0\
}
这个广播参数你可以设置为S8或者S2。
user1152997:
回复 Viki Shi:
也就是说接收方不需要设置,通过CI即可知道是s=2还是s=8。 非常感谢。
user1152997:
回复 Viki Shi:
但是发送方在发送广播的时候,从协议的角度,是根据什么信息决定它采用s=2编码还是2=8编码呢?
user1152997:
回复 Alvin Chen:
非常感谢,再请教下,“.primPhy = GAP_ADV_PRIM_PHY_CODED_S2” 和 “.secPhy = GAP_ADV_SEC_PHY_CODED_S2” 在协议中的Host和Controller的HCI接口中有对应的命令吗?我查了下,没查到有相关的命令呢。
如果没有的话,那如果是Host和Controller分离的设备,岂不是不能通过标准HCI命令设置Controller发广播时的编码方式是2还是8呢?怎么理解呢?
Alvin Chen:
回复 user1152997:
“再请教下,“.primPhy = GAP_ADV_PRIM_PHY_CODED_S2” 和 “.secPhy = GAP_ADV_SEC_PHY_CODED_S2” 在协议中的Host和Controller的HCI接口中有对应的命令吗?我查了下,没查到有相关的命令呢。”
你是说协议中没有提供HCI接口? 当你烧录host test app那个demo可以去用HCI命令去控制。至于HCI命令你需要在HCI_tester那个上位机软件里面查一下。
user5992444:
回复 user1152997:
HCI_LE_SetPhyCmd(connList[0].connHandle,LL_PHY_USE_PHY_PARAM,HCI_PHY_2_MBPS,HCI_PHY_2_MBPS, LL_PHY_OPT_NONE);
HCI_LE_SetPhyCmd 是这个吗?我新手
Viki Shi:
回复 user5992444:
是的,详解:dev.ti.com/…/phy.html
user4356510:
应该是s=8