6个员额/ 0个新员额
最后发表
Stone_wang
离线
最后看到:2天1小时前
加入:2015-10-23 03:55
GAPM_SET_DEV_NAME_CMD命令问题

SDK3.0.6
使用GAPM_SET_DEV_NAME_CMD时,

///设置本地设备名称命令
struct gapm_set_dev_name_cmd

// GAPM请求的操作:
/// - GAPM_SET_DEV_NAME:设置本地设备名称
uint8_t操作;
/ / /名称长度
uint8_t长度;
/ / /名称的值
uint8_t (__ARRAY_EMPTY)名称;
};
#定义__ARRAY_EMPTY

该结构体中的名字如何填充呢?(是否可以使用该命令动态修改设备名称?)

谢谢。

设备:
snowdream1
离线
最后看到:10个月6天前
工作人员
加入:14章25条的2014-08-17
目前的代码好像没有调用的例程

目前的代码好像没有调用的例程。结构体的名字应该就是名字的字符串表示。如果需要动态修改名称,建议先直接更新属性里面的设置,再更新广播包的名字。如果用的SDK3
Void app_adv_func(struct gapm_start_advertise_cmd *cmd)

.......
//检查数据是否可以添加到Advertising数据中
If (device_name_avail_space > 0)

//获取要添加到广告数据中的设备名称(默认或NVDS)
#如果(NVDS_SUPPORT)
device_name_length = NVDS_LEN_DEVICE_NAME;
if (nvds_get(NVDS_TAG_DEVICE_NAME, &device_name_length, &device_name_temp_buf[0])) != NVDS_OK
# endif / / (NVDS_SUPPORT)

//获取默认设备名(如果空间不足则没有名称)
device_name_length = strlen (APP_DFLT_DEVICE_NAME);
memcpy (&device_name_temp_buf [0], APP_DFLT_DEVICE_NAME device_name_length);

If (new_name_len) //新添加的
{ //覆盖名字
device_name_length = new_name_len;
memcpy (&device_name_temp_buf [0], new_name new_name_len);
attmdb_att_set_value (3 new_name_len new_name);/ /更新数据库里存的名字

沃利
离线
最后看到:3个月1个星期前
加入:2016-06-21 01:23
请问有相关的代码吗,我用GAPM_SET_DEV_NAME

请问有相关的代码吗,我用GAPM_SET_DEV_NAME_CMD命令修改了名字,通过GAPM_GET_DEV_NAME_CMD获取出来的名字和修改的是一样的,但是广播名字还是没有被修改。

Gongyu_Dialog
离线
最后看到:1周1天前
加入:2016-04-27 07:07
广播的名字只有先调用断开广播的操作,然后再重启广播才会生效

广播的名字只有先调用断开广播的操作,然后再重启广播才会生效。你可以参照上文我贴的代码。

沃利
离线
最后看到:3个月1个星期前
加入:2016-06-21 01:23
请问上面的new_name和new_name

请问上面的new_name和new_name_len是什么内容,怎么定义的,可以发上来看看吗

Gongyu_Dialog
离线
最后看到:1周1天前
加入:2016-04-27 07:07
uint8_t new_name_len _

uint8_t new_name_len __attribute__(((“retention_mem_area0”)部分,zero_init));/ / @RETENTION记忆
uint8_t new_name [27] __attribute__(((“retention_mem_area0”)部分,zero_init));/ / @RETENTION记忆

放到了保留内存里。存储的就是你设的新名字和名字内容。