CYW20819 questions

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

cross mob
MiBi_4539931
Level 1
Level 1
5 replies posted 5 questions asked First question asked

Hi,

I am investigating porting my nrf chip based application to Cypress. I have few questions I could not find answers for or I have unclear information:

  1. Is write/notification reliable command? In other words: is there a chance that wiced_bt_gatt_send_write will return success but wont send my data and stack will silently drop it?
  2. Does it support legacy pairing - can LTK be set by central to any value?
  3. Can I use wiced_bt_gatt_send_write for both client and server?
  4. Can both advertise and scan while in a connection?
  5. Just to confirm - it supports simultaneous 3 central and 3 peripheral connections?

Michał

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi Michał,

  1. Is write/notification reliable command? In other words: is there a chance that wiced_bt_gatt_send_write will return success but wont send my data and stack will silently drop it? A) Yes, its reliable. There is two types of write - write with response & without response. Write with response will ensure the data is received by the peer. This is handled in the BT stack. So there is no chance of silently dropping the data. Similarly for notification also there is no chance of dropping data , because stack will resend the packets if any packet loss happens. If you want to double confirm the data is received by the peer, you can use indication property instead of notification. Indication property will send ACK back after receiving the data from peer. 

    2. Does it support legacy pairing - can LTK be set by central to any value? A) 20819 supports pairing as per BLE spec. All this will be handled by BT stack

    3. Can I use wiced_bt_gatt_send_write for both client and server? A) Generally a client will send write request / command to server. A server can send data to client by means of notify / indication

    4. Can both advertise and scan while in a connection? A) Yes

    5. Just to confirm - it supports simultaneous 3 central and 3 peripheral connections? A) yes it should be possible

Note: You may go through our WICED ACADEMY lab manuals for more details:

CypressAcademy_WBT101_Files/Labmanual at master · cypresssemiconductorco/CypressAcademy_WBT101_Files...

CYW20819 Resources

Thanks & Regards,
Anjana

View solution in original post

5 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi Michał,

  1. Is write/notification reliable command? In other words: is there a chance that wiced_bt_gatt_send_write will return success but wont send my data and stack will silently drop it? A) Yes, its reliable. There is two types of write - write with response & without response. Write with response will ensure the data is received by the peer. This is handled in the BT stack. So there is no chance of silently dropping the data. Similarly for notification also there is no chance of dropping data , because stack will resend the packets if any packet loss happens. If you want to double confirm the data is received by the peer, you can use indication property instead of notification. Indication property will send ACK back after receiving the data from peer. 

    2. Does it support legacy pairing - can LTK be set by central to any value? A) 20819 supports pairing as per BLE spec. All this will be handled by BT stack

    3. Can I use wiced_bt_gatt_send_write for both client and server? A) Generally a client will send write request / command to server. A server can send data to client by means of notify / indication

    4. Can both advertise and scan while in a connection? A) Yes

    5. Just to confirm - it supports simultaneous 3 central and 3 peripheral connections? A) yes it should be possible

Note: You may go through our WICED ACADEMY lab manuals for more details:

CypressAcademy_WBT101_Files/Labmanual at master · cypresssemiconductorco/CypressAcademy_WBT101_Files...

CYW20819 Resources

Thanks & Regards,
Anjana

Thank you for the answers and for the documentation.

I need to clarify question 2. Currently with nordic chip I am able to pick random LTK that is pre-shared by both devices. Then I can start encrypting the connection using that known key. Is it possible to do something similiar with Wiced SDK ? I cannot find matching API functions.

Michał

0 Likes

Hi Michał,

There is no API as such to get the keys. However as part of stack events  (BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT / BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT  ) , you can get it from wiced_bt_device_link_keys_t parameter.

Please check the wiced_bt_device_link_keys_t details in wiced_bt_dev.h file in Modus SDK

As I suggested before, please go through our WICED ACADEMY lab manuals for more details:

CypressAcademy_WBT101_Files/Labmanual at master · cypresssemiconductorco/CypressAcademy_WBT101_Files...

CYW20819 Resources

Thanks,

Anjana

0 Likes

Thank you again. I wend through WICED ACADEMY lab manuals and did not find needed information, that is why I am asking here However I found that documentation very useful !

I am not searching for API to get keys, rather to set them. But I guess that is not possible as well ?

Michał

0 Likes

Hi Michał,

No, there is no APIs to set the LTK. Its internally handled/set  by stack.

Regards,

Anjana

0 Likes