Skip to main content

The PiFace Digital I/O module.

Project description

The PiFace Digital Input/Output module ([PyPI](



You can also find the documentation and some examples installed at:



Make sure you are using the lastest version of Raspbian:

$ sudo apt-get update
$ sudo apt-get upgrade

Install `pifacedigitalio` (for Python 3 and 2) with the following command:

$ sudo apt-get install python{,3}-pifacedigitalio

Test by running the `` program:

$ python3 /usr/share/doc/python3-pifacedigitalio/examples/
Change Log

- Added PiFace Digital Emulator installation instructions to the docs.

- Added deinit_board method to PiFace Digital.
- Fixed bug where digital_read and digital_write would not close SPI file

- Added documentation for

- Added bus and chip_select to deinit.

- Fixed deinit bug (fixes GitHub pifacecommon issue #6).

- Updated for compatibility with pifacecommon v4.0.0 (which uses the MCP23S17
- All occurrences of `board_num` have been replaced with `hardware_addr` which
is more appropriate.
- PiFace Digital is initialised when you instantiate the object. **You do not
need to call pifacedigitalio.init() any more unless you're using digital_read
or digital_write.**
- PiFaceDigital inherits registers from MCP23S17 so you can access all the
registers on the chip. For example GPPUP:

>>> pfd = PiFaceDigital()
>>> pfd.gppub.value = 0xff
>>> pfd.gppub.bits[4].value = 1

- InputEventListener now requires that you provide a chip object, not
a hardware_addr (board_num). This defaults to PiFaceDigital(hardware_addr=0).
- Interrupt events contain a chip object representing the calling chip instead
of the hardware_addr (board_num). You can still access the
hardware_addr (board_num) like so:

>>> def my_callback(event):
... print(event.chip.hardware_addr)

- Removed LED, Relay and Switch classes. They added arbitrary restrictions and
were not very useful. `pifacecommon.mcp23s17.MCP23S17RegisterBit` is more
- Updated examples to reflect new changes.
- See the docs (particularly the examples) for more information.

- Added IODIR_FALLING_EDGE and IODIR_RISING_EDGE (pifacecommon v3.1.1).
- Added `bus` and `chip_select` optional arguments to init.

- Interrupts now work for multiple boards.

- Using package structure for version number file and consistency with
other PiFace modules.
- Updated docs with new install instructions.

- Added version number to source.

- Using new interrupt API (check the docs).

- Supports Python 2.
- Started using semantic versioning

- Started using a change log!
- Removed, everything is now handled by
- Updated docs.
- Added some examples.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pifacedigitalio-3.0.5.tar.gz (17.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page