使用app_easy_timer.

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
哈扎阿夫斯
离线
最后一次露面:6个月3周前
加入:2020-10-03 13:11
使用app_easy_timer.

亲爱的对话框,

因此,我开始使用DA14585和SDK 6.0.14建立一个小型而简单的项目。我宁愿说的一个小模拟。我想创建一个队列,该队列保存由用户定义的结构数据类型,并且exemple为exemple达到了30秒的每个间隔,直到它达到其最大大小。当建立连接并通过引用BLE外围设备时,当我询问时,当系统未连接时,我询问时,我会如何实现这一点,我设法在建立并获取数据时队列自动填充,然后建立连接一旦建立连接,我会在队列中获取数据计数并开始通过我侧面侧面的特征发送数据本身。即使BLE未激活,也可以使用app_easy_timer函数执行此操作以填充队列?如果是这样,因为它是一个拍摄计时器,有没有办法定期调用eNqueuing函数,直到BLE处于活动状态之前?

谢谢

设备:
PM_DIALOG.
离线
最后一次露面:10个小时前1周
职员
加入:2018-02-08 11:03
嗨Hamzaaffes,

嗨Hamzaaffes,

谢谢你的问题在线。您可以将数据存储在广告字符串中,并使用App_easy_Timer opdate它们。请查看SDK和ADV_DATA_UPDATE_TIMER_CB()函数的BLE_APP_PHERIALAL示例。此回调在app_addata_update_to秒之后更新制造商特定数据。

谢谢,PM_DIALOG.

哈扎阿夫斯
离线
最后一次露面:6个月3周前
加入:2020-10-03 13:11
嗨对话框,

嗨对话框,

您能否在使用user_peripheral.c文件中进一步解释如何在上面实现我的请求?对于我尝试完成的内容是,通过使用app_easy_timer定期填充一个随机数的队列,然后一旦建立连接,我会停止eNqueue,我通过类似于app_adcval1_timer_cb_handler的特征发送数据。

谢谢你

PM_DIALOG.
离线
最后一次露面:10个小时前1周
职员
加入:2018-02-08 11:03
嗨Hamzaaffes,

嗨Hamzaaffes,

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

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

还请查看以下教程:

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

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

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

谢谢,PM_DIALOG.

哈扎阿夫斯
离线
最后一次露面:6个月3周前
加入:2020-10-03 13:11
嗨对话,谢谢

嗨对话,谢谢你的回复

#define buffer_length 1000 typedef struct sensoldata_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];

Scent1到12的所有值都是随机生成的(伪值),然后每隔30秒存储在ScenorDoodabuffer中,并且一旦我连接,我将通过app_adcval1_timer_cb_handler逐个发送存储的值,因此单个元素将是sizeof(sensoldata_t)这是24字节

PM_DIALOG.
离线
最后一次露面:10个小时前1周
职员
加入:2018-02-08 11:03
嗨Hamzaaffes,

嗨Hamzaaffes,

只是为了澄清:在通过BLE通知发送之前,您的要求是什么?您是否需要将24bytes放入广告字符串并更新它?

谢谢,PM_DIALOG.

哈扎阿夫斯
离线
最后一次露面:6个月3周前
加入:2020-10-03 13:11
嗨对话框,

嗨对话框,

正如我在Sensordatabuffer之前填充Sensoldata_T变量,所以每隔30秒就像通过堆栈一样推动数据,然后电路板连接到LightBlue应用程序,我可以逐个将所有数据从堆栈中弹出。sensordatabuffer是一个数组,用于存储用于测试目的的随机生成的数据,因此如果阵列具有100个作为长度,它可以容纳2400字节的收集数据。我为这个初学者要求道歉

谢谢你

PM_DIALOG.
离线
最后一次露面:10个小时前1周
职员
加入:2018-02-08 11:03
嗨Hamzaaffes,

嗨Hamzaaffes,

您可以使用用于存储自定义数据的副词或扫描响应数据。请结账使用GPIO中断和/或定时器更改广告参数BLE广告教程(HTML)

谢谢,PM_DIALOG.

哈扎阿夫斯
离线
最后一次露面:6个月3周前
加入:2020-10-03 13:11
嗨对话框,

嗨对话框,

我必须说我在你所说的和我的要求之间找不到任何共同之处。我需要存储2400字节,广告数据包无法持有此众多有效载荷。目标不是更新现有数据,而是在上一个注释中定义的结构之后存储新生成的数据。如果您可以恳请我如何实现它以及如何使用数据澄清我如何实现它app_easy_timer在没有建立连接时,然后当存在BLE连接时,我可以通过app_adcval1_timer_cb_handler特性弹出数据来监视整个缓冲区。

谢谢

PM_DIALOG.
离线
最后一次露面:10个小时前1周
职员
加入:2018-02-08 11:03
嗨Hamzaaffes,

嗨Hamzaaffes,

>>如果您可以恳切地澄清我如何实现,则一个环形缓冲器可以解决这个问题。

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

>>如何使用App_easy_Timer在没有建立连接时使用数据填充数据

如前所述的评论中所述,您应该是广告字符串,以便存储自定义数据。请查看SDK和ADV_DATA_UPDATE_TIMER_CB()函数的BLE_APP_PERITELAL示例

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

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

谢谢,PM_DIALOG.