关于SDK和BT的问题

6个员额/ 0个新员额
最后发表
费尔南多Effting
离线
最后看到:1年8个月前
加入:2014-11-14十三50
关于SDK和BT的问题

如果在调用app_easy_gap_dev_config_create_msg()设置set_dev_config_cmd之后,set_dev_config_cmd被设置为NULL,那么使用app_easy_gap_dev_config_get_active(void)检索set_dev_config_cmd的值有什么意义?当调用app_easy_gap_dev_config_get_active(void)时,它不总是NULL吗?它与保存在retention_mem_area0中有关系吗?同样的问题也适用于所有其他xxxxx_get_active函数。

2-为什么app_easy_gap_directed_advertise_start (void)调用函数app_easy_gap_undirected_advertise_start_create_msg()使一个非定向广告而不是定向广告?

3-当与另一个设备处于连接状态时,是否可以扫描(然后连接到它)其他设备(由于距离已断开)?

4-当定义一个自定义特征值时,我可以使用任何想到的128 UUID吗?我知道Service Declaration, Characteristic Declaration等都有自己的UUID…

5-为什么数据库必须在连接/断开后才启用/禁用?

当创建一个特征值并将其属性权限设置为PERM(NTF, ENABLE)时,该值如何得到通知?我知道消息ID CUSTS1_VAL_NTF_REQ需要通过内核消息发送,它将在custs1_val_ntf_req_handler中处理,该处理器将更新数据库并通过GATT将新值发送给对等端。但是我的问题是:CUSTS1_VAL_NTF_REQ消息是如何创建和发送的?在哪里创建和发送?

谢谢您的宝贵时间!!

设备:
MT_dialog
离线
最后看到:5个月4个星期前
工作人员
加入:2015-06-08 34
嗨,费尔南多Effting,

嗨,费尔南多Effting,

1.我没有看到任何set_dev_config_cmd = NULL;在app_easy_gap_dev_config_get_active()函数中执行命令。

2.这是一个复制粘贴错误,将在下一个SDK版本中更正。

3.当580作为外围设备运行时,它只能支持与中心设备的一个连接,如果580作为中心设备运行,它最多可以支持6(580)或8(581)连接。

4.当你定义一个自定义的服务和特点只能使用自己的UUID value属性而言,在任何其他情况下,你必须使用标准的UUID为了中央设备识别属性特征宣言或特征描述符或配置特点,这些uuid是标准的。您可以查看文档AN-B029,它提供了一些关于自定义数据库结构的信息。

5.当执行启用配置文件时,大多数过程都与安全性和服务发现有关,如果指定的客户端有适当的安全性需求以访问外围设备等。为了检查客户端是否具有所有预定义的条件,必须有一个连接,因此在连接时启用概要文件。如果您查看所有概要文件的RW规范,您将看到所有启用请求都需要一个有效连接的连接句柄。

6.当你想发送通知时,会生成通知消息,在app_ble_peripheral项目中,消息是通过BLE定时器触发的,该定时器使用函数app_adcvall_timer_cb_handler()作为处理程序。在该函数中,消息被分配和发送。

由于MT_dialog

费尔南多Effting
离线
最后看到:1年8个月前
加入:2014-11-14十三50
什么时候会有新的SDK

新的SDK什么时候发布?
你能告诉我函数app_adcvall_timer_cb_handler()在哪里吗?我现在可以在SDK5中找到它。

谢谢!

MT_dialog
离线
最后看到:5个月4个星期前
工作人员
加入:2015-06-08 34
嗨费尔南多,

嗨费尔南多,

我们没有更新SDK的发布日期。app_adcvall_timer_cb_handler()是位于app_ble_peripheral项目中的自定义函数,请查看第142行user_custs1_impl.c文件。

由于MT_dialog

费尔南多Effting
离线
最后看到:1年8个月前
加入:2014-11-14十三50
谢谢你!现在它制造了更多

谢谢你!现在更有意义了……
我需要发送一个16位宽的值,以大约100hz的速率(这是值得到更新的速率)。发布这么多通知消息会有什么问题吗?我的意思是,如果无线电发送不了我请求的数据量会怎么样?

MT_dialog
离线
最后看到:5个月4个星期前
工作人员
加入:2015-06-08 34
嗨费尔南多,

嗨费尔南多,

如果你消费了设备发送的消息(你实际上是在发送消息给客户端,因为有一个连接),你的设备将运行正常,如果你失去连接或你分配的消息超过了你的连接可以处理的范围(连接间隔很大,你分配消息但没有发送它们),你的消息将堆积并填满堆,这将触发platform_reset函数。

由于MT_dialog