1、关闭1分钟没重连就切慢广播的功能,修复1分钟之后重连不上网关的问题

2、调整最大数据包长度至512,优化BLE数据打包函数以支持分包
This commit is contained in:
2026-09-07 19:40:13 +08:00
parent 862ce10b90
commit d50f1302de
5 changed files with 116 additions and 50 deletions
+8 -4
View File
@@ -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 数据;可为 NULLpayload_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);