cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 6

AlBo_1871926
New Contributor

Hello,

I'm trying to find an example on how to implement BLE with authentication based on FreeRTOS. Basically, I want my device to generate passkey, upon a connection request display it (e.g. output to UART) and then establish a connection. Are there any sample projects around?

The only I was able to find are not FreeRTOS-based and BLE interaction there is a bit different.

Also, where I could locate the full API documentation on BLE PDL? BLE_PDL_v2.10.pdf does not contain most of Cy_BLE_* API functions descriptions.

Thanks in advance,

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator

Hi,

Please note that BLE stack and FreeRTOS are independent.. There would be no difference in the basic APIs.

The PSoC BLE stack is designed in such a way that the BLE events are triggered by BLE APIs and the corresponding affects of the APIs are handled through switch statements called events. Only things you have to do are:

1. Initialize the BLE component.

2. Process the BLE events by calling the API CyBLE_ProcessEvents() atleast once in each connection interval.

You can refer the attached PSoC 4 BLE projects for understanding the flow. For your present application you have to select the I/O as Display at your device side and select Authentication with Pairing option.

You can also look at the following code example present in the web which implements the Multi-master single slave functionality in PSoC 6 BLE which uses FreeRTOS.

https://www.cypress.com/documentation/code-examples/ce215118-ble-multi-master-single-slave-psoc-6-mc...

You can locate the full API documentation of BLE in PSoC Creator section Help --> Documentation --> Peripheral Driver Library --> Middleware and software API reference --> BLE Middleware Library.

I am attaching the BLE spec 4.2 and 5.0 too.

Please update for any queries.

Thanks and regards

Ganesh

View solution in original post

2 Replies
VenkataD_41
Moderator
Moderator

Hi,

Please note that BLE stack and FreeRTOS are independent.. There would be no difference in the basic APIs.

The PSoC BLE stack is designed in such a way that the BLE events are triggered by BLE APIs and the corresponding affects of the APIs are handled through switch statements called events. Only things you have to do are:

1. Initialize the BLE component.

2. Process the BLE events by calling the API CyBLE_ProcessEvents() atleast once in each connection interval.

You can refer the attached PSoC 4 BLE projects for understanding the flow. For your present application you have to select the I/O as Display at your device side and select Authentication with Pairing option.

You can also look at the following code example present in the web which implements the Multi-master single slave functionality in PSoC 6 BLE which uses FreeRTOS.

https://www.cypress.com/documentation/code-examples/ce215118-ble-multi-master-single-slave-psoc-6-mc...

You can locate the full API documentation of BLE in PSoC Creator section Help --> Documentation --> Peripheral Driver Library --> Middleware and software API reference --> BLE Middleware Library.

I am attaching the BLE spec 4.2 and 5.0 too.

Please update for any queries.

Thanks and regards

Ganesh

View solution in original post

Top labels