nRF5 SDK for Mesh v3.2.0  08c60f6
Reliable messages

Modules

 Message sequence charts
 Reliable publishing sequence diagrams.
 
 Defines
 Access reliable message defines.
 
 Types
 Access reliable message types.
 

Functions

void access_reliable_init (void)
 Initializes the reliable publication framework.
 
void access_reliable_cancel_all (void)
 Cancels all ongoing transfers. More...
 
uint32_t access_model_reliable_publish (const access_reliable_t *p_reliable)
 Starts publishing a reliable message. More...
 
uint32_t access_model_reliable_cancel (access_model_handle_t model_handle)
 Cancels an ongoing reliable message. More...
 
void access_reliable_message_rx_cb (access_model_handle_t model_handle, const access_message_rx_t *p_message, void *p_args)
 Callback called by access layer when a model receives a message. More...
 
bool access_reliable_model_is_free (access_model_handle_t model_handle)
 Checks if the model context for the given model handle is free for acknowledged message publishing. More...
 

Detailed Description

Reliable message sending for the access layer.

Function Documentation

◆ access_reliable_cancel_all()

void access_reliable_cancel_all ( void  )

Cancels all ongoing transfers.

Warning
This will not notify the about the canceled transfer. Thus calling this function in the middle of a reliable transfer may cause unexpected behavior for the affected models.

◆ access_model_reliable_publish()

uint32_t access_model_reliable_publish ( const access_reliable_t p_reliable)

Starts publishing a reliable message.

Parameters
[in]p_reliableReliable message parameter structure pointer.
Return values
NRF_SUCCESSSuccessfully started the reliable message publication.
NRF_ERROR_NULLNULL pointer given to function.
NRF_ERROR_NO_MEMNo memory available to send the message at this point.
NRF_ERROR_NOT_FOUNDInvalid model handle or model not bound to element.
NRF_ERROR_INVALID_PARAMModel not bound to application key, publish address not set or wrong opcode format.
NRF_ERROR_INVALID_STATEMessage already scheduled for a reliable transfer.
NRF_ERROR_INVALID_LENGTHAttempted to send message larger than ACCESS_MESSAGE_LENGTH_MAX.

◆ access_model_reliable_cancel()

uint32_t access_model_reliable_cancel ( access_model_handle_t  model_handle)

Cancels an ongoing reliable message.

Parameters
[in]model_handleAccess layer model handle that owns the transfer.
Return values
NRF_SUCCESSSuccessfully canceled the reliable message.
NRF_ERROR_NOT_FOUNDNo active reliable message for given handle.
NRF_ERROR_NOT_FOUNDInvalid model handle or model not bound to element.

◆ access_reliable_message_rx_cb()

void access_reliable_message_rx_cb ( access_model_handle_t  model_handle,
const access_message_rx_t p_message,
void *  p_args 
)

Callback called by access layer when a model receives a message.

Parameters
[in]model_handleModel handle that received the message
[in]p_messageMessage pointer.
[in]p_argsGeneric argument pointer for the model.

◆ access_reliable_model_is_free()

bool access_reliable_model_is_free ( access_model_handle_t  model_handle)

Checks if the model context for the given model handle is free for acknowledged message publishing.

Parameters
[in]model_handleModel handle of the model
Return values
TrueIf the model context is free for sending new acknowledged message.
FalseIf the model context is busy.