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] index An index to identify an instance of a state variable. [in] lc_state Identifies the internal Light LC state to set. [in] p_value Pointer to a buffer of the value to be set.
- Return values
-
NRF_SUCCESS if the set succeeded. NRF_ERROR_NOT_FOUND The given lc state or index is invalid. NRF_ERROR_INVALID_DATA The 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] index An index to identify an instance of a state variable. [in] lc_state Identifies the internal Light LC state to set. [out] p_value Pointer to a buffer to copy the value into. Cannot be NULL.
- Return values
-
NRF_SUCCESS The entry value was successfully copied into p_value.NRF_ERROR_NULL A parameter is NULL. NRF_ERROR_NOT_FOUND The given lc state or index is unknown. NRF_ERROR_INVALID_STATE The 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] index An index to identify an instance of a state variable. [in] scene_index A scene index for which given value is saved. [in] lc_state Identifies the internal Light LC state to set. [in] p_value Pointer to a buffer of the value to be set.
- Return values
-
NRF_SUCCESS if the set succeeded. NRF_ERROR_NOT_FOUND The given lc state or index is invalid. NRF_ERROR_INVALID_DATA The 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] index An index to identify an instance of a state variable. [in] scene_index A scene index for which given value is saved. [in] lc_state Identifies the internal Light LC state to set. [out] p_value Pointer to a buffer to copy the value into. Cannot be NULL.
- Return values
-
NRF_SUCCESS The entry value was successfully copied into p_value.NRF_ERROR_NULL A parameter is NULL. NRF_ERROR_NOT_FOUND The given lc state or index is unknown. NRF_ERROR_INVALID_STATE The 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_handle Pointer to a buffer to copy the handle into to access internal state instance.
- Return values
-
NRF_SUCCESS The new instance is successfully created. NRF_ERROR_NULL A parameter is NULL. NRF_ERROR_RESOURCES No more instances can be created. In that case, increase value of LIGHT_LC_SETUP_SERVER_INSTANCES_MAX.