<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Setting Class of Device</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44826/setting-class-of-device</link><description>Hi, 
 
 We&amp;#39;ve developed a BLE HID device with mouse and keyboard capabilities based on the nRF52832 and SDK 14.0. 
 We&amp;#39;re interested in declaring the CoD as &amp;quot; Combo keyboard/pointing device&amp;quot; as part of our advertising data. We currently set the &amp;quot;apperance</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 19 Mar 2019 14:14:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44826/setting-class-of-device" /><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/177072?ContentTypeID=1</link><pubDate>Tue, 19 Mar 2019 14:14:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b585481-b8f5-42f8-9abe-9798a4ea5810</guid><dc:creator>ohtap</dc:creator><description>&lt;p&gt;OK, thanks, we&amp;#39;ll try and implement it in the meantime.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s a custom OS&amp;nbsp;with limited distribution. We&amp;#39;re not familiar with it ourselves and only act using info by the developers. Since they filter based on CoD we try and adjust for compatibility.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/176752?ContentTypeID=1</link><pubDate>Mon, 18 Mar 2019 14:25:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d68efcab-f9bd-47db-9e81-66c0dcd50f9a</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It does make sense, but it is the first I have seen of it, so I doubt it is much used. The best I can do is to add it to the internal jira for potential next SDK releases, in the meantime you will need to manually edit the p_encoded_data to add this yourself.&lt;/p&gt;
&lt;p&gt;Can you provide some more information which OS use this? (Ref your text: &amp;quot;&lt;span&gt;Most operating systems are fine with only having the appearance field, but some also filter by CoD.&amp;quot;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Kenneth&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/176296?ContentTypeID=1</link><pubDate>Thu, 14 Mar 2019 17:40:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:edc11ad0-ba9b-4ca5-b212-4bff5550ff5b</guid><dc:creator>ohtap</dc:creator><description>&lt;p&gt;Could it be used in both cases?&lt;/p&gt;
&lt;p&gt;According to&amp;nbsp;BLUETOOTH SPECIFICATION Version 4.2 [Vol 3, Part C] section 11 page 389 (&lt;a href="https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=441541&amp;amp;_ga=2.121607560.1212259718.1552489685-1575058953.1547371943"&gt;https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=441541&amp;amp;_ga=2.121607560.1212259718.1552489685-1575058953.1547371943&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;the general advertising and scan response structure is composed of AD types and AD Data.&lt;/p&gt;
&lt;p&gt;Class of Device has a value of 0x0D according to&amp;nbsp;&lt;a href="https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile"&gt;https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And the type identifiers are listed in &lt;a href="https://www.bluetooth.com/specifications/assigned-numbers/baseband"&gt;https://www.bluetooth.com/specifications/assigned-numbers/baseband&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using&amp;nbsp;&lt;a href="https://www.ampedrftech.com/cod.htm"&gt;https://www.ampedrftech.com/cod.htm&lt;/a&gt;&amp;nbsp;we get a AD Type value of 0x05C0 (Peripheral,&amp;nbsp;&lt;span&gt;Combo Keyboard / Pointing device).&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;It seems the SDK encodes the advertising packet in a similar way in appearance_encode(). It sets the AD Data as&amp;nbsp;BLE_GAP_AD_TYPE_APPEARANCE (0x19) and gets the appearance value&amp;nbsp;(we set it as&amp;nbsp;BLE_APPEARANCE_GENERIC_HID = 960).&lt;/p&gt;
&lt;p&gt;So unless we&amp;#39;re mistaken, you could add to the advertising data packet the AD Type as 0x05C0 and the AD Data as 0x0D.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Does&amp;nbsp;that make sense?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/176216?ContentTypeID=1</link><pubDate>Thu, 14 Mar 2019 13:44:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9303ca56-54a3-40ea-b872-f17989b93a81</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hmm...&amp;nbsp;If we understand correctly the Core Specification Supplement v8.0, the &amp;quot;Class of Device&amp;quot; Data Type is a field in the &amp;quot;Secure Simple Pairing OOB&amp;quot;, which is not relevant to the context of Advertising Data as table 1.1 indicates.&amp;nbsp;It only comes into play in OOB data blocks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/176128?ContentTypeID=1</link><pubDate>Thu, 14 Mar 2019 10:14:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b82dd551-d1ee-4d7c-8840-1def5658058f</guid><dc:creator>ohtap</dc:creator><description>&lt;p&gt;Thanks for the reply.&lt;/p&gt;
&lt;p&gt;We&amp;#39;re already successfully advertising the HID service and support multiple input reports.&lt;/p&gt;
&lt;p&gt;Here is some documentation about CoD:&amp;nbsp;&lt;a href="https://www.bluetooth.com/specifications/assigned-numbers/baseband"&gt;https://www.bluetooth.com/specifications/assigned-numbers/baseband&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Under &amp;quot;Minor Device Class field - Peripheral Major Class&amp;quot; there are options such as &amp;quot;Keyboard&amp;quot; and &amp;quot;&lt;span&gt;Combo keyboard/pointing device&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It seems like this&amp;nbsp;is information that can be added to the advertising packet, but aren&amp;#39;t supported by the Nordic SDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We might try and implement it, but would appreciate if you can assist.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks!&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting Class of Device</title><link>https://devzone.nordicsemi.com/thread/176122?ContentTypeID=1</link><pubDate>Thu, 14 Mar 2019 09:47:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a287e7bf-0fcb-4c04-95d2-475547d50df5</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am not familiar with this CoD field, I do not believe there is such flag or struct in advertisement data. If you can refer to any specification that include this in the advertisement data let me know.&lt;/p&gt;
&lt;p&gt;You only set the appearance as you already do, and then write the HID descriptor to include multiple reports, e.g.:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Rallare/nrf51_ble_app_hids_kbd_consumercontrol/blob/SDK15/main.c"&gt;https://github.com/Rallare/nrf51_ble_app_hids_kbd_consumercontrol/blob/SDK15/main.c&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>