nRF5 SDK for Mesh v5.0.0
Data Structures | Macros | Typedefs | Functions
Generic OnOff client model interface

Data Structures

struct  generic_onoff_client_callbacks_t
 
struct  generic_onoff_client_settings_t
 User provided settings and callbacks for the model instance. More...
 
union  generic_onoff_client_msg_data_t
 Union for holding current message packet. More...
 
struct  generic_onoff_client_t
 

Macros

#define GENERIC_ONOFF_CLIENT_MODEL_ID   0x1001
 Client model ID.
 

Typedefs

typedef void(* generic_onoff_state_status_cb_t) (const generic_onoff_client_t *p_self, const access_message_rx_meta_t *p_meta, const generic_onoff_status_params_t *p_in)
 Callback type for OnOff state related transactions. More...
 

Functions

uint32_t generic_onoff_client_init (generic_onoff_client_t *p_client, uint8_t element_index)
 Initializes Generic On Off client. More...
 
uint32_t generic_onoff_client_set (generic_onoff_client_t *p_client, const generic_onoff_set_params_t *p_params, const model_transition_t *p_transition)
 Sends a Set message to the server. More...
 
uint32_t generic_onoff_client_set_unack (generic_onoff_client_t *p_client, const generic_onoff_set_params_t *p_params, const model_transition_t *p_transition, uint8_t repeats)
 Sends a Set Unacknowledged message to the server. More...
 
uint32_t generic_onoff_client_get (generic_onoff_client_t *p_client)
 Sends a Get message to the server. More...
 

Detailed Description

Typedef Documentation

◆ generic_onoff_state_status_cb_t

typedef void(* generic_onoff_state_status_cb_t) (const generic_onoff_client_t *p_self, const access_message_rx_meta_t *p_meta, const generic_onoff_status_params_t *p_in)

Callback type for OnOff state related transactions.

Parameters
[in]p_selfPointer to the model structure
[in]p_metaAccess metadata for the received message
[in]p_inPointer to the input event parameters for the user application

Definition at line 67 of file generic_onoff_client.h.

Function Documentation

◆ generic_onoff_client_init()

uint32_t generic_onoff_client_init ( generic_onoff_client_t *  p_client,
uint8_t  element_index 
)

Initializes Generic On Off client.

Note
This function should only be called once.
The client handles the model allocation and adding.
Parameters
[in]p_clientClient model context pointer.
[in]element_indexElement index to add the model
Return values
NRF_SUCCESSThe model is initialized successfully.
NRF_ERROR_NULLNULL pointer given to function.
NRF_ERROR_NO_MEMACCESS_MODEL_COUNT number of models already allocated or no more subscription lists available in memory pool (see ACCESS_SUBSCRIPTION_LIST_COUNT).
NRF_ERROR_FORBIDDENMultiple model instances per element are not allowed or changes to device composition are not allowed. Adding a new model after device is provisioned is not allowed.
NRF_ERROR_NOT_FOUNDInvalid access element index.

◆ generic_onoff_client_set()

uint32_t generic_onoff_client_set ( generic_onoff_client_t *  p_client,
const generic_onoff_set_params_t p_params,
const model_transition_t p_transition 
)

Sends a Set message to the server.

Note
Expected response: Status, if the message is sent as acknowledged message.
Parameters
[in]p_clientClient model context pointer.
[in]p_paramsMessage parameters.
[in]p_transitionOptional transition parameters
Return values
NRF_SUCCESSThe message is handed over to the mesh stack for transmission.
NRF_ERROR_NULLNULL pointer given to function.
NRF_ERROR_BUSYThe model is busy publishing another message.
NRF_ERROR_NO_MEMNo memory available to send the message at this point.
NRF_ERROR_NOT_FOUNDThe model is not initialized.
NRF_ERROR_INVALID_PARAMIncorrect transition parameters, the model not bound to application key, or publish address not set.
NRF_ERROR_FORBIDDENFailed to allocate a sequence number from network.

◆ generic_onoff_client_set_unack()

uint32_t generic_onoff_client_set_unack ( generic_onoff_client_t *  p_client,
const generic_onoff_set_params_t p_params,
const model_transition_t p_transition,
uint8_t  repeats 
)

Sends a Set Unacknowledged message to the server.

Note
Expected response: Status, if the message is sent as acknowledged message.
Parameters
[in]p_clientClient model context pointer.
[in]p_paramsMessage parameters.
[in]p_transitionOptional transition parameters
[in]repeatsNumber of repetitions to use while sending unacknowledged message.
Return values
NRF_SUCCESSThe message is handed over to the mesh stack for transmission.
NRF_ERROR_NULLNULL pointer given to function.
NRF_ERROR_NO_MEMNo memory available to send the message at this point.
NRF_ERROR_NOT_FOUNDThe model is not initialized.
NRF_ERROR_INVALID_PARAMIncorrect transition parameters, the model not bound to application key, or publish address not set.
NRF_ERROR_FORBIDDENFailed to allocate a sequence number from network.
NRF_ERROR_INVALID_STATEThere's already a segmented packet that is being to sent to this destination. Wait for the transmission to finish before sending new segmented packets.

◆ generic_onoff_client_get()

uint32_t generic_onoff_client_get ( generic_onoff_client_t *  p_client)

Sends a Get message to the server.

Note
Expected response: Status
Parameters
[in]p_clientClient model context pointer.
Return values
NRF_SUCCESSThe message is handed over to the mesh stack for transmission.
NRF_ERROR_NULLNULL pointer given to function.
NRF_ERROR_BUSYThe model is busy publishing another message.
NRF_ERROR_NO_MEMNo memory available to send the message at this point.
NRF_ERROR_NOT_FOUNDThe model is not initialized.
NRF_ERROR_INVALID_PARAMThe model not bound to application key or publish address not set.
NRF_ERROR_FORBIDDENFailed to allocate a sequence number from network.

Documentation feedback | Developer Zone | Subscribe | Updated