The CYBLE-022001 BLE module can be connected as central + peripheral or observer + peripheral mode at the same time?

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

cross mob
Anonymous
Not applicable

Dear all,

   


I want exchange message B BLE module between C BLE module, but the B BLE module smart phone connection and received C BLE module message at the same time, have any method ?

0 Likes
1 Solution
Anonymous
Not applicable

Hi,

   

If my understanding is correct, you want to fo data transfer between BLE modules B and C, while B already has a connection with a Smart phone. Please correct me if my understanding is wrong.

   

Our PRoC BLE Modules support only one connection at a time., So module B has to connect between Module C and the Smart phone in a time multiplexed way and transfer data.

   

If you are certain about having multiple connections, you can use our WICED Bluetooth parts instead:

   

http://www.cypress.com/products/bluetooth-br-edr-ble-connectivity-solutions

   

Regards,

   

- Madhu Sudhan

View solution in original post

0 Likes
3 Replies
Anonymous
Not applicable

Hi,

   

If my understanding is correct, you want to fo data transfer between BLE modules B and C, while B already has a connection with a Smart phone. Please correct me if my understanding is wrong.

   

Our PRoC BLE Modules support only one connection at a time., So module B has to connect between Module C and the Smart phone in a time multiplexed way and transfer data.

   

If you are certain about having multiple connections, you can use our WICED Bluetooth parts instead:

   

http://www.cypress.com/products/bluetooth-br-edr-ble-connectivity-solutions

   

Regards,

   

- Madhu Sudhan

0 Likes
Anonymous
Not applicable

Hi Madhu Sudhan,

   

Thanks for your replay.

   

Yes, I mean that's it!

   

I have new question, which mode(sleep or deep-sleep) keep connection for low power consumption ?

0 Likes
Anonymous
Not applicable

The BLE chip will maintain connection timing/intervals while in deepsleep mode, however, you have to make sure that the CyBle_GetBleSsState(); returns CYBLE_BLESS_STATE_ECO_ON or CYBLE_BLESS_STATE_DEEPSLEEP in order for the CPU to be put into deepsleep, as the CPU can only enter the lowest power mode that the BLE chip is currently in according to AN92584-designing-low-power-and-estimating-battery-life-ble.

   

Here is some useful code to save power if you don't need to worry about interrupts except from the BLE module:

   

void BLE_Enter_Low_Power_Mode() {   //Puts CPU and BLE radio both into sleep or deepsleep if possible
    CYBLE_BLESS_STATE_T blessState;
    uint8 intrStatus;
    
    CyBle_EnterLPM(CYBLE_BLESS_DEEPSLEEP);
    
    intrStatus = CyEnterCriticalSection();
    blessState = CyBle_GetBleSsState();
    if((blessState == CYBLE_BLESS_STATE_ECO_ON ||
        blessState == CYBLE_BLESS_STATE_DEEPSLEEP)) {
            CySysPmDeepSleep();
        } else if(blessState != CYBLE_BLESS_STATE_EVENT_CLOSE) {
            CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_ECO);
            CySysClkImoStop();
            CySysPmSleep();
            CySysClkImoStart();
            CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_IMO);
        }
    CyExitCriticalSection(intrStatus);
    
    CyBle_ExitLPM();
};

0 Likes