nRF5 SDK for Mesh v5.0.0
Macros | Functions
Persistence module for the Light LC Setup Server model related states

This module provides APIs for handling persistence of the Light LC Setup Server model related states. More...

Macros

#define LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES   (LIGHT_LC_SETUP_SERVER_INSTANCES_MAX + (SCENE_REGISTER_ARRAY_SIZE * LIGHT_LC_SETUP_SERVER_INSTANCES_MAX))
 Number of entry instances required to store the current state and state for each scene. More...
 
#define LIGHT_LC_MODE_EID_START   (MESH_APP_MODEL_LIGHT_LC_SERVER_ID_START)
 
#define LIGHT_LC_OCC_MODE_EID_START   (LIGHT_LC_MODE_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_LIGHT_ONOFF_EID_START   (LIGHT_LC_OCC_MODE_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LUXLEVEL_ON_EID_START   (LIGHT_LC_LIGHT_ONOFF_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LUXLEVEL_PROLONG_EID_START   (LIGHT_LC_PR_LUXLEVEL_ON_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LUXLEVEL_STANDBY_EID_START   (LIGHT_LC_PR_LUXLEVEL_PROLONG_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LIGHTNESS_ON_EID_START   (LIGHT_LC_PR_LUXLEVEL_STANDBY_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LIGHTNESS_PROLONG_EID_START   (LIGHT_LC_PR_LIGHTNESS_ON_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_LIGHTNESS_STANDBY_EID_START   (LIGHT_LC_PR_LIGHTNESS_PROLONG_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_REGULATOR_ACCURACY_EID_START   (LIGHT_LC_PR_LIGHTNESS_STANDBY_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_REGULATOR_KID_EID_START   (LIGHT_LC_PR_REGULATOR_ACCURACY_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_REGULATOR_KIU_EID_START   (LIGHT_LC_PR_REGULATOR_KID_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_REGULATOR_KPD_EID_START   (LIGHT_LC_PR_REGULATOR_KIU_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_REGULATOR_KPU_EID_START   (LIGHT_LC_PR_REGULATOR_KPD_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_FADE_EID_START   (LIGHT_LC_PR_REGULATOR_KPU_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_FADE_ON_EID_START   (LIGHT_LC_PR_TIME_FADE_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_FADE_STANDBY_AUTO_EID_START   (LIGHT_LC_PR_TIME_FADE_ON_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_FADE_STANDBY_MANUAL_EID_START   (LIGHT_LC_PR_TIME_FADE_STANDBY_AUTO_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_OCCUPANCY_DELAY_EID_START   (LIGHT_LC_PR_TIME_FADE_STANDBY_MANUAL_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_PROLONG_EID_START   (LIGHT_LC_PR_TIME_OCCUPANCY_DELAY_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_PR_TIME_RUN_ON_EID_START   (LIGHT_LC_PR_TIME_PROLONG_EID_START + LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES)
 
#define LIGHT_LC_MODE_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_MODE_EID_START)
 Light LC Mode state entry ID.
 
#define LIGHT_LC_OCC_MODE_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_OCC_MODE_EID_START)
 Light LC Occupancy Mode state entry ID.
 
#define LIGHT_LC_LIGHT_ONOFF_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_LIGHT_ONOFF_EID_START)
 Light LC Light OnOff state entry ID.
 
#define LIGHT_LC_PR_LUXLEVEL_ON_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LUXLEVEL_ON_EID_START)
 Light LC Property LuxLevel On state entry ID.
 
#define LIGHT_LC_PR_LUXLEVEL_PROLONG_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LUXLEVEL_PROLONG_EID_START)
 Light LC Property LuxLevel Prolong state entry ID.
 
#define LIGHT_LC_PR_LUXLEVEL_STANDBY_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LUXLEVEL_STANDBY_EID_START)
 Light LC Property LuxLevel Standby state entry ID.
 
#define LIGHT_LC_PR_LIGHTNESS_ON_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LIGHTNESS_ON_EID_START)
 Light LC Property Lightness On state entry ID.
 
#define LIGHT_LC_PR_LIGHTNESS_PROLONG_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LIGHTNESS_PROLONG_EID_START)
 Light LC Property Lightness Prolong state entry ID.
 
#define LIGHT_LC_PR_LIGHTNESS_STANDBY_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_LIGHTNESS_STANDBY_EID_START)
 Light LC Property Lightness Standby state entry ID.
 
#define LIGHT_LC_PR_REGULATOR_ACCURACY_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_REGULATOR_ACCURACY_EID_START)
 Light LC Property Regulator Accuracy state entry ID.
 
#define LIGHT_LC_PR_REGULATOR_KID_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_REGULATOR_KID_EID_START)
 Light LC Property Regulator Kid state entry ID.
 
#define LIGHT_LC_PR_REGULATOR_KIU_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_REGULATOR_KIU_EID_START)
 Light LC Property Regulator Kiu state entry ID.
 
#define LIGHT_LC_PR_REGULATOR_KPD_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_REGULATOR_KPD_EID_START)
 Light LC Property Regulator Kpd state entry ID.
 
#define LIGHT_LC_PR_REGULATOR_KPU_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_REGULATOR_KPU_EID_START)
 Light LC Property Regulator Kpu state entry ID.
 
#define LIGHT_LC_PR_TIME_FADE_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_FADE_EID_START)
 Light LC Property Time Fade state entry ID.
 
#define LIGHT_LC_PR_TIME_FADE_ON_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_FADE_ON_EID_START)
 Light LC Property Time Fade On state entry ID.
 
#define LIGHT_LC_PR_TIME_FADE_STANDBY_AUTO_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_FADE_STANDBY_AUTO_EID_START)
 Light LC Property Time Fade Standby Auto state entry ID.
 
#define LIGHT_LC_PR_TIME_FADE_STANDBY_MANUAL_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_FADE_STANDBY_MANUAL_EID_START)
 Light LC Property Time Fade Standby Manual state entry ID.
 
#define LIGHT_LC_PR_TIME_OCCUPANCY_DELAY_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_OCCUPANCY_DELAY_EID_START)
 Light LC Property Time Occupancy Delay state entry ID.
 
#define LIGHT_LC_PR_TIME_PROLONG_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_PROLONG_EID_START)
 Light LC Property Time Prolong state entry ID.
 
#define LIGHT_LC_PR_TIME_RUN_ON_EID   MESH_CONFIG_ENTRY_ID(MESH_OPT_MODEL_FILE_ID, LIGHT_LC_PR_TIME_RUN_ON_EID_START)
 Light LC Property Time Run On state entry ID.
 

Functions

uint32_t light_lc_mc_state_set (uint8_t index, light_lc_state_t lc_state, const void *p_value)
 Set internal LC state variables. More...
 
uint32_t light_lc_mc_state_get (uint8_t index, light_lc_state_t lc_state, void *p_value)
 Get internal LC state variables. More...
 
uint32_t light_lc_mc_scene_state_store (uint8_t index, uint8_t scene_index, light_lc_state_t lc_state, const void *p_value)
 Stores internal LC state variables for a specific scene index. More...
 
uint32_t light_lc_mc_scene_state_recall (uint8_t index, uint8_t scene_index, light_lc_state_t lc_state, void *p_value)
 Recalls internal LC state variables for a specific scene index. More...
 
uint32_t light_lc_mc_open (uint8_t *p_handle)
 Create an instance of the Light LC Setup Server model states and return the corresponding handle. More...
 
void light_lc_mc_clear (void)
 Clear all stored data and reset state contexts to default values.
 
void light_lc_mc_init (void)
 Initialize the Light LC Setup Server persistent memory.
 

Detailed Description

This module provides APIs for handling persistence of the Light LC Setup Server model related states.

Macro Definition Documentation

◆ LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES

#define LIGHT_LC_SETUP_SERVER_STORED_WITH_SCENE_STATES   (LIGHT_LC_SETUP_SERVER_INSTANCES_MAX + (SCENE_REGISTER_ARRAY_SIZE * LIGHT_LC_SETUP_SERVER_INSTANCES_MAX))

Number of entry instances required to store the current state and state for each scene.

Note
If SCENE_SETUP_SERVER_INSTANCES_MAX is equal to 0, then this is equal to LIGHT_LC_SETUP_SERVER_INSTANCES_MAX.

Definition at line 66 of file light_lc_mc.h.

Function Documentation

◆ light_lc_mc_state_set()

uint32_t light_lc_mc_state_set ( uint8_t  index,
light_lc_state_t  lc_state,
const void *  p_value 
)

Set internal LC state variables.

Parameters
[in]indexAn index to identify an instance of a state variable.
[in]lc_stateIdentifies the internal Light LC state to set.
[in]p_valuePointer to a buffer of the value to be set.
Return values
NRF_SUCCESSif the set succeeded.
NRF_ERROR_NOT_FOUNDThe given lc state or index is invalid.
NRF_ERROR_INVALID_DATAThe value is invalid.

◆ light_lc_mc_state_get()

uint32_t light_lc_mc_state_get ( uint8_t  index,
light_lc_state_t  lc_state,
void *  p_value 
)

Get internal LC state variables.

Parameters
[in]indexAn index to identify an instance of a state variable.
[in]lc_stateIdentifies the internal Light LC state to set.
[out]p_valuePointer to a buffer to copy the value into. Cannot be NULL.
Return values
NRF_SUCCESSThe entry value was successfully copied into p_value.
NRF_ERROR_NULLA parameter is NULL.
NRF_ERROR_NOT_FOUNDThe given lc state or index is unknown.
NRF_ERROR_INVALID_STATEThe given index is known, but has no data associated with it.

◆ light_lc_mc_scene_state_store()

uint32_t light_lc_mc_scene_state_store ( uint8_t  index,
uint8_t  scene_index,
light_lc_state_t  lc_state,
const void *  p_value 
)

Stores internal LC state variables for a specific scene index.

Note
Available only if SCENE_SETUP_SERVER_INSTANCES_MAX is equal or larger than 1.
Parameters
[in]indexAn index to identify an instance of a state variable.
[in]scene_indexA scene index for which given value is saved.
[in]lc_stateIdentifies the internal Light LC state to set.
[in]p_valuePointer to a buffer of the value to be set.
Return values
NRF_SUCCESSif the set succeeded.
NRF_ERROR_NOT_FOUNDThe given lc state or index is invalid.
NRF_ERROR_INVALID_DATAThe value is invalid.

◆ light_lc_mc_scene_state_recall()

uint32_t light_lc_mc_scene_state_recall ( uint8_t  index,
uint8_t  scene_index,
light_lc_state_t  lc_state,
void *  p_value 
)

Recalls internal LC state variables for a specific scene index.

Note
Available only if SCENE_SETUP_SERVER_INSTANCES_MAX is equal or larger than 1.
Parameters
[in]indexAn index to identify an instance of a state variable.
[in]scene_indexA scene index for which given value is saved.
[in]lc_stateIdentifies the internal Light LC state to set.
[out]p_valuePointer to a buffer to copy the value into. Cannot be NULL.
Return values
NRF_SUCCESSThe entry value was successfully copied into p_value.
NRF_ERROR_NULLA parameter is NULL.
NRF_ERROR_NOT_FOUNDThe given lc state or index is unknown.
NRF_ERROR_INVALID_STATEThe given index is known, but has no data associated with it.

◆ light_lc_mc_open()

uint32_t light_lc_mc_open ( uint8_t *  p_handle)

Create an instance of the Light LC Setup Server model states and return the corresponding handle.

Parameters
[out]p_handlePointer to a buffer to copy the handle into to access internal state instance.
Return values
NRF_SUCCESSThe new instance is successfully created.
NRF_ERROR_NULLA parameter is NULL.
NRF_ERROR_RESOURCESNo more instances can be created. In that case, increase value of LIGHT_LC_SETUP_SERVER_INSTANCES_MAX.

Documentation feedback | Developer Zone | Subscribe | Updated