⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
HamzaAffes
离线
最后看到:6个月2个星期前
加入:2020-10-03 13:11
使用app_easy_timer

亲爱的对话框,

所以我开始构建一个小而简单的项目使用DA14585和sdk 6.0.14。我宁愿说这是一个小的模拟。我想创建一个队列,它持有一个由用户定义的结构数据类型,例如,每个间隔30秒,它将进入队列,直到达到其最大大小。我设法做这当建立连接并获取数据通过参照ble外围为例现在我问的是我怎么能实现这个当不乏连接到祝福,我的意思是一旦系统队列自动填充一旦建立连接队列中的数据计算和start sending it through a characteristic that i made along side the data itself. is it possible to do this using the app_easy_timer function to fill the queue even if the ble is not active? if so since it is a one shot timer is there a way to call the enqueuing function periodically until ble is active ?

谢谢你!

设备:
PM_Dialog
离线
最后看到:2天14小时前
工作人员
加入:2018-02-08 11:03
嗨HamzaAffes,

嗨HamzaAffes,

谢谢你的在线问题。您可以将数据存储在广告字符串中,并使用app_easy_timer来更新它们。请查看SDK的ble_app_peripheral示例和adv_data_update_timer_cb()函数。这个回调在APP_ADV_DATA_UPDATE_TO几秒之后更新特定于制造商的数据。

谢谢,PM_Dialog

HamzaAffes
离线
最后看到:6个月2个星期前
加入:2020-10-03 13:11
嗨,对话框中,

嗨,对话框中,

你能进一步解释一下如何使用user_peripheralc文件中的函数来实现我上面的请求吗?我试图完成的是,通过使用app_easy_timer周期性地用随机数填充一个队列,然后一旦连接建立,我停止排队,并通过类似于app_adcval1_timer_cb_handler的特征发送数据。

谢谢你!

PM_Dialog
离线
最后看到:2天14小时前
工作人员
加入:2018-02-08 11:03
嗨HamzaAffes,

嗨HamzaAffes,

首先,您应该在广告字符串中定义特定于制造商的数据,并使用app_easy_timer更新。请检查adv_data_update_timer_cb(),它更新特定制造商的数据。

应该放置在广告字符串中的数据量是多少?

请同时查看以下教程:

http://lpccs-docs.dialog-semiconductor.com/DA145xx_Advertising_Tutorial/changing_advertising_parameters.html#changing-the-advertising-data

一旦设备连接上,你应该停止计时器,复制数据并通过通知发送它们。

关于BLE通知,请检查app_adcval1_timer_cb_handler()函数。

谢谢,PM_Dialog

HamzaAffes
离线
最后看到:6个月2个星期前
加入:2020-10-03 13:11
你好,对话,谢谢你

你好,对话,谢谢你的回复

#define BUFFER_LENGTH 1000 typedef struct sensorData_t {uint16_t _sensor1;uint16_t _sensor2;uint16_t _sensor3;uint16_t _sensor4;uint16_t _sensor5;uint16_t _sensor6;uint16_t _sensor7;uint16_t _sensor8;uint16_t _sensor9;uint16_t _sensor10; uint16_t _sensor11 ; uint16_t _sensor12 ; }sensorData_t; sensorData_t SensorDataBuffer[BUFFER_LENGTH];

sensor1 12的值都是随机生成的(空值),然后存储在SensorDataBuffer每30秒,一旦我发送连接存储值一个通过某些订单一分之一app_adcval1_timer_cb_handler所以单个元素sizeof (sensorData_t) 24字节

PM_Dialog
离线
最后看到:2天14小时前
工作人员
加入:2018-02-08 11:03
嗨HamzaAffes,

嗨HamzaAffes,

澄清一下:在通过BLE通知发送之前,你有什么要求?您需要将24字节放入广告字符串并更新它吗?

谢谢,PM_Dialog

HamzaAffes
离线
最后看到:6个月2个星期前
加入:2020-10-03 13:11
嗨,对话框中,

嗨,对话框中,

就像我之前说的,sensorDataBuffer将填充一个sensorData_t变量每30秒,所以它就像推数据通过堆栈,然后一旦板连接到浅蓝色的应用程序,我可以弹出所有的数据从堆栈一个接一个。sensorDataBuffer是一个数组,用于存储随机生成的用于测试的数据,因此如果数组长度为100,它可以容纳2400字节的收集数据。我为这个初学者的请求道歉

谢谢你!

PM_Dialog
离线
最后看到:2天14小时前
工作人员
加入:2018-02-08 11:03
嗨HamzaAffes,

嗨HamzaAffes,

您可以使用广告或扫描响应数据存储您的定制数据。请付款使用GPIO中断和/或定时器更改广告参数BLE广告教程(HTML)

谢谢,PM_Dialog

HamzaAffes
离线
最后看到:6个月2个星期前
加入:2020-10-03 13:11
嗨,对话框中,

嗨,对话框中,

我得说我找不出你说的和我的要求有什么共同之处。我需要存储2400字节和广告数据包不能容纳这么多有效载荷。目标不是更新现有数据,而是按照前面注释中定义的结构存储新生成的数据。循环缓冲区可以解决这个如果你可以请澄清我如何实现它以及如何使用app_easy_timer填充数据时没有建立连接,然后当ble连接存在我可以通过app_adcval1_timer_cb_handler特点流行的数据来监控整个缓冲区。

谢谢你!

PM_Dialog
离线
最后看到:2天14小时前
工作人员
加入:2018-02-08 11:03
嗨HamzaAffes,

嗨HamzaAffes,

如果你能告诉我如何实现的话,一个环形缓冲区可以解决这个问题。

这是你应该自己设计的。您可以看一下实现循环缓冲区的DSPS示例。

>>当没有建立连接时,如何使用app_easy_timer填充数据

正如我在前面的评论中提到的,您应该使用广告字符串来存储您的自定义数据。请查看SDK的ble_app_peripheral示例和adv_data_update_timer_cb()函数

>>当ble连接存在时,我可以通过app_adcval1_timer_cb_handler特征弹出数据来监视整个缓冲区。

SDK的ble_app_peripheral示例演示了如何向对端设备发送通知

谢谢,PM_Dialog