Smarttag的I2C驱动程序

4个职位/ 0个新职位
最后发表
xf622
离线
最后看到:4年10个月前
加入:2015-05-08 08:13
Smarttag的I2C驱动程序

亲爱的:

我的项目需要更新一个I2C-eeprom(32K字节),数据从智能手机上的应用程序发送,然后DA14580将数据写入eeprom。我还需要电池,tx电源和警报服务,所以,我想基于Smarttag reff设计工作。

我将I2C驱动添加到Smarttag并测试,我发现我不能在函数:app_proxr_timer_handler()中使用I2C驱动,但是我可以在函数:proxr_alert_ind_handler()和app_proxr_enable()中使用I2C驱动,对吗?以及在哪个功能中可以使用Smarttag中的I2C驱动程序?驱动程序中也有很多wait()函数,如果eeprom上有一些问题,CPU将在wait()函数处停止,所以如果我想程序健壮,我需要更改I2C驱动程序?或者有其他超时句柄函数?
我发现GPIO状态改变了函数:app_proxr_timer_handler(),为什么不能在这个函数中使用I2C驱动程序?

我设置了adv_interval = 0x0CF0,不让DA14580停止发布,让DA14580持续发布的是最低功耗设置吗?

我发现DA14580在函数app_adv_func中没有广告时会进入深度睡眠,所以我认为这是让DA14580持续广告的最低功耗设置,对吗?
我可以将adv_interval设置为一个更大的值吗?(BLE规范2500ms是最大?),同样,如果我设置连接延迟为20,那么我发现功耗低于发布状态(2500ms间隔)。

如果30秒内没有数据传输,我想让da14580断开与app的连接,该如何实现?

smartag没有数据传输配置文件,让我从智能手机发送32K字节到da14580,所以我需要创建一个新的?或者有我可以使用的配置文件吗?哪种方法更有效?
你能给我一些建议吗?非常感谢。

设备:
JE_Dialog
离线
最后看到:3个月1个星期前
工作人员
加入:2013-12-05 14:02
嗨,你为什么想

嗨,你为什么要基于智能标签参考设计?接近性是应用程序的一个重要元素吗?你所描述的是相当复杂的:没有广泛的开发工作,就没有简单的方法来完成你的要求。如果您能阐明您的要求,我们可以为您提供一些文件。BR JE_Dialog

xf622
离线
最后看到:4年10个月前
加入:2015-05-08 08:13
好吧……

好吧……
我的项目需要DA14580写入一个I2C-eeprom(32K字节),32K字节的数据从智能手机上的应用程序发送,然后DA14580写入数据到eeprom。我还需要电池,tx电源和警报服务。
你能给我一些建议吗?

而且我觉得上面的一些问题并不是那么复杂,你能给我一些帮助吗?
1.我设置了adv_interval = 0x0CF0并且不让DA14580停止发布(在Smarttag中),这是最低功耗设置让DA14580持续发布吗?

2.我发现DA14580在函数app_adv_func中没有广告时会进入深度睡眠,所以我认为这是让DA14580持续广告的最低功耗设置,对吗?
但是如果我把Connection latency设置为20,那么我发现功耗比发布状态(2500ms间隔)要低,所以我想也许在发布状态(2500ms间隔)的功耗还可以更低。

3.如果30秒内没有数据传输,我想让da14580断开与app的连接,该如何实现?

MT_dialog
离线
最后看到:6个月2个星期前
工作人员
加入:2015-06-08 34
嗨xf622

嗨xf622

您应该为您提到的服务使用已经实现的配置文件,并为您的数据传输服务创建您自己的配置文件。您可以使用定制的配置文件文档来实现这一点,文档AN-B-29。只要增加连接中的广告间隔或延迟的值,功耗就会降低。当然,延迟和广告间隔的增加是有限制的,我认为连接延迟是4秒,最大广告间隔是10.24秒。

您可以在上次接收数据后设置一个计时器。当计时器结束时,你可以调用app_disconnect()来发出GAPC_DISCONNECT_CMD来断开与设备的连接。您还可以建议键盘应用程序使用I2C-EEPROM。

http://support.dialog-semiconductor.com/reference-design/keyboard

希望它能帮助

由于MT_dialog