健康温度计例子

11个员额/ 0个新员额
最后发表
罗纳德
离线
最后一次露面:4年6个月前
加入:2016-03-03 15:01
健康温度计例子

我正在使用SDK 5.0.3,Da14580Devkit,14583子板。
我想测量温度,所以我使用HTPT(健康温度计型材温度计)轮廓。在稍后的状态下,我将真正测量温度,但现在数据可能是一个常数。
我在“user_profiles.config.h”中包含#include“htpt.h”。

我看到“htpt.c”代码嵌入在keil调试器中。

我在论坛上读到http://support.dialog-semicondiondiond.com/cant-not-find-taskappht-htpt-pro ...关于“你必须创建app_htc_task和app_htc以便与配置文件交互”。这些信息对我来说不够用。我已经阅读了UM-B-051和UM-B-050 pdf文档。
通过阅读论坛,我了解到有一个需要温度计项目的例子。你能举个例子吗?因为引用SDK3对我不起作用。

谢谢

关键词:
设备:
mt_dialog.
离线
最后一次露面:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨,罗纳德,

嗨,罗纳德,

SDK3中的一些应用层配置文件如温度计不是100%功能,并且它们需要一些修改,不幸的是,没有任何官方示例如何实现,端口配置文件或任何现有的参考设计,可以显示实现方式实现的方式温度计简介,我会尝试提供一些指导方针,以便从SDK3移植到SDK5,我希望我不忘记任何东西,因为这个过程有点长。您可以从空白的.c文件开始,然后尝试根据另一个配置文件示例(设备信息服务的电池)或者将AllReady现有配置文件的端口实现两个App_ht_task.c / h和app_ht.c / h。拍摄App_ht_task来自SDK3的.c / h和app_ht.c / h自结而代有应用程序配置文件的实现。以下步骤描述了对现有实现应用修改的第二种选项的一部分。

1)从SRC / Modules / app / src / app_profiles / ht的目录中取自SDK3的配置文件实现,并将它们放在应用程序配置文件目录中
SDK5项目。

2)打开keil,将健康温度计文件放置在keil目录树的sdk_app文件夹中,并包含相应的头文件。

3)你将不得不修改app_ht.c/h和app_ht_task.c/h文件,一些关键的变化是:

a)您将必须替换BLE_APP_HT并设置新的定义BLE_HT_THERMOM,以便在所有必要的文件中发生适当的包含。

b)您必须将Task_App_ht替换为Task_App或Task_htpt到相应的任务,请检查RW BLE健康温度计
为了得到一个清晰的理解,你也可以参考其他的配置文件实现和相应的回调,以便
得到它。此外,还应更改相应任务的状态(例如而不是调用ke_state_set(task_app_ht,app_ht_idle);应该
被修改为ke_state_set(TASK_HTPT, HTPT_IDLE);

c)将App_ht_state_max和app_ht_idx_max更改为htpt_state_max,在Task_desc_app_ht中的app_ht.c文件中的htpt_idx_max,无论在哪里发生两个定义。

d)在app_ht_enable_prf()函数上的文件app_ht.c文件中删除ke_state_set(task_app_ht,app_ht_connected)。

e)在app_htpt_temp_send()函数中,将指令req-> conhdl = app_env.conhdl更改为req-> conhdl = app_env [0] .conhdl。

f)在app_ht_task.c中删除app_display.h文件。

g)应在App_ht_Task.c文件中创建回调和相应的消息,也应在函数中创建函数。请检查以下代码:

Static const struct ke_msg_handler app_htpt_process_handlers[]=
{
{htpt_create_db_cfm,(ke_msg_func_t)htpt_create_db_cfm_handler},
{htpt_disable_ind,(ke_msg_func_t)htpt_disable_ind_handler},
(ke_msg_func_t) htpt_meas_intv_chg_ind_handler}, {HTPT_MEAS_INTV_CHG_IND
{app_ht_timer,(ke_msg_func_t)app_ht_timer_handler},
};

枚举process_event_response app_htpt_process_handler (ke_msg_id_t const msgid,
空白const *参数,
ke_task_id_t const dest_id,
ke_task_id_t const src_id,
enum ke_msg_status_tag * msg_ret)
{
返回(app_std_process_event(msgs,param,src_id,dest_id,msg_ret,app_htpt_process_handlers,
sizeof(app_htpt_process_handlers)/ sizeof(struct ke_msg_handler));
}

h)在htpt_create_db_cfm_handler()中将if(ke_state_get(dest_id)== app_ht_disabled)更改为(ke_state_get(dest_id)== app_db_init)以便在您将获得确认以创建数据库时接收正确的确认。

我)为了得到2基本功能调用的应用程序初始化期间你必须加入user_prf_funcs[]下一行{TASK_HTPT、app_ht_create_db_send app_ht_enable_prf},你必须设置app_htpt_process_handler作为消息处理程序将来自温度计任务,为此,在app_entry_point.c中添加以下代码片段(以及其他概要文件处理程序)。

#if((ble_ht_thermom)&&(!consuldure_dlg_htpt))
(process_event_func_t)app_htpt_process_handler,
#万一

通过使用AllReady现有应用程序配置文件实现为例,它将更容易通过该过程。

谢谢mt_dialog.

罗纳德
离线
最后一次露面:4年6个月前
加入:2016-03-03 15:01
谢谢你提供的信息,

谢谢你提供的信息,
我将遵循描述

罗纳德

罗纳德
离线
最后一次露面:4年6个月前
加入:2016-03-03 15:01
你好,

你好,

我们使用prox应用程序进行修改。
很明显,TASK_APP_HT任务在SDK5中分为TASK_APP和TASK_HTPT。在许多非用户SDK文件中,必须进行更改。
就个人而言,我发现这位客户不友好。

在“htpt_enable_req_handler”中
//转到连接状态
ke_state_set(task_htpt,htpt_connected);
执行。

北欧Android应用“健康温度计”可以打开。这个应用程序将保持连接。但不会显示出任何温度。

“app_ht.c”中的“app_htpt_temp_send”函数永远不会被调用。

以下代码在“app_default_handlers.c”中添加
#如果BLE_HT_THERMOM
app_ht_init();
#万一

在“app_entry_point.c”中添加了以下代码
#if ((BLE_HT_THERMOM) && (!EXCLUDE_DLG_BASS)))
(process_event_func_t)app_htpt_process_handler,
#万一

以下代码在“app.c”中添加
#如果BLE_HT_THERMOM
{TASK_HTPT, app_ht_create_db_send app_ht_enable_prf},
#万一

有什么建议吗?

mt_dialog.
离线
最后一次露面:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨,罗纳德,

嗨,罗纳德,

SDK3中的标准配置文件不起作用,并且需要一些修改以便操作,它们已被放置在SDK3中,以便充当用户实现中的示例,并且由于它们不包括在所包括的设计中。在SDK作为参考。关于您的实现,您应该可以使用上述修改。现在,您没有在App_ht_create_db_send中获取新的测量值的事实,如果您离开它,那么您应该支持服务所需的所有可选功能,这意味着间隔特征是可写的。新测量由计时器(App_ht_timer msg)以稳定间隔触发。当用户写入间隔特征时,将设置特定的计时器。在编写app_ht_meas_intv_min和app_ht_meas_intv_max之间的值时,您应该能够获取通知或指示。如果您在第一次尝试写入该特性时,您的命令将被拒绝使用不足的身份验证错误(因为可写特性是需要身份验证),并且您的Android应启动绑定过程(确保CFG_APP_Security是在da1458x_config_basic.h文件中定义),在绑定完成之后,您将能够写入该特征。成功写后,您应该收到通知/指示取决于您的配置有关温度测量或中间温度的配置。

如果您在手机上没有任何数据,可以使用断点调试问题,请检查写命令后,您发送htpt_meas_intv_chg_ind(从gattc_write_cmd_ind_handler),并且相应的处理程序称为htpt_meas_intv_chg_ind_handler(),然后在处理程序中检查ke_timer_set(app_ht_timer,....)已达到。同样在ke_timer_set(app_ht_timer,dest_id)中,确保在计时器经过的是Task_App(ID 0x32)时将通知的任务,并检查当时间经过的时间后收到计时器的处理程序。

谢谢mt_dialog.

z20121202038
离线
最后一次露面:4年2个月前
加入:2016-03-30 12:51
你好,

你好,
我想知道SDK 5.0.3和SDK3之间的主要区别。
SDK3有关于测量温度的更多例子,因此它是必不可少的改为SDK 5?

mt_dialog.
离线
最后一次露面:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨z20121202038,

嗨z20121202038,

SDK5有更多的api,也更容易上手。对话框推荐用于新项目开发。

谢谢mt_dialog.

MAX44
离线
最后一次露面:1年2个星期前
加入:2016-02-08等等
我有一些类似的问题

我有一些类似的问题,但相对于SDK5我正在使用DA14580基本套件。我想向BLE Barebones示例的设备信息服务添加健康温度计档案,我发现用户手册UM-B-050和-051完全如何配置此操作。从配置文件下查看SDK文件 - > HTP似乎是一个健康温度计服务器,您需要HTPC和HTPT任务。这样对吗?如果我只添加包括htpc,h和htpt.h给我的user_profiles_config.h文件我得到构建错误:

。\ out_580 \ ble_app_bbt_580.axf:错误:l6218e:未定义的符号htpc_init(从prf_utils.o引用)。
\ out_580 \ ble_app_bbt_580。axf: Error: L6218E: Undefined symbol htpt_init(引用自prf_utils.o)。
没有足够的信息来生成一个SYMDEFs文件。
没有足够的信息来生成反馈文件。
没有足够的信息来列出图像符号。

所以显然仍然存在一些缺点。我不确定猜测来自visl文件的情况,我应该将与htp相关的文件添加到sdk_profiles文件夹:htpc.c,htpc_task.c,htpt.c,htpt_task.c。现在我至少没有错误。我想知道是否有一些需要在user_profiles_config.h文件中设置的配置参数,例如为淡紫色制作?我还需要创建一个app_htpt.c,app_htpt_task.c,app_htpc.c和app_htpc_task.c,如上所述?在某个地方有这个指导性吗?

mt_dialog.
离线
最后一次露面:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨max44,

嗨max44,

在SDK5中不包括健康温度计配置文件,在SDK3中包括了这些配置文件,但它们没有完全运行,需要进行一些修改才能运行。为了在你的项目中有HTPT服务,你需要有htpc和htpc_task,因为这些文件将构建数据库并与你的应用程序交互。请按照上面关于如何实现HTPT配置文件的描述。

谢谢mt_dialog.

MAX44
离线
最后一次露面:1年2个星期前
加入:2016-02-08等等
谢谢......我想。这是

谢谢......我想。这是坏消息。以上实施健康温度计配置文件的程序看起来很丑陋,但我会尝试。

是否有完全运行和测试的标准BLE配置文件(除了设计信息服务之外)我可以用作参考示例?主要用于设置任务,数据库和消息处理程序。

mt_dialog.
离线
最后一次露面:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨max44,

嗨max44,

抱歉,没有应用健康温度计的应用程序,关于其他配置文件,您可以检查接近,电池和查找我的个人资料,那些应该提供足够的指导,以正确地保护温度计档案。您可以在Prox_reporter项目中找到这些配置文件的实现。

谢谢mt_dialog.

主题锁定