Skip to main content

The PiFace Digital I/O module.

Project description

pifacedigitalio
===============
The PiFace Digital Input/Output module ([PyPI](https://pypi.python.org/pypi/pifacedigitalio/)).


Documentation
=============

[http://piface.github.io/pifacedigitalio/](http://piface.github.io/pifacedigitalio/)

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

/usr/share/doc/python3-pifacedigitalio/

Install
=======

Make sure you are using the lastest version of Raspbian:

sudoaptgetupdate sudo apt-get upgrade

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

sudoaptgetinstallpython,3pifacedigitalioTestbyrunningtheblink.pyprogram: python3 /usr/share/doc/python3-pifacedigitalio/examples/blink.py
Change Log
==========

v3.0.5
------
- Added PiFace Digital Emulator installation instructions to the docs.

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

v3.0.3
------
- Added documentation for simplewebcontrol.py.

v3.0.2
------
- Added bus and chip_select to deinit.

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

v3.0.0
------
- Updated for compatibility with pifacecommon v4.0.0 (which uses the MCP23S17
class).
- 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
appropriate.
- Updated examples to reflect new changes.
- See the docs (particularly the examples) for more information.

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

v2.0.3
------
- Interrupts now work for multiple boards.

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

v2.0.1
------
- Added version number to source.

v2.0.0
------
- Using new interrupt API (check the docs).

v1.2.1
------
- Supports Python 2.
- Started using semantic versioning http://semver.org/.

v1.2
------
- Started using a change log!
- Removed install.sh, everything is now handled by setup.py.
- Updated docs.
- Added some examples.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page