PSoC™ 4 Forum Discussions
The author was building a new packet to indicate that the packet is a broadcasting packet. Here he is defining his advertising structure:
/* Define the advertisement data for the broadcast - this includes the
* advertisement flags and the device name advertised. The device name
* used for Broadcasting is different from the device name used when
* we want to connect to another device.
*/
CYBLE_GAPP_DISC_DATA_T myAdvData =
{
{
2, /* Length for Flags field */
1, /* Identifier that following data is Flags field */
4, /* Advertisement Flags - BR/EDR not supported */
17, /* Length for Complete Name field */
0x09, /* Identifier that following data is Complete Name field */
/* Name */
'B', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'e', 'r', ' ', 'O', 'n', 'l', 'y'
},
21 /* Total bytes in the advertisement packet */
};
After the Length of Complete Name field comes the AD Type, which the programmer assigns as 0x09. However, if you go off of the table on Page 52 of the BLE PSoc Creator Component Datasheet, the Use of Local Name should correspond to 0x01, not 0x09, if you go by the position of the AD type within the array. Local Name comes directly under Flags with the first position in the array. Is it correct to associate the listing of the AD types in this table to the numeric index or is there an association made elsewhere that I could not locate that identifies 0x09 with Complete Local Name?
Message was edited by: James Carter
Show LessHello,
I performed current consumption measurements on the CY8CKIT-042-BLE Pioneer Kit. The measurements were mostly focused on the advertising of BLE, advertising on all three possible channels. While performing the current measurements I made a strange observation where I have no explanation for. Maybe someone here can help me:
Leaving the bytes of data under "Advertisement packet" constant and changing the "Scan response packet" data (so different number of bytes) showed a huge difference in current and therefore in power consumption. First I thought this would be because of another BLE device which is scanning. But this was not the case. There were no scan responses observable. Taking a closer look to the advertising event showed that there was a difference in the duration of the Inter-Channel-Delay. So, e.g., when choosing a scan response packet of 31 Bytes, the Inter-Channel-Delay took longer as when choosing a scan response packet of 3 Bytes. Nevertheless, the scan response was NEVER sent. According to AN92584 [1], page 37 the Inter-Channel-Delay should be fixed at 1.25ms, which is in my case definitely not true. Nevertheless, according to the Bluetooth Standard 4.2 this Inter-Channel-Delay has to be shorter than 10ms, therefore of course the functionality is not restricted.
Could someone explain to me why the Inter-Channel-Delay is variable? What is the reason behind it?
Best regards and many thanks in advance,
Tobias
[1] http://www.cypress.com/file/140991/download
Show LessI am trying to program on PSoC 4 CY8CKIT-042-BLE on module CY8C4248LQI-BL583. But when i program the device is not detected. The Status LED(Green)keeps blinking. What is the solution to make it operate in normal mode?
Show LessI would like to design a rain sensor, with the capacitive sensing module in the PSoC 4. Because of the weather with sun, rain, snow, I want to use a glass plate over a PCB. Does anybody have some experience with this idea, or can give me a hint how to solve this?
Thank you!
Jurgen.
Show Less1)I am using psoc creator for development of CY8C4125LQS-S433 device , as per family data sheet
it has 3 SCB block , but if i include 3 scb as i2c, spi and uart then this error is coming
:Resource limit: Maximum number of Serial Communication (SCB) exceeded (max=2, needed=3).
Show LessI have a question about DMA_SetConfiguration() API of the DMA component. I can see the declaration static void DMA_SetConfiguration(int32 descriptor, const cydma_init_struct * config) in DMA.h. but there is not the definition. Can we execute this API?
Show LessHi Sir,
How to debug CY8C4126AZI-S433 using IAR 7.7. I want to debug the program with a Jlink. But the chip is not in IAR now.
Please help me . Thanks.
Show LessI'm implementing the following system-
- Chip1(Peripheral) initially advertising data, Chip2(Central) scanning
- When Chip2 encounters an advertisement, Chip1 sends a scan response packet and Switches to scanning(Central)
- When Chip2 gets the scan response packet, it switches to advertising(Peripheral)
My difficulties-
1.I don't know the API's for switching roles or any method followed
2.How does Chip1 know a scan has taken place?
Which even in stack is triggered, or how can I execute some instructions along with sending scan response packet
3.How does Chip2 understand difference between advertisement packet and scan response packet?
Any help appreciated,
Regards,
Viraj
Show LessDear All,
Normally, EzI2C starts with Comm+Device Addr and then base address follows.
I would like to cancel base address byte. I don't want to use it. I don't want it to be sent and received.
Is there any way to extract this byte in communication array.
Many thanks for any help.
Regards.
Show LessHello,
I have a simple application which does a connectable advertisement. I am using NRF connect app from app store to connect to CYBLE. Here are the steps I do:
1. Scan for the connectable advertisement using NRF connect
2. Connect to CyBle using NRF connect app
3. Press disconnect in the app
4. Scan to see the connectable advertisement again
Steps 1 to 4 works fine when I do twice. The second time, when I press disconnect I see that advertisement is not starting when I do CyBle_GappStartAdvertisement(). The return value of CyBle_GetState() is 2, which is still DISCONNECTED_STATE.
I decided to restart stack after I disconnect, based on the inputs from other posts on this forum. When I do a BLE stack restart, which is calling CyBle_Stop() and CyBle_Start(stackEventHandler), I see that CyBle_GetState() is 4, which is ADVERTISING_STATE. But the Case CYBLE_EVT_GAPP_ADVERTISEMENT_START_STOP, is not getting called.
In short, CyBle_State() is getting changed but the associated callback is not getting triggered. How do I fix this?
Thanks
Dheeraj
Show Less