NeoPixel flackert

Der Versionswechsel auf V2.0.4 scheint nur ein Nebeneffekt zu sein. Mit 2.0.4 habe ich in platformio.ini

board_build.flash_mode = qio
board_build.bootloader = dio

gesetzt und das scheint der Punkt zu sein, auch für V1.0.6

@Wolle Was ist denn anders, wenn du die Sachen setzt? Kein Knacken mehr?

Wenn ich es richtig verstanden habe beschleunigt das den SPI Zugriff. Gilt das auch für die Anwendungen?
Du hast das ja auch bei deinem Webradio benutzt

Bei der Arduino Version 2…0.4 ist „dio“ Pflicht, sonst gibt es Abstürze in der Dauerschleife. Und danach war bei mir das Knistern weg. Und ich glaube das macht den Unterschied, nicht die Arduino Version. Könnt ihr das bestätigen?

Ich hatte erst den Eindruck, dass die Probleme weg sind aber offenbar doch nicht. Aber scheint bisschen besser zu sein mit diesen Settings.
Was sie genau machen habe ich noch nicht verstanden :thinking:

Also in meinem Falle scheint das Problem tatsächlich vom IDC-Konnektor zu kommen. Heute kamen die Platinen an, bei denen ein 6poliger JST-PH-Konnektor verwendet wird. Probleme weg.

seltsam , hatte das nie und ich habe auch in der Anfangsphase nie besonders auf die Verkabelung geachtet und auch ca. 25cm lange Kabel benutzt bevor ich sie für die Boxen passend gekürzt habe. Aber wenn es jetzt weg ist… Hat sonst jemand meine Boards benutzt und ähnliche Erfahrungen gemacht ?
VG

Der Punkt ist halt, dass es mit UDA1334 und PCM5102 nicht auftritt. Nur mit MS6234.
Ich hatte auf der neuen Platine zur Sicherheit mal Koppel-Widerstände auf dem i2s-Bus eingeplant, aber funktioniert auch mit 0 Ohm ordentlich.

Gibts denn Neuigkeiten zum Flackern? Ist die Lösung eher eigener Core oder andere Library?
Mein Neopixelring ist heute gekommen und das Flackern ist mir auch recht schnell aufgefallen. :wink: Gefühlt wird es stärker, je weiter der Fortschritt im Track ist.

Aber die Visualisierung per Led-Ring gefällt mir allgemein schon sehr gut. Coole Idee. :+1: Die fehlende Rückmeldung was gerade los ist ist eine zentrale Sache, die mir beim Tonuino fehlt. :slight_smile:

Das Wechseln auf einen anderen Core hat bei denjenigen, die es getestet haben, auf jeden Fall das Problem behoben. Kannst es ja mal testen.

Mein ESP32- und C++-Wissen kann ich allenfalls als oberflächlich beschreiben. :wink:
@compactflash Hast du was zum copy n pasten?

Du könntest auch einmal den letzten FastLED-master testen:

Um FastLED war es lange ruhig weil der Autor Anfang des Jahres durch einen Unfall gestorben ist. Jetzt hat sich wohl jemand gefunden der all die aufgelaufenen Pull-Request bearbeitet hat. In den letzten Tagen wurden massig Fehlerkorrekturen eingepflegt .
Ob für uns etwas dabei ist kann ich gerade nicht testen.

Einfach in Platform.ini das Pinning entfernen:

lib_deps =
 ..
  https://github.com/FastLED/FastLED.git
..

Gibt es Verbesserungen/ weniger Flackern?

1 „Gefällt mir“

Danke für den Tipp. Muss ich das wirklich nur entfernen und der aktuelle git-Stand von FastLed wird automatisch gezogen?

Ich bilde mir ein, dass das Flackern nun anders ist, aber es ist definitiv noch da. Ich wollte nun den Vergleich und hab das Pinnning wieder hinzugefügt, aber beim Kompilieren kommt die selbe Ausgabe im Dependencygraph wie ohne Pinning, nämlich FastLED @ 3.5.0+sha.c1af16e. Ich nehme an, das hinter sha ist ein Commit. Ich weiß nicht, was da stand, bevor ich das Pinning raus genommen habe, weil so weit kann ich im Terminal nicht zurück scrollen. Muss ich einen Lib-Ordner oder so löschen, um das „zurück zu setzen“? Im Projektpfad habe ich nix gefunden.

Edit: Ah, hab den Ordner gefunden. Ist in <ProjektRoot>/.pio/libdeps. .pio war versteckt, deshalb habe ich ihn nicht auf Anhieb gefunden.
Den FastLed-Ordner habe ich gelöscht. Beim darauf folgenden Kompilieren steht im Dependencygraph jedoch wieder FastLED @ 3.5.0+sha.c1af16e. Insofern scheint es kein Unterschied zu machen ob mit oder ohne Versionspinning.

Edit2: Ich dödel sehe jetzt erst, dass c1af16e ja der letzte Commit von FastLed ist. Komisch, dass der Commit auch genommen wird, wenn auf 3.5.0 gepinnt ist. Das müsste eigentlich 4d73cdd sein.

Edit3: Noch bissl rumgetestet:

  • c1af16e (=latest) macht das Flackern mMn schlimmer. Dann tauchen auch im Leerlauf nach dem Starten schon Flackereien auf
  • ich habe zum Spaß noch 2fe6aeb (= 3.4.0) ausprobiert und keinen Unterschied zu 4d73cdd (=3.5.0) festgestellt
  • Note to myself: nicht nur Kinderlieder auf der SD-Karte haben wenn man testet. :smiley:

Also, nette Idee, hat leider keine Besserung gebracht. Aber immerhin habe ich jetzt viel zum Libraryhandling in PlattformIO gelernt.

Nachtrag:
Ich habe die Tage den Neopixel-Task in den Core 1 verschoben:

Damit sollten die Flackerprobleme behoben sein. Danke nochmal an @compactflash, der (schon vor längerer Zeit) auf diese Lösung gekommen ist.

2 „Gefällt mir“

Ich erkenne das Problem, dass beim verstellen der Lautstärke zwischen zwei Schritten kurz der Fortschritt aufblinkt (nur wenn das mehr LEDs sind) und dann direkt verschwindet.
Das ergibt ein ganz kurzes Flackern. Kann das noch jemand erkennen?

Aktuelle Revision?

Ah, ich seh gerade den commit der das beheben sollte:

Da hab ich wohl zu einem unglücklichen Zeitpunkt den Stand aktualisiert. Ich probier das aus, aber scheint die Lösung zu sein!