Problem mit currtentLine.replace

Wie meinst du, dass du das nicht beschreiben willst? Also ich habe das wirklich nicht verstanden, wo der Fehler sein soll. Wäre hilfreich, wenn mir jemand einen Tipp gibt.

Na gib doch einfach die Zeile aus, wenn das replace erfolgt ist!
Ich kann es nicht beschreiben, das jemand ein replace macht und "vergisst" die Zeile auszugeben.

Ich habe oben Deinen Code drin.
In der letzten Zeile ist die Ausgabe zusätzlich eingefügt. Nicht mehr und nich weniger.

Hast Du meinen vorgestellten Code ausgeführt?
Geht? Geht nicht? Kommt nicht raus, was Du willst? Was dann?

Komm mit Infos. .replace geht. Das Ergebnis siehst Du in meiner Ausgabe.

Also ich bekomme beim Hochladen deines Codes schonmal einen Fehler, was mich nervt:

Der Sketch verwendet 6301 Bytes (12%) des Programmspeicherplatzes. Das Maximum sind 48640 Bytes.
Globale Variablen verwenden 193 Bytes (3%) des dynamischen Speichers, 5951 Bytes für lokale Variablen verbleiben. Das Maximum sind 6144 Bytes.
Beim Hochladen des Sketches ist ein Fehler aufgetreten
avrdude: Short read, read only 0 out of 64 bytes
avrdude: jtag3_edbg_recv(): Unexpected response 0x00
avrdude: retrying with external reset applied
avrdude: jtag3_edbg_send(): Unexpected response 0x81, 0x11
avrdude: jtag3_edbg_recv(): Unexpected response 0x80
avrdude: retrying with external reset applied
avrdude: JTAGEN fuse disabled?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: jtag3_edbg_send(): Unexpected response 0x81, 0x11
avrdude: jtag3_edbg_recv(): Unexpected response 0x80
avrdude: jtag3_edbg_send(): Unexpected response 0x81, 0x11
avrdude: jtag3_edbg_recv(): Unexpected response 0x80
avrdude: jtag3_edbg_signoff(): unexpected response 0x81, 0x11
avrdude: jtag3_edbg_signoff(): unexpected response 0x01, 0x00
Ungültige Bibliothek C:\Users\PK\Documents\Arduino\libraries\WiFiNINA in keine Header-Dateien (.h) in C:\Users\PK\Documents\Arduino\libraries\WiFiNINA gefunden gefunden

Dann ist der Code erst mal ok, denn der Compiler hat ihn gefressen.
Das Problem liegt dann eher bei Deiner Verbindung zum MC.

Gruß Tommy

Moment.
Da steht:
Ungültige Bibliothek

C:\Users\PK\Documents\Arduino\libraries\WiFiNINA in keine Header-Dateien (.h) in C:\Users\PK\Documents\Arduino\libraries\WiFiNINA gefunden gefunden

So und nu Du!
Das war DEIN Code. Der ist nur um eine Zeile - zur Ausgabe - erweitert.

Aber ich kann Dich beruhigen, denn die Suchmaschine der schlechtesten Wahl, findet auch sowas.
https://www.google.com/search?channel=fs&q="avrdude%3A+Short+read%2C+read+only+0+out+of+64+bytes"

Ja ungültigie Bibliothek... Und was soll ich dagegen tun?

Da

suchen?

Das ist Dein Rechner, ich weiss nicht, was Du da hast!

Ungeachtet dessen, hast Du der Suuchmaschine entlocken können, was Dein Problem ist?

Ne da ist keine Lösung drin in der Suchmaschine

Aber wieso kompiliert der fertig und mault bem Hochladen wegen einer fehlenden Lib? Das ist ja total unüblich oder wird dieses WiFiNINA-Dingens ectra hochgeladen? Von dem Dingen liest man auch wenig Gutes.

Gruß Tommy

Also, zurück zum Thema (das Hochladen hat jetzt geklappt, nachdem ich den Rechner 5x neugestartet habe):

Wenn ich den Code von my_xy_projekt

String currentLine = "GET /M[%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2235%22,%20%2214%22,%20%227%22,%20%2232%22,%20%2229%22,%20%2231%22,%20%2241%22,%20%226%22,%20%22[]%22] HTTP/1.1";

void setup()
{
  Serial.begin(115200);
  Serial.println(F("Start..."));
  Serial.println(F("\nProgrammstart"));
  Serial.println(currentLine.indexOf('['));
  Serial.println(currentLine.lastIndexOf(']'));
  Serial.println(currentLine);
  currentLine = currentLine.substring(1 + currentLine.indexOf("["), currentLine.lastIndexOf(']'));
  Serial.println(currentLine);
  currentLine.replace("%22", "");
  currentLine.replace("%20", "");
  currentLine.replace(",[]", "");
  Serial.println(currentLine);
}
void loop()
{
}

hochlade, erhalte ich im Serial Monitor:

Start...

Programmstart
6
167
GET /M[%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2235%22,%20%2214%22,%20%227%22,%20%2232%22,%2*⸮⸮⸮⸮*⸮⸮b*⸮⸮*⸮⸮⸮⸮*⸮⸮b*⸮⸮*⸮⸮⸮⸮*⸮⸮b*⸮⸮*⸮⸮⸮*⸮⸮b*⸮⸮*⸮⸮⸮u⸮22] HTTP/1.1
%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2⸮⸮S⸮⸮b*⸮⸮*⸮⸮⸮⸮*⸮⸮b*⸮⸮*⸮⸮⸮*22,%20%2232%22,%20%2229%22,%20%2231%22,%20%2241%22,%20%226%22,%20%22[]%22
%225%22,%2215%22,%229%22,%2230%22,%2219%22,%2235%22,%2214%22⸮⸮⸮⸮*⸮⸮b*⸮⸮⸮⸮*⸮⸮b*⸮⸮⸮⸮*⸮⸮b*⸮⸮⸮⸮*⸮⸮b*⸮⸮⸮⸮*⸮⸮b*⸮⸮⸮*⸮⸮b*⸮⸮⸮u⸮22

Ne, da steht was in dem Verzeichnis drin, was da nicht hingehört und/oder unvollständig ist.
Ich sag mal: Wild rein kopiert. :wink:

Das, was da drin steht, hat mit dem Code ansich nichts zu tun. Das Gemecker ist nur ein Hinweis, das mal sauber gemacht werden soll.

Hast Du den Seriellen Monitor auch so eingestellt, wie er im Code festgelegt ist?
Ja/Nein/weiss ich nicht?
Bitte nicht beides ankreuzen..

Na denn. Es wird.
Hinweis!!! #11
11!

So schaut das aus bei mir:
Der serielle Monitor ist richtig eingestellt.

Du hast ein Problem mit Deiner Kiste und der Kommunikationsschnittstelle.

Entweder ist das Board hin oder irgendwas funkt Dir in die Kommunikation auf PC-Seite.

Ich habe seit mindestens 24 Monaten eine Windows-Kiste nicht neu booten müssen, auf der ich nur Code übertrage. IDE aufrufen, Sketch im Netzwerklaufwerk suchen, richtiges Board auswählen, übertragen, Ruhezustand, basta.

Du hast ein Problem auf der Schnittstelle:

Schliesslich schmiert das ab und zeigt Dir nicht, was da noch kommt.
Nimm ein anderes Board.
Der Code benötigt keine lib und läuft auf allem, was nach Arduino klingt.

Hm ok scheisse :smiley:
Ein neues Board ist teuer, aber gut, wenn du meinst, dass es wirklich hin ist...

Dann wundert mich auch nix mehr. Weil die Fehler, die ich bekomme, sind einfach nicht logisch nachvollziehbar.

Also ein neues Board liefert folgendes:

D.h. es kommt immer noch nicht das gewünschte Ergebnis heraus. Wieso nur?
%20 wird ja ersetzt, aber %22 nicht

Hier auch das Problem nochmal etwas genauer:

Ist mir völlig unverständlich, wo da das Problem sein soll^^

Da hat ja schon vorher das subString nicht funktioniert. Gehe doch einfach mal schrittweise vor und stelle Text als Text in Codetags und nicht als blödes Bild hier ein. Das verdeckt eine Warnung.

Gruß Tommy

Hallo,
sehe ich anders , das ist doch der String zwischen den [...] das scheint doch zu klappen.
ich hab ehr den Verdacht das mit der Zeile
currentLine.replace("%22", "");
etwas nicht stimmt und ein unsichtbares Zeichen mit drin ist, wiso keine Ahnung , jedenfalls scheint die Zeile ja nicht zu greifen.
Lösch die Zeile mal komplett und gib sie neu ein.

bau jeweils noch ein

Serial.println(currentLine);

ein
Heinz

Ok Danke, ja könnte sein, ich teste es mal. Weil er macht ja alles, nur das %22 nicht. %20 ersetzt er ja... Deshalb ist es höchst seltsam.