Description
Any Serial.print*() command does not seem to make it to output when it is preceded by a log_X() command, with X= e, i, d, w, v.
This had been first reported on platformio (platformio/platformio-core#3992 ) but was found to be an arduino-core issue.
This simple script:
#include <Arduino.h>
#include <esp_log.h>
void setup() {
Serial.begin(115200);
Serial.println("setup started ###########################################################");
log_i("%s", "some text");
log_i("%s", "more text");
log_i("%s", "even more text");
// Serial.flush();
Serial.println("1");
Serial.println("2");
Serial.println("3");
Serial.println("4");
Serial.println("5");
log_e("%s", "but where are my numbers?");
}
void loop() {}
was run on Arduino 1.8.13, Arduino 2.0.0Beta7, and Platformio and produced the same output:
18:35:24.821 > setup started ###########################################################
18:35:24.821 > [I][main.cpp:8] setup(): some text
18:35:24.821 > [I][main.cpp:9] setup(): more text
18:35:24.821 > [I][main.cpp:10] setup(): even more text
18:35:24.821 > [E][main.cpp:18] setup(): but where are my numbers?
However, when the Serial.flush()
command was uncommented, then the numbers are printed properly. Again, same result on all 3 systems.
Looks like a bug where log_X and Serial are overwriting each others buffers?