|
@@ -7,9 +7,9 @@ static uint32_t _fill_adv_type(uint8_t offset, uint8_t* buf)
|
|
uint8_t* p = (uint8_t*)(buf + offset);
|
|
uint8_t* p = (uint8_t*)(buf + offset);
|
|
uint8_t i = 0;
|
|
uint8_t i = 0;
|
|
|
|
|
|
- buf[i++] = 2;
|
|
|
|
- buf[i++] = 0x01;
|
|
|
|
- buf[i++] = 0x02;
|
|
|
|
|
|
+ p[i++] = 2;
|
|
|
|
+ p[i++] = 0x01;
|
|
|
|
+ p[i++] = 0x06;
|
|
|
|
|
|
printf("adv type: %d\r\n", i);
|
|
printf("adv type: %d\r\n", i);
|
|
return i;
|
|
return i;
|
|
@@ -25,9 +25,9 @@ static uint32_t _fill_adv_local_name(uint8_t offset, uint8_t* buf)
|
|
int len;
|
|
int len;
|
|
|
|
|
|
len = strlen(xcfg_cb.le_name);
|
|
len = strlen(xcfg_cb.le_name);
|
|
- buf[i++] = len + 2;
|
|
|
|
- buf[i++] = 0x09;
|
|
|
|
- memcpy(&buf[i], xcfg_cb.le_name, len);
|
|
|
|
|
|
+ p[i++] = len + 1;
|
|
|
|
+ p[i++] = 0x09;
|
|
|
|
+ memcpy(&p[i], xcfg_cb.le_name, len);
|
|
i += len;
|
|
i += len;
|
|
|
|
|
|
printf("adv local name: %d\r\n", i);
|
|
printf("adv local name: %d\r\n", i);
|
|
@@ -42,13 +42,13 @@ static uint32_t _fill_adv_uuid_datas(uint8_t offset, uint8_t* buf)
|
|
uint8_t* p = (uint8_t*)(buf + offset);
|
|
uint8_t* p = (uint8_t*)(buf + offset);
|
|
uint8_t i = 0;
|
|
uint8_t i = 0;
|
|
|
|
|
|
- buf[i++] = 7;
|
|
|
|
- buf[i++] = 0x16;
|
|
|
|
- buf[i++] = 0xaa;
|
|
|
|
- buf[i++] = 0xfa;
|
|
|
|
- buf[i++] = 100; /* 左耳电量 */
|
|
|
|
- buf[i++] = 96; /* 右耳电量 */
|
|
|
|
- buf[i++] = 0;
|
|
|
|
|
|
+ p[i++] = 6;
|
|
|
|
+ p[i++] = 0x16;
|
|
|
|
+ p[i++] = 0xaa;
|
|
|
|
+ p[i++] = 0xfa;
|
|
|
|
+ p[i++] = 100; /* 左耳电量 */
|
|
|
|
+ p[i++] = 96; /* 右耳电量 */
|
|
|
|
+ p[i++] = 0;
|
|
|
|
|
|
printf("adv uuid datas: %d\r\n", i);
|
|
printf("adv uuid datas: %d\r\n", i);
|
|
return i;
|
|
return i;
|
|
@@ -64,46 +64,46 @@ static uint32_t _fill_adv_fact_datas(uint8_t offset, uint8_t* buf)
|
|
uint8_t addr[6];
|
|
uint8_t addr[6];
|
|
uint8_t j;
|
|
uint8_t j;
|
|
|
|
|
|
- buf[i++] = 29;
|
|
|
|
- buf[i++] = 0xff;
|
|
|
|
- buf[i++] = 0xff;
|
|
|
|
- buf[i++] = 0xff;
|
|
|
|
- buf[i++] = 0x00; /* 软件版本号低8位 */
|
|
|
|
- buf[i++] = 0x64; /* 软件版本号高8位 */
|
|
|
|
- buf[i++] = 0x00; /* 固件版本号低8位 */
|
|
|
|
- buf[i++] = 0x64; /* 固件版本号高8位 */
|
|
|
|
- buf[i++] = 0x00; /* 硬件版本号低8位 */
|
|
|
|
- buf[i++] = 0x64; /* 硬件版本号高8位 */
|
|
|
|
- buf[i++] = 0x00; /* 设备型号低8位 */
|
|
|
|
- buf[i++] = 0x00; /* 设备型号中8位 */
|
|
|
|
- buf[i++] = 0x00; /* 设备型号高8位 */
|
|
|
|
|
|
+ p[i++] = 29;
|
|
|
|
+ p[i++] = 0xff;
|
|
|
|
+ p[i++] = 0xff;
|
|
|
|
+ p[i++] = 0xff;
|
|
|
|
+ p[i++] = 0x00; /* 软件版本号低8位 */
|
|
|
|
+ p[i++] = 0x64; /* 软件版本号高8位 */
|
|
|
|
+ p[i++] = 0x00; /* 固件版本号低8位 */
|
|
|
|
+ p[i++] = 0x64; /* 固件版本号高8位 */
|
|
|
|
+ p[i++] = 0x00; /* 硬件版本号低8位 */
|
|
|
|
+ p[i++] = 0x64; /* 硬件版本号高8位 */
|
|
|
|
+ p[i++] = 0x00; /* 设备型号低8位 */
|
|
|
|
+ p[i++] = 0x00; /* 设备型号中8位 */
|
|
|
|
+ p[i++] = 0x00; /* 设备型号高8位 */
|
|
|
|
|
|
/* BLE地址 */
|
|
/* BLE地址 */
|
|
bt_get_local_bd_addr(addr);
|
|
bt_get_local_bd_addr(addr);
|
|
j = 0;
|
|
j = 0;
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
|
|
/* 经典蓝牙地址 */
|
|
/* 经典蓝牙地址 */
|
|
bt_get_local_bd_addr(addr);
|
|
bt_get_local_bd_addr(addr);
|
|
j = 0;
|
|
j = 0;
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
- buf[i++] = addr[j++];
|
|
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
+ p[i++] = addr[j++];
|
|
|
|
|
|
/* 设备序列号 */
|
|
/* 设备序列号 */
|
|
- buf[i++] = 0x00;
|
|
|
|
- buf[i++] = 0x00;
|
|
|
|
- buf[i++] = 0x00;
|
|
|
|
- buf[i++] = 0x00;
|
|
|
|
- buf[i++] = 0x00;
|
|
|
|
|
|
+ p[i++] = 0x00;
|
|
|
|
+ p[i++] = 0x00;
|
|
|
|
+ p[i++] = 0x00;
|
|
|
|
+ p[i++] = 0x00;
|
|
|
|
+ p[i++] = 0x00;
|
|
|
|
|
|
printf("adv fact datas: %d\r\n", i);
|
|
printf("adv fact datas: %d\r\n", i);
|
|
return i;
|
|
return i;
|
|
@@ -111,7 +111,7 @@ static uint32_t _fill_adv_fact_datas(uint8_t offset, uint8_t* buf)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-uint32_t com_adv_fill_scan_data(uint8_t* buf)
|
|
|
|
|
|
+uint32_t com_adv_fill_adv_data(uint8_t* buf)
|
|
{
|
|
{
|
|
|
|
|
|
uint8_t i = 0;
|
|
uint8_t i = 0;
|
|
@@ -125,7 +125,7 @@ uint32_t com_adv_fill_scan_data(uint8_t* buf)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-uint32_t com_adv_fill_adv_data(uint8_t* buf)
|
|
|
|
|
|
+uint32_t com_adv_fill_scan_data(uint8_t* buf)
|
|
{
|
|
{
|
|
|
|
|
|
return _fill_adv_fact_datas(0, buf);
|
|
return _fill_adv_fact_datas(0, buf);
|