Speicherproblem?
Erstmal Danke für die Initiative und den ganzen SourceCode für die Copterbeleuchtung!
Eigentlich wollte ich gerne zusätzliche Modi beitragen, allerdings bin ich schon deutlich früher steckengeblieben. Ich habe WS2811-LED-streifen (60LEDs/m), die ich mit meinen eigenem Programm auf einem Arduino Nano wunderbar ansteuern kann.
Leider habe ich mit Deinem Code weder Terminal-Mode noch GUI zum Laufen bekommen. Erst nach langem bin ich darauf gestossen, was das Problem ist: Es wird wohl zuviel Speicher verwendet, sodass bei Einstellungen (z.B. 4 Arme mit jeweils 20LEDs) das Programm sich wohl selbst den Heap überschreibt.
Im GUI-Mode sind das die 3 Puffer mit 512 Bytes jeweils, die vermutlich für die Checksum-Berechnung verwendet werden?
Im Terminal-Modus vermute ich, es ist die SerialCommand-Bibliothek, die beim Realloc nicht testet, ob noch Speicher zur Verfügung steht.
Einfacher test im GUI-Modus:
#define NUM_ARMS 4
#define LEDS_PER_ARM 20
Hast Du eine schnelle Idee, wie der Speicherbedarf für den GUI-Modus runterschrauben könnte, ich habe mir die Verwendung der Puffer im GUI-Modus nicht genauer angeschaut? Ein schneller Test mit 256 B pro Puffer geht bis 15 LEDs bei 4 Armen noch gut, dann reicht aber wohl der Puffer nicht mehr aus.
Johannes