I further tried to debug this myself, but the method in question has no source attached so am unable to effectively trace what is going on. The even returning the advertisement report comes from a method internal to the cy_ble_stack_*.a libraries.
Please provide guidance as to why this has been truncated in the library.
How often this case happens? How about the condition if the length of raw data is short?
I tried on my side the raw data can be always displayed correctly by UART printing.
The lack of short or long name happens on every scan from the pioneer kit.
Do you mean that you're seeing Data Type 0x08 or 0x09 in the cy_stc_ble_gapc_adv_report_param_t provided during the CY_BLE_EVT_GAPC_SCAN_PROGRESS_RESULT event?
If so can you provide the sample project that is doing this for a generic peripheral?
The peripherals I am testing with advertise the name (as mentioned above) when I use BLE tools on iOS and Android, including the cysmart app.
The advertisement data varies along with different peripherals. I tested the project CE215118_BLE_Multi_Master_Single_Slave01 with 062 pioneer kit, as central device.
And I compared the received advertisement data through cy_stc_ble_gapc_adv_report_param_t provided during the CY_BLE_EVT_GAPC_SCAN_PROGRESS_RESULT event with the data received on CySmart (PC) side. The data are identical.
So I would like to check with you how it is going if change to another ble peripheral? The data is shortened or cut for every scan and all peripheral devices?
The following are screenshots from a BLE scanner against one of the three devices I have been using. In each case, android and iOS BLE scanners show the correct advertisement data.
With the PSOC 6, the data is shortened (as shown in my original post). Regardless of which peripheral I use, I experience this problem.
If you had seen something different in your test code, I would appreciate being able to run that here so that we are comparing apples to apples.
Do you know if the device you are scanning sends the Local name through Scan response or advertisement? As most of the iOS or Android software get both advertisement data and scan response data. Typically Scan response data is bigger in size and contain the local name of the device.
If you want to change the project to display Scan response as well, then you will have to make sure you also display the data when the "advReport->eventType" is equal to "CY_BLE_GAPC_SCAN_RSP". Currently, the example only prints Advertisement data and not Scan response data. My guess is that the local name is received over scan response.
Let me know if this helps.
Meenakshi Sundaram R
That was it. The scan response contains the name.
Regarding what the apps are doing, I would think they are binding the two together in the output. The second screenshot was from CySmart, so that would be something you might be able to confirm?