Dear Dialog employee,
I am trying to create a generic HID bluetooth device using HOGPD profile to exchange data between the server and the client similar tohttp://support.dialog-semicondiondiondum/hid-profile.. Although I have thoroughly readRW-BLE-PRF-HOGP-IS.pdf,UM-B-051 DA1458x Software Platform Reference v1.0.pdf,UM-B-050 DA1458x Software development guide_v1.0.pdfandUSB_HID1_11.pdf. Still it is unclear to me:
- How the message flow is and which messages have to be adapted;
- Which parameters of the HOGPD have to be set. Especially to create a generic HID device. It seems like only keyboard and mouse examples exist.
I tried the example DA14580_KBD_3.10.6, but I could not get it running on the evaluation kit; it was not discoverable.
拜托,你能帮我吗?您是否提供了通用HID设备示例?
问候,
Wouter
System information:
DA14580 USB evaluation board
SDK版本:5.0.3
Keywords:
Device:
Hi Wouter Vos,
我不该得到的第一个问题,你是什么意思which messages have to be adapted, the services that are going to be on your server depends on the inputs on your server. The general idea is to have a report map that describes the inputs of your devive (this report map is according to the HID protocol) then when one of your devices inputs is pressesed or released you send a notification to the host. Since the host has the report map as soon as he gets the notification he can map it to the appropriate key press or release. You can start with by checking the HOGPD_CREATE_DB_REQ (app_hid_create_db() function) in order to set the database on your device and set the number of your HID instances and the additional configurations. After that when you enable the service when the confirmation handler (hogpd_create_db_cfm_handler) returns the successfully creation of the database it will also send the HOGPD_SET_REPORT_MAP_REQ. The report map as i mentioned is the data that the client will use to map the reports you sent him in your notifications. After that when your device is connected you will have to enable the service (send HOGPD_ENABLE_REQ). After connection your host should enable the notifications on your server and since the appropriate notifications are enabled every timer you send a HOGP_REPORT_UPD_REQ (app_hid_send_report) your host will get the notification and map it to the corresponding action.
There is no generic example for the HID devices, perhaps a better reference example to start would be the mouse since its more simple than the keyboard. As far as the running the reference design on a evaluation kit, you mean a keyboard reference design or a dev kit (you can run the kbd ref des on the expert dev kit - it has some more extra buttons in order to be mapped to the keyboard grid). Also you can't debug (from keil) and sleep at the same time. In order for the 580 to sleep the debugger has to be disabled so you can either remove the sleep (undefine the CFG_EXT_SLEEP and CFG_DEEP_SLEEP from the da14580_config) and run the application from keil and debug or you can leave the sleep as is download the code through keil and stop debugging then you should see your device advertising. Also please check the following posthttp://support.dialog-semiconductor.com/keyboard-and-mouse-examples-wont...
Thanks MT_dialog
Hello MT_dialog,
The link between the report descriptors, usages and HID descriptors mentioned in the USB HID specification and the HOGPD implementation is not quite clear to me. I guess that the HID descriptor is related to the HOGPD database and the report descriptor to the report map. The usages implemented in the HOGPD software seem to be mouse and keyboard. I would like to use a different usage, but is unclear how to indicate and implement that.
Could you please clarify the link between the mentioned HID specification terms and the HOGPD implementation, especially those relating to the parameters described in the tables 5.X of theRW-BLE-PRF-HOGP-IS.pdf?
问候,
Wouter
Hi Wouter Vos,
由于您希望您的设备的不同用法,您必须参考HID规范,以便检查如何语法语法。现在关于HID和Hogpd的链接,如果我正确了解你想澄清你必须实施的更改,你必须在数据库创建时改变设备的报告地图,这两个之间的最重要的连接是报告您的报告地图的数量(具有不同ID的报告映射支持的报告数量有多少报告(输入,输出,功能)。例如,在鼠标参考设计中,报告地图由报表地图中声明的3个不同的报告(运动,键,高级键)组成,因此在数据库创建(app_hid_create_db)中,您必须明确声明您的设备支持的3个不同的报告以及报表功能(即输入,输出或功能报告)。功能 - > eport_char_cfg [0,1,2] = hogpd_cfg_report_in |hogpd_report_ntf_cfg_mask |hogpd_cfg_report_wr;(在鼠标参考设计中)将在数据库中创建3个不同的输入特性,当更新时,将映射到您的报告时,请检查KBD或鼠标参考设计手册,以了解对相应设备创建的特性。这是报表地图和数据库之间的连接,除了所有其他配置与设备的不同功能之外,例如设备是否支持引导协议模式等。希望这更清楚。
Thanks MT_dialog