Keine neuen Daten einzugeben

  • Hallo Helmut,


    ja, das ist exakt der richtige Code. Da war bei mir etwas falsch. Eigentlich ist es mir ein Rätsel, wieso es im Video funktioniert hat.

    Auf Zeile 127 kannst du noch etwas vereinfachen. Es genügt, wenn du


    Code
    1. String val = cmd.substring(i+2);

    schreibst. Damit wird einfach der String von Position i+2 bis zum Ende genommen.


    Gruss

    René

  • Hallo Rene,


    ich habe das Problem auf meiner Seite gelöst. Es funktioniert nun. Die Fehler lagen tastsächlich, wie von mir vorher beschrieben in den Zeilen 126 und 127!


    So kann es gehen wenn man sich zu lange in ein Problem verbeißt und eine halbe Nachtschicht dranhängt, dann sieht man manchmal den Wald vor lauter Bäumen nicht. Ich hatte die Fehler eigentlich richtig ermittelt und auch schon behoben. Nur habe ich ständig mit der manuellen Eingabe in die Konsole gearbeitet und dabei übersehen dass man auch mal ein "show" absetzen sollte. Da ich, nachdem die Fehler beseitigt waren kein "sendTestData()" mehr aufgerufen hatte fiel dies auch nicht auf.


    Der funktionierende Code lautet nun bei mir:



    Code
    1. 116 void newCmdOrValue(const char* text)
    2. ......
    3. .....
    4. 126 String key = cmd.substring(1,i);
    5. 127 String val = cmd.substring(i+2,cmd.length());


    Bitte überprüfe Du dies noch einmal.


    Und danke nochmals, guter Kurs der viel Freude macht! :thumbup:


    Gruss

    Helmut

  • Hallo Rene,

    ich habe festgestellt das bei mir weder die Funktion sendTestData(), noch fromSerial() funktioniert. Außer einem flackern im Display ist nichts festzustellen. Es kommen anscheinend keine Daten im Display an, die von "show" angezeigt werden könnten.


    Ich habe mittlerweile festgestellt das sich in der Funktion fromSerial() in den Zeilen 126 und 127 Fehler eingeschlichen haben:


    126 String key = cmd.substring(1,i-1); // schneidet vom Key das letzte Zeichen ab. Hier die Ursache ...(1,i-1). Müsste heißen ...(1,i);
    127 String val = cmd.substring(i+1,cmd.length()); // das Gleichheitszeichen wird als Value mit übertragen. Müsste heißen ..(.i+2...


    Die Daten kommen nun durch die meine Änderungen fehlerfrei in der Funktion "void newValue(String key, String val)" an. Leider suche ich von hier aus immer noch die Verbindung zum Display.


    Trotzdem liefert auch die Funktion send "TestData() " keine Daten an das Display .

    Der Compiler läuft problemlos, bis auf die angezeigten Warnungen wegen "SPIFFS", durch.


    Hast Du eine Idee wo ich weitersuchen muss? Ich habe schon, wegen mangelnder Erfahrung, eine halbe Nachtschicht damit verbracht.:/


    Gruß

    Helmut