- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In both examples for CYW20719 spp and hello_sensor in wiced_bt_cfg.c have such definitions: {0x00, 0x00, 0x00}, /**< Local device class */
but when scan with bt scanner I've got CoD 7936
Q1: where this number come from instead 0?
Q2: if those 3 uint8 members of the array suppose to represent the 24bits for the CoD, where is the LSB of this 24bits and the MSB, as there nothing mentioned in the docs and is it enough to put 3 numbers there and override those 7936 or there are some other steps to be performed to set proper CoD as per BT specs?
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Class of device is a parameter received during the device discovery procedure on the BR/EDR physical transport, indicating the type of device. The Class of Device parameter is only used on BR/EDR and BR/EDR/LE devices using the BR/EDR physical transport.
Please test using a BR/EDR or BR/EDR/LE project. You can test in SPP demo project.
Test results added here: Re: Bug report: Bluetooth Class of Device (CoD)
Thanks,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi StN._1917156,
I am checking more details on this internally and should provide you an update soon.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello StN._1917156
This is not a bug. 000000 means nothing defined. So its considered as UNCATEGORIZED.
Below links will be helpful:
Bluetooth - Class Of Device Lijst (CoD)
https://distriqt.github.io/ANE-Bluetooth/asdocs/com/distriqt/extension/bluetooth/BluetoothClass.html
Thanks ,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Those 2 Links I think give better information regarding CoD coding:
Bluetooth CoD: Bluetooth Class of Device/Class of Service Explained
But those are by Bluetooth standard!
The question was how those 24bit for CoD are represented in the Cypresse's array for /**< Local device class */ and why {0x00,0x00,0x00} or any other combination of 3 numbers is transmitted as 7936 i.e. {0x00, 0x1F, 0x00} instead?
P.S. Regarding the bug/not bug I already comment and gave enough test examples on the other thread
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Class of device is a parameter received during the device discovery procedure on the BR/EDR physical transport, indicating the type of device. The Class of Device parameter is only used on BR/EDR and BR/EDR/LE devices using the BR/EDR physical transport.
Please test using a BR/EDR or BR/EDR/LE project. You can test in SPP demo project.
Test results added here: Re: Bug report: Bluetooth Class of Device (CoD)
Thanks,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, but you from Cypress should add somewhere either in wiced_bt_cfg.c or somewhere in the documentation how this 3 numbers are coded (Big Endian), because is opposite of the other multibytes information in the Bluetooth packets that are coded Little Endian and is a pitfall
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Stan,
Yes, I will discuss this internally to add / document it anywhere in WICED docs or blog.
Sorry for the inconvenience caused.
Regards,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After some research and testing - Some more details that might be of interest to anybody that could get trapped like me:
Bluetooth Class of Device as well wiced_bt_cfg_settings.device_class is NOT used only in BD/EDR/* but can be used and in BLE only projects.
The only difference BR/EDR vs BLE is that those 3 uint8 numbers from wiced_bt_cfg_settings.device_class, that form the Class of Device 24bit identification, in BR/EDR mode obviously (but not found yet in the docs, so will need further confirmation) always are transmitted, while in BLE it is optional to include CoD as an item in the advertising batch and then even Bluetooth Scanner App recognize the Class of Device properly even in BLE only mode.
Just make sure when you calculate the CoD and split it after in 3 bytes - they should be set Big Endian in the wiced_bt_cfg_settings.device_class (which is the opposite how other bluetooth multiByte data is coded)!!!