ISM4343_WBM_L151: How to make BLE work with MCU powersaving enabled

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

cross mob
VoAn_2766281
Level 1
Level 1
First reply posted First question asked Welcome!

WICED 6.6, ThreadX+NetX debug build.

Platform: ISM4343_WBM_L151 (Cypress CYW4343  + STM32F412) (https://www.inventeksys.com/ism4343-wmb-l151/).

Snippet: snip/bluetooth/ble_hello_sensor

I am trying to run BLE hello sensor snippet app with MCU powersaving enabled (STM32F4 MCU enters STOP mode). I modified ble_hello_sensor.mk to include ISM4343_WBM_L151 platform to the PLATFORMS_FOR_POWER_SAVE and VALID_PLATFORMS.

After I try to run the snippet I can see the advertisements from the board for several seconds, but cannot connect to the board (using BLE scanner app on Android phone). Using debugger I can see that the board is still running and wakes up every 100ms (probably by some internal BLE timer).

If I remove the platform from PLATFORMS_FOR_POWER_SAVE - then ble_hello_sensor works as expected - I can connect to the board from BLE scanner app on the phone.

Question: how to make BLE work with MCU powersaving enabled ?

From what I can see in the WICED's sources WICED_BT_PIN_HOST_WAKE and WICED_BT_PIN_DEVICE_WAKE should be used to wake MCU by the BLE module/firmware when there is some data for it. But those pins are not used by WICED.

0 Likes
1 Solution
Charles_Lai
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 sign-ins

Hi,

Only CYW943907WAE3 CYW94343WWCD1_EVB CYW943907WAE4 are supported by PLATFORMS_FOR_POWER_SAVE. Manually added your platform to it would cause the exceptions you saw.

You can try other power-save features (such as WICED_BT_PIN_HOST_WAKE/WICED_BT_PIN_DEVICE_WAKE) to inflate your design.

Best regards

View solution in original post

0 Likes
3 Replies
Charles_Lai
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 sign-ins

Hi,

Only CYW943907WAE3 CYW94343WWCD1_EVB CYW943907WAE4 are supported by PLATFORMS_FOR_POWER_SAVE. Manually added your platform to it would cause the exceptions you saw.

You can try other power-save features (such as WICED_BT_PIN_HOST_WAKE/WICED_BT_PIN_DEVICE_WAKE) to inflate your design.

Best regards

0 Likes
VoAn_2766281
Level 1
Level 1
First reply posted First question asked Welcome!

WICED_BT_PIN_HOST_WAKE/WICED_BT_PIN_DEVICE_WAKE are already used by the platform, but as I said they are not used by WICED itself for powersaving. Or you are saying the the platform itself (ISM4343_WBM_L151) should provide some handling for those pins ?

0 Likes

Yes. The platform itself (ISM4343_WBM_L151) should provide some handling for those pins.

0 Likes