1、关闭1分钟没重连就切慢广播的功能,修复1分钟之后重连不上网关的问题
2、调整最大数据包长度至512,优化BLE数据打包函数以支持分包
This commit is contained in:
@@ -586,17 +586,21 @@ int bleproto_appdata_serialize(bleproto_appdata_t *appdata,
|
||||
uint16_t size);
|
||||
|
||||
/**
|
||||
* @brief 将已打包好的 payload 包装成单帧 appdata(不分包)
|
||||
* @param txbuf 输出缓冲
|
||||
* @brief 将已打包好的 payload 包装成 appdata(超过单帧则按 packetlen 分包)
|
||||
* @param txbuf 输出缓冲(须能放下 每帧8B头 × 帧数 + payload)
|
||||
* @param txbuf_size 输出缓冲大小
|
||||
* @param packetlen BLE GATT 单包有效长度,与 serialize 相同(本板 247)
|
||||
* @param header 应用层头(datalen/totalframe/frameseq 由本函数填写)
|
||||
* @param payload 已序列化的 service 数据;可为 NULL(payload_len==0)
|
||||
* @param payload_len payload 长度,须 <=255(单帧 pthis_frame_len 为 u8)
|
||||
* @param payload_len 应用数据总长度
|
||||
* @return >0 总字节数;<0 失败
|
||||
* @note 小包场景(JB 55AA 透传等)用此接口,避免 bleproto_appdata_t 大缓冲
|
||||
* @note 切帧规则与 serialize 一致:单帧 payload = packetlen - 8;
|
||||
* 不超过则 totalframe=1、frameseq=0;超过则中间帧填满、末帧剩余,
|
||||
* frameseq 从 1 递增。避免走 bleproto_appdata_t 大缓冲。
|
||||
*/
|
||||
int bleproto_appdata_wrap_raw(uint8_t *txbuf,
|
||||
uint16_t txbuf_size,
|
||||
uint8_t packetlen,
|
||||
const bleproto_appdata_header_t *header,
|
||||
const uint8_t *payload,
|
||||
uint16_t payload_len);
|
||||
|
||||
Reference in New Issue
Block a user