Skip to content

Serial Monitor swallows my print lines #5362

@ullix

Description

@ullix

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?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions