Hallo allerseits und danke für die Aufnahme im Forum
Ausgangslage:
Ich möchte 2 Led-Strips vom Typ WS2812B (3-adrig) mit dem Raspi ansteuern.
Dafür nehme ich die .Net-Core Library Iot.Device.Ws28xx und instanziere mit new Ws2812b(spi, ledCount)
Ich habe SPI0 sowie SPI1 (dtoverlay) aktiviert und mit MOSI0 sowie MOSI1 verbunden (gemäss https://de.pinout.xyz/ ).
5V und GND laufen beide über den Raspi, meine Leds haben nur 8 und 20 Pins, somit benötige ich keine externe Stromquelle.
Ich kann beide Strips separat ansteuern, allerdings funktioniert es nur über SPI0 korrekt.
Über SPI1 werden die Leds fehlerhaft angezeigt.
Auf Github gibt es bereits einen offenen Bug, der das Problem beschreibt:
https://github.com/dotnet/iot/issues/1682
Irgendwo habe ich gelesen, dass nur SPI0 mit DMA funktioniert, SPI1 aber nicht. Daher verhält sich SPI0 nicht gleich wie SPI1.
Das erhöhen der ClockFrequency hat nur bedingt geholfen, ab dem Wert 4_600_000 ist die permanente Helligkeit zwar weg, aber es gibt dafür Pixelfehler.
Frage:
Wie kann man mehrere (2 oder 4) LedStrips vom Typ WS2812B mittels .Net Core separat ansteuern?
System:
uname -a
raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Danke für die Unterstützung und viele Grüsse
Raoul