蓝牙使用BIP收发IMG的大概流程

最近工作中处理蓝牙发送图片时的一个BUG。

 

A:NOKIA2330手机。

B:NOKIA5530手机。

C:QSC6240平台下的手机。

 

1:A和C能正常对发图片。

2:C给B发送图片成功。

3:B给C发送图片失败。

 

分析LOG发现:

      1使用的是OPP协议。

      2使用的是FTP协议。

      3使用的是BIP协议。

 

高版本的蓝牙协议似乎提供了一个专门传送IMG的BIP协议。

 

分析发现收发过程的MSG如下:

 

SEND: AEEBT_BIP_EVT_CONNECTED
             AEEBT_BIP_EVT_GET_CAPABILITIES_DONE
             AEEBT_BIP_EVT_SEND_BLOCK_DONE................
             AEEBT_BIP_EVT_PUT_IMAGE_DONE
             AEEBT_BIP_EVT_DISCONNECTED

RECEIVE:  AEEBT_BIP_EVT_CONN_REQ
                 AEEBT_BIP_EVT_GET_CAPABILITIES_REQ_INITIAL
                 AEEBT_BIP_EVT_GET_CAPABILITIES_REQ_CLEANUP 
                 AEEBT_BIP_EVT_PUT_IMAGE_REQ_INITIAL
                 AEEBT_BIP_EVT_DISCONNECTED

后来发现RECEIVE失败是因为AEEBT_BIP_EVT_PUT_IMAGE_REQ_INITIAL 之后有一个TIMER

高通默认是1S, 如果1S内用户没做选择是否接收,就会自动DISCONNECT(如果设置成自动接收就不会出现这个问题)。

 

#define BT_PF_BIP_OPS_TMO 10000 /* ms */

 

后来将这个TIMER设置为10S以方便用户做出选择后,BUG修正。

你可能感兴趣的:(蓝牙使用BIP收发IMG的大概流程)