This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

dsm_address_subscription_add NRF_ERROR_NO_MEM

Hi there!

I'm back again, with another possibly stupid mistake. I'm using ARMGCC in combination with Make, nRF5 SDK, nRF SDK for Mesh, FreeRTOS and C++. I wrote my own mesh model inspired by the simple_on_off_client and -server. Each device is provisioned through the mesh app and contains a client and server. The client and server are in seperate elements, but use the same app_key. The DEBUG and DEBUG_NRF macros are defined and I'm using the mesh freertos light switch example from GitHub. 

The problem I'm currently facing has to do with subscribing to group addresses. I know dsm_address_subscription_add returns NRF_ERROR_NO_MEM if the RX list for group addresses is full and that DSM_SUBS_LIST_MAX is refrenced in the documentation. However, I can't find the location of this macro. Defining it in the app_config doesn't work too. I've tried increasing the stack depth of the task and increasing the heap size of both FreeRTOS and in the makefile.

void server_c::subscribe(const uint16_t address){
    static dsm_handle_t subscribe_address;
    
    APP_ERROR_CHECK(dsm_address_subscription_add(address, &subscribe_address));
    ERROR_CHECK(access_model_subscription_add(bottle_server.model_handle, subscribe_address));
}

None of the above works. I'm absolutely clueless again...

Kind regards,

Jochem

Parents Reply Children
Related