RX Buffer von esp32 verändern?

Wegen Zustandsänderung an anderer Stelle. Du hast zweimal switch case. Die im zweiten switch benötigten Zustände (Ende, Zeile) werden im ersten switch geändert. Also außerhalb vom zweiten Switch in dem sie benötigt werden.

Ja, das ist so!
Auch wenn dir dieser Rückgabe Wert komisch erscheint .....

Der Parser sendet der aufrufenden Funktion eine Statusmeldung.
Die aufrufende Funktion kann dann angemessen darauf reagieren.
Mir scheint, dass damit der Sinn und Zweck eines Rückgabewertes, einer Funktion, voll und ganz erfüllt wird.

Hmmm...
"Verbesserungswürdig", hatte ich schon gesagt....

Viellicht bist du auch so überrascht, weil ich das Ding nicht in ein OOP Mäntelchen gesteckt habe. Denn dann würde es vermutlich anders aussehen. Also "gewöhnlicher", eher meinem normalen Stil entsprechend.