WDT. alive(); function is feeding wdt. (Watchdog timer) on nonos sdk resetting if anything keeping cpu more than 5 second. Sometimes wdt resetting in the lower time . so can you add this into the draw loop and try if
@sle118 : Indeed xTaskCreate is a native freeRTOS function. (it is not a Timer however). It is available in the SmingRTOS implementation but be aware the the current status is a port from NONOS and not using tasks. If your library creates tasks we should investigate/understand how the two work together.
Will do. I am trying to get a feel of stack space used by my process. I created a global variable to store address of top level function's local variable. Then I'll use a macro to call static function at each level of the decoder, passing address of one local variable each time. In the static function, I'll subtract current local address from start address and print to serial... Not sure if this approach will work for me but worth a try. The idea being to grab the function that uses the largest local variables and replace with malloc
Or I'll reimplement the logic in a flattened structure to reduce depth
I've had stack overflow issues before... They're hard to diagnose as code looks otherwise good and I found no memory leak after I tracked malloc/free pointer list using a vector
RTOS seems to have 2 mechanisms to trap overflows, one of which I'd a callback handler
@sle118 : yes RTOS has but that needs to be configured during build. In the SDK there is library containing the build from espressif which does not allow it. Statement from espressif is : do not compile your own RTOS. Long time ago (a year ??) I did compile myself with one of the very first RTOS SDK's. Did not yet try on this SDK