主设备发送连接请求的时候,连接参数是在哪里设置?
时间:10-02
整理:3721RD
点击:
大家好!
我对关于主从设备连接这块有点疑惑,我看了一下1.4.1协议栈里面的central里面按键中间对建立连接是使用这个函数
GAPCentralRole_EstablishLink( DEFAULT_LINK_HIGH_DUTY_CYCLE,DEFAULT_LINK_WHITE_LIST,addrType, peerAddr );
了解了一下 gapEstLinkReq_t 这个变量
typedef struct { uint8 taskID; //!< Requesting App/Profile's Task ID uint8 highDutyCycle; //!< TRUE to high duty cycle scan, FALSE if not. uint8 whiteList; //!< Determines use of the white list: @ref GAP_WHITELIST_DEFINES uint8 addrTypePeer; //!< Address type of the advertiser: @ref GAP_ADDR_TYPE_DEFINES uint8 peerAddr[B_ADDR_LEN]; //!< Advertiser's address } gapEstLinkReq_t;
可是这里面并不包含连接参数的内容呀?
/** * GAP_LINK_ESTABLISHED_EVENT message format. This message is sent to the app * when the link request is complete.<BR> * <BR> * For an Observer, this message is sent to complete the Establish Link Request.<BR> * For a Peripheral, this message is sent to indicate that a link has been created. */ typedef struct { osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and status uint8 opcode; //!< GAP_LINK_ESTABLISHED_EVENT uint8 devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES uint8 devAddr[B_ADDR_LEN]; //!< Device address of link uint16 connectionHandle; //!< Connection Handle from controller used to ref the device uint16 connInterval; //!< Connection Interval uint16 connLatency; //!< Conenction Latency uint16 connTimeout; //!< Connection Timeout uint8 clockAccuracy; //!< Clock Accuracy } gapEstLinkReqEvent_t;
这个变量应该是涉及到连接参数的,可是从工程里面并没有看到有关的设置和操作?
1. 请问一下,要建立连接的话,主设备这边主要做哪些步骤?主设备连接请求里的连接参数是如何发出的? 希望可以指导一下
2. 关于主设备连接参数的默认设置,我其实不太愿意在连接成功之后早连接更新这个操作?
是不是可以在SimpleBLECentral_Init里面,使用GAP_SetParamValue函数对TGAP_CONN_EST_INT_MIN、TGAP_CONN_EST_INT_MAX、TGAP_CONN_EST_SUPERV_TIMEOUT、TGAP_CONN_EST_LATENCY这几个参数进行操作?
3. TI是否有相关的例程呀? 希望大哥大姐可以给予帮助,举个例子啥的?
谢谢!
我抓包的时候看到一个ADV_CONNECT_REQ 应该是连接请求吧