敬启者,
我正在SDK5.0.3中为灯架创建一个农场。
我设计了FW,每隔几秒钟改变广告数据的一部分。
FW将在运营时展示,但FW将停止广告。
我不希望广告停止。
当FW停止广告时,在User_PeripherAl.cn的User_App_Adv_Undirect_Complete()中,它已接收了一个GAP_ERR_NO_ERROR或GAP_ERR_COMMAND_DISALLED作为状态。
(通常,它已收到Gap_Err_Canceled。)
另外,当广告停止传输时,user_catch_rest_hndl()正在处理。
1.你知道GAP_ERR_NO_ERROR和GAP_ERR_COMMAND_DISALLED发生的原因吗?
我没有看到除了GAP_ERR_NO_ERROR和GAP_ERR_COMMAND_DISALLED之外。
这两个错误总是发生在同一时间。
我不想停止广告。有没有更好的办法?
我对FW做了以下措施。
1.如果FW收到非GAP_ERR_CANCELED,FW将停止广告。
(FW将使用ADV_DATA_UPDATE_TIMER_CB()的处理。)
2.然后,在user_app_adv_start()中恢复FW正在恢复。
我在FW中进行这种翻新,它被允许运行10小时。
GAP_ERR_COMMAND_DISALLED发生,但广告不会停止。
此致。
设备:
嗨Coral0310,
我假设您在完全托管模式下运行。您可以在SDK5中检查鞍骨,并在内核定时器经过时广告并更改广告字符串。为了改变广告字符串,没有其他方式,您必须停止广告,更改广告字符串并再次发出广告命令。当您终止广告程序时,您应该得到一个GAP_ERR_CANCELED,如果例如,您在ALLREADY广告时发出广告命令,那么您将获得一个GAP_ERR_COMMAND_DISALLED。
谢谢mt_dialog.
嗨对话人员,
感谢你的回复。
我将检查SDK5中的鞍骨筒。
我想查看我的项目代码。
谢谢你。
敬启者,
>当您终止广告程序时,您应该获得一个GAP_ERR_CANCELED,如果您开始广告>您是ALLREADY广告,那么您将获得一个GAP_ERR_COMMAND_DISALLED。
我有个问题。
我想知道调用user_app_addured_complete()的条件。
我认为在FW停止广告之后调用user_app_adv_undirect_complete()。
但是,我对自己的思想没有信心。
请告诉我user_app_adv_undirect_complete()调用的条件。
谢谢你。
嗨Coral0310,
如果你是广告和你援引app_easy_gap_advertise_stop()它发出gapm_cancel_cmd,以取消播出的空气运行,这将取消广告程序。完成GAPM_CANCEL_CMD(意味着您不再广告)GAPM_CANCEL_CMD将提供GAPM_CMP_EVT(完整事件),以指示对执行操作的取消已完成。GAPM_CMP_EVT将由gapm_cmp_evt_handler()并就完成的操作它将转到适当的情况下,然后将适当的案例调用适当的回调,在广告取消的情况下,App_Ond_Adv_Undirect_Complete回调被称为映射到您的自定义回调。
谢谢mt_dialog.
亲爱的对话人员,
感谢你的回复。
>>如果您是广告和调用app_easy_gap_advertise_stop()它会发出gapm_cancel_cmd以取消换流运输,这将取消广告程序。
我明白“app_on_adv_undirect_complete回调”
如果fw不运行app_easy_gap_advertise_stop(),则不会调用。
(如果我的思想是错的,请告诉我。)
再一次,我检查了我的项目的操作。
一种。在正常的情况下,
在执行APP_EASY_GAP_ADVERTES_STOP()之后,已调用“app_on_adv_undirect_complete回调”。
湾在GAP_ERR_COMMAND_DISALLED的情况下,
在调用“app_od_undirect_complete回调”之前,在调用“app_on_adv_undirect_complacke之前,执行此案例并不具有app_easy_gap_advertise_stop()。
我不明白这种情况发生的原因。
如果你知道的话,请告诉我。
谢谢你。
亲爱的对话人员,
对不起,我是错误的问题。
>>我假设您在完全托管模式下运行。
请让我更多关于“完全托管模式”。
今天,我被允许在SDK5中运行“Blue_App_BareBone”示例,然后发生了Gap_Err_No_Error错误,FW已停止宣传。
(我没有做出更改以外的是发出登录。)
我的项目和“blue_app_barebone”示例是不同的,但停止方式非常相似。
我认为我的项目没有到“完全托管模式”。
很抱歉听到很多次。
谢谢你。
嗨Coral0310,
完全托管的模式意味着应用程序在580内部处理器中运行,在完全嵌入模式中,应用程序在外部处理上运行。你在鞍骨的eAcke上看到的gap_err_no_error没有错误状态,你应该得到一个GAP_ERR_NO_ERROR当设备已成功重置并且当设备已成功完成配置时,设备已成功重置和其他类似的消息。
谢谢mt_dialog.
感谢你的回复。
1。
>>完全托管的模式意味着应用程序在580内部处理器中运行,在完全嵌入模式中,应用程序在外部处理上运行。
打扰一下。不太了解......
如何判断内部处理器或外部处理器是否?
希望有所帮助。
我正在使用一个Typezy的开发套件(Murata Corporation)。
TypeZy从MDK-ARM下载FW到Via UART。
2。
>>您在鞍骨筒示例中看到的Gap_err_no_error无错误状态,当设备已成功重置时,您应该得到一个Gap_Err_No_Error,并且当设备已成功完成配置时,该设备已成功重置和其他类似的消息。
谢谢你。
我能够了解GAP_ERR_NO_ERROR。
但是,我不了解GAP_ERR_COMMAND_DISALDED。
我了解“app_od_adv_undirect_complete回调”如果fw不运行app_easy_gap_advertise_stop(),则不会调用。
(如果我的思想是错的,请告诉我。)
再一次,我检查了我的项目的操作。
一种。在正常的情况下,
在执行APP_EASY_GAP_ADVERTES_STOP()之后,已调用“app_on_adv_undirect_complete回调”。
湾在GAP_ERR_COMMAND_DISALLED的情况下,
在调用“app_od_undirect_complete回调”之前,在调用“app_on_adv_undirect_complacke之前,执行此案例并不具有app_easy_gap_advertise_stop()。
我不明白这种情况发生的原因。
如果你知道的话,请告诉我。
谢谢你。
嗨Coral0310,
1.如果您有外部PC代码并在接口上与580通信,例如(作为Proximity_reporter_ext)以便发送命令(通告,连接等),那么如果您的程序运行,则在完全嵌入的配置下运行专门在580上,然后您拥有完全托管的配置(大多数对话框项目都是这样)。
2.是的,如果您不调用app_easy_gap_advertise_stop()则不应调用app_on_add_undirect_complete()回调。关于在正常操作中不应调用我已提到的命令,在正常操作中不应调用,并且在停止正在进行的广告过程之前发出启动时返回。在app_ble_barebone中我没有看到此消息发生。请检查该示例。
谢谢mt_dialog.
亲爱的对话人员,
感谢你的回复。
1.谢谢。
我以完全嵌入的模式运行。
谢谢。
我将重新检查我的项目和App-Ble-Ble-Barebone。
我想先解析Gap_err_no_error。
即使在发生了Gap_Err_No_Error之后,
我想继续广播广告。
请给我一个好方法。
当有一个有助于的示例项目时,我很高兴。
很抱歉听到很多次。
谢谢你。
嗨Coral0310,
没有问题,只需遵循鞍骨子示例并检查顺序使用的过程,然后设置设备,然后更改广告字符串,使合适的比较与您的程序进行比较。
谢谢mt_dialog.
亲爱的对话人员,
感谢你的回复。
我再次检查FW的操作。
在调用“app_on_connection回调”之后显示Gap_err_no_error状态。
我想制作“app_on_connection回调”,没有发生,
因为我的fw不需要是一个连接。
有什么好事吗?
(我正在考虑将广告类型从“未确定”到“non_connection”。)
谢谢你。
嗨Coral0310,
如果您不想在外设上连接连接,请将您的设备转换为不可连接的方式是一种方式,您可以看一下SDK3上的信标参考设计,在不可连接模式下广告。您可以在支持站点的参考设计部分中找到信标。
谢谢mt_dialog.
亲爱的对话人员,
感谢你的回复。
我有两个问题。
1.Sorry,我正在使用SDK5.0.3。
是否有一个在SDK5中有用的样本?
我想我只是更改设置(例如user_config.h)或广告启动方法。
例如,请让我如何将“BLE_APP_BAREBONE样本”的广告模式更改为“不可连接模式”。
我选择了SDK5。
但是,我无法决定SDK5或SDK3的选择。
目前,您认为哪个更好的选择?
如果SDK3的支持继续,我可能会考虑使用SDK3。
很抱歉听到很多次。
谢谢你。
嗨Coral0310,
1)在门户网站上没有任何官方信标示例,您可以在不可连接的部分中更改user_config.h文件,并使用app_easy_gap_non_connectable_advertise_start()函数使您的设备不可连接。为了开始广告。
2)仍然支持SDK3,但对话框建议新设计使用SDK5,因为它更容易使用,并且大多数错误都是固定的。
谢谢mt_dialog.
感谢你的回复。
1。
>您可以在非可连接部分中更改user_config.h文件,并通过使用app_easy_gap_non_connectable_advertise_start()函数以启动广告,使您的设备不可连接。
请告诉我关于“user_config.h”文件的更多信息。
我想知道要在“user_config.h”文件中要修改的值。
谢谢你。
嗨Coral0310,
没有值您应该在user_config.h文件中更改,处理不可连接的广告的结构是user_non_connectable_advertise_conf,您可以配置间隔等,然后在您需要调用app_easy_gap_non_connectable_advertise_get_active();和app_easy_gap_non_connectable_advertise_start();为了开始在不可连接的模式下进行广告。
谢谢mt_dialog.
感谢你的回复。
我一直在使用“BLE_APP_BAREBONE”示例。
我更改了user_barebone.c的代码。
//前
void user_app_adv_start(void)
{
......
struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_undirected_advertise_get_active();
......
app_easy_gap_undircated_advertise_start();
}
//后
void user_app_adv_start(void)
{
......
struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_non_connectable_advertise_get_active();
......
app_easy_gap_non_connectable_advertise_start();
}
它无法构建,因为app_easy_gap_non_connectable_advertise_get_active()
没有定义。
我已经定义了app_easy_gap_non_connectable_advertise_get_active()
到“app_easy_gap.h”文件。
(我指的是app_easy_gap_undirected_advertise_get_active()。)
建立来了。但是,FW无法宣传更新,广告停止。
也许,我错了如何定义app_easy_gap_non_connectable_advertise_get_active()。
有什么好事吗?
(我想要一些代码。)
谢谢你。
嗨Coral0310,
最可能您做广告,但您的广告停止,因为停止广告的定时器被触发,没有默认回调用于捕获非可连接的广告结束,但您可以使用CATT REST功能实现一个,请按照下面的链接进行操作应该实现的代码:
http://support.dialog-semicondiondiondum/aadvertisement-complete-callback -...
谢谢mt_dialog.
嗨对话人员,
感谢你的回复。
它能够继续向FW做广告。
今天,我做了一个测试,但没有问题。
也许,我认为这件事已经解决了。
非常感谢。