WS2812B-Wifi Matrix - Probleme beim Programm

Hallo zusammen,

ich habe gerade ein Projekt am Laufen und brauche Eure Hilfe.

Es geht um eine 8 Zeilige WS2812B-Led Matrix mit jeweils 60 Leds in einer Zeile.

Darauf wird mithilfe eines Arduino MKR1000 ein Text angezeigt.
Das Ganze läuft wie folgt ab:
Der MKR1000 erzeugt einen Access Point auf den mit jedem Wlan fähigen Gerät zugegriffen werden kann.
Beim Aufrufen einer Ip-Adresse auf dem Endgerät erscheint eine Webseite, über die man Text, Farbe und Modus wählen/eingeben kann. (unten)
Je nach gewähltem Modus erscheint nun der Text entweder als scroll-Text, ein zentriertes Wort oder die einzelnen Wörter jeweils zentriert.

Benutzt werden die Libraries:

StringSplitter.h

WiFi101

Adafruit-GFX-Library

Adafruit_NeoMatrix

Adafruit_NeoPixel

Nun habe ich folgendes Problem:
Nach einer längeren Laufzeit (30 min +) stürzt der Arduino ab, bzw. der Text bleibt stehen,
und der Arduino ist nicht kontaktierbar.

Auch wenn ich zwischen den Modi wechsle kommt es öfters zu einem Absturz.
Vor allem wenn in den Wort-für-Wort-Modus gewechselt wird.
Manchmal funktioniert es nach dem Wechseln aber -für eine Weile.

Die serielle Ausgabe sieht bei einer funktionierenden Anfrage so aus:
Satrtausgabe:

SSID: LED-Matrix
IP Address: 192.168.1.1
signal strength (RSSI):-100 dBm
To see this page in action, open a browser to http://192.168.1.1
Device connected to AP, MAC address: F0:0:00:BB:0A:0B

Wenn nun auf der Webseite in diesem Fall "Scrollen mit Standartfarben" ausgewählt wird...

new client
GET /?Text=Hallo&Farbe=%23ff0000&action=0 HTTP/1.1
Host: 192.168.1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.1/
Connection: keep-alive
Upgrade-Insecure-Requests: 1

client disconnected weiterverarbeitung beginnt:
GET /?Text=Hallo&Farbe=%23ff0000&action=0 HTTP/1.1
Text=Hallo&Farbe=%23ff0000&action=0 HTTP/1.1
Text1: Hallo
Text: Hallo
starte Farbe suche
1.Teil abgeschlossen: Farbe=%23ff0000
Farbe: %23ff0000
Farbe: #ff0000
red is 255
green is 0
blue is 0
Knopf: 0
-30
Verarbeitung abgeschlossen !

Und so, wenn es zu einem Absturz kommt:

new client
GET /?Text=Hallo&Farbe=%23ff0000&action=4 HTTP/1.1
Host: 192.168.1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.1/?Text=Standtext&Farbe=%23ff0000&action=2
Connection: keep-alive
Upgrade-Insecure-Requests: 1

client disconnected weiterverarbeitung beginnt:
GET /?Text=Wort+f%FCr+Wort&Farbe=%23ff0000&action=4 HTTP/1.1
Text=Wort+f%FCr+Wort&Farbe=%23ff0000&action=4 HTTP/1.1
Text1: Wort+f%FCr+Wort
Text: Wort f%FCr Wort
starte Farbe suche
1.Teil abgeschlossen: Farbe=%23ff0000

Die Daten werden über /GET in dieser Form übertragen:

"GET /?Text=Hallo&Farbe=%23ff0000&action=0 HTTP/1.1"

Deshalb wird dieser String mit dem String-Splitter-Libary zerteilt.

Ich frage mich ob das String-Splitter-Libary daran schuld ist, oder ob es komplikationen mit den WiFi101 gibt?

Ich hoffe ihr versteht mein Programm und könnt mir helfen.

LG
Simon

Die Webseite:

<font color=yellow face=Thaoma>
<title>LED-Matrix</title>
<center><h1>---  LED-MATRIX  ---</h1></center>

</font></head><body bgcolor=darkblue>
<font color=yellow face=Thaoma><center>
<p>Geben sie hier Text und/oder Farbe ein um zu scrollen !</p>
<form>
<strong><label for=Text>Text: </label>


<input id=Text name=Text maxlength=200>


<label for=Farbe>Farbe: </label>


<input type=color name=Farbe value=#ff0000>
</strong>



<center>
<button name=action style=BACKGROUND-COLOR:yellow value=0>Scrollen mit Standardfarben</button>
<button name=action style=BACKGROUND-COLOR:orange value=1>Scrollen mit eigener Farbe</button>


<button name=action style=BACKGROUND-COLOR:purple value=2>Standtext mit Standardfarben</button>
<button name=action style=BACKGROUND-COLOR:red value=3>Standtext mit eigener Farbe</button>


<button name=action style=BACKGROUND-COLOR:green value=4>Wort f. Wort Standardfarben</button>
<button name=action style=BACKGROUND-COLOR:gray value=5>Wort f. Wort mit eigener Farbe</button>


</center>
</form>
<font SIZE=-5>
<label for=Farbe>Version: 3.1.0 </label>
</font>
</main>

arduino_secrets.h (63 Bytes)

Programm_final_V.4.1.2.ino (15.2 KB)