Page 1 of 1

Is there a way to control the log level of the wifi-mesh library?

Posted: Sun Jan 07, 2024 7:14 am
by greg-solargik
Hello,
When compiling an application utilizing esp wifi mesh, the resulting binary contains a LOT of strings presumably coming from logs of the mesh stack which is not controlled (AFAIK) using the regular compilation flags.
For example the result of strings on the binary which was compiled with default log verbosity of NO OUTPUT produces something like:
...
I (%d) %s: %d[xrsp:0]no memory, the asked:%d, max window:%d, force to increase/decrease(up) xseqno:%d for child %02x:%02x:%02x:%02x:%02x:%02x, xrsp_seqno:%d, heap:%d
W (%d) %s: [%s,%d] %s,%d %s[cidx:%d, %02x:%02x:%02x:%02x:%02x:%02x]pending:%d, xonseq.out:%d, xonseq.in[%d] %s the asked xseqno[%d], len:%d, seqno:%d[rx-wnd:%d]<%s%s>
I (%d) %s: <routing table>cidx:%d is using by %02x:%02x:%02x:%02x:%02x:%02x, discard outstanding multi-ack for %02x:%02x:%02x:%02x:%02x:%02x(pidx:%d, sub_child_cnt:%d)
I (%d) %s: %d[recv]ifx:%s TA:%02x:%02x:%02x:%02x:%02x:%02x, %02x:%02x:%02x:%02x:%02x:%02x-->%02x:%02x:%02x:%02x:%02x:%02x, [hdr:%d,%d], ttl:%d, mac_seq:%d, len:%d, opt:%d
I (%d) %s: %d[switch]clear candidate:%02x:%02x:%02x:%02x:%02x:%02x<layer:%d, rssi:%d, assoc:%d>, parent:%02x:%02x:%02x:%02x:%02x:%02x<layer:%d, rssi:%d, assoc:%d>max cnx:%d
I (%d) %s: %d[monitor]new parent:%02x:%02x:%02x:%02x:%02x:%02x<layer:%d, rssi:%d, assoc:%d>current parent:%02x:%02x:%02x:%02x:%02x:%02x<layer:%d, rssi:%d, assoc:%d>max cnx:%d
W (%d) %s: [%s,%d] <MESH_ERR_NO_ROUTE_FOUND>root, discard, xseqno:%d, len:%d, %02x:%02x:%02x:%02x:%02x:%02x-->%02x:%02x:%02x:%02x:%02x:%02x, %s[TA]%02x:%02x:%02x:%02x:%02x:%02x
I (%d) %s: [DONE]connect to %s:%s, channel:%d, rssi:%d, %02x:%02x:%02x:%02x:%02x:%02x[layer:%d, assoc:%d], my_vote_num:%d/voter_num:%d, rc[%02x:%02x:%02x:%02x:%02x:%02x/%d/%d]%s
W (%d) %s: [%s,%d] <MESH_ERR_NO_ROUTE_FOUND>to child, discard, xseqno:%d, len:%d, %02x:%02x:%02x:%02x:%02x:%02x-->%02x:%02x:%02x:%02x:%02x:%02x, %s[TA]%02x:%02x:%02x:%02x:%02x:%02x
W (%d) %s: [%s,%d] <MESH_ERR_NO_ROUTE_FOUND>root, no route, discard, xseqno:%d, len:%d, %02x:%02x:%02x:%02x:%02x:%02x-->%02x:%02x:%02x:%02x:%02x:%02x, %s[TA]%02x:%02x:%02x:%02x:%02x:%02x
I (%d) %s: %d, clear rc, %s[%02x:%02x:%02x:%02x:%02x:%02x], from <%02x:%02x:%02x:%02x:%02x:%02x, %s, ttl:%d, rc[%02x:%02x:%02x:%02x:%02x:%02x/%d], vote[%02x:%02x:%02x:%02x:%02x:%02x/%d]>
I (%d) %s: (entire)receive expire, from %s%d), diff master(income:%02x:%02x:%02x:%02x:%02x:%02x, dev:%02x:%02x:%02x:%02x:%02x:%02x), sync update:%d, device(%d, %s, rule:%d), income(%d, %s, rule:%d)


Those are long string literals which enlarge the binary significantly, is there a way to compile with mesh library at a reduced log level?