How to handle GAPC_LE_PHY_IND, GAPC_LE_PKT_SIZE_IND and GAPC_GET_DEV_INFO_REQ_IND events

Hello.

I am working on a BLE central RSL10 code based on the freertos_ble_central_client_bond sample project.
When connecting to IOS based peripheral (not triggered on Android) I get following three events on the RSL10 central side:
1. GAPC_LE_PHY_IND
2. GAPC_LE_PKT_SIZE_IND
3. GAPC_GET_DEV_INFO_REQ_IND

Can you please give me a guidance or point out any sample code that I shall use to handle these events properly?

Thanks.

1 Like

@embd

  1. GAPC_LE_PHY_IND is the response for GAPC_SET_PHY_CMD. (When connection PHY Rate has been updated.)
  2. GAPC_LE_PKT_SIZE_IND is the response for GAPC_SET_LE_PKT_SIZE_CMD. (Event triggered with the new values).
Both events will get the updated values.
Here is one example  to collect the updated values.
int GAPC_LE_PKT_SIZE_IND(ke_msg_id_t const msg_id,
                           struct gapc_le_pkt_size_ind const *param,
                           ke_task_id_t const dest_id,
                           ke_task_id_t const src_id)
{
  uint16_t AA = param->max_tx_octets;
  return (KE_MSG_CONSUMED);
}
  1. GAPC_GET_DEV_INFO_REQ_IND

It will need an acknowledgement to be sent back.
For example:
<— GAPC_GET_DEV_INFO_REQ_IND // when asking device information
→ GAPC_GetDevInfoCfm()

The example for this command example code could be found in our SDK examples. (like peripheral_server).

Thank you for using our community forum!

1 Like

Thanks for the reply @martin.bela.

Regarding GAPC_LE_PHY_IND and GAPC_LE_PKT_SIZE_IND, are these events triggered by the peer device (the peripheral in this case)?
If yes do I need to reply with any acknowledgement back to peer (peripheral)?
If we need to reply to peer please let me know what shall we use.

Also is it normal to get GAPC_GET_DEV_INFO_REQ_IND event on a central device?

What is the document you had on the screenshot where it shows section “5.4.9 GAPC_GET_DEV_INFO_REQ_IND”?

Thanks.

1 Like

@embd

  • GAPC_LE_PHY_IND and GAPC_LE_PKT_SIZE_IND is the response. The events are triggered in local device.
    For example: When the Link size is updated, GAPC_LE_PKT_SIZE_IND is triggered.
  • GAPC_GET_DEV_INFO_REQ_IND related information can be found in RSL10 document ceva folder.
    RW-BLE-GAP-IS_2mbps.pdf.

Thank you for using our community forum!

@martin.bela

Thanks for the info.

Just to go back to my previous question, is it normal to get GAPC_GET_DEV_INFO_REQ_IND event on a central device?

Thanks.

1 Like

@embd

Yes. Both sides (central and server) can do GAPC_GET_DEV_INFO_REQ_IND.
You can find this information in BLE spec core V5.1 document. Vol 6: Part D.

Thank you for using our community forum!

1 Like

@embd

Command “GAPC_GET_DEV_INFO_REQ_IND” could only be available for peripheral (slave) device.

You can find this information in BLE spec core V5.1 document. Vol 6: Part D.

There are other IND commands are available for both sides (central and server).

GAPC_PEER_VERSION_IND
GAPC_PEER_FEATURE_IND

…etc.

Thank you for using our community forum!

1 Like