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

Dear Dialog ,

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

谢谢

设备:
PM_Dialog
离线
Last seen:2 days 9 hours ago
职员
加入:2018-02-08 11:03
Hi HamzaAffes,

Hi HamzaAffes,

Thanks for your question online. You could store the data in advertising string and use the app_easy_timer to apdate them. Please take a look at the ble_app_peripheral example of the SDK and adv_data_update_timer_cb() function. This callback updates the manufacturer specific data after APP_ADV_DATA_UPDATE_TO seconds.

Thanks, PM_Dialog

哈扎阿夫斯
离线
Last seen:5 months 1 week ago
加入:2020-10-03 13:11
Hi dialog,

Hi dialog,

Could you please further explain how to implement my request above using the functions in user_peripheral.c file? for what im trying to accomplish is, fill a queue with random numbers periodically by using the app_easy_timer and then once a connection is established i stop enqueueing and i send the data through a characteristic similar to app_adcval1_timer_cb_handler .

谢谢你

PM_Dialog
离线
Last seen:2 days 9 hours ago
职员
加入:2018-02-08 11:03
Hi HamzaAffes,

Hi HamzaAffes,

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

What is the amount of data that should be placed in the advertising string?

Please also check the following tutorial :

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

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

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

Thanks, PM_Dialog

哈扎阿夫斯
离线
Last seen:5 months 1 week ago
加入: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];

sensor1 12的值都是随机通用电气nerated (dummy values) and then stored in the SensorDataBuffer every 30 sec and once i connect i send the stored values one by one in a certain order through app_adcval1_timer_cb_handler so a single element would be sizeof(sensorData_t) which is 24 bytes

PM_Dialog
离线
Last seen:2 days 9 hours ago
职员
加入:2018-02-08 11:03
Hi HamzaAffes,

Hi HamzaAffes,

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

Thanks, PM_Dialog

哈扎阿夫斯
离线
Last seen:5 months 1 week ago
加入:2020-10-03 13:11
hi dialog,

hi dialog,

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

谢谢你

PM_Dialog
离线
Last seen:2 days 9 hours ago
职员
加入:2018-02-08 11:03
Hi HamzaAffes,

Hi HamzaAffes,

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

Thanks, PM_Dialog

哈扎阿夫斯
离线
Last seen:5 months 1 week ago
加入:2020-10-03 13:11
Hi dialog,

Hi dialog,

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

谢谢

PM_Dialog
离线
Last seen:2 days 9 hours ago
职员
加入:2018-02-08 11:03
Hi HamzaAffes,

Hi HamzaAffes,

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

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

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

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

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

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

Thanks, PM_Dialog