在empty_template_ext项目中发送create_db消息时没有收到回复

了解更多常见问题教程

18个职位/ 0个新职位
最后发表
tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
在empty_template_ext项目中发送create_db消息时没有收到回复

你好,

我试图修改empty_template_ext项目,以使用cust1配置文件。我在user_custs1_def.h/.c文件中添加了我的特征细节,并在user_profiles_config.h中包含了“custs1.h”

当我发送消息来创建cust1 DB时,我没有收到任何回复。我附上了主机发送和接收的消息的截图(这是host_proxr项目的修改版本)。

我通过修改prox_reporter_ext项目测试了这些特征的工作情况,结果与预期一致。

我无法找到处理DA14580上的UART消息的函数。有办法调试这个函数吗?

谢谢,

Gowtham

关键词:
附件:
设备:
PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

我很抱歉,但我也不清楚问题出在哪里。你能把你的问题说清楚吗?

如果我理解正确,您想通过UART打印调试消息?如果是,请尝试使用ARCH_PRINTF()函数。查看da1458x_config_basic.h标题文件中的cfg_printf宏。

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
不,我不是想打印

不,我没有试图打印调试消息。

我试图使用empty_template_ext项目的custs1配置文件。当我向DA14580发送CUSTS1_CREATE_DB_REQ消息时,我没有收到它的任何回复。

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

抱歉,这是我这边的误会。让我查一下,然后给你答复。

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

关于这个问题有什么最新进展吗?

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

您可以在调试模式下运行它,并在app_custs1_create_db()函数中添加一个break porin吗?它是否正确执行,或者代码卡住了?

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

我使用的是外部UART模板,因此我认为在外部项目中没有调用app_custs1_create_db()。我确实在custs1_create_db_req_handler()中放置了一个断点,但代码从来没有碰到这个断点

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

关于这个问题有什么最新进展吗?

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

我的建议是遵循pxp_reporter_ext来添加自定义配置文件。在pxp_reporter_ext项目中,您可以遵循如何启用接近监视器和DISC配置文件。然后,您应该在调试模式下运行它,尝试通过UART发送适当的命令,并检查是否执行了app_custs1_create_db()。请在那里添加一个断点,并检查该函数是否被触发。

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

你提到了pxp_reporter_ext项目,但我无法在target_apps文件夹下找到这样一个项目。我认为你指的是prox_reporter_ext项目。我有一个修改过的版本,我添加了cust1任务,它可以完美地用于原型设计。我没有任何问题在创建数据库或连接到一个设备或发送数据,它工作如预期。但这仅适用于prox_reporter_ext项目。

但是现在我想为产品代码做一个项目,这就是为什么我使用empty_template_ext。

正如我在以前的注释中提到的,由于这是一个外部程序,是否需要调用app_custs1_create_db() ?因为在user_custs_config.c中,当BLE_APP_PRESENT为0时(我认为这是外部的情况),app_custs1_create_db和app_custs1_enable被NULL和NULL替换。而prox_reporter_ext项目没有对其进行定义。

谢谢

Gowtham

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

这个问题有进展吗?我的截止日期快到了,如果能尽快解决这个问题就太好了

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

抱歉,这是一个打印错误,我指的是SDK的prox_reporter_ext项目。

让我问你一些问题,以便了解你已经完成的步骤:

在prox_reporter_ext项目的情况下,自定义1配置文件不包括-只有接近监视器和DISC配置文件被启用。

为此,您修改了pro_reporter_ext项目并添加了自定义配置文件1。

在此步骤中,如果我正确地理解没有任何问题 - App_custs1_create_db()正确执行。

你是否添加了断点来验证它?

因此,对于empty_template_ext,您遵循了完全相同的步骤来包含custom1概要文件。那是正确的吗?

但是,从来没有执行app_custs1_create_db()(这就是问题所在)。如果有什么问题,请纠正我。

可以在调试模式下运行empty_template_ext项目,并在该函数中添加断点吗?行为是什么?是否断点命中,或者固件得到堆栈的任何地方(WDOG, NMI,任何断言等)?

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

以下是你所问问题的答案

Q: " app_custs1_create_db()被正确执行。你是否添加了断点来验证它?”

答:在我的proxr_reporter_ext上,我可以连接到它并查看配置文件。所以我相信数据库正在创建。

关于是否执行app_custs1_create_db,我以前尝试过,它没有达到断点。我明天再核实一下,然后给你答复。

另外,如果我正确理解了下面的代码片段,那么ext项目不应该调用app_custs1_create_db。

const struct cust_prf_func_callbacks cust_prf_funcs[] ={#如果(BLE_CUSTOM1_SERVER) {TASK_CUSTS1、custs1_att_db CUST1_IDX_NB, #如果(BLE_APP_PRESENT) app_custs1_create_db app_custs1_enable, #空,空,# endif custs1_init,零},# endif #如果(BLE_CUSTOM2_SERVER) {TASK_CUSTS2零0 #如果app_custs2_create_db (BLE_APP_PRESENT),app_custs2_enable, #else NULL, NULL, #endif custs2_init, NULL}, #endif {TASK_NONE, NULL, 0, NULL, NULL, NULL}, //不移动。必须永远是最后一个;

我相信BLE_APP_PRESENT对于外部项目是0。

Q:“对于empty_template_ext,您遵循了完全相同的步骤来包含custom1配置文件。这是正确的吗?”

答:是的,我也是这么做的

Q: "但是,app_custs1_create_db()从来没有执行过-(这就是问题所在)"

答:我认为没有执行,也不确定外部项目是否应该执行。

明天我将在函数中放置断点,检查断言并确认行为。如果app_custs1_create_db应该为ext项目调用,请务必让我知道

谢谢

编辑:我无法在我的项目文件夹中找到app_custs1_create_db。这个功能应该存在于DA14580或主MCU的代码上吗?

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

简单总结一下:对于prox_reporter_ext,您是否向app_custs1_create_db()添加了一个BKPT ?请指出app_custs1_create_db()是否被触发?

如果是,能否验证同样的empty_template_ext() ?

我假设应该调用app_custs1_create_db()。是否有可能将你所做的修改分享给两个项目?

谢谢,PM_Dialog

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

很抱歉迟复。我感到困惑,正在检查目标项目中app_custs1_create_db的定义。当我使用empty_template_ext运行它时,在主机项目中调用了app_custs1_create_db。

我明天就会分享项目

谢谢

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

我将链接附加到两个目标项目的proxr_reporter_ext和empty_template_ext和主机windows proxr项目。

https://drive.google.com/file/d/1LUbIPkL4PQhfg8T8tT-a_YadCQJolqZm/view?u..。

我无法上传它们,因为它超过了大小限制。

谢谢

Gowtham

tsgowtham
离线
最后看到:3周1天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

你能试一下我分享的项目吗?有什么最新消息吗?

谢谢

PM_Dialog
在线
最后看到:3分27秒前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

抱歉我回复晚了。只要运行你的项目,所以在我的评论下面找到:

在prox_reporter_ext的情况下,项目运行正常(正如您已经提到的)-设备开始发布广告-我可以连接并看到PROXR、DISS、SPOTAR和cust1配置文件。我运行两个\二进制文件\主机\windows\邻近\报告\host_proxr_sdk.exe和您提供的应用程序。

在empty_template_ext的情况下,设备既不能使用SDK host_proxr_sdk.exe也不能使用您提供的Windows应用程序开始发布。

你能检查一下你这边是否开始做广告了吗?

如果您注释掉以下包含在user_profiles_config.h中的内容,这可以在prox_reporter_ext中复制:

# include“proxr.h”

# include“diss.h”

# include“spotar.h”

这是意料之中的,因为host_proxr_sdk.exe也发送GTL命令来创建前面提到的配置文件。如果您在提供的empty_template_ext项目中包含了上述所有配置文件,您将看到设备将开始发布,Custom 1配置文件也包括在内。

如果您对只包含Custom 1配置文件感兴趣,那么您应该自己修改host_proxr_sdk.exe,并仅为特定的配置文件发送GTL命令。这不是一个简单的实现,因为您应该删除许多GTL命令。例如,您可以在UART信号上使用逻辑分析器,并检查应该发送或不发送哪些命令。为此,我的建议是将您的项目基于prox_reporter_ext。

谢谢,PM_Dialog