04_UUID128修改与广播名

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值