在空\u template \u ext项目中发送create \u db消息时未收到答复

了解更多常见问题教程

18个职位/0个新职位
最后一篇文章
茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
在空\u template \u ext项目中发送create \u db消息时未收到答复

你好,

我正在尝试修改空的\u模板\u ext项目以使用cust1配置文件。我在user\u custs1\u def.h/.c文件中添加了我的特征详细信息,并在user\u profiles\u config.h中包含了“custs1.h”

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

我已经通过修改prox\u reporter\u ext项目测试了这些特性的工作情况,这已经如预期的那样工作了。

我在DA14580上找不到处理UART消息的函数。有什么方法可以调试这个函数吗?

谢谢,

戈特姆

关键词:
附件:
设备:
PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

我很抱歉,但对我来说,还不清楚是什么问题。你能澄清一下你的问题吗?

如果我理解正确,您想通过UART打印调试消息吗?如果是,请尝试使用arch\u printf()函数。看看da1458x\u config\u basic.h头文件中的CFG\u PRINTF宏。

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
不,我不是想打印

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

我正在尝试将custs1配置文件与空的\u模板\u ext项目一起使用。当我将CUSTS1\u CREATE\u DB\u REQ消息发送到DA14580时,我没有收到它的任何回复。

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

我的道歉-这是我这边的误会。让我查一下,然后再给你回电话。。

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

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

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

你能在调试模式下运行它并在app\u custs1\u create\u db()函数中添加一个break porin吗?是执行正确,还是代码卡住了?

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

我使用的是外部UART模板,所以我相信app\u custs1\u create\u db()不会在外部项目中调用。我确实在custs1\u create\u db\u req\u handler()中放置了一个断点,但代码从未命中这个断点

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

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

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

我的建议是按照pxp\u reporter\u ext添加自定义配置文件。在pxp\u reporter\u ext项目中,您可以了解如何启用接近监视器和光盘配置文件。然后,您应该在调试模式下运行它,尝试通过UART发送相应的命令,并检查app\u custs1\u create\u db()是否执行。请在那里添加一个断点,并检查该函数是否被触发。

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

你提到过pxp\u reporter\u ext项目,但我在target\u apps文件夹下找不到这样的项目。我想你指的是prox\u reporter\u ext项目。我有一个修改过的版本,其中添加了cust1任务,它非常适合原型设计。我没有任何问题,在创建数据库或连接到一个设备或发送数据,它的预期工作。但这只适用于prox\u reporter\u ext项目。

但是现在我想为产品代码创建一个项目,这就是为什么我使用空模板。

正如我在以前的评论中提到的,既然这是一个外部程序,那么调用app\u custs1\u create\u db()是否需要它??因为在user\u custs\u config.c中,当BLE\u APP\u PRESENT为0时(我相信对于external是这样),APP\u custs1\u create\u db和APP\u custs1\u enable被NULL和NULL替换。而prox\u reporter\u ext项目对此没有定义。

谢谢

戈特姆

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

这个问题有进展吗?我快到我的最后期限了,如果这个问题能很快解决就太好了

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

我的道歉-这是一个输入错误,我是指SDK的prox\u reporter\u ext项目。

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

如果是prox\u reporter\u ext项目,则不包括自定义1配置文件–仅启用接近监视器和光盘配置文件。

为此,您修改了pro\u reporter\u ext项目并添加了自定义1配置文件。

在这个步骤中,如果我理解正确,没有任何问题-app\u custs1\u create\u db()执行正确。

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

因此,对于空的\u template \u ext,为了包含custom1概要文件,您遵循了完全相同的步骤。对吗?

但是,app\u custs1\u create\u db()从未执行过–(这就是问题所在)。如果有什么问题,请纠正我。

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

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

下面是你所问问题的答案

问:“app\u custs1\u create\u db()执行正确。你是否添加了一个断点来验证它?”

答:在我的proxr\u reporter\u ext上,我可以连接到它并查看配置文件。所以我相信DB的诞生正在发生。

关于是否执行app\u custs1\u create\u db,我在前一段时间尝试过,但没有达到断点。我明天再核实一下,然后再给你答复。

另外,如果我正确理解了下面的代码snippppet,那么ext项目不应该调用app\u custs1\u create\u db。

const struct cust\u prf\u fun c c c c c c c c c c c c c c c c c n n n c n n n{{如果(美国自定义1服务器)的客户服务{tasu CUSTS1,CUSTS1,CUSTS1,cust数据库,cust 1,IDX NB,电话回扣cust\u prf\u fun c c c c n c[]{{{;如果(目前)如果(目前)APP CUSTS1,创建数据库,数据库,启用,应用,启用,启用应用,启用,启用,否则,NULL,NULL,NULL,NULL,NULL,否则,NULL,NULL,NULL,NULL,其他,NULL,NULL,NULL,NULL,,,,,;如果订订订斯1}endif,init订订斯1,初始化,初始化,NULL,NULL},},},},,},,}如果}如果(如果(如果(如果(如果当前)应用程序\u客户2\u创建\u数据库,app_custs2_enable,#else NULL,NULL,#endif custs2_init,NULL},#endif{TASK_NONE,NULL,0,NULL,NULL,NULL,NULL},//不移动。必须总是最后一个};

我相信对于外部项目,BLE\u APP\u PRESENT是0。

Q: “如果是空的\u template \u ext,为了包含custom1配置文件,您已经执行了完全相同的步骤。是这样吗?”

答:是的,我也遵循同样的步骤

问:“然而,app\u custs1\u create\u db()从未执行过–(这就是问题所在)”

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

我将在函数中放置断点,检查断言,并在orrrow中确认行为。请一定要让我知道,如果应用程序\u custs1\u创建\u数据库是应该为ext项目调用

谢谢

编辑:在我的项目文件夹中找不到app\u custs1\u create\u db。这个函数应该存在于DA14580或主MCU的代码中吗?

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

总结一下:在prox\u reporter\u ext的情况下,您是否在app\u custs1\u create\u db()中添加了一个BKPT?您能指出应用程序\u custs1 \u create \u db()是否被触发吗?

如果是,是否可以将其验证到空的\u模板\u ext()中?

我假设应该调用app\u custs1\u create\u db()。有没有可能分享这两个项目与您所做的修改?

谢谢,下午好

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

很抱歉延迟回复。我弄糊涂了,正在检查目标项目中app\u custs1\u create\u db的定义。当我用空的模板运行app\u custs1\u create\u db时,它正在宿主项目中被调用。

明天之前我会和大家分享这些项目

谢谢

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

我将链接附加到proxr\u reporter\u ext和empty\u template\u ext的2个目标项目以及宿主windows proxr项目。

https://drive.google.com/file/d/1LUbIPkL4PQhfg8T8tT-a\u YadCQJolqZm/view?u、 。。。

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

谢谢

戈特姆

茨戈特姆
离线
最后一次见到:2周3天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

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

谢谢

PM\U对话框
离线
最后一次见到:2天14小时前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

很抱歉我反应太晚了。只要运行您的项目,就可以找到下面我的评论:

在prox\u reporter\u ext的情况下,项目运行正常(如您所述)–设备开始发布广告–我可以连接并查看PROXR、DISS、SPOTAR和CUSTS1配置文件。我正在运行\binaries\host\windows\approxity\reporter\host\u proxr_sdk.exe以及你提供的申请。

如果\u template \u ext为空,则设备也无法使用SDK主机\u proxr开始播发_sdk.exe也不是您提供的Windows应用程序。

你能帮我查一下你那边是否有广告吗?

如果您在user\u profiles\u config.h中注释掉以下内容,则可以在prox\u reporter\u ext中复制:

#包括“proxr.h”

#包括“diss.h”

#包括“spotar.h”

这是预期的,因为主机_sdk.exe发送GTL命令来创建上述概要文件。如果您在提供的空模板扩展项目中包含上述所有配置文件,您将看到设备将开始广告,并且还包含自定义1配置文件。

如果您想只包括自定义1配置文件,那么您应该修改主机\u proxr_sdk.exe只发送特定配置文件的GTL命令。这不是一个直接的实现,因为您应该删除许多GTL命令。例如,您可以在UART信号上使用逻辑分析器,并检查您应该发送或不应该发送哪些命令。为此,我的建议是将你的项目建立在prox\u reporter\u ext的基础上。

谢谢,下午好