你好,
我试图修改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
嗨PM_dialog,
这个问题有什么进展吗?
嗨tsgowtham,
你能不能在调试模式下运行它,并在app_custs1_create_db()函数中添加一个break porin ?它是正确执行,还是代码卡住了?
谢谢,PM_Dialog
嗨PM_Dialog,
我使用的是外部UART模板,因此我认为在外部项目中不会调用app_custs1_create_db()。我确实在custs1_create_db_req_handler()中放置了一个断点,但代码从未命中这个断点
嗨PM_dialog,
这个问题有什么进展吗?
嗨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任务,它非常适合进行原型设计。我没有任何问题在创建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
嗨PM_Dialog,
这个问题有进展吗?我快到截止日期了,如果这件事能尽快解决就太好了
嗨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
嗨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: "在empty_template_ext的情况下,为了包含custom1配置文件,你已经遵循了完全相同的步骤。这是正确的吗?”
答:是的,我也遵循了同样的步骤
Q:“然而,app_custs1_create_db()从未执行-(这是问题所在)”
答:我认为它没有被执行,也不确定它是否应该被用于外部项目。
我将在函数中放置断点,并在明天检查断言并确认行为。请务必让我知道,如果app_custs1_create_db应该被调用ext项目
谢谢
编辑:我无法在我的项目文件夹中找到app_custs1_create_db。这个功能应该存在于DA14580或主MCU的代码上吗?
嗨tsgowtham,
总结一下:对于prox_reporter_ext,您是否在app_custs1_create_db()中添加了BKPT ?请指示app_custs1_create_db()是否被触发?
如果是,可以在empty_template_ext()中验证相同的结果吗?
我假设应该调用app_custs1_create_db()。这两个项目是否可以和你做的修改一起分享?
谢谢,PM_Dialog
嗨PM_dialog,
很抱歉没有及时回复。我感到困惑,正在检查目标项目中app_custs1_create_db的定义。当我使用empty_template_ext运行它时,在主机项目中调用了app_custs1_create_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, 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