Hello,
My software project is based on the ble_app_uart, and after doing some initial timer, PWM and SAADC initialisation tasks, the main loop of ble_app_uart runs for a while (typ. 20 seconds) in debug before hitting an assertion and stopping.
The output in the debug window looks like:
Logs dropped (3)
<info> app: 166
Logs dropped (3)
<info> app: 167
Logs dropped (7)
<info> app: 167
<error> app: ERROR 3735928559 [Unknown error code] at C:/Nordic_Semi/nRF5_SDK_15.0.0_a53641a/components/libraries/experimental_log/src/nrf_log_frontend.c:328
PC at: 0x00030383
It should be noted that the ERROR 3735928559 = 0xDEADBEEF
I have no idea what the "Logs dropped" or "<info> app:" messages refer to, although that wold be nice to know.
I am using the Nordic nRF52840 DK (PCA10056), with nRF5_SDK_15, powered by its USB cable. (no battery)
The error location nrf_log_frontend.c:328 refers to the following (undocumented?) sdk code, which contains the problematic ASSERT statement.:/**
* Function examines current header and omits pushed strings and packets which are in progress.
*/
static bool invalid_packets_pushed_str_omit(nrf_log_header_t const * p_header, uint32_t * p_rd_idx)
{
bool ret = false;
if ((p_header->base.generic.type == HEADER_TYPE_PUSHED) || (p_header->base.generic.in_progress == 1))
{
if (p_header->base.generic.in_progress == 1)
{
switch (p_header->base.generic.type)
{
case HEADER_TYPE_STD:
*p_rd_idx += (HEADER_SIZE + p_header->base.std.nargs);
break;
case HEADER_TYPE_HEXDUMP:
*p_rd_idx += (HEADER_SIZE + p_header->base.hexdump.len);
break;
default:
ASSERT(0);
break;
}
}
else
{
*p_rd_idx +=
(PUSHED_HEADER_SIZE + p_header->base.pushed.len + p_header->base.pushed.offset);
}
ret = true;
}
return ret;
}
Can anyone shed some light on what is going on, why it asserts, and what these debug messages mean?