Reputation: 33
When using py-spidev, if I set the flag spi.threewire=True I get a response similar to this one:
Traceback (most recent call last):
File "program.py", line 1333, in <module> transferRead("MUXOUT", 0)
File "program.py", line 132, in transferRead resp = spi.xfer2([regW, 0]) # response from register
OSError: [Errno 22] Invalid argument.
I'm using a Raspberry Pi to control multiple SPI devices. One of the devices communicates successfully with with spi.threewire=False (implying that the rest of my code/workflow is functioning correctly), but another device shares the SI/SO signals and requires spi.threewire=True.
Any recommendations? Could this be an issue with py-spidev or possibly the kernel?
(Note that the RPi 4B has the BCM2711, not BCM2835)
Thank you,
Jonathan
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
pi@raspberrypi:~ $ cat /proc/cpuinfo | grep Model Model : Raspberry Pi 4 Model B Rev 1.2
pi@raspberrypi:~ $ cat /proc/cpuinfo | grep Revision Revision : c03112
pi@raspberrypi:~ $ modinfo spi-bcm2835 filename: /lib/modules/4.19.118-v7l+/kernel/drivers/spi/spi-bcm2835.ko license: GPL v2 author: Chris Boot <[email protected]> description: SPI controller driver for Broadcom BCM2835 srcversion: CC0CA8084657816640759C9 alias: of:N*T*Cbrcm,bcm2835-spiC* alias: of:N*T*Cbrcm,bcm2835-spi depends: intree: Y name: spi_bcm2835 vermagic: 4.19.118-v7l+ SMP mod_unload modversions ARMv7 p2v8
pi@raspberrypi:~ $ python3 Python 3.7.3 (default, Dec 20 2019, 18:57:59) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.
Upvotes: 0
Views: 512
Reputation: 33
For future reference, see the helpful discussion here on GitHub.
Upvotes: 1