嗨对话框
I am using the DSPS project , (1- central and 6 - DSPS_DEVICE )
Q1 : while DSPS_CENTRAL connected with DSPS_DEVICE-1, in order to make the connection (with out disconnecting the connection with device 1 )with DSPS_DEVICE-2 do i have to do the scanning again else DSPS_CENTRAL can connect to the device directly using the previous scan report ?? how to do this ??
Device:
嗨prasanth.velliyangiri,
If you have the public bd address of the second device that would like to connect to you can start the connection procedure immidiatelly without scanning just by using the app_easy_gap_start_connection_to_set() function and set the address, the address type and the connection interval. If you dont have the address and you need to scan you should issue a scan command to the stack obtain the address and then issue the same connection command with the obtained address from the scanning procedure.
谢谢mt_dialog.
嗨对话框
谢谢for your reply ,
Q1 : initially my scan report consists one device , after some time it consists all the available device, why ??
is this because of delay in printing in uart ?? or do i need to introduce some delay to scan all the available devices ??
我使用这种格式来打印整个扫描报告lyk接近监视器
for(i = 0;一世
嗨prasanth.velliyangiri,
扫描仪当时扫描一个频道并逐个报告设备,并在user_on_adv_report_ind中打印它们,如果这是您的意思,则不会在一个user_od_adv_report_ind调用上获取两个设备。
谢谢mt_dialog.
你好
谢谢for your reply.
现在我的扫描报告由多体设备地址(6)组成,但如何与所有六个设备进行连接。
在Proximity_Monitor项目中,连接基于用户在控制台App => Void App_Connect(未签名Char Indx)中选择的索引值。
嗨prasanth.velliyangiri,
您应该修改代码,并在第一个连接后,您应该重新启动扫描过程。在广告指示,您可以决定您愿意连接哪个设备,选中BD地址或广告字符串,如果它匹配预定义的字符串,则会发出连接命令。
谢谢mt_dialog.
嗨对话框
Q1:在设备1连接后执行的功能是什么,(Gapc_connection_req => app_on_connection => prf_enable => ???),
Q2 : In which function i have to add the scan_start for connecting to device 2?? (is it inside => gapm_cmp_evt_handler ???)
Q3 : i want to connect to list of known ble devices(6) , how to store the BLE address , so i can use it while connection ???
谢谢
嗨prasanth.velliyangiri,
Q1:在获取广告留言后,在主机侧,连接请求是发送的,并且在建立连接时,将磁带_CONC_CONCED_REQ_IND_HANDLER()命中和A确认消息发送给GAPC任务。之后在调用连接回调之后,在该回调中禁用连接计时器,并且主机使用app_prf_enable()函数启动发现过程(在发现过程中调用的一些函数,当用户_sps_enable在启动时启动gattc_disc_cmd - 可以在rw_ble_gatt_is中找到有关这些消息的信息)。因此,在发现您的时候,已连接已连接,并且正在调用发现功能以重新调用对等设备的服务。此外,MTU Exchange函数也被调用。此外,由于对等设备发出更新请求,您还应该看到eAvc_param_update_req_ind_handler()也在执行。
Q2:您可以在连接完成回调函数中重新启动扫描。
Q3:当您有一个接收到广告字符串时,您可以通过该阵列具有所有可用预定义地址和循环的数组。
谢谢mt_dialog.
嗨对话框
谢谢for you reply..
Q2 : connection complete call back ?? in dsps i am seeing user_on_scanning_completed
Q3:struct odginn_devices
{
//已知对等地址
struct bd_addr peer_addr;
};
structed_devices已知_device [] = {
{“\ xa1 \ xd2 \ x00 \ xca \ xea \ x80”},
{“\ xa2 \ xd2 \ x00 \ xca \ xea \ x80”},
};
在比较这个已知的设备地址时,我收到错误,错误在哪里..
if (bdaddr_compare(&app_env_vp.devices[i].adv_addr.addr, &known_device[connect_to_device].peer_addr))
谢谢...
嗨prasanth.velliyangiri,
Q2:.app_on_connection = user_on_connection,您的设备已完成与第一个设备的连接,并开始扫描第二设备。
Q3:我不认为这太多了调试,你必须检查参数中的值并检查什么可能出错,比较失败,你也可以使用memcmp()来比较两者BD地址。bdaddr_compare()没有任何特殊的东西,它只是通过两个数组运行并逐个检查元素。也许两个地址中的一个是反转的。
谢谢mt_dialog.
嗨对话框,
我正在研究DSPS项目。我正在尝试用单个主机连接多个从站(2)。
当我开始使用扫描扫描user_scan_start()函数时,即使我启用了扫描重复过滤策略,我也会多次获得同一设备的广告报告。如何解决这个问题?
嗨prasanth,
这样的原因是,DSP在扫描时,它使用的模式是GAP_GEN_DISCOVERY,当在该模式下执行扫描时,过程自动过期,DSP发送新的扫描命令以便重新启动扫描。因此,在使用重复过滤器启用的扫描命令期间,您不应从同一设备获取其他广告活动,但是当您重新启动扫描这些广告事件时,将再次弹出。您可以实现一个额外的缓冲区,该缓冲区将在以前的扫描期间保存设备,或者您可以将GAP_GEN_DISCOVERY模式更改为GAP_OBSERVER_MODE。使用GAP_OBSERVER_MODE扫描永远不会超时,所以您不必通过发送新命令再次开始扫描,因此您不会从已全部报告的设备中获取其他指示,但您将获得所有类型的广告字符串(无向,不可连接,有限等等)。
谢谢mt_dialog.