Bluetooth Channelmapping on PSoC6 BLE

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
RebeccaWalter
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi, everyone,

I would like to carry out a RSSI measurement on both the central and the peripheral side for each individual channel.
Is it possible to enable only a single channel using the Cy_BLE_SetHostChannelClassification(...) function? The Bluetooth specification says that at least two channels must be enabled.

Is there a way to read the current channel?

In which c-file is the hopping algorithm programmed?

Many thanks for your help!
Regards

 

0 Likes
1 Solution

Hello, 

We have to set the required two channels with Cy_BLE_SetHostChannelClassification api. 

You can use the Cy_BLE_GetChannelMap() API for reading current channel map only.

Thanks,

P Yugandhar.

 

 

View solution in original post

0 Likes
5 Replies
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello,

Cy_BLE_SetHostChannelClassification API can be used to set the required two channels. Please refer to the spec Vol 6 Part B Section 4.5.8.1. For more information, please refer to the Cy_BLE_SetHostChannelClassification api description in  PSoC 6 Bluetooth Low Energy Middleware Library.
Cy_BLE_GetChannelMap(cy_stc_ble_channel_map_info_t * param) API can be used to read current channel map for the specified connection handle.

Adaptive Frequency Hopping mechanism is used by the link layer(inside the BLE Stack), which changes the communication channel used for packet transmission so that the interference from other devices is reduced.

Thanks,
P Yugandhar.

0 Likes

Hi Yugandhar,
at first thank you very much for the answer!!
as i understood there is no way to use only one single channel.

In which c-File can i find the Adaptive Frequency Hopping mechanism? 

Regards

0 Likes

Hi @RebeccaWalter ,

The channel hopping mechanism is implemented in hardware side for PSoC6 BLE so you will not be able to find it in c file.

Thanks & Regards

Pratiksha V

0 Likes

Hi @PratikshaV ,

Hi @Yugandhar ,

So there is no way to get the Channel which is used for the last Communication?

When I enable only one Channel with the function Cy_BLE_SetHostChannelClassification? Is the uC enabeling a second one or is it running with only one single Channel?

 

Regards.

 

0 Likes

Hello, 

We have to set the required two channels with Cy_BLE_SetHostChannelClassification api. 

You can use the Cy_BLE_GetChannelMap() API for reading current channel map only.

Thanks,

P Yugandhar.

 

 

0 Likes