Duet 3 6hc and raspberry pi 3 B+ DCS not started
-
-
@bearer said in Duet 3 6hc and raspberry pi 3 B+ DCS not started:
-D /dev/spidev0.1
pi@duet3:~/spidev-test $ RDY=35 CS=38 ; { gpio -1 mode $CS out; gpio -1 mode $RDY in; gpio -1 write $CS 1 && echo "(Pin RDY/$RDY) `gpio -1 read $RDY` should equal `gpio -1 read $CS` (Pin CS/$CS)"; gpio -1 write $CS 0 && echo "(Pin RDY/$RDY) `gpio -1 read $RDY` should equal `gpio -1 read $CS` (Pin CS/$CS)"; { ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev0.1 && echo RX should equal TX. ;} | tail -n3 | cut -b-100 ;} (Pin RDY/35) 0 should equal 1 (Pin CS/38) (Pin RDY/35) 0 should equal 0 (Pin CS/38) 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 RX should equal TX. pi@duet3:~/spidev-test $
-
-
the
spidev_test
utility test the MISO and MOSI pins from the SPI bus, so by defining them as RDY and CS you're maybe messing with the results?the white jumper is on MISO and MOSI for
spi0.0spi0.n and the red jumper is onspi0.1spi1.n so, but that doesn't really matter as your previous run showed RDY and CS is okay (so the white jumper is less important in the context of testingspi0.1spi1.n)Leave wires as is (on the last picture), reboot pi to ensure any settings to the GPIO pins are cleared and run
sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev0.0
to test MISO/MOSI from spi0.0. (white wire) and
sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev0.1
sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev1.2
to test MISO/MOSI from
spi0.1spi1.2. (red wire)?Either your enviroment or your hardware is failing the SPI loopback test as it stands now. The first line will test MISO/MOSI from spi0.0 and the last line will test MISO/MOSI from
spi0.1spi1.2 - ignoring RDY/CS for now. -
Hmm, spidev0.1 won't work. that is still the same spi bus, but CE1 instead of CE0.
To also enable the auxiliary SPI device (three slave selects) add the line dtoverlay=spi1-3cs to /boot/config.txt.
in other words
echo dtoverlay=spi1-3cs | sudo tee -a /boot/config.txt && sudo reboot
and run
sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev1.2
(the .2 part only signifies it should use BCM pin 16 (physical pin 36 for CE)then it should allow testing the other SPI bus, (sorry for the confusion, I must have misunderstood the devicetree stuff for that as I've been using that spibus only with an custom overlay for the intended chip, which doesn't seem to create a device node but still works.)
-
@bearer said in Duet 3 6hc and raspberry pi 3 B+ DCS not started:
should
pi@duet3:~ $ sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev1.2 spi mode: 0x0 bits per word: 8 max speed: 8000000 Hz (8000 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 | ................................ pi@duet3:~ $
-
@Macgyver1307 I'm not sure what would cause that to fail on both SPI ports, which is why I dragged out the logic analyzer and double checked the test setup, and its does work both with the software and the hardware.
It could be there is something wrong with the Raspberry Pi image, but given you used the DuetPi image that is pre-configured it shouldn't matter.
If the rPi4 doesn't work come Tuesday, you're best bet is probably to either download the DuetPi image afresh - or you can get a jump on it now if you can find the inclination to do so.
pi@duet3:~ $ sudo ~/spidev-test/spidev_test -v -s 8000000 -D /dev/spidev1.2 spi mode: 0x0 bits per word: 8 max speed: 8000000 Hz (8000 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 | 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 | ......@....▒..................▒. pi@duet3:~ $
-
yeah crazy it's not working. the sd card is the one from the duet 3 box I got last week. my duet 3 is working in standalone mode for the moment. this pi had a gpio header touch screen the image before I used it as a duet pi. the question is do I wait till Tuesday with the new PI 4 and just try the sd card in it or do I flash a new complete fresh start on it?
-
@Macgyver1307 hard to say, it won't take long to test the same card, and it'll give you an indication as to weather or not the issue is the Pi or the card - on the other hand, you could get the same answer by just formatting the card and getting a fresh image. I guess it comes down to what you feel like spending your time on
-
New pi came in today and I reloaded a fresh image and the issue is resolved ! Thank you for your help !
-
@Macgyver1307 good to hear it got sorted! curious; did you try without a fresh image, or try the fresh image in the old rPi? (i.e was the problem the pi?)
-
so the problem was the image > I redid the pi3 with a fresh image also and the pins worked. but I'm running the pi 4 on my duet 3!
-
hm, thats interesting - you wouldn't happen to have the old card or have made an image of it? would love to dissect it to try and figure out what went wrong.
-
Sorry . But I formatted it to put the new image when I got the new pi working . I thought that I had some time and could do the same flash as the new card and pi and it’s crazy it worked . I did use the pi lite image this time compared to the one that was shipped with the board. Maybe that was it ?
-
lite or not shouldn't make a difference, they do have different dates for some reason - but both images seems to have functional SPI.
oh well, no point in beating a dead horse.