Hello,
I'm developing a solution by using MESH SDK : nrf5_SDK_for_Mesh_v2.1.1
There is an ASSERT on access.c in nrf5_SDK_for_Mesh_v2.1.1_src\mesh\access\src\ as below.
/* Verify that the ACCESS_FLASH_PAGE_COUNT is of sufficient size. */
NRF_MESH_STATIC_ASSERT(FLASH_MANAGER_PAGE_COUNT_MINIMUM(ACCESS_FLASH_ENTRY_SIZE, ACCESS_MODEL_STATE_FLASH_SIZE) <= ACCESS_FLASH_PAGE_COUNT);
where ACCESS_MODEL_STATE_FLASH_SIZE is defined as (ALIGN_VAL((sizeof(fm_header_t) + sizeof(access_model_state_data_t)), WORD_SIZE) * ACCESS_MODEL_COUNT)
I don't understand this ASSERT. I think this ASSERT should be changed as below.
NRF_MESH_STATIC_ASSERT(FLASH_MANAGER_PAGE_COUNT_MINIMUM(ACCESS_FLASH_ENTRY_SIZE, ACCESS_MODEL_STATE_FLASH_SIZE_SINGLE) <= ACCESS_FLASH_PAGE_COUNT);
where ACCESS_MODEL_STATE_FLASH_SIZE_SINGLE is (ALIGN_VAL((sizeof(fm_header_t) + sizeof(access_model_state_data_t)), WORD_SIZE))
Because the flash needs space to save not all (largest) entries but a single (largest) entry.
Please let me know if I'm misunderstanding.
Thank you in advance.