你好
我试图修改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
关键词:
设备:
嗨tsgowtham,
我很抱歉,但我也不清楚问题出在哪里。你能把你的问题说清楚吗?
如果我理解正确,您想通过UART打印调试消息?如果是,请尝试使用arch_printf()函数。查看da1458x_config_basic.h头文件中的CFG_PRINTF宏。
谢谢,PM_Dialog
不,我不想打印调试消息。
我尝试在empty_template_ext项目中使用custs1配置文件。当我向DA14580发送CUSTS1_CREATE_DB_REQ消息时,我没有收到来自它的任何回复。
嗨tsgowtham,
我很抱歉,这是我的误会。让我查一下,然后给你答复。
谢谢,PM_Dialog
你好,下午对话,
有关于这个问题的最新消息吗?
嗨tsgowtham,
你能不能在调试模式下运行它,并在app_custs1_create_db()函数中添加一个break porin ?它是正确执行,还是代码卡住了?
谢谢,PM_Dialog
嗨PM_Dialog,
我使用的是外部UART模板,因此我认为在外部项目中不会调用app_custs1_create_db()。我确实在custs1_create_db_req_handler()中放置了一个断点,但代码从未命中这个断点
你好,下午对话,
有关于这个问题的最新消息吗?
嗨tsgowtham,
我的建议是遵循pxp_reporter_ext来添加自定义概要文件。在pxp_reporter_ext项目中,您可以了解如何启用接近Monitor和DISC配置文件。然后,您应该在调试模式下运行它,尝试通过UART发送适当的命令,并检查app_custs1_create_db()是否被执行。请在那里添加一个断点,并检查该函数是否被触发。
谢谢,PM_Dialog
嗨PM_Dialog,
您提到了pxp_reporter_ext项目,但我在target_apps文件夹下找不到这样的项目。我认为你指的是prox_reporter_ext项目。我有一个修改版本,其中添加了cust1任务,它非常适合原型设计。我在创建数据库、连接到设备或发送数据方面没有任何问题,它按预期工作。但这只适用于prox_reporter_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
嗨PM_Dialog,
这个问题有进展吗?我快到截止日期了,如果这件事能尽快解决就太好了
嗨tsgowtham,
我的道歉-这是一个拼写错误,我的意思是SDK的prox_reporter_ext项目。
为了了解您已经完成的步骤,我想问您一些问题:
对于prox_reporter_ext项目,不包括自定义1配置文件–仅启用接近监视器和光盘配置文件。
为此,您修改了pro_reporter_ext项目并添加了自定义的1配置文件。
在这一步中,如果我理解正确的话,没有任何问题—app_custs1_create_db()被正确执行。
您是否添加了断点来验证它?
因此,对于空的_template _ext,为了包含custom1概要文件,您遵循了完全相同的步骤。对吗?
但是,永远不会执行app_custs1_create_db()(这就是问题所在)。如果有什么问题,请纠正我。
你能在调试模式下运行empty_template_ext项目,并在该函数中添加一个断点吗?行为是什么?断点是否命中,或者固件是否在任何地方得到堆栈(WDOG, NMI,任何断言等)?
谢谢,PM_Dialog
嗨PM_Dialog,
以下是你所问问题的答案
Q: " app_custs1_create_db()执行正确。你有没有添加断点来验证它?”
答:在我的proxr_reporter_ext上,我可以连接到它并查看配置文件。所以我相信DB的创造正在发生。
关于是否执行app_custs1_create_db,我在前一段时间尝试过,但没有达到断点。我明天再核实一下,然后再给你回复。
另外,如果我正确理解了下面的代码片段,那么ext项目不应该调用app_custs1_create_db。
我相信对于外部项目,BLE_APP_PRESENT为0。
Q:“如果是空的\u template\u ext,为了包含custom1概要文件,您遵循了完全相同的步骤。是这样吗?”
答:是的,我也遵循同样的步骤
Q:“然而,app_custs1_create_db()从未执行-(这是问题所在)”
答:我认为它没有被执行,也不确定它是否应该被用于外部项目。
我将在函数中放置断点,检查断言,并确认行为。请务必让我知道是否应该为ext项目调用app_custs1_create_db
谢谢
编辑:我无法在我的项目文件夹中找到app_custs1_create_db。这个功能应该存在于DA14580或主MCU的代码上吗?
嗨tsgowtham,
总结一下:在prox_reporter_ext的情况下,您是否在应用程序_custs1_create_db()中添加了BKPT?您能指出应用程序\u custs1\u create\u db()是否被触发吗?
如果是,可以在empty_template_ext()中验证相同的结果吗?
我假设应该调用app_custs1_create_db()。这两个项目是否可以和你做的修改一起分享?
谢谢,PM_Dialog
你好,下午对话,
很抱歉延迟回复。我弄糊涂了,正在检查目标项目中app_custs1_create_db的定义。当我使用空的\u template\u ext运行时,宿主项目中正在调用app\u custs1\u create\u db。
我会在明天之前分享这些项目
谢谢
嗨PM_Dialog,
我将链接附加到proxr_reporter_ext和empty_template_ext的两个目标项目和主机windows的proxr项目。
https://drive.google.com/file/d/1LUbIPkL4PQhfg8T8tT-a_YadCQJolqZm/view?u...
我无法上传它们,因为它超出了大小限制。
谢谢
Gowtham
嗨PM_Dialog,
你能尝试我分享的项目吗?有什么进展吗?
谢谢
嗨tsgowtham,
为我迟来的回复道歉。只需运行您的项目,请查看以下我的评论:
对于prox_reporter_ext,项目运行正常(如您所述)–设备开始播放广告–我可以连接并查看PROXR、DISS、SPOTAR和CUSTS1配置文件。我正在运行\binaries\host\windows\approxity\reporter\host\u proxr\u sdk.exe和您提供的应用程序。
如果是空的_template _ext,则无论是使用SDK主机_proxr _SDK.exe还是您提供的Windows应用程序,设备都无法启动广告。
请问你这边有没有开始广告?
如果您注释掉user_profiles_config.h中的以下内容,则可以在prox_reporter_ext中复制:
#包括“proxr.h”
#包括“diss.h”
# include“spotar.h”
这是预期的,因为host_proxr_sdk.exe也会发送GTL命令来创建上述配置文件。如果您将上述所有配置文件包括在提供的空\u模板\u ext项目中,您将看到设备将开始广告,并且还包括自定义1配置文件。
如果您只对Custom 1配置文件感兴趣,那么您应该自己修改host_proxr_sdk.exe,并仅针对特定的配置文件发送GTL命令。这不是一个简单的实现,因为您应该删除许多GTL命令。例如,您可以对UART信号使用逻辑分析器,并检查应该发送或不发送哪些命令。为此,我的建议是将您的项目基于prox_reporter_ext。
谢谢,PM_Dialog