健康温度计的例子

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

我使用的是SDK 5.0.3, DA14580DEVKIT和14583子板。
我想测量温度,所以我使用htpt(健康温度计档案温度计)档案。在以后的状态中,我将真正测量温度,但现在的数据可能是一个常量。
我已经在“user_profiles.config.h”中包含了#include " httpt .h"。

我看到“http .c”代码被嵌入到Keil调试器中。

我在论坛上读到http://support.dialog-semiconductor.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 34
嗨,罗纳德,

嗨,罗纳德,

SDK3中的一些应用层配置文件,如温度计,不是100%的功能,它们需要一些修改,不幸的是,没有任何官方的例子如何实现,端口配置文件或任何现有的参考设计,可以显示实现温度计配置文件的方式,我会试着提供一些指导方针,以便将这个从SDK3移植到SDK5,我希望我不会忘记任何东西,因为这个过程有点长。你可以从空白开始. c文件和试图实现两个app_ht_task.c / h和app_ht.c / h基于另一个配置文件的例子(设备的电池信息服务)或端口已经现有的配置文件和以app_ht_task.c / h和app_ht.c / h SDK3已经实现应用程序的配置文件。下面的步骤描述了将修改应用到现有实现的第二个选项的一部分。

1)从SDK3中获取src/modules/app/src/app_profiles/ht目录下的概要文件实现,并将它们放置到
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)将TASK_DESC_APP_HT中的app_ht.c文件中的APP_HT_STATE_MAX和APP_HT_IDX_MAX修改为HTPT_STATE_MAX和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 = app_env[0]. Conhdl . req->

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

g)回调函数和相应的消息应该在app_ht_task.c文件中创建,以及处理这些消息的函数。请检查下面的片段:

Static const struct ke_msg_handler app_htpt_process_handlers[]=

(ke_msg_func_t) htpt_create_db_cfm_handler}, {HTPT_CREATE_DB_CFM
(ke_msg_func_t) htpt_disable_ind_handler}, {HTPT_DISABLE_IND
(ke_msg_func_t) htpt_meas_intv_chg_ind_handler}, {HTPT_MEAS_INTV_CHG_IND
(ke_msg_func_t) app_ht_timer_handler}, {APP_HT_TIMER
};

枚举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(msgid, 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)更改为if (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) && (!EXCLUDE_DLG_HTPT)))
(process_event_func_t) app_htpt_process_handler,
# endif

通过使用已经存在的应用程序概要实现作为示例,将更容易完成这个过程。

由于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 ();
# endif

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

在" app.c "中添加了以下代码
#如果BLE_HT_THERMOM
{TASK_HTPT, app_ht_create_db_send app_ht_enable_prf},
# endif

有什么建议吗?

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 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 51
你好,

你好,
我想知道SDK 5.0.3和SDK3之间的主要区别。
SDK3有更多关于温度测量的例子,是否需要改到SDK 5 ?

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨z20121202038,

嗨z20121202038,

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

由于MT_dialog

Max44
离线
最后看到:1年1星期前
加入:2016-02-08等等
我有一些类似的问题

我有一些类似的问题,但相对于我使用DA14580基本工具包使用的SDK5。我想添加一个健康温度计profile到BLE barebones示例的设备信息服务,我发现在用户手册UM-B-050和-051中没有明确如何配置这个。从查看配置文件下的SDK文件-> http它似乎是一个健康温度计服务器,你需要htpc和htpt任务。这是正确的吗?如果我只是添加htpc,h和http .h到我的user_profiles_config.h文件,我得到构建错误:

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

所以显然还是少了些什么。我不确定是什么,但猜测我应该从目前的dis文件中添加与http相关的文件到sdk_profiles文件夹:htpc.c, htpc_task.c, htpt_task.c。现在我至少得到了一个没有错误的构建。我想知道是否有一些配置参数需要在user_profiles_config.h文件中设置,如为diss?我还需要创建app_htpc_task.c, app_htpc_task.c, app_htpc_task.c吗?有什么指导方针吗?

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨Max44,

嗨Max44,

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

由于MT_dialog

Max44
离线
最后看到:1年1星期前
加入:2016-02-08等等
谢谢……我认为。这是

谢谢……我认为。这是个坏消息。上面实现健康温度计配置文件的过程看起来很难看,但我将尝试一下。

是否有一个完整的可操作和测试的标准BLE概要文件(除了设计信息服务),我可以使用作为参考示例?主要用于设置任务、数据库和消息处理程序。

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨Max44,

嗨Max44,

对不起,健康温度计没有应用实现,关于其他配置文件,你可以检查接近,电池,和找到我配置文件,这些应该提供足够的指导,以实现温度计配置文件的正确。您可以在prox_reporter项目中找到这些概要文件的实现。

由于MT_dialog

主题锁定