![]() It is my opinion, that unless the user is willing to develop in the native SDK, it is best to simply write clean functions and keep the loop structure simple thereby avoiding string of multiple pseudo-threads that all must be interrupted every 50mS or sooner. Under a FreeRTOS implementation, all of the foreground applications in total would have to be aware of the background requirement to be petted every 50mS or less to avoid the protocol stacks going stale. In the following examples, I will be using the NodeMCU development board and will program it with the Arduino software.Hopefully you have already set-up your ESP8266 development environment and were able to load the blink sketch.If not please follow this tutorial first. In my experience, having the foreground and background switched automatically provides a rather smooth integration. ![]() Switching is automatically between the two sides whenever the Arduino loop() function repeats - or, whenever delay(x), delay(0), or yield() is utilized. The Arduino side could be thought of as the 'foreground' application and the ESP radio and protocol side could be thought of as the 'background' application. With ESP8266-Arduino core by igrr, the default task switcher is non-OS. ![]() Espressif SDK already provides the ability to run a certified RTOS: ![]() This idea of using a FreeRTOS seems strange to me.
0 Comments
Leave a Reply. |