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

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
18个员额/ 0个新员额
最后发表
tsgowtham
离线
最后看到:8个月6天前
加入: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
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

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

谢谢,PM_Dialog

tsgowtham
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
不,我不是想打印

不,我不想打印调试消息。

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

PM_Dialog
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

谢谢,PM_Dialog

tsgowtham
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

这个问题有什么进展吗?

PM_Dialog
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

你能不能在调试模式下运行它,并在app_custs1_create_db()函数中添加一个break porin ?它是正确执行,还是代码卡住了?

谢谢,PM_Dialog

tsgowtham
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

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

tsgowtham
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

这个问题有什么进展吗?

PM_Dialog
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

谢谢,PM_Dialog

tsgowtham
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

你提到了pxp_reporter_ext项目,但我在target_apps文件夹下找不到这样的项目。我认为您指的是prox_reporter_ext项目。我有一个修改过的版本,在其中添加了cust1任务,它非常适合进行原型设计。我没有任何问题在创建db或连接到设备或发送数据,它的工作如预期。但这仅适用于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
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

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

PM_Dialog
离线
最后看到:1周3天前
工作人员
加入: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
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

以下是你所问问题的答案

Q: " app_custs1_create_db()执行正确。你有没有添加断点来验证它?”

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

关于是否执行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
离线
最后看到:1周3天前
工作人员
加入: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
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_dialog,

嗨PM_dialog,

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

我会在明天之前分享这些项目

谢谢

tsgowtham
离线
最后看到:8个月6天前
加入: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
离线
最后看到:8个月6天前
加入:2020-05-04 12:39
嗨PM_Dialog,

嗨PM_Dialog,

你能尝试我分享的项目吗?有什么进展吗?

谢谢

PM_Dialog
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨tsgowtham,

嗨tsgowtham,

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

在prox_reporter_ext的情况下,项目运行正常(正如你已经提到的)——设备开始发布广告——我可以连接并查看PROXR, dis, SPOTAR和CUSTS1配置文件。我正在运行两个二进制文件\主机\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