RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Mesh Lower Trans Interface

Detailed Description

Interface for BLE Mesh Lower Trans functions.

Summary

The BLE Mesh Lower Trans middleware provides a lower-level transfer interface for BLE Mesh services.

Data Structures

struct  rm_ble_mesh_lower_trans_transmit_setting_t
 
struct  rm_ble_mesh_lower_trans_callback_args_t
 
struct  rm_ble_mesh_lower_trans_cfg_t
 
struct  rm_ble_mesh_lower_trans_api_t
 
struct  rm_ble_mesh_lower_trans_instance_t
 

Typedefs

typedef uint8_t rm_ble_mesh_lower_trans_lpn_handle_t
 
typedef void rm_ble_mesh_lower_trans_ctrl_t
 

Enumerations

enum  rm_ble_mesh_lower_trans_message_type_t
 
enum  rm_ble_mesh_lower_trans_reliable_t
 
enum  rm_ble_mesh_lower_trans_event_t
 
enum  rm_ble_mesh_lower_trans_notification_t
 

Data Structure Documentation

◆ rm_ble_mesh_lower_trans_transmit_setting_t

struct rm_ble_mesh_lower_trans_transmit_setting_t

transport PDUs setting to peer device.

Data Fields
rm_ble_mesh_network_address_t src_addr Source address.
rm_ble_mesh_network_address_t dst_addr Destination address.
rm_ble_mesh_network_subnet_handle_t subnet_handle Handle identifying the subnet.
rm_ble_mesh_lower_trans_message_type_t msg_type Transport message type.
uint8_t ttl Time to Live.
uint8_t akf Application key flag.
uint8_t aid Application key identifier.
uint8_t seq_num Sequence number.

◆ rm_ble_mesh_lower_trans_callback_args_t

struct rm_ble_mesh_lower_trans_callback_args_t

BLE Mesh lower trans callback parameter definition

Data Fields
rm_ble_mesh_lower_trans_event_t event Event code.
rm_ble_mesh_network_header_t * p_header Network header.
rm_ble_mesh_network_subnet_handle_t subnet_handle Subnet handle.
uint8_t trans_mic_size TransMIC size.
rm_ble_mesh_lower_trans_lpn_handle_t lpn_handle LPM Size.
uint8_t packet_type packet type
rm_ble_mesh_buffer_t event_data Event data.
void const * p_context Context provided to user during callback.

◆ rm_ble_mesh_lower_trans_cfg_t

struct rm_ble_mesh_lower_trans_cfg_t

BLE MESH configuration parameters.

Data Fields

uint32_t channel
 Select a channel corresponding to the channel number of the hardware. More...
 
rm_ble_mesh_network_instance_t const * p_mesh_network_instance
 Instance structure of BLE Mesh network.
 
void(* p_callback )(rm_ble_mesh_lower_trans_callback_args_t *p_args)
 Callback function.
 
void const * p_context
 Placeholder for user data.
 
void const * p_extend
 Placeholder for extension data.
 

Field Documentation

◆ channel

uint32_t rm_ble_mesh_lower_trans_cfg_t::channel

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

the parameters for initialization.

◆ rm_ble_mesh_lower_trans_api_t

struct rm_ble_mesh_lower_trans_api_t

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

Data Fields

fsp_err_t(* open )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_lower_trans_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)
 
fsp_err_t(* sendPdu )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_lower_trans_transmit_setting_t const *const p_transmit_setting, rm_ble_mesh_buffer_t const *const p_buffer, rm_ble_mesh_lower_trans_reliable_t reliable)
 
fsp_err_t(* clearSarContexts )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)
 
fsp_err_t(* clearSubnetSarContexts )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle)
 
fsp_err_t(* reinitReplayCache )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)
 
fsp_err_t(* triggerPendingTransmits )(rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)
 

Field Documentation

◆ open

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::open) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_lower_trans_cfg_t const *const p_cfg)

Register Interface with Lower Transport Layer.

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

◆ close

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::close) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)

Unregister Interface with Lower Transport Layer.

Parameters
[in]p_ctrlPointer to control structure.

◆ sendPdu

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::sendPdu) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_lower_trans_transmit_setting_t const *const p_transmit_setting, rm_ble_mesh_buffer_t const *const p_buffer, rm_ble_mesh_lower_trans_reliable_t reliable)

API to send transport PDUs.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_transmit_settingPointer to transmit setting structure.
[in]p_bufferPointer to payload and payload length structure.
[in]reliableIf requires lower transport ACK, set reliable as RM_BLE_MESH_LOWER_TRANS_RELIABLE_ENABLE.

◆ clearSarContexts

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::clearSarContexts) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)

To clear all segmentation and reassembly contexts.

Parameters
[in]p_ctrlPointer to control structure.

◆ clearSubnetSarContexts

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::clearSubnetSarContexts) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle)

To clear all segmentation and reassembly contexts for a given subnet.

Parameters
[in]p_ctrlPointer to control structure.
[in]subnet_handleSubnet Handle whose respective SAR Contexts are to be cleared.

◆ reinitReplayCache

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::reinitReplayCache) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)

To reinitialize all Lower Transport replay cache entries.

Parameters
[in]p_ctrlPointer to control structure.

◆ triggerPendingTransmits

fsp_err_t(* rm_ble_mesh_lower_trans_api_t::triggerPendingTransmits) (rm_ble_mesh_lower_trans_ctrl_t *const p_ctrl)

To trigger any Lower Transport pending transmissions.

Parameters
[in]p_ctrlPointer to control structure.

◆ rm_ble_mesh_lower_trans_instance_t

struct rm_ble_mesh_lower_trans_instance_t

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

Data Fields
rm_ble_mesh_lower_trans_ctrl_t * p_ctrl Pointer to the control structure for this instance.
rm_ble_mesh_lower_trans_cfg_t
const *
p_cfg Pointer to the configuration structure for this instance.
rm_ble_mesh_lower_trans_api_t
const *
p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ rm_ble_mesh_lower_trans_lpn_handle_t

LPN handle

◆ rm_ble_mesh_lower_trans_ctrl_t

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

Enumeration Type Documentation

◆ rm_ble_mesh_lower_trans_message_type_t

Transport Message Type

Enumerator
RM_BLE_MESH_LOWER_TRANS_MESSAGE_TYPE_ACCESS 

Access Layer Packet

RM_BLE_MESH_LOWER_TRANS_MESSAGE_TYPE_CTRL 

Transport Layer Control Packet

◆ rm_ble_mesh_lower_trans_reliable_t

If requires lower transport ACK

Enumerator
RM_BLE_MESH_LOWER_TRANS_RELIABLE_DISABLE 

ACK enable.

RM_BLE_MESH_LOWER_TRANS_RELIABLE_ENABLE 

ACK disable.

◆ rm_ble_mesh_lower_trans_event_t

Callback event

Enumerator
RM_BLE_MESH_LOWER_TRANS_EVENT_RX_COMPLETED 

BLE Mesh Lower Trans event - RX completed.

RM_BLE_MESH_LOWER_TRANS_EVENT_RX_FROM_FRIEND 

BLE Mesh Lower Trans event - RX from friend.

RM_BLE_MESH_LOWER_TRANS_EVENT_ADD_UPPER_TRANS_COMPLETED 

BLE Mesh Lower Trans event - Add Upper Trans completed.

RM_BLE_MESH_LOWER_TRANS_EVENT_SEG_TX_CANCELED 

BLE Mesh Lower Trans event - TX canceled.

RM_BLE_MESH_LOWER_TRANS_EVENT_SEG_TX_COMPLETED 

BLE Mesh Lower Trans event - TX completed.

◆ rm_ble_mesh_lower_trans_notification_t

Whether to enable the event or not.

Enumerator
RM_BLE_MESH_LOWER_TRANS_NOTIFICATION_DISABLE 

Callback disable.

RM_BLE_MESH_LOWER_TRANS_NOTIFICATION_ENABLE 

Callback enable.