尝试使用device_config配置文件时编译错误

7个帖子/ 0新
最后一篇
Uta_lc.
离线
最后一次露面:1年2个月前
加入:2016-05-03 07:39
尝试使用device_config配置文件时编译错误

亲爱的对话的支持,

我正在尝试为prox_reporter项目启用BLE_DEVICE_CONFIG配置文件,但是可以编译错误。这是我正在做的事情:

1.在user_profile_config.h补充道
#define ble_device_config 1
#include“device_config.h”
#include“pars.h”(顶部)

2.将配置文件目录中的device_config.h和.c文件添加到项目中,包括包含文件路径

编译时,我得到以下错误(实际上4个错误,但都指向同一个):
.. \ .. \ .. \ .. \ .. \。\ sdk \ platform \ arch \ main \ jump_table.c(160):错误:#70:不允许不完整的类型

追踪到文件rwble_hl_config.h第130行:
#define ble_atts_heap_env_size(sizeof(struct atts_env_tag)+ ke_heap_mem_reveed)
使用keil,转到struct atts_env_tag的定义,它表示struct atts_env_tag未定义。
如果简单地定义一个值,比如为BLE_ATTS_HEAP_ENV_SIZE定义512,编译器就会满意。

我想也许存在的标题文件序列应该已经包含了一些问题等?或者我应该在项目中添加/定义其他内容?

是否有人在对话时使用/尝试过device_config配置文件,我可以为此有一个工作的项目设置吗?

谢谢,
Uta_lc.

设备:
mt_dialog.
离线
最后一次露面:4个月4天前
职员
加入:2015-06-08 11:34
嗨uta_lc,

嗨uta_lc,

您是否为Device_config配置文件添加了.c文件?您必须在SDK_ProfiLes文件夹中添加Device_config.c和device_config_task.c,并且还包括来自C / C ++选项卡的目标选项的选项中的相应.c文件device_config.h和device_config_task.h的标题文件包含路径文本框。

由于MT_dialog

Uta_lc.
离线
最后一次露面:1年2个月前
加入:2016-05-03 07:39
谢谢mt。

谢谢mt。

是的,如原始帖子的第2点所述。

鉴于它只需要几分钟来设置它 - 只需使用vanilla prox_reporter项目加上我提到的上面的2个步骤 - 可以在da上看一个,请尝试一下吗?

另请注意,我提到我只需要通过向BLE_ATTS_HEAP_ENV_SIZE提供真正的值(512)而不是使用#define ble_atts_heap_env_size(stiguref(struct atts_env_tag)+ ke_heap_mem_reveed)来欺骗编译器,它完美地(编译和链接)。它意味着struct atts_env_tag的定义不某种方式不包括在正确的顺序中?

谢谢,
Uta_lc.

mt_dialog.
离线
最后一次露面:4个月4天前
职员
加入:2015-06-08 11:34
嗨uta_lc,

嗨uta_lc,

对不起,我错过了你提到你已经包括必要的文件的部分。我得到了你的意思,我昨天尝试过它,但错过了#define ble_device_config 1,我看不到编译器抱怨。请转到device_config.h文件并注释出/删除包含Atts.h文件。这应该使编译器快乐而不更改#define。

由于MT_dialog

Uta_lc.
离线
最后一次露面:1年2个月前
加入:2016-05-03 07:39
谢谢,修复了

谢谢,修复了编译。

尝试样本128配置文件时,必须进行同样的事情来编译。

一个相关的问题:在将代码下载到启用了BLE_DEVICE_CONFIG的开发套件后,我是否希望看到设备配置服务被发布?我使用浅蓝色和TI传感器标签应用程序(iOS应用程序)询问了芯片,但他们都不能看到任何额外的服务(在现有的LLS, LIA, DIS和BAS之上)。这听起来对吗?我丢失了一些配置吗?

谢谢,
Uta_lc.

mt_dialog.
离线
最后一次露面:4个月4天前
职员
加入:2015-06-08 11:34
嗨uta_lc,

嗨uta_lc,

您已添加的配置文件必须由您的应用程序处理,只需通过在项目中包含配置文件,无法创建数据库或在连接时启用它。每个配置文件,例如电池配置文件,包括配置文件本身(bass.c和bass_task.c),以及从几个被认为是配置文件的应用程序级别处理的附加文件。要更加钙亮,例如,允许从近距离报告器中拍摄的电池配置文件,在SDK_Profiles文件夹中,在SDK_App文件夹中存在Bass.C和Bass_Task.c,存在app_bass.c和app_bass_task.c,这两个文件包含创建,启用和处理配置文件的函数,例如,在app_bass.c中找到app_bass_create_db,即通过app_db_init_next()函数结束设备的配置后调用的函数通过prf_func_callbacks结构,并向电池数据库(bass_create_db_req)发送创建消息。该消息将由BASS_TASK.C文件(配置文件本身)中的BASS_CREATE_DB_REQ_HANDLER()处理,创建数据库并发送一个确认消息,该消息将由应用程序级别中的APP_BASS_TASK()处理,以便该应用程序知道DB创作已经完成了。这就是配置文件和应用程序的工作原理。雷竞技安卓下载对于SDK5,没有实现device_config配置文件的实现(否app_device_config.c / .h&app_device_config_task.c / .h),但是SDK3有一个​​实现,因此您可以将其视为示例。

由于MT_dialog

Uta_lc.
离线
最后一次露面:1年2个月前
加入:2016-05-03 07:39
谢谢Mt,它有意义。

谢谢Mt,它有意义。

主题锁定