DSPS_HOST使DSPS_SLAVE休眠

6个员额/ 0个新员额
最后发表
prasanth.velliy……
离线
最后看到:2年1星期前
加入:2016-02-18 12:18
DSPS_HOST使DSPS_SLAVE休眠

嗨对话框
我正在使用DSPS项目,我想让我的DSPS_HOST使DSPS_DEVICE进入睡眠,并从睡眠中醒来,如何做到这一点?
我在多个BLE设备中运行DSPS_DEVICE代码,当DSPS_HOST扫描时,扫描数据包含所有可用的BLE设备还是一个BLE设备?

设备:
MT_dialog
离线
最后看到:4个月10个小时前
工作人员
加入:2015-06-08 34
嗨prasanth.velliyangiri,

嗨prasanth.velliyangiri,

1)我不明白你到底想做什么,这两个设备在连接时都处于睡眠模式(更准确地说,两个设备都处于睡眠模式,除非是为了保持连接而醒来的时间)。您想在断开连接时将设备置于永久休眠状态吗?如果设备处于永久休眠状态,它们只能通过外部中断来唤醒,你无法通过BLE唤醒它们。

2)当DSPS主机扫描将扫描并返回当前正在发布的所有BLE可用设备(在发布指示回调函数中有一个条件,检查类似于DSPS UUID的特定字符串模式,并在广告字符串与模式匹配时发出连接命令),当报告广告指示时,它也将报告其广告数据。我不明白你的意思“扫描数据包含所有可用的BLE设备或一个BLE设备”。

由于MT_dialog

prasanth.velliy……
离线
最后看到:2年1星期前
加入:2016-02-18 12:18
嗨Diaolog

嗨Diaolog
谢谢你的回复。
Q1:前2分钟00:00:DSPS_HOST <=> DSPS_DEVICE_1 (advertising) DSPS_HOST将决定连接到device_1 (connected)
DSPS_DEVICE_2(广告)(未连接)
DSPS_DEVICE_3(公告)(未连接)
next 2 min 02:00: DSPS_HOST <= >DSPS_DEVICE_1 (advertising) (not connected)
DSPS_DEVICE_2 (advertising) DSPS_HOST将决定连接到device_2 (connected)
DSPS_DEVICE_3(公告)(未连接)
next 2 min 04:00: DSPS_HOST <=> DSPS_DEVICE_1 (advertising) (not connected)
DSPS_DEVICE_2(广告)(未连接)
DSPS_DEVICE_3 (advertising) DSPS_HOST将决定连接到device_3 (connected)。
如何做到这一点?
在DSPS_HOST项目app_easy_gap_start_connection_to_set()决定到特定设备的连接,我是否必须在这里配置我的设备bd地址,或者我可以从广告数据中获得它?如何做到这一点?
谢谢你对话……

MT_dialog
离线
最后看到:4个月10个小时前
工作人员
加入:2015-06-08 34
嗨prasanth.velliyangiri,

嗨prasanth.velliyangiri,

Q1:你可以使用一个内核定时器2分钟间隔并连接先后从您的主机,如果你知道这些广告设备就可以开始计算一旦检测到第一个设备,连接到第一个柜台设备并开始2分钟。一旦计数器过去,您可以开始扫描程序,以找到下一个广告设备,并为第三个设备应用相同的方案。另外,DSPS不支持多连接,你将能够连接多个外设,但你不能用当前的实现传输数据。

Q2:是的你应该配置的bd地址的设备,你想发送连接请求,在需求方主机user_on_adv_report_ind app_easy_gap_start_connection_to_set()的()传递的bd地址当前广告装置,它是由扫描仪。param - >报告。adv_addr_addr参数是刚刚被扫描器拾取的发布设备的BD地址。实现在DSPS主机的user_on_adv_report_ind()中。

由于MT_dialog

prasanth.velliy……
离线
最后看到:2年1星期前
加入:2016-02-18 12:18
嗨对话框

嗨对话框
谢谢你的回复…
如何在DSPS_HOST项目的控制台(终端)打印扫描报告??
谢谢你对话……

MT_dialog
离线
最后看到:4个月10个小时前
工作人员
加入:2015-06-08 34
嗨prasanth.velliyangiri,

嗨prasanth.velliyangiri,

请不要在一个特定主题的主题中发布一个新的问题,那样的话,有同样问题的人将无法找到正确的答案。你总是可以打开一个新的线程。

关于你的问题:

您将必须在da1458x_config_basic.h中#定义CFG_PRINTF,并且您还必须对schedule_while_ble_on()应用一些更改,请遵循以下说明

在schedule_while_ble_on()中替换:

//将控制权授予应用程序,尝试进入睡眠
//如果应用程序返回GOTO_SLEEP
如果(! app_asynch_trm ())
打破;

下面的代码片段:

//将控制权授予应用程序,尝试进入睡眠
//如果应用程序返回GOTO_SLEEP
如果(app_asynch_trm ())

继续;//再次调用rwip_schedule(

其他的

arch_printf_process ();
打破;

此外,UART2端口(DSPS项目中用于调试的端口)的TX和RX映射在引脚P12和P13,因此您将需要FTDI打印。

Thansk MT_dialog