http://www.netzmafia.de/skripten/hardw…/RasPi_SPI.html
Scheint SARS-CoV-2 bedingt in letzter Zeit viele Ambilight Probleme zu geben. Viele Ambilighter, oder solche die es werden wollen, haben nicht die passenden Messgeräte.
Für alle, die testen wollen, ob an pin 19 (MOSI) und pin 21 (MISO) überhaupt ein signal raus - bzw. reinkommt hier ein simpler Test: (kopiert aus der obigen url)
Für einen ersten Test können Sie den Loopbacktest verwenden. Dazu werden die Pins MOSI und MISO mit einem jumper (Drahtbrücke) verbunden. Laden Sie sich die aktuelle Version des Testprogramms auf den Raspberry und compilieren Sie es:
wget https://raw.githubusercontent.com/torvalds/linux/master/tools/spi/spidev_test.c
gcc -o spidev_test spidev_test.c
Danach starten Sie das Programm
./spidev_test -D /dev/spidev0.0 -v
Ohne den jumper zwischen pin 19 (MOSI) und pin 21 (MISO) erscheint folgender output:
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D |......@.........................|
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................................|
Mit jumper zwischen pin 19 (MOSI) und pin 21 (MISO) sind die Zeilen TX und RX gleich
Das Programm bietet zahlreiche Kommandozeilenoptionen:
-D --device device to use (default /dev/spidev1.1)
-s --speed max speed (Hz)
-d --delay delay (usec)
-b --bpw bits per word
-l --loop loopback
-H --cpha clock phase
-O --cpol clock polarity
-L --lsb least significant bit first
-C --cs-high chip select active high
-3 --3wire SI/SO signals shared
-v --verbose Verbose (show tx buffer)
-p Send data (z.B. 1234\xde\xad)
-N --no-cs no chip select
-R --ready slave pulls low to pause
-2 --dual dual transfer
-4 --quad quad transfer
Alles anzeigen
Wenn die TX line identisch zur RX line ist kann man davon ausgehen, dass SPI funktioniert.
Auf einem pi3 B+ mit stretch getestet. Auch auf pi4 4GB mit buster.
Ergänzend noch ein link ins Forum um weitere SPI devices (mit neuen pins) zu erhalten.
MOSI wird dann pin 38 und SCLK pin 40. Testen wie oben beschrieben, dann allerdings mit /dev/spidev1.0
RE: GPIO Nutzung ändern in Hyperion (Pin 35 ist dann MISO)
hth
Leroy