UUID128 修改:
fcc0s.h(54line)
--->enum
{
ATT_USER_SERVER_FCC0 = ATT_UUID_16(0x0001),
ATT_USER_SERVER_CHAR_FCC1 = ATT_UUID_16(0x0002),
ATT_USER_SERVER_CHAR_FCC2 = ATT_UUID_16(0x0003),
};
attm_util128.c(22line)
--> #define USER_SERV_UUID_128 {0x9e, 0xca, 0xdc, 0x24, 0x0e, \
0xe5, 0xa9, 0xe0, 0x93, 0xf3, 0xa3, 0xb5, 0x01,0x00, 0x40, 0x6e}
#define USER_CHAR_UUID_128 {0x9e, 0xca, 0xdc, 0x24, 0x0e, \
0xe5, 0xa9, 0xe0, 0x93, 0xf3, 0xa3, 0xb5, 0x02,0x00, 0x40, 0x6e}
广播名:
名称修改:
user_config.h
-->修改三个宏
APP_DFLT_DEVICE_NAME
APP_SCNRSP_DATA
APP_SCNRSP_DATA_LEN
广播的complete local name和short local name,因为我们修改的名字可能已经超过short 的长度导致不广播出名称后面部分,因此上面最后两个宏可以不用管,一般我们都是广播complete local name的,因此修改如下:
直接注释掉:
app.c-->
#if 0 //Chockong analyse this is short local name
// Scan Response Data
if(nvds_get(NVDS_TAG_APP_BLE_SCAN_RESP_DATA, &cmd->info.host.scan_rsp_data_len,
&cmd->info.host.scan_rsp_data[0]) != NVDS_OK)
{
cmd->info.host.scan_rsp_data_len = 0;
memcpy(&cmd->info.host.scan_rsp_data[cmd->info.host.scan_rsp_data_len],
APP_SCNRSP_DATA, APP_SCNRSP_DATA_LEN);
cmd->info.host.scan_rsp_data_len += APP_SCNRSP_DATA_LEN;
}
#endif
自定义的广播名:
#if 0 //chock add
device_name_length = strlen(APP_DFLT_DEVICE_NAME);
// Get default Device Name (No name if not enough space)
memcpy(&device_name_temp_buf[0], APP_DFLT_DEVICE_NAME, device_name_length);
#else
device_name_length = sizeof(BOSMA_DEVICE_NAME);
// Get default Device Name (No name if not enough space)
memcpy(&device_name_temp_buf[0], BOSMA_DEVICE_NAME, device_name_length);
#endif
以上面为诫,蠢到了。
广播名可通过shortened local name广播增加广播名长度(同时不影响UUID128的设置,且直接把complete name注释掉),初步app连接没问题。
user_config.h
-->修改两个宏
APP_SCNRSP_DATA
APP_SCNRSP_DATA_LEN
#define APP_SCNRSP_DATA "\x16\x08\x44\x6f\x6f\x72\x4c\x6f\x63\x6b\x2d\x78\x78\x78\x78\x78\x78\x78\x78\x78\x78\x78\x78" //DoorLock-xxxxxxxxxxxx"
#define APP_SCNRSP_DATA_LEN (23)
app.c
-->
#if 0
if(device_name_length > 0)
{
// Check available space
device_name_length = co_min(device_name_length, device_name_avail_space);
cmd->info.host.adv_data[cmd->info.host.adv_data_len] = device_name_length + 1;
// Fill Device Name Flag
cmd->info.host.adv_data[cmd->info.host.adv_data_len + 1] = '\x09';
// Copy device name
memcpy(&cmd->info.host.adv_data[cmd->info.host.adv_data_len + 2],
device_name_temp_buf, device_name_length);
// Update Advertising Data Length
cmd->info.host.adv_data_len += (device_name_length + 2);
UART_PRINTF("device_name_length = %d\r\n", device_name_length);
}
#endif
#if 1 //Chockong analyse this is short local name
// Scan Response Data
if(nvds_get(NVDS_TAG_APP_BLE_SCAN_RESP_DATA, &cmd->info.host.scan_rsp_data_len,
&cmd->info.host.scan_rsp_data[0]) != NVDS_OK)
{
cmd->info.host.scan_rsp_data_len = 0;
memcpy(&cmd->info.host.scan_rsp_data[cmd->info.host.scan_rsp_data_len],
// APP_SCNRSP_DATA, APP_SCNRSP_DATA_LEN);
BOSMA_DEVICE_NAME, APP_SCNRSP_DATA_LEN);
cmd->info.host.scan_rsp_data_len += APP_SCNRSP_DATA_LEN;
}
#endif