What's the point of loopTask and appMain in ESP Arduino IDE?
-
Specifically, I am using a PaperS3. As I understand it, the Arduino IDE just runs all setup() and void() on one core unless you tell it otherwise. Or maybe the ESP library makes the Arduino IDE behave differently? AFAICT loopTask() and appMain() are used by the RTOS scheduler, so maybe the RTOS scheduler is installed by the Arduino IDE?
This code fragment is present in some sketches, like github.com/m5stack/M5Unified/blob/master/examples/Basic/Touch/DragDrop/DragDrop.ino:
#if !defined ( ARDUINO ) && defined ( ESP_PLATFORM ) extern "C" { void loopTask(void*) { setup(); for (;;) { loop(); } vTaskDelete(NULL); } void app_main() { xTaskCreatePinnedToCore(loopTask, "loopTask", 8192, NULL, 1, NULL, 1); } } #endif