Bluetooth LE Profile API document
Bluetooth LE Profile API document Rev.1.00 [May 22, 2020]
Reconnection Configuration Service Client

This is the client for the Reconnection Configuration Service. More...

Detailed Description

This is the client for the Reconnection Configuration Service.

Data Structures

struct  st_ble_rcc_feat_t
 RC Feature value structure. More...
 
struct  st_ble_rcc_feat_attr_hdl_t
 RC Feature attribute handle value. More...
 
struct  st_ble_rcc_setting_t
 RC Settings value structure. More...
 
struct  st_ble_rcc_setting_attr_hdl_t
 RC Settings attribute handle value. More...
 
struct  st_ble_rcc_rccp_t
 Reconnection Configuration Control Point value structure. More...
 
struct  st_ble_rcc_rccp_attr_hdl_t
 Reconnection Configuration Control Point attribute handle value. More...
 
struct  st_ble_rcc_evt_data_t
 Reconnection Configuration client event data. More...
 

Macros

#define BLE_RCC_FEAT_UUID   (0x2B1D)
 
#define BLE_RCC_FEAT_LEN   (5)
 
#define BLE_RCC_RC_TIMEOUT_MAX_RANGE   (20000)
 RC control point Operand Ranges for client indication. More...
 
#define BLE_RCC_MIN_CON_INTERVAL_MIN   (0X0006)
 
#define BLE_RCC_MIN_CON_INTERVAL_MAX   (0X0C80)
 
#define BLE_RCC_MAX_CON_INTERVAL_MIN   (0X0006)
 
#define BLE_RCC_MAX_CON_INTERVAL_MAX   (0X0C80)
 
#define BLE_RCC_SLAVE_LATENCY_MAX   (499)
 
#define BLE_RCC_SUPVSN_TIMOUT_MULTPLR_MIN   (10)
 
#define BLE_RCC_SUPVSN_TIMOUT_MULTPLR_MAX   (3200)
 
#define BLE_RCC_ADVT_INTERVAL_MIN   (0X0020)
 
#define BLE_RCC_ADVT_INTERVAL_MAX   (0X4000)
 
#define BLE_RCC_ADVT_COUNT_MIN   (1)
 
#define BLE_RCC_ADVT_COUNT_MAX   (1000)
 
#define BLE_RCC_ADVT_REPTTN_TIME_MAX   (10000)
 
#define BLE_RCC_MISSING_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x80)
 If E2E-CRC is supported and a Write procedure is processed without CRC attached. More...
 
#define BLE_RCC_MISSING_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x80)
 If E2E-CRC is supported and a Write procedure is processed without CRC attached. More...
 
#define BLE_RCC_INVALID_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x81)
 If E2E-CRC is supported and a Write procedure is processed with invalid CRC value attached. More...
 
#define BLE_RCC_INVALID_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x81)
 If E2E-CRC is supported and a Write procedure is processed with invalid CRC value attached. More...
 
#define BLE_RCC_SETTING_UUID   (0x2B1E)
 
#define BLE_RCC_SETTING_LEN   (5)
 
#define BLE_RCC_SETTING_CLI_CNFG_UUID   (0x2902)
 
#define BLE_RCC_SETTING_CLI_CNFG_LEN   (2)
 
#define BLE_RCC_RCCP_UUID   (0x2B1F)
 
#define BLE_RCC_RCCP_LEN   (20)
 
#define BLE_RCC_RCCP_CLI_CNFG_UUID   (0x2902)
 
#define BLE_RCC_RCCP_CLI_CNFG_LEN   (2)
 

Enumerations

enum  e_ble_rcc_advt_config_t {
  BLE_RCC_ADVT_CONFIG_1 = 0,
  BLE_RCC_ADVT_CONFIG_2 = 1,
  BLE_RCC_ADVT_CONFIG_3 = 2,
  BLE_RCC_ADVT_CONFIG_4 = 3
}
 RC control point Operand for set advt config opcode. More...
 
enum  e_ble_rcc_rccp_op_code_t {
  BLE_RCC_RCCP_OP_CODE_ENABLE_DISCONNECT = 0,
  BLE_RCC_RCCP_OP_CODE_GET_ACTUAL_COMMUNICATION_PARAMETERS = 1,
  BLE_RCC_RCCP_OP_CODE_PROPOSE_SETTINGS = 2,
  BLE_RCC_RCCP_OP_CODE_ACTIVATE_STORED_SETTINGS = 3,
  BLE_RCC_RCCP_OP_CODE_GET_MAX_VALUES = 4,
  BLE_RCC_RCCP_OP_CODE_GET_MIN_VALUES = 5,
  BLE_RCC_RCCP_OP_CODE_GET_STORED_VALUES = 6,
  BLE_RCC_RCCP_OP_CODE_SET_WHITE_LIST_TIMER = 7,
  BLE_RCC_RCCP_OP_CODE_GET_WHITE_LIST_TIMER = 8,
  BLE_RCC_RCCP_OP_CODE_SET_ADVERTISEMENT_CONFIGURATION = 9,
  BLE_RCC_RCCP_OP_CODE_UPGRADE_TO_LESC_ONLY = 10,
  BLE_RCC_RCCP_OP_CODE_SWITCH_OOB_PAIRING = 11,
  BLE_RCC_RCCP_OP_CODE_LIMITED_ACCESS = 12,
  BLE_RCC_RCCP_OP_CODE_PROCEDURE_RESPONSE = 14,
  BLE_RCC_RCCP_OP_CODE_COMMUNICATION_PARAMETER_RESPONSE = 15,
  BLE_RCC_RCCP_OP_CODE_WHITE_LIST_TIMER_RESPONSE = 16,
  BLE_RCC_RCCP_OP_CODE_CLIENT_PARAMETER_INDICATION = 17
}
 Reconnection Configuration Control Point Op Code enumeration. More...
 
enum  e_ble_rcc_rccp_operand_t {
  BLE_RCC_RCCP_OPERAND_SUCCESS = 1,
  BLE_RCC_RCCP_OPERAND_OPCODE_NOT_SUPPORTED = 2,
  BLE_RCC_RCCP_OPERAND_INVALID_OPERAND = 3,
  BLE_RCC_RCCP_OPERAND_OPERATION_FAILED = 4,
  BLE_RCC_RCCP_OPERAND_COMMUNICATION_PARAMETER_OUT_OF_RANGE = 5,
  BLE_RCC_RCCP_OPERAND_INVALID_PARAMETER_COMBINATION = 6,
  BLE_RCC_RCCP_OPERAND_DEVICE_BUSY = 7,
  BLE_RCC_RCCP_OPERAND_COMMUNICATION_PARAMETERS_REJECTED = 8,
  BLE_RCC_RCCP_OPERAND_PROPOSAL_ACCEPTED = 9
}
 Reconnection Configuration Control Point Operand enumeration. More...
 
enum  e_ble_rcc_char_idx_t {
  BLE_RCC_FEAT_IDX,
  BLE_RCC_SETTING_IDX,
  BLE_RCC_SETTING_CLI_CNFG_IDX,
  BLE_RCC_RCCP_IDX,
  BLE_RCC_RCCP_CLI_CNFG_IDX
}
 Reconnection Configuration characteristic ID. More...
 
enum  e_ble_rcc_event_t {
  BLE_RCC_EVENT_FEAT_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_FEAT_IDX, BLE_SERVC_READ_RSP),
  BLE_RCC_EVENT_SETTING_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_SETTING_IDX, BLE_SERVC_READ_RSP),
  BLE_RCC_EVENT_SETTING_HDL_VAL_NTF = BLE_SERVC_ATTR_EVENT(BLE_RCC_SETTING_IDX, BLE_SERVC_HDL_VAL_IND),
  BLE_RCC_EVENT_SETTING_CLI_CNFG_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_SETTING_CLI_CNFG_IDX, BLE_SERVC_READ_RSP),
  BLE_RCC_EVENT_SETTING_CLI_CNFG_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_SETTING_CLI_CNFG_IDX, BLE_SERVC_WRITE_RSP),
  BLE_RCC_EVENT_RCCP_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_RCCP_IDX, BLE_SERVC_WRITE_RSP),
  BLE_RCC_EVENT_RCCP_HDL_VAL_IND = BLE_SERVC_ATTR_EVENT(BLE_RCC_RCCP_IDX, BLE_SERVC_HDL_VAL_IND),
  BLE_RCC_EVENT_RCCP_CLI_CNFG_READ_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_RCCP_CLI_CNFG_IDX, BLE_SERVC_READ_RSP),
  BLE_RCC_EVENT_RCCP_CLI_CNFG_WRITE_RSP = BLE_SERVC_ATTR_EVENT(BLE_RCC_RCCP_CLI_CNFG_IDX, BLE_SERVC_WRITE_RSP)
}
 Reconnection Configuration client event type. More...
 

Functions

ble_status_t R_BLE_RCC_ReadFeat (uint16_t conn_hdl)
 Read RC Feature characteristic value from the remote GATT database. More...
 
void R_BLE_RCC_GetFeatAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_rcc_feat_attr_hdl_t *p_hdl)
 Get RC Feature attribute handles. More...
 
ble_status_t R_BLE_RCC_ReadSettingCliCnfg (uint16_t conn_hdl)
 Read RC Settings characteristic Client Characteristic Configuration descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_RCC_WriteSettingCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Write RC Settings characteristic Client Characteristic Configuration descriptor value to remote GATT database. More...
 
ble_status_t R_BLE_RCC_ReadSetting (uint16_t conn_hdl)
 Read RC Settings characteristic value from the remote GATT database. More...
 
void R_BLE_RCC_GetSettingAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_rcc_setting_attr_hdl_t *p_hdl)
 Get RC Settings attribute handles. More...
 
ble_status_t R_BLE_RCC_ReadRccpCliCnfg (uint16_t conn_hdl)
 Read Reconnection Configuration Control Point characteristic Client Characteristic Configuration descriptor value from the remote GATT database. More...
 
ble_status_t R_BLE_RCC_WriteRccpCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Write Reconnection Configuration Control Point characteristic Client Characteristic Configuration descriptor value to remote GATT database. More...
 
ble_status_t R_BLE_RCC_WriteRccp (uint16_t conn_hdl, const st_ble_rcc_rccp_t *p_value)
 Write Reconnection Configuration Control Point characteristic value to remote GATT database. More...
 
void R_BLE_RCC_GetRccpAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_rcc_rccp_attr_hdl_t *p_hdl)
 Get Reconnection Configuration Control Point attribute handles. More...
 
ble_status_t R_BLE_RCC_Init (ble_servc_app_cb_t cb)
 Initialize Reconnection Configuration client. More...
 
void R_BLE_RCC_ServDiscCb (uint16_t conn_hdl, uint8_t serv_idx, uint16_t type, void *p_param)
 Reconnection Configuration client discovery callback. More...
 
void R_BLE_RCC_GetServAttrHdl (const st_ble_dev_addr_t *p_addr, st_ble_gatt_hdl_range_t *p_hdl)
 Get Reconnection Configuration client attribute handle. More...
 

Macro Definition Documentation

◆ BLE_RCC_RC_TIMEOUT_MAX_RANGE

#define BLE_RCC_RC_TIMEOUT_MAX_RANGE   (20000)

RC control point Operand Ranges for client indication.

◆ BLE_RCC_MISSING_CRC_ERROR [1/2]

#define BLE_RCC_MISSING_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x80)

If E2E-CRC is supported and a Write procedure is processed without CRC attached.

◆ BLE_RCC_MISSING_CRC_ERROR [2/2]

#define BLE_RCC_MISSING_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x80)

If E2E-CRC is supported and a Write procedure is processed without CRC attached.

◆ BLE_RCC_INVALID_CRC_ERROR [1/2]

#define BLE_RCC_INVALID_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x81)

If E2E-CRC is supported and a Write procedure is processed with invalid CRC value attached.

◆ BLE_RCC_INVALID_CRC_ERROR [2/2]

#define BLE_RCC_INVALID_CRC_ERROR   (BLE_ERR_GROUP_GATT | 0x81)

If E2E-CRC is supported and a Write procedure is processed with invalid CRC value attached.

Enumeration Type Documentation

◆ e_ble_rcc_advt_config_t

RC control point Operand for set advt config opcode.

◆ e_ble_rcc_rccp_op_code_t

Reconnection Configuration Control Point Op Code enumeration.

Enumerator
BLE_RCC_RCCP_OP_CODE_ENABLE_DISCONNECT 

Enable Disconnect

BLE_RCC_RCCP_OP_CODE_GET_ACTUAL_COMMUNICATION_PARAMETERS 

Get Actual Communication Parameters

BLE_RCC_RCCP_OP_CODE_PROPOSE_SETTINGS 

Propose Settings

BLE_RCC_RCCP_OP_CODE_ACTIVATE_STORED_SETTINGS 

Activate Stored Settings

BLE_RCC_RCCP_OP_CODE_GET_MAX_VALUES 

Get Max Values

BLE_RCC_RCCP_OP_CODE_GET_MIN_VALUES 

Get Min Values

BLE_RCC_RCCP_OP_CODE_GET_STORED_VALUES 

Get Stored Values

BLE_RCC_RCCP_OP_CODE_SET_WHITE_LIST_TIMER 

Set White List Timer

BLE_RCC_RCCP_OP_CODE_GET_WHITE_LIST_TIMER 

Get White List Timer

BLE_RCC_RCCP_OP_CODE_SET_ADVERTISEMENT_CONFIGURATION 

Set Advertisement Configuration

BLE_RCC_RCCP_OP_CODE_UPGRADE_TO_LESC_ONLY 

Upgrade to LESC Only

BLE_RCC_RCCP_OP_CODE_SWITCH_OOB_PAIRING 

Switch OOB Pairing

BLE_RCC_RCCP_OP_CODE_LIMITED_ACCESS 

Limited Access

BLE_RCC_RCCP_OP_CODE_PROCEDURE_RESPONSE 

Procedure Response

BLE_RCC_RCCP_OP_CODE_COMMUNICATION_PARAMETER_RESPONSE 

Communication Parameter Response

BLE_RCC_RCCP_OP_CODE_WHITE_LIST_TIMER_RESPONSE 

White List Timer Response

BLE_RCC_RCCP_OP_CODE_CLIENT_PARAMETER_INDICATION 

Client Parameter Indication

◆ e_ble_rcc_rccp_operand_t

Reconnection Configuration Control Point Operand enumeration.

Enumerator
BLE_RCC_RCCP_OPERAND_SUCCESS 

Response for successful operation

BLE_RCC_RCCP_OPERAND_OPCODE_NOT_SUPPORTED 

Response if unsupported opcode is received

BLE_RCC_RCCP_OPERAND_INVALID_OPERAND 

Response if operand received does not meet the requirements of the service

BLE_RCC_RCCP_OPERAND_OPERATION_FAILED 

Response if unable to complete a procedure for any reason

BLE_RCC_RCCP_OPERAND_COMMUNICATION_PARAMETER_OUT_OF_RANGE 

Response if operand received does not meet the range requirements

BLE_RCC_RCCP_OPERAND_INVALID_PARAMETER_COMBINATION 

Normal response if the combination of parameters received does not meet the requirements of the device

BLE_RCC_RCCP_OPERAND_DEVICE_BUSY 

Normal response if unable to start the disconnect procedure, e.g., if a measurement is pending

BLE_RCC_RCCP_OPERAND_COMMUNICATION_PARAMETERS_REJECTED 

Response when Reconnection Configuration client does not accept the request

BLE_RCC_RCCP_OPERAND_PROPOSAL_ACCEPTED 

Response when the Reconnection Configuration server accepts the parameters of the Propose Settings and the Activate Stored Settings procedure

◆ e_ble_rcc_char_idx_t

Reconnection Configuration characteristic ID.

◆ e_ble_rcc_event_t

Reconnection Configuration client event type.

Function Documentation

◆ R_BLE_RCC_ReadFeat()

ble_status_t R_BLE_RCC_ReadFeat ( uint16_t  conn_hdl)

Read RC Feature characteristic value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_RCC_GetFeatAttrHdl()

void R_BLE_RCC_GetFeatAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_rcc_feat_attr_hdl_t p_hdl 
)

Get RC Feature attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_RCC_ReadSettingCliCnfg()

ble_status_t R_BLE_RCC_ReadSettingCliCnfg ( uint16_t  conn_hdl)

Read RC Settings characteristic Client Characteristic Configuration descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_RCC_WriteSettingCliCnfg()

ble_status_t R_BLE_RCC_WriteSettingCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write RC Settings characteristic Client Characteristic Configuration descriptor value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueRC Settings characteristic Client Characteristic Configuration descriptor value to write.
Returns
ble_status_t

◆ R_BLE_RCC_ReadSetting()

ble_status_t R_BLE_RCC_ReadSetting ( uint16_t  conn_hdl)

Read RC Settings characteristic value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_RCC_GetSettingAttrHdl()

void R_BLE_RCC_GetSettingAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_rcc_setting_attr_hdl_t p_hdl 
)

Get RC Settings attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_RCC_ReadRccpCliCnfg()

ble_status_t R_BLE_RCC_ReadRccpCliCnfg ( uint16_t  conn_hdl)

Read Reconnection Configuration Control Point characteristic Client Characteristic Configuration descriptor value from the remote GATT database.

Parameters
[in]conn_hdlConnection handle.
Returns
ble_status_t

◆ R_BLE_RCC_WriteRccpCliCnfg()

ble_status_t R_BLE_RCC_WriteRccpCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Write Reconnection Configuration Control Point characteristic Client Characteristic Configuration descriptor value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueReconnection Configuration Control Point characteristic Client Characteristic Configuration descriptor value to write.
Returns
ble_status_t

◆ R_BLE_RCC_WriteRccp()

ble_status_t R_BLE_RCC_WriteRccp ( uint16_t  conn_hdl,
const st_ble_rcc_rccp_t p_value 
)

Write Reconnection Configuration Control Point characteristic value to remote GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueReconnection Configuration Control Point characteristic value to write.
Returns
ble_status_t

◆ R_BLE_RCC_GetRccpAttrHdl()

void R_BLE_RCC_GetRccpAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_rcc_rccp_attr_hdl_t p_hdl 
)

Get Reconnection Configuration Control Point attribute handles.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.
Returns
ble_status_t

◆ R_BLE_RCC_Init()

ble_status_t R_BLE_RCC_Init ( ble_servc_app_cb_t  cb)

Initialize Reconnection Configuration client.

Parameters
[in]cbClient callback.
Returns
ble_status_t

◆ R_BLE_RCC_ServDiscCb()

void R_BLE_RCC_ServDiscCb ( uint16_t  conn_hdl,
uint8_t  serv_idx,
uint16_t  type,
void *  p_param 
)

Reconnection Configuration client discovery callback.

Parameters
[in]conn_hdlConnection handle
[in]serv_idxService instance index.
[in]typeService discovery event type.
[in]p_paramService discovery event parameter.
Returns
ble_status_t

◆ R_BLE_RCC_GetServAttrHdl()

void R_BLE_RCC_GetServAttrHdl ( const st_ble_dev_addr_t p_addr,
st_ble_gatt_hdl_range_t p_hdl 
)

Get Reconnection Configuration client attribute handle.

Parameters
[in]p_addrBluetooth device address for the attribute handles.
[out]p_hdlThe pointer to store the retrieved attribute handles.