- Using
message_t
to pass data around is highly inefficient for small messages, since everymessage_new()
callsmalloc()
. Consider a highly loaded 500kbit/s CAN bus can reach around 4000 messages per second, there are at least 4000 mallocs per second. Possible alternative is a circular buffer with static allocation. - Go back from Kconfig to config.h, changing configuration via menuconfig requires rebuilding many IDF components, while modifying the header only rebuilds user code.
- During Bluetooth congestion, TX buffer fills up pretty much instantly... what to do?