RA Flexible Software Package Documentation  Release v5.2.0

 
BLE ABS Interface

Detailed Description

Interface for BLE Abstraction functions.

Summary

The BLE Abstraction (BLE ABS) interface provides an abstraction layer for various Renesas BLE hardware.

Data Structures

struct  ble_device_address_t
 
struct  ble_gap_connection_parameter_t
 
struct  ble_gap_connection_phy_parameter_t
 
struct  ble_gap_scan_phy_parameter_t
 
struct  ble_gap_scan_on_t
 
struct  ble_abs_callback_args_t
 
struct  ble_abs_pairing_parameter_t
 
struct  ble_abs_gatt_server_callback_set_t
 
struct  ble_abs_gatt_client_callback_set_t
 
struct  ble_abs_legacy_advertising_parameter_t
 
struct  ble_abs_extend_advertising_parameter_t
 
struct  ble_abs_non_connectable_advertising_parameter_t
 
struct  ble_abs_periodic_advertising_parameter_t
 
struct  ble_abs_scan_phy_parameter_t
 
struct  ble_abs_scan_parameter_t
 
struct  ble_abs_connection_phy_parameter_t
 
struct  ble_abs_connection_parameter_t
 
struct  ble_abs_cfg_t
 
struct  ble_abs_api_t
 
struct  ble_abs_instance_t
 

Macros

#define BLE_ABS_ADVERTISING_PHY_LEGACY
 Non-Connectable Legacy Advertising phy setting.
 

Typedefs

typedef void(* ble_gap_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_evt_data_t *p_event_data)
 
typedef void(* ble_vendor_specific_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_vs_evt_data_t *p_event_data)
 
typedef void(* ble_gatt_server_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_gatts_evt_data_t *p_event_data)
 
typedef void(* ble_gatt_client_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_gattc_evt_data_t *p_event_data)
 
typedef void(* ble_abs_delete_bond_application_callback_t) (st_ble_dev_addr_t *p_addr)
 
typedef void ble_abs_ctrl_t
 

Enumerations

enum  ble_abs_advertising_filter_t
 
enum  ble_abs_local_bond_information_t
 
enum  ble_abs_remote_bond_information_t
 
enum  ble_abs_delete_non_volatile_area_t
 

Data Structure Documentation

◆ ble_device_address_t

struct ble_device_address_t

st_ble_device_address is the type of bluetooth device address(BD_ADDR).

Data Fields
uint8_t addr[BLE_BD_ADDR_LEN] bluetooth device address.
uint8_t type the type of bluetooth device address.

◆ ble_gap_connection_parameter_t

struct ble_gap_connection_parameter_t

ble_gap_connection_parameter_t is Connection parameters included in connection interval, slave latency, supervision timeout, ce length.

Data Fields
uint16_t conn_intv_min Minimum connection interval.
uint16_t conn_intv_max Maximum connection interval.
uint16_t conn_latency Slave latency.
uint16_t sup_to Supervision timeout.
uint16_t min_ce_length Minimum CE Length.
uint16_t max_ce_length Maximum CE Length.

◆ ble_gap_connection_phy_parameter_t

struct ble_gap_connection_phy_parameter_t

ble_gap_connection_phy_parameter_t is Connection parameters per PHY.

Data Fields
uint16_t scan_intv Scan interval.
uint16_t scan_window Scan window.
ble_gap_connection_parameter_t * p_conn_param Connection interval, slave latency, supervision timeout, and CE length.

◆ ble_gap_scan_phy_parameter_t

struct ble_gap_scan_phy_parameter_t

Scan parameters per scan PHY.

Data Fields
uint8_t scan_type Scan type.
uint16_t scan_intv Scan interval.
uint16_t scan_window Scan window.

◆ ble_gap_scan_on_t

struct ble_gap_scan_on_t

Parameters configured when scanning starts.

Data Fields
uint8_t proc_type Procedure type.
uint8_t filter_dups Filter duplicates.
uint16_t duration Scan duration.
uint16_t period Scan period.

◆ ble_abs_callback_args_t

struct ble_abs_callback_args_t

Callback function parameter data

Data Fields
uint32_t channel Select a channel corresponding to the channel number of the hardware.
ble_event_cb_t ble_abs_event The event can be used to identify what caused the callback.
void const * p_context Placeholder for user data. Set in ble_abs_api_t::open function in ble_abs_cfg_t.

◆ ble_abs_pairing_parameter_t

struct ble_abs_pairing_parameter_t

st_ble_abs_pairing_parameter_t includes the pairing parameters.

Data Fields
uint8_t io_capabilitie_local_device IO capabilities of local device.
uint8_t mitm_protection_policy MITM protection policy.
uint8_t secure_connection_only Determine whether to accept only Secure Connections or not.
uint8_t local_key_distribute Type of keys to be distributed from local device.
uint8_t remote_key_distribute Type of keys which local device requests a remote device to distribute.
uint8_t maximum_key_size Maximum LTK size.
uint8_t padding[2] Reserved.

◆ ble_abs_gatt_server_callback_set_t

struct ble_abs_gatt_server_callback_set_t

GATT Server callback function and the priority.

Data Fields
ble_gatt_server_application_callback_t gatt_server_callback_function GATT Server callback function.
uint8_t gatt_server_callback_priority The priority number of GATT Server callback function.

◆ ble_abs_gatt_client_callback_set_t

struct ble_abs_gatt_client_callback_set_t

GATT Client callback function and the priority.

Data Fields
ble_gatt_client_application_callback_t gatt_client_callback_function GATT Client callback function.
uint8_t gatt_client_callback_priority The priority number of GATT Client callback function.

◆ ble_abs_legacy_advertising_parameter_t

struct ble_abs_legacy_advertising_parameter_t

st_ble_abs_legacy_advertising_parameter_t is the parameters for legacy advertising.

Data Fields
ble_device_address_t * p_peer_address The remote device address.
If the p_peer_address parameter is not NULL, Direct Connectable Advertising is performed to the remote address.
If the p_peer_address parameter is NULL, Undirect Connectable Advertising is performed according to
the advertising filter policy specified by the filter parameter.
uint8_t * p_advertising_data Advertising Data.
If the p_advertising_data is specified as NULL, Advertising Data is not included in the advertising PDU.
uint8_t * p_scan_response_data Scan Response Data.
If the p_scan_response_data is specified as NULL, Scan Response Data is not included in the advertising PDU.
uint32_t fast_advertising_interval Advertising with the fast_advertising_interval parameter continues for the period specified
by the fast_advertising_period parameter.
Time(ms) = fast_advertising_interval * 0.625.
If the fast_advertising_period parameter is 0, this parameter is ignored.
Valid range is 0x00000020 - 0x00FFFFFF.
uint32_t slow_advertising_interval After the elapse of the fast_advertising_period, advertising with the slow_advertising_interval parameter continues
for the period specified by the slow_advertising_period parameter.
Time(ms) = slow_advertising_interval * 0.625.
Valid range is 0x00000020 - 0x00FFFFFF.
uint16_t fast_advertising_period The period which advertising with the fast_advertising_interval parameter continues for.
Time = duration * 10ms.
After the elapse of the fast_advertising_period, BLE_GAP_EVENT_ADV_OFF event notifies that the advertising has stopped.
Valid range is 0x0000 - 0xFFFF.
If the fast_advertising_period parameter is 0x0000, advertising with the fast_advertising_interval parameter is not performed.
uint16_t slow_advertising_period The period which advertising with the slow_advertising_interval parameter continues for. Time = duration * 10ms.
After the elapse of the slow_advertising_period, BLE_GAP_EVENT_ADV_OFF event notifies that the advertising has stopped.
Valid range is 0x0000 - 0xFFFF.
If the slow_advertising_period parameter is 0x0000, the advertising continues.
uint16_t advertising_data_length Advertising data length(byte).
Valid range is 0-31.
If the advertising_data_length is 0, Advertising Data is not included in the advertising PDU.
uint16_t scan_response_data_length Scan response data length (in bytes).
Scan Response Data(byte).
Valid range is 0-31.
If the scan_response_data_length is 0, Scan Response Data is not included in the advertising PDU.
uint8_t advertising_channel_map The channel map used for the advertising packet transmission.
It is a bitwise OR of the following values.

macro description
BLE_GAP_ADV_CH_37(0x01) Use 37 CH.
BLE_GAP_ADV_CH_38(0x02) Use 38 CH.
BLE_GAP_ADV_CH_39(0x04) Use 39 CH.
BLE_GAP_ADV_CH_ALL(0x07) Use 37 - 39 CH.
uint8_t advertising_filter_policy Advertising filter policy.
If the p_peer_address parameter is NULL, the advertising is performed according to the advertising filter policy.
If the p_peer_address parameter is not NULL, this parameter is ignored.

macro description
BLE_ABS_ADVERTISING_FILTER_ALLOW_ANY(0x00) Process scan and connection requests from all devices.
BLE_ABS_ADVERTISING_FILTER_ALLOW_WHITE_LIST(0x01) Process scan and connection requests from only devices in the White List.
uint8_t own_bluetooth_address_type Own Bluetooth address type.
Select one of the following.

macro description
BLE_GAP_ADDR_PUBLIC(0x00) Public Address
BLE_GAP_ADDR_RPA_ID_PUBLIC(0x02) Resolvable Private Address.
If the IRK (Identity Resolving Key) of local device has not been registered in Resolving List, public address is used.
uint8_t own_bluetooth_address[6] Own Bluetooth address.
uint8_t padding[3] Reserved.

◆ ble_abs_extend_advertising_parameter_t

struct ble_abs_extend_advertising_parameter_t

st_ble_abs_extend_advertising_parameter_t is the parameters for extended advertising.

Data Fields
ble_device_address_t * p_peer_address The remote device address.
If the p_addr parameter is not NULL, Direct Connectable Advertising is performed to the remote address.
If the p_addr parameter is NULL, Undirect Connectable Advertising is performed
according to the advertising filter policy specified by the filter parameter.
uint8_t * p_advertising_data Advertising data. If p_adv_data is specified as NULL, advertising data is not set.
uint32_t fast_advertising_interval Advertising with the fast_advertising_interval parameter continues for
the period specified by the fast_advertising_period parameter.
Time(ms) = fast_advertising_interval * 0.625.
If the fast_advertising_period parameter is 0, this parameter is ignored.
Valid range is 0x00000020 - 0x00FFFFFF.
uint32_t slow_advertising_interval After the elapse of the fast_advertising_period, advertising with the slow_advertising_interval parameter
continues for the period specified by the slow_advertising_period parameter.
Time(ms) = slow_advertising_interval * 0.625.
Valid range is 0x00000020 - 0x00FFFFFF.
uint16_t fast_advertising_period The period which advertising with the fast_advertising_interval parameter continues for.
Time = duration * 10ms.
After the elapse of the fast_advertising_period, BLE_GAP_EVENT_ADV_OFF event notifies that the advertising has stopped.
Valid range is 0x0000 - 0xFFFF.
If the fast_advertising_period parameter is 0x0000, the fast_advertising_interval parameter is ignored.
uint16_t slow_advertising_period The period which advertising with the slow_advertising_interval parameter continues for.
Time = duration * 10ms.
After the elapse of the slow_advertising_period, BLE_GAP_EVENT_ADV_OFF event notifies that the advertising has stopped.
Valid range is 0x0000 - 0xFFFF.
If the slow_advertising_period parameter is 0x0000, the advertising continues.
uint16_t advertising_data_length Advertising data length (in bytes).
Valid range is 0-229.
If the adv_data_length is 0, Advertising Data is not included in the advertising PDU.
uint8_t advertising_channel_map The channel map used for the advertising packet transmission.
It is a bitwise OR of the following values.

macro description
BLE_GAP_ADV_CH_37(0x01) Use 37 CH.
BLE_GAP_ADV_CH_38(0x02) Use 38 CH.
BLE_GAP_ADV_CH_39(0x04) Use 39 CH.
BLE_GAP_ADV_CH_ALL(0x07) Use 37 - 39 CH.
uint8_t advertising_filter_policy Advertising filter policy.
If the p_peer_address parameter is NULL, the advertising is performed according to the advertising filter policy.
If the p_peer_address parameter is not NULL, this parameter is ignored.

macro description
BLE_ABS_ADVERTISING_FILTER_ALLOW_ANY(0x00) Process scan and connection requests from all devices.
BLE_ABS_ADVERTISING_FILTER_ALLOW_WHITE_LIST(0x01) Process scan and connection requests from only devices in the White List.
uint8_t own_bluetooth_address_type Own Bluetooth address type. Select one of the following.

macro description
BLE_GAP_ADDR_PUBLIC(0x00) Public Address
BLE_GAP_ADDR_RPA_ID_PUBLIC(0x02) Resolvable Private Address.
If the IRK (Identity Resolving Key) of local device has not been registered in Resolving List, public address is used.
uint8_t own_bluetooth_address[6] Own Bluetooth address.
uint8_t primary_advertising_phy Primary advertising PHY.
In this parameter, only 1M PHY and Coded PHY can be specified, and 2M PHY cannot be specified.

macro description
BLE_GAP_ADV_PHY_1M(0x01) Use 1M PHY as Primary Advertising PHY.
When the adv_prop_type field is Legacy Advertising PDU type, this field shall be set to BLE_GAP_ADV_PHY_1M.
BLE_GAP_ADV_PHY_CD(0x03) Use Coded PHY as Primary Advertising PHY.
Coding scheme is configured by R_BLE_VS_SetCodingScheme().
uint8_t secondary_advertising_phy Secondary advertising Phy. Select one of the following.

macro description
BLE_GAP_ADV_PHY_1M(0x01) Use 1M PHY as Secondary Advertising PHY.
BLE_GAP_ADV_PHY_2M(0x02) Use 2M PHY as Secondary Advertising PHY.
BLE_GAP_ADV_PHY_CD(0x03) Use Coded PHY(S=8) as Secondary Advertising PHY.
Coding scheme is configured by R_BLE_VS_SetCodingScheme().
uint8_t padding[3] Reserved.

◆ ble_abs_non_connectable_advertising_parameter_t

struct ble_abs_non_connectable_advertising_parameter_t

st_ble_abs_non_connectable_advertising_parameter_t is the parameters for non-connectable advertising.

Data Fields
ble_device_address_t * p_peer_address The remote device address.
If the p_peer_address parameter is not NULL, Direct Connectable Advertising is performed to the remote address.
If the p_peer_address parameter is NULL, Undirect Connectable Advertising is performed
according to the advertising filter policy specified by the filter parameter.
uint8_t * p_advertising_data Advertising data. If p_adv_data is specified as NULL, advertising data is not set.
uint32_t advertising_interval Advertising with the advertising_interval parameter continues for the period specified by the duration parameter.
Time(ms) = advertising_interval * 0.625.
If the duration parameter is 0x0000, the advertising with the advertising_interval parameter continue.
Valid range is 0x00000020 - 0x00FFFFFF.
uint16_t advertising_duration The period which advertising with the advertising_interval parameter continues for.
Time = advertising_duration * 10ms.
After the elapse of the advertising_duration, BLE_GAP_EVENT_ADV_OFF event notifies that the advertising has stopped.
Valid range is 0x0000 - 0xFFFF.
If the advertising_duration parameter is 0x0000, the advertising continues.
uint16_t advertising_data_length Advertising data length (in bytes).
If the primary_advertising_phy parameter is BLE_ABS_ADVERTISING_PHY_LEGACY(0x00), the valid range is 0-31.
If the primary_advertising_phy parameter is the other values, the valid range is 0-1650.
If the advertising_data_length parameter is 0, Advertising Data is not included in the advertising PDU.
uint8_t advertising_channel_map The channel map used for the advertising packet transmission.
It is a bitwise OR of the following values.

macro description
BLE_GAP_ADV_CH_37(0x01) Use 37 CH.
BLE_GAP_ADV_CH_38(0x02) Use 38 CH.
BLE_GAP_ADV_CH_39(0x04) Use 39 CH.
BLE_GAP_ADV_CH_ALL(0x07) Use 37 - 39 CH.
uint8_t own_bluetooth_address_type Own Bluetooth address type. Select one of the following.

macro description
BLE_GAP_ADDR_PUBLIC(0x00) Public Address
BLE_GAP_ADDR_RPA_ID_PUBLIC(0x02) Resolvable Private Address.
If the IRK (Identity Resolving Key) of local device has not been registered in Resolving List, public address is used.
uint8_t own_bluetooth_address[6] Own Bluetooth address.
uint8_t primary_advertising_phy Primary advertising PHY.
In this parameter, only 1M PHY and Coded PHY can be specified, and 2M PHY cannot be specified.

macro description
BLE_ABS_ADVERTISING_PHY_LEGACY(0x00) Use 1M PHY as Primary Advertising PHY for Non-Connectable Legacy Advertising.
If Periodic Advertising is performed, this value shall not set to the adv_phy parameter.
BLE_GAP_ADV_PHY_1M(0x01) Use 1M PHY as Primary Advertising PHY.
When the adv_prop_type field is Legacy Advertising PDU type, this field shall be set to BLE_GAP_ADV_PHY_1M.
BLE_GAP_ADV_PHY_CD(0x03) Use Coded PHY as Primary Advertising PHY.
Coding scheme is configured by R_BLE_VS_SetCodingScheme().
uint8_t secondary_advertising_phy Secondary advertising Phy. Select one of the following.

macro description
BLE_GAP_ADV_PHY_1M(0x01) Use 1M PHY as Secondary Advertising PHY.
BLE_GAP_ADV_PHY_2M(0x02) Use 2M PHY as Secondary Advertising PHY.
BLE_GAP_ADV_PHY_CD(0x03) Use Coded PHY(S=8) as Secondary Advertising PHY.
Coding scheme is configured by R_BLE_VS_SetCodingScheme().
uint8_t padding[2] Reserved.

◆ ble_abs_periodic_advertising_parameter_t

struct ble_abs_periodic_advertising_parameter_t

st_ble_abs_periodic_advertising_parameter_t is the parameters for periodic advertising.

Data Fields
ble_abs_non_connectable_advertising_parameter_t advertising_parameter Advertising parameters.
uint8_t * p_periodic_advertising_data Periodic advertising data. If p_perd_adv_data is specified as NULL, periodic advertising data is not set.
uint16_t periodic_advertising_interval Periodic advertising interval.
Time(ms) = periodic_advertising_interval * 1.25.
Valid range is 0x0006 - 0xFFFF.
uint16_t periodic_advertising_data_length Periodic advertising data length (in bytes).
Valid range is 0 - 1650.
If the periodic_advertising_data_length is 0, Periodic Advertising Data is not included in the advertising PDU.

◆ ble_abs_scan_phy_parameter_t

struct ble_abs_scan_phy_parameter_t

st_ble_abs_scan_phy_parameter_t is the phy parameters for scan.

Data Fields
uint16_t fast_scan_interval Fast scan interval.
Interval(ms) = fast_scan_interval * 0.625.
Valid range is 0x0004 - 0xFFFF.
uint16_t slow_scan_interval Slow Scan interval.
Slow Scan interval(ms) = slow_scan_interval * 0.625.
Valid range is 0x0004 - 0xFFFF.
uint16_t fast_scan_window Fast Scan window.
Fast Scan window(ms) = fast_scan_window * 0.625.
Valid range is 0x0004 - 0xFFFF.
uint16_t slow_scan_window Slow Scan window.
Slow Scan window(ms) = slow_scan_window * 0.625.
Valid range is 0x0004 - 0xFFFF.
uint8_t scan_type Scan type.

macro description
BLE_GAP_SCAN_PASSIVE(0x00) Passive Scan.
BLE_GAP_SCAN_ACTIVE(0x01) Active Scan.
uint8_t padding[3] Reserved.

◆ ble_abs_scan_parameter_t

struct ble_abs_scan_parameter_t

st_ble_abs_scan_parameter_t is the parameters for scan.

Data Fields
ble_abs_scan_phy_parameter_t * p_phy_parameter_1M Scan parameters for receiving the advertising packets in 1M PHY.
In case of not receiving the advertising packets in 1M PHY, this field is specified as NULL.
p_phy_parameter_1M or p_phy_parameter_coded field shall be set to scan parameters.
ble_abs_scan_phy_parameter_t * p_phy_parameter_coded Scan parameters for receiving the advertising packets in Coded PHY.
In case of not receiving the advertising packets in Coded PHY, this field is specified as NULL.
p_phy_parameter_1M or p_phy_parameter_coded field shall be set to scan parameters.
uint8_t * p_filter_data Data for Advertising Data filtering.
The p_filter_data parameter is used for the advertising data in single advertising report.
The advertising data composed of multiple advertising reports is not filtered by this parameter.
If the p_filter_data parameter is specified as NULL, the filtering is not done.
uint16_t fast_scan_period The period which scan with the fast scan interval/fast scan window continues for.
Time(ms) = fast_scan_period * 10.
Valid range is 0x0000 - 0xFFFF.
If the fast_scan_period parameter is 0x0000, scan with the fast scan interval/fast scan window is not performed.
After the elapse of the fast_scan_period, BLE_GAP_EVENT_SCAN_TO event notifies that the scan has stopped.
uint16_t slow_scan_period The period which scan with the slow scan interval/slow scan window continues for.
Time = slow_scan_period * 10ms.
Valid range is 0x0000 - 0xFFFF.
If the slow_scan_period parameter is 0x0000, the scan continues.
After the elapse of the slow_scan_period, BLE_GAP_EVENT_SCAN_TO event notifies that the scan has stopped.
uint16_t filter_data_length The length of the data specified by the p_filter_data parameter.
Valid range is 0x0000-0x0010.
If the filter_data_length parameter is 0, the filtering is not done.
uint8_t device_scan_filter_policy Scan Filter Policy. Select one of the following.
.
  • Address type setting (Field [7:4])
    macro description
    BLE_GAP_ADDR_PUBLIC(0x00) Use Public Address.
    BLE_GAP_ADDR_RAND(0x01) Use Random Address.
    BLE_GAP_ADDR_RPA_ID_PUBLIC(0x02) If the IRK (Identity Resolving Key) of local device has been registered in Resolving list, use RPA. If not, use Public Address.
    BLE_GAP_ADDR_RPA_ID_RANDOM(0x03) If the IRK (Identity Resolving Key) of local device has been registered in Resolving list, use RPA. If not, use Random Address.
  • White list setting (Field [3:0])
    macro description
    BLE_GAP_SCAN_ALLOW_ADV_ALL(0x00) Accept all advertising and scan response PDUs except directed advertising PDUs not addressed to local device.
    BLE_GAP_SCAN_ALLOW_ADV_WLST(0x01) Accept only advertising and scan response PDUs from remote devices whose address is registered in the White List.
    Directed advertising PDUs which are not addressed to local device is ignored.
    BLE_GAP_SCAN_ALLOW_ADV_EXCEPT_DIRECTED(0x02) Accept all advertising and scan response PDUs except directed advertising PDUs whose the target address is identity address but doesn't address local device. However directed advertising PDUs whose the target address is the local resolvable private address are accepted.
    BLE_GAP_SCAN_ALLOW_ADV_EXCEPT_DIRECTED_WLST(0x03) Accept all advertising and scan response PDUs. The following are excluded.
    • Advertising and scan response PDUs where the advertiser's identity address is not in the White List.
    • Directed advertising PDUs whose the target address is identity address but doesn't address local device. However directed advertising PDUs whose the target address is the local resolvable private address are accepted.
uint8_t filter_duplicate Filter duplicates.
Maximum number of filtered devices is 8.
The 9th and subsequent devices are not filtered by this parameter.

macro description
BLE_GAP_SCAN_FILT_DUPLIC_DISABLE(0x00) Duplicate filter disabled.
BLE_GAP_SCAN_FILT_DUPLIC_ENABLE(0x01) Duplicate filter enabled.
BLE_GAP_SCAN_FILT_DUPLIC_ENABLE_FOR_PERIOD(0x02)) Duplicate filtering enabled, reset for each scan period.
uint8_t filter_ad_type The AD type of the data specified by the p_filter_data parameter.
The AD type identifier values are defined in Bluetooth SIG Assigned Number
(https://www.bluetooth.com/specifications/assigned-numbers).
uint8_t padding[3] Padding.

◆ ble_abs_connection_phy_parameter_t

struct ble_abs_connection_phy_parameter_t

st_ble_abs_connection_phy_parameter_t is the phy parameters for create connection.

Data Fields
uint16_t connection_interval Connection interval.
Time(ms) = connection_interval * 1.25.
Valid range is 0x0006 - 0x0C80.
uint16_t connection_slave_latency Slave latency.
Valid range is 0x0000 - 0x01F3.
uint16_t supervision_timeout Supervision timeout.
Time(ms) = supervision_timeout * 10.
Valid range is 0x000A - 0x0C80.
uint8_t padding[2] Padding.

◆ ble_abs_connection_parameter_t

struct ble_abs_connection_parameter_t

st_ble_abs_connection_parameter_t is the parameters for create connection.

Data Fields
ble_abs_connection_phy_parameter_t * p_connection_phy_parameter_1M Connection interval, slave latency, supervision timeout for 1M PHY.
The p_connection_phy_parameter_1M is specified as NULL, a connection request is not sent with 1M PHY.
ble_abs_connection_phy_parameter_t * p_connection_phy_parameter_2M Connection interval, slave latency, supervision timeout for 2M PHY.
The p_connection_phy_parameter_2M is specified as NULL, a connection request is not sent with 2M PHY.
ble_abs_connection_phy_parameter_t * p_connection_phy_parameter_coded Connection interval, slave latency, supervision timeout for Coded PHY.
The p_connection_phy_parameter_coded is specified as NULL, a connection request is not sent with Coded PHY.
ble_device_address_t * p_device_address Address of the device to be connected.
If the filter field is BLE_GAP_INIT_FILT_USE_WLST(0x01), this parameter is ignored and please fill p_device_address.addr with 0x00.
uint8_t filter_parameter The filter field specifies whether the White List is used or not, when connecting with a remote device.
.
uint8_t connection_timeout The time(sec) to cancel the create connection request.
Valid range is 0 <= connection_timeout <= 10.
If the connection_timeout field is 0, the create connection request is not canceled.
.
uint8_t padding[2] Padding.

◆ ble_abs_cfg_t

struct ble_abs_cfg_t

BLE ABS configuration parameters.

Data Fields

uint32_t channel
 Select a channel corresponding to the channel number of the hardware. More...
 
ble_gap_application_callback_t gap_callback
 GAP callback function.
 
ble_vendor_specific_application_callback_t vendor_specific_callback
 Vendor Specific callback function.
 
ble_abs_gatt_server_callback_set_tp_gatt_server_callback_list
 GATT Server callback set.
 
uint8_t gatt_server_callback_list_number
 The number of GATT Server callback functions.
 
ble_abs_gatt_client_callback_set_tp_gatt_client_callback_list
 GATT Client callback set.
 
uint8_t gatt_client_callback_list_number
 The number of GATT Client callback functions.
 
ble_abs_pairing_parameter_tp_pairing_parameter
 Pairing parameters.
 
flash_instance_t const * p_flash_instance
 Pointer to flash instance.
 
timer_instance_t const * p_timer_instance
 Pointer to timer instance.
 
void(* p_callback )(ble_abs_callback_args_t *p_args)
 Callback provided when a BLE ISR occurs.
 
void const * p_context
 Placeholder for user data. Passed to the user callback in ble_abs_callback_args_t.
 
void const * p_extend
 Placeholder for user extension.
 

Field Documentation

◆ channel

uint32_t ble_abs_cfg_t::channel

Select a channel corresponding to the channel number of the hardware.

the parameters for initialization.

◆ ble_abs_api_t

struct ble_abs_api_t

BLE ABS functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(ble_abs_ctrl_t *const p_ctrl, ble_abs_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(ble_abs_ctrl_t *const p_ctrl)
 
fsp_err_t(* reset )(ble_abs_ctrl_t *const p_ctrl, ble_event_cb_t init_callback)
 
fsp_err_t(* startLegacyAdvertising )(ble_abs_ctrl_t *const p_ctrl, ble_abs_legacy_advertising_parameter_t const *const p_advertising_parameter)
 
fsp_err_t(* startExtendedAdvertising )(ble_abs_ctrl_t *const p_ctrl, ble_abs_extend_advertising_parameter_t const *const p_advertising_parameter)
 
fsp_err_t(* startNonConnectableAdvertising )(ble_abs_ctrl_t *const p_ctrl, ble_abs_non_connectable_advertising_parameter_t const *const p_advertising_parameter)
 
fsp_err_t(* startPeriodicAdvertising )(ble_abs_ctrl_t *const p_ctrl, ble_abs_periodic_advertising_parameter_t const *const p_advertising_parameter)
 
fsp_err_t(* startScanning )(ble_abs_ctrl_t *const p_ctrl, ble_abs_scan_parameter_t const *const p_scan_parameter)
 
fsp_err_t(* createConnection )(ble_abs_ctrl_t *const p_ctrl, ble_abs_connection_parameter_t const *const p_connection_parameter)
 
fsp_err_t(* setLocalPrivacy )(ble_abs_ctrl_t *const p_ctrl, uint8_t const *const p_lc_irk, uint8_t privacy_mode)
 
fsp_err_t(* startAuthentication )(ble_abs_ctrl_t *const p_ctrl, uint16_t connection_handle)
 
fsp_err_t(* deleteBondInformation )(ble_abs_ctrl_t *const p_ctrl, ble_abs_bond_information_parameter_t const *const p_bond_information_parameter)
 
fsp_err_t(* importKeyInformation )(ble_abs_ctrl_t *const p_ctrl, ble_device_address_t *p_local_identity_address, uint8_t *p_local_irk, uint8_t *p_local_csrk)
 
fsp_err_t(* exportKeyInformation )(ble_abs_ctrl_t *const p_ctrl, ble_device_address_t *p_local_identity_address, uint8_t *p_local_irk, uint8_t *p_local_csrk)
 

Field Documentation

◆ open

fsp_err_t(* ble_abs_api_t::open) (ble_abs_ctrl_t *const p_ctrl, ble_abs_cfg_t const *const p_cfg)

Initialize the BLE ABS in register start mode.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to pin configuration structure.

◆ close

fsp_err_t(* ble_abs_api_t::close) (ble_abs_ctrl_t *const p_ctrl)

Close the BLE ABS.

Parameters
[in]p_ctrlPointer to control structure.

◆ reset

fsp_err_t(* ble_abs_api_t::reset) (ble_abs_ctrl_t *const p_ctrl, ble_event_cb_t init_callback)

Close the BLE ABS.

Parameters
[in]p_ctrlPointer to control structure.
[in]init_callbackcallback function to initialize Host Stack.

◆ startLegacyAdvertising

fsp_err_t(* ble_abs_api_t::startLegacyAdvertising) (ble_abs_ctrl_t *const p_ctrl, ble_abs_legacy_advertising_parameter_t const *const p_advertising_parameter)

Start Legacy Connectable Advertising.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_advertising_parameterPointer to Advertising parameters for Legacy Advertising.

◆ startExtendedAdvertising

fsp_err_t(* ble_abs_api_t::startExtendedAdvertising) (ble_abs_ctrl_t *const p_ctrl, ble_abs_extend_advertising_parameter_t const *const p_advertising_parameter)

Start Extended Connectable Advertising.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_advertising_parameterPointer to Advertising parameters for extend Advertising.

◆ startNonConnectableAdvertising

fsp_err_t(* ble_abs_api_t::startNonConnectableAdvertising) (ble_abs_ctrl_t *const p_ctrl, ble_abs_non_connectable_advertising_parameter_t const *const p_advertising_parameter)

Start Non-Connectable Advertising.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_advertising_parameterPointer to Advertising parameters for non-connectable Advertising.

◆ startPeriodicAdvertising

fsp_err_t(* ble_abs_api_t::startPeriodicAdvertising) (ble_abs_ctrl_t *const p_ctrl, ble_abs_periodic_advertising_parameter_t const *const p_advertising_parameter)

Start Periodic Advertising.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_advertising_parameterPointer to Advertising parameters for periodic Advertising.

◆ startScanning

fsp_err_t(* ble_abs_api_t::startScanning) (ble_abs_ctrl_t *const p_ctrl, ble_abs_scan_parameter_t const *const p_scan_parameter)

Start scanning.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_scan_parameterPointer to scan parameter.

◆ createConnection

fsp_err_t(* ble_abs_api_t::createConnection) (ble_abs_ctrl_t *const p_ctrl, ble_abs_connection_parameter_t const *const p_connection_parameter)

Request create connection.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_connection_parameterPointer to connection parameter.

◆ setLocalPrivacy

fsp_err_t(* ble_abs_api_t::setLocalPrivacy) (ble_abs_ctrl_t *const p_ctrl, uint8_t const *const p_lc_irk, uint8_t privacy_mode)

Configure local device privacy.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_lc_irkPointer to IRK (Identity Resolving Key) to be registered in the resolving list.
[in]privacy_modeprivacy_mode privacy mode.

◆ startAuthentication

fsp_err_t(* ble_abs_api_t::startAuthentication) (ble_abs_ctrl_t *const p_ctrl, uint16_t connection_handle)

Start pairing or encryption.

Parameters
[in]p_ctrlPointer to control structure.
[in]connection_handleConnection handle identifying the remote device.

◆ deleteBondInformation

fsp_err_t(* ble_abs_api_t::deleteBondInformation) (ble_abs_ctrl_t *const p_ctrl, ble_abs_bond_information_parameter_t const *const p_bond_information_parameter)

Delete bond information.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_bond_information_parameterPointer to bond information parameter.

◆ importKeyInformation

fsp_err_t(* ble_abs_api_t::importKeyInformation) (ble_abs_ctrl_t *const p_ctrl, ble_device_address_t *p_local_identity_address, uint8_t *p_local_irk, uint8_t *p_local_csrk)

Import local identity address, keys information to local storage.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_local_identity_addressPointer to local identiry address.
[in]uint8_tp_local_irk Pointer to local IRK (Identity Resolving Key)
[in]uint8_tp_local_csrk Pointer to local CSRK

◆ exportKeyInformation

fsp_err_t(* ble_abs_api_t::exportKeyInformation) (ble_abs_ctrl_t *const p_ctrl, ble_device_address_t *p_local_identity_address, uint8_t *p_local_irk, uint8_t *p_local_csrk)

Export local identity address, keys information from local storage.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_local_identity_addressPointer to local identiry address.
[out]uint8_tp_local_irk Pointer to local IRK (Identity Resolving Key)
[out]uint8_tp_local_csrk Pointer to local CSRK

◆ ble_abs_instance_t

struct ble_abs_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
ble_abs_ctrl_t * p_ctrl Pointer to the control structure for this instance.
ble_abs_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
ble_abs_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ ble_gap_application_callback_t

typedef void(* ble_gap_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_evt_data_t *p_event_data)

ble_gap_application_callback_t is the GAP Event callback function type.

◆ ble_vendor_specific_application_callback_t

typedef void(* ble_vendor_specific_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_vs_evt_data_t *p_event_data)

ble_vendor_specific_application_callback_t is the Vendor Specific Event callback function type.

◆ ble_gatt_server_application_callback_t

typedef void(* ble_gatt_server_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_gatts_evt_data_t *p_event_data)

ble_gatt_server_application_callback_t is the GATT Server Event callback function type.

◆ ble_gatt_client_application_callback_t

typedef void(* ble_gatt_client_application_callback_t) (uint16_t event_type, ble_status_t event_result, st_ble_gattc_evt_data_t *p_event_data)

ble_gatt_client_application_callback_t is the GATT Server Event callback function type.

◆ ble_abs_delete_bond_application_callback_t

typedef void(* ble_abs_delete_bond_application_callback_t) (st_ble_dev_addr_t *p_addr)

ble_abs_delete_bond_application_callback_t is the delete bond information Event callback function type.

◆ ble_abs_ctrl_t

typedef void ble_abs_ctrl_t

BLE ABS control block. Allocate an instance specific control block to pass into the BLE ABS API calls.

Enumeration Type Documentation

◆ ble_abs_advertising_filter_t

Advertising Filter Policy

Enumerator
BLE_ABS_ADVERTISING_FILTER_ALLOW_ANY 

Receive a connect request from all devices.

BLE_ABS_ADVERTISING_FILTER_ALLOW_WHITE_LIST 

Receive a connect request from only the devices registered in White List.

◆ ble_abs_local_bond_information_t

Local keys delete policy

Enumerator
BLE_ABS_LOCAL_BOND_INFORMATION_NONE 

Delete no local keys.

BLE_ABS_LOCAL_BOND_INFORMATION_ALL 

Delete all local keys.

◆ ble_abs_remote_bond_information_t

Remote keys delete policy

Enumerator
BLE_ABS_REMOTE_BOND_INFORMATION_NONE 

Delete no remote device keys.

BLE_ABS_REMOTE_BOND_INFORMATION_SPECIFIED 

Delete the keys specified by the device address.

BLE_ABS_REMOTE_BOND_INFORMATION_ALL 

Delete all remote device keys.

◆ ble_abs_delete_non_volatile_area_t

Deletion policy for non-volatile memory

Enumerator
BLE_ABS_DELETE_NON_VOLATILE_AREA_DISABLE 

Delete no keys stored in storage.

BLE_ABS_DELETE_NON_VOLATILE_AREA_ENABLE 

Delete the keys stored in storage.