cancel
Showing results for 
Search instead for 
Did you mean: 

ModusToolbox Bluetooth SDK

YoTa_1693656
Valued Contributor

Hello Cypress IoT team

[Background]

We evaluate CYW20819 with MoodusToolBox. We referred to below and understood APIs are not thread-safe.

https://community.cypress.com/message/8196#8196

We also think that "wiced_bt_spp_send_session_data" API should not be called from a thread. Because the API is difficult to exclusion control since "GKI_getpoolbuf" in the API may be called out of user control.

[Question]

Are there any other such APIs that should NOT be called from a thread?

Thanks,

Yoshinori Takano

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator

Hi Yoshinori Takano,

APIs can be called from any thread, but they are not thread safe.

Thanks,

-Dheeraj

View solution in original post

3 Replies
DheerajPK_41
Moderator
Moderator

Hi YoTa_1693656​,

  • Please note, the above mentioned thread seems to be little old.

I am not sure whether any changes happened in the API implementation in the latest SDKs. Please confirm whether you are asking about SPI APIs only or asking about all APIs in general?

  • "Because the API is difficult to exclusion control since "GKI_getpoolbuf" in the API may be called out of user control."

Could you please elaborate?

  • I will try to check internally and let you know if there is some APIs which we cannot call through a application thread.

Thanks.

-Dheeraj

YoTa_1693656
Valued Contributor

Hello Dheeraj-san

I got it, I should narrow down my request.  Let me change my question simply as below.

We will use below PUART APIs.

- wiced_hal_puart_rx_fifo_not_empty

- wiced_hal_puart_read

- wiced_hal_puart_reset_puart_interrupt

Do you have any concerns if the above APIs are called from a thread? yes or no?

(Assuming that those APIs are NOT called from other threads or handlers.)

Thanks,

Yoshinori Takano

0 Likes
DheerajPK_41
Moderator
Moderator

Hi Yoshinori Takano,

APIs can be called from any thread, but they are not thread safe.

Thanks,

-Dheeraj

View solution in original post