Can anybody definitively say if the "PiFace Digital 2" is compatible with the "Raspberry Pi Zero W rev 1.1" or not ?
I cannot find any Information on the web - besides a mention in a Book behind a paywall: https://subscription.packtpub.com/book/hardware_and_creative/9781786463852/7/ch07lvl1sec88/interfacing-the-piface-with-the-rpz
The error message i get from python is:
pifacedigitalio.core.NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
I've tried everything I could find on the web, including:
- different raspberian versions from lenny to buster
- confirmed that spi is enabled
- checked the jumpers on piface
- different versions of pifacecommon (github, pip- & raspberian-packages)
- different spi frequencies as described here: https://github.com/piface/pifacecommon/commit/d4c568926e49dc75a983e2fed41b79ebf317b10d?diff=unified
- checked syslog for any error-messages
As @Dougie suggested:
root@smoakpi:/home/pi# git clone https://github.com/piface/pifacecommon.git Cloning into 'pifacecommon'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (12/12), done. remote: Total 669 (delta 4), reused 3 (delta 0), pack-reused 657 Receiving objects: 100% (669/669), 304.56 KiB | 682.00 KiB/s, done. Resolving deltas: 100% (368/368), done. root@smoakpi:/home/pi# cd pifacecommon/ root@smoakpi:/home/pi/pifacecommon# python python python2 python2.7 python3 python3.7 python3.7m python3m root@smoakpi:/home/pi/pifacecommon# python setup.py install running install running build running build_py creating build creating build/lib.linux-armv6l-2.7 creating build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/interrupts.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/core.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/spi.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/asm_generic_ioctl.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/mcp23s17.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/__init__.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/version.py -> build/lib.linux-armv6l-2.7/pifacecommon copying pifacecommon/linux_spi_spidev.py -> build/lib.linux-armv6l-2.7/pifacecommon running install_lib creating /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/interrupts.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/core.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/spi.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/asm_generic_ioctl.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/mcp23s17.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/__init__.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/version.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon copying build/lib.linux-armv6l-2.7/pifacecommon/linux_spi_spidev.py -> /usr/local/lib/python2.7/dist-packages/pifacecommon byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/interrupts.py to interrupts.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/core.py to core.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/spi.py to spi.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/asm_generic_ioctl.py to asm_generic_ioctl.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/mcp23s17.py to mcp23s17.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/__init__.py to __init__.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/version.py to version.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacecommon/linux_spi_spidev.py to linux_spi_spidev.pyc running install_egg_info Writing /usr/local/lib/python2.7/dist-packages/pifacecommon-4.2.2.egg-info root@smoakpi:/home/pi/pifacecommon# cd .. root@smoakpi:/home/pi# git clone https://github.com/piface/pifacedigitalio.git Cloning into 'pifacedigitalio'... remote: Enumerating objects: 756, done. remote: Total 756 (delta 0), reused 0 (delta 0), pack-reused 756 Receiving objects: 100% (756/756), 1.05 MiB | 856.00 KiB/s, done. Resolving deltas: 100% (372/372), done. root@smoakpi:/home/pi# cd pifacedigitalio/ root@smoakpi:/home/pi/pifacedigitalio# ls CHANGELOG COPYING docs examples MANIFEST.in pifacedigitalio README.md requirements.txt setup.py tests.py root@smoakpi:/home/pi/pifacedigitalio# python setup.py install running install running build running build_py creating build creating build/lib.linux-armv6l-2.7 creating build/lib.linux-armv6l-2.7/pifacedigitalio copying pifacedigitalio/core.py -> build/lib.linux-armv6l-2.7/pifacedigitalio copying pifacedigitalio/__init__.py -> build/lib.linux-armv6l-2.7/pifacedigitalio copying pifacedigitalio/version.py -> build/lib.linux-armv6l-2.7/pifacedigitalio running install_lib creating /usr/local/lib/python2.7/dist-packages/pifacedigitalio copying build/lib.linux-armv6l-2.7/pifacedigitalio/core.py -> /usr/local/lib/python2.7/dist-packages/pifacedigitalio copying build/lib.linux-armv6l-2.7/pifacedigitalio/__init__.py -> /usr/local/lib/python2.7/dist-packages/pifacedigitalio copying build/lib.linux-armv6l-2.7/pifacedigitalio/version.py -> /usr/local/lib/python2.7/dist-packages/pifacedigitalio byte-compiling /usr/local/lib/python2.7/dist-packages/pifacedigitalio/core.py to core.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacedigitalio/__init__.py to __init__.pyc byte-compiling /usr/local/lib/python2.7/dist-packages/pifacedigitalio/version.py to version.pyc running install_egg_info Writing /usr/local/lib/python2.7/dist-packages/pifacedigitalio-3.1.0.egg-info root@smoakpi:/home/pi/pifacedigitalio# python examples/blink.py Traceback (most recent call last): File "examples/blink.py", line 9, in pifacedigital = pifacedigitalio.PiFaceDigital() File "/usr/local/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 82, in __init__ self.init_board() File "/usr/local/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 107, in init_board h=self.hardware_addr, b=self.bus, c=self.chip_select)) pifacedigitalio.core.NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
Update:
Did that same as above on a Raspberry Pi 3b and it just worked - so there are two options - pi zero is not compatible or my pi zero is broken