I'm developing a sensor network and i am using nrf52840s and sdk15.2. I have developed a multi role unit with 4 central links and 2 peripheral links. This was tested and worked fine. Lately i needed to increase the number of central link to 5 and suddenly the logs are no longer displayed or the backend ceased to work. I do not know which one it ist but before increasing the number the logs were displayed. I'm using Segger as log backend. The configuration in sdconfig.h are shown below.
/========================================================== // <e> NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend //========================================================== #ifndef NRF_LOG_BACKEND_RTT_ENABLED #define NRF_LOG_BACKEND_RTT_ENABLED 1 #endif // <o> NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. // <i> Size of the buffer is a trade-off between RAM usage and processing. // <i> if buffer is smaller then strings will often be fragmented. // <i> It is recommended to use size which will fit typical log and only the // <i> longer one will be fragmented. #ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE #define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 128 #endif // <o> NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT #ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS #define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 #endif // <o> NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. // <i> If RTT fails to accept any new data after retries // <i> module assumes that host is not active and on next // <i> request it will perform only one write attempt. // <i> On successful writing, module assumes that host is active // <i> and scheme with retry is applied again. #ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT #define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 #endif // </e> // <e> NRF_LOG_ENABLED - nrf_log - Logger //========================================================== #ifdef DEBUG #ifndef NRF_LOG_ENABLED #define NRF_LOG_ENABLED 1 #endif #else #ifndef NRF_LOG_ENABLED #define NRF_LOG_ENABLED 0 #endif #endif // <h> Log message pool - Configuration of log message pool
// </h> //========================================================== // <h> nRF_Segger_RTT //========================================================== // <h> segger_rtt - SEGGER RTT //========================================================== // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. // <i> Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE // <i> or this value is actually used. It depends on which one is bigger. #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP #define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 #endif // <o> SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. #ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS #define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 #endif // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN #define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 #endif // <o> SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. #ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS #define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 #endif // <o> SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. // <i> The following modes are supported: // <i> - SKIP - Do not block, output nothing. // <i> - TRIM - Do not block, output as much as fits. // <i> - BLOCK - Wait until there is space in the buffer. // <0=> SKIP // <1=> TRIM // <2=> BLOCK_IF_FIFO_FULL #ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE #define SEGGER_RTT_CONFIG_DEFAULT_MODE 1 #endif
Thank you for your help.
Best regards