你好,
我试图修改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项目中,您可以遵循如何启用接近监视器和DISC配置文件。然后,您应该在调试模式下运行它,尝试通过UART发送适当的命令,并检查是否执行了app_custs1_create_db()。请在那里添加一个断点,并检查该函数是否被触发。
谢谢,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
嗨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上,我可以连接到它并查看配置文件。所以我相信数据库正在创建。
关于是否执行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、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