Commit Graph

61 Commits

Author SHA1 Message Date
Andrew Scheller
741a8ec7f3 More small MockPin tweaks 2016-02-21 01:24:10 +00:00
Andrew Scheller
c0d70f35f6 MockPin improvements
Change MockPin (and MockPWMPin) to make them behave more like 'real' pins - fixes #206
Add new MockPin tests, and rework some of the existing ones
Incorporate #216
2016-02-21 00:35:01 +00:00
Dave Jones
80dfee5c3f Merge pull request #211 from lurch/patch-2
RPiGPIOPin fixups
2016-02-20 17:51:11 +00:00
Dave Jones
50964a41ec Merge pull request #214 from lurch/patch-4
MockPin fixups
2016-02-20 17:41:46 +00:00
Andrew Scheller
768a27a71b MockPin fixups
* alter the PinSetInput exception message to match other `Pin` implementations
* constrain the state of MockPin to a `bool`, and the state of MockPWMPin to a `float`
* allow MockPin to have a `None` frequency set, matching the docs http://gpiozero.readthedocs.org/en/latest/api_pins.html#gpiozero.pins.Pin.frequency
2016-02-20 17:32:11 +00:00
Andrew Scheller
c878b20bcc NativePin fixups
* rename FUNCTION / PULL / EDGES dictionaries so that they better-match the other `Pin` implementations
* throw `PinSetInput` if trying to set the state of an input pin
2016-02-20 17:15:34 +00:00
Andrew Scheller
9883cf901a RPiGPIO fixups
* Imported missing exceptions
* Corrected wrong PinInvalidValue exception
* GPIO.PWM is a class (GPIO.HARD_PWM is the constant)
* GPIO.setup only supports setting input and output modes https://sourceforge.net/p/raspberry-gpio-python/code/ci/default/tree/source/py_gpio.c#l264
2016-02-20 15:37:13 +00:00
Dave Jones
aebe42875d Fix #180 - Add support for pigpio 2016-02-12 20:14:10 +00:00
Dave Jones
1f2140a9f5 Work on #87
Implement a test suite, including Travis-CI integration
2016-02-11 21:11:22 +00:00
Dave Jones
b4a8273472 Bump version and update changelog for 1.1
Includes some last minute changes too
2016-02-08 23:37:13 +00:00
Dave Jones
8e0c6e243b Refactor low level implementation
This commit is a fairly major piece of work that abstracts all pin
operations (function, state, edge detection, PWM, etc.) into a base
"Pin" class which is then used by input/output/composite devices to
perform all required configuration.

The idea is to pave the way for I2C based IO extenders which can present
additional GPIO ports with similar capabilities to the Pi's "native"
GPIO ports. As a bonus it also abstracts away the reliance on the
RPi.GPIO library to allow alternative pin implementations (e.g. using
RPIO to take advantage of DMA based PWM), or even pure Python
implementations.
2016-02-08 14:54:18 +00:00