Commit Graph

358 Commits

Author SHA1 Message Date
Andrew Scheller
87d00f9047 Replace Event.wait(0) with Event.is_set()
The functionality is identical, and IMHO the latter is much more readable
2016-05-10 15:03:28 +01:00
Andrew Scheller
c9461c50d3 Add a pwm option to the RGBLED and Motor constructors
...along with the other necessary changes required, to allow them to
optionally be used with non-PWM-capable pins
2016-05-08 18:23:30 +01:00
Dave Jones
1b7dad5fa4 Merge pull request #313 from lurch/patch-5
Add active_high parameter to LEDBarGraph's constructor
2016-05-08 11:56:51 +01:00
Dave Jones
1575863ba5 Merge pull request #312 from lurch/rgbled_pulse
Add RGBLED.pulse method
2016-05-08 11:53:14 +01:00
Dave Jones
4ff0f3f043 Merge pull request #311 from lurch/patch-4
Typo in SPISoftwareBus._shared_key
2016-05-08 11:42:59 +01:00
Dave Jones
39573a3093 Merge pull request #308 from SteveAmor/master
Corrected value of capacitor used in LightSensor
2016-05-08 11:40:13 +01:00
Dave Jones
97e873dd2e Revert "Update output_devices.py" 2016-05-08 11:39:25 +01:00
Dave Jones
714638a195 Merge pull request #301 from goloplo/patch-1
Update output_devices.py
2016-05-08 11:38:26 +01:00
Dave Jones
afc847c159 Merge pull request #307 from lurch/extra_board_tests
Add more unit tests, fix a few small bugs
2016-05-08 11:36:27 +01:00
Dave Jones
4d8e49c5b8 Merge pull request #304 from lurch/patch-2
Minor Energenie tweaks
2016-05-08 11:10:38 +01:00
Andrew Scheller
86aeab4129 Add active_high parameter to LEDBarGraph's constructor
Also adds an active_high property to LEDCollection, and fixes up some of the LEDBoard docstrings
2016-05-06 11:53:00 +01:00
Andrew Scheller
18bb3f559e Add RGBLED.pulse method
Also add timing tests to all the blink unit-tests
2016-05-04 11:14:36 +01:00
Andrew Scheller
67261e44b2 Typo in SPISoftwareBus._shared_key
It's a @classmethod, so the first parameter is cls not self
2016-05-02 19:53:33 +01:00
Steveis
191cda29c0 Another SI unit correction 2016-05-02 11:20:59 +01:00
Steveis
bdaa927279 Correct capacitance SI unit 2016-05-01 19:34:30 +01:00
Steveis
019347db26 Corrected value of capacitor used in LightSensor
CamJam kit has a 1uF capacitor in it. Plus I physically tested with the 1uF cap in my CamJam #2 kit.
2016-05-01 18:04:02 +01:00
Andrew Scheller
fddb95b84b Add more unit tests, fix a few small bugs 2016-04-30 16:47:29 +01:00
Andrew Scheller
708157c8fd Minor Energenie tweaks 2016-04-30 12:19:45 +01:00
goloplo
3e8a998661 Update output_devices.py 2016-04-28 21:07:37 +01:00
Andrew Scheller
01d5cb928f New source tools: booleanized, pre_periodic_filtered & post_periodic_filtered
Also adds extra parameter validation to the existing source tools, adds input
min and max to inverted, and adds many more source tools unit tests.
2016-04-25 10:41:27 +01:00
Andrew Scheller
9ca4af39de Add extra Source Tools functions: smoothed, summed and multiplied 2016-04-19 22:02:01 +01:00
Andrew Scheller
53b78f1e32 Minor docs fix (#286)
* Minor docs fix

* Another doc fix
2016-04-19 16:14:31 +01:00
Dave Jones
79a0fd2a27 Fix #278
Allow the creation of remote pins easily with PiGPIOPin. Also changes
DefaultPin to a pin_factory callable which accepts the input pin number.
2016-04-16 00:30:22 +01:00
Andrew Scheller
b694ec838a Tiny typo 2016-04-14 02:02:40 +01:00
Dave Jones
f82ddad1fc Last minute changes for 1.2
Warnings about non-physical pins, and period specification for
sin/cosine waves in tools
2016-04-10 20:09:12 +01:00
Dave Jones
e2b8171bbb Merge pull request #274 from waveform80/doc-reorg
Doc reorganization
2016-04-10 16:58:27 +01:00
Dave Jones
ecc8df8041 Doc reorganization 2016-04-10 16:47:16 +01:00
Dave Jones
8f8dddd403 Merge pull request #273 from lurch/composite_device_check
Check that the sub-devices of CompositeDevice are actually Device instances
2016-04-10 15:50:53 +01:00
Andrew Scheller
8e09a077fd Check that the sub-devices of CompositeDevice are actually Device instances 2016-04-10 15:02:34 +01:00
Andrew Scheller
0089b5225c Add *args to the LEDBoard on(), off() and toggle() methods.
Implements #125
2016-04-10 01:35:18 +01:00
Dave Jones
8c4096b19c Some minor doc fixes for 1.2 2016-04-09 10:30:03 +01:00
Dave Jones
c2a9392ea5 Make tests work reliably on the Pi
While the tests work well on a PC or Travis, the Pi (where I ought to be
running them!) has some issues with the timing tests. Need to relax the
tolerance of the "assert_states_and_times" method to 0.05 seconds
otherwise it periodically fails even on something reasonably quick like
a Pi 2 (less failures on a Pi 3 but still occasionally).

Also reduced default fps to 25; if the default timing occasionally fails
on a Pi 2 it's evidently too fast for a Pi 1 and shouldn't be the
default; 25 also doesn't look any different to me on a pulsing LED.

There's also a bunch of miscellaneous fixes in here; last minute typos
and chart re-gens for the 1.2 release.
2016-04-08 23:11:14 +01:00
Dave Jones
44422bd6c9 Merge pull request #269 from lurch/patch-7
Typo
2016-04-08 17:03:03 +01:00
Dave Jones
dcdbf9b83f Merge pull request #267 from lurch/patch-5
Typo
2016-04-08 16:23:04 +01:00
Dave Jones
71675cf9ae Merge pull request #264 from lurch/patch-3
Typo
2016-04-08 16:21:50 +01:00
Andrew Scheller
6f92e979bd Typo 2016-04-08 15:27:17 +01:00
Andrew Scheller
542e1b8488 Typo 2016-04-08 13:16:21 +01:00
Andrew Scheller
48dbfbdbff Typo 2016-04-08 12:22:23 +01:00
Andrew Scheller
943c3630e7 Additional parameter-type validation
...in line with the property setters
2016-04-08 11:36:01 +01:00
Dave Jones
0838965796 Fix #115
Adds when_held event hook to Button (via extension of the EventsMixin
class). Also fixes some minor notes and activates codecov coverage
tracking.
2016-04-08 10:48:34 +01:00
Dave Jones
f746ecb7cc Merge pull request #259 from lurch/patch-2
Ensure CompositeDevice._order has deterministic behaviour
2016-04-07 20:49:34 +01:00
Andrew Scheller
72ca075668 fix various bugs found by the 'prospector' static-analysis tool 2016-04-07 17:58:51 +01:00
Andrew Scheller
53dc1750c1 Ensure CompositeDevice._order has deterministic behaviour
... by sorting the kwargs, if no _order was specifically supplied.
2016-04-07 17:50:00 +01:00
Dave Jones
ee3bd6b532 Fix #204 and start readying the release
Also re-numbers energenie sockets 1-4 (as noted by @bennuttall in
comments to #239), and adds several "real pins" tests and board tests.
The bad-PWM stuff is currently disabled as it causes segfaults when
running the tests and I can't seem to trace the cause at the moment.
Finally, I've tweaked the deb config to suggest gpiozero, removed spidev
as a mandatory dep (which'll fix installs on wheezy for py3), and
there's some more miscellaneous last-minute stuff here that I can't
recall...
2016-04-06 23:06:46 +01:00
Dave Jones
3acf8a0d3a More work on the tests... 2016-04-05 13:22:40 +01:00
Dave Jones
92d80d2ae6 Some more tests... 2016-04-05 02:22:38 +01:00
Dave Jones
6c39e7716f Merge pull request #246 from waveform80/pin-database
Add pins database
2016-04-05 00:51:27 +01:00
Dave Jones
50946b417c Add pins database
Related to @lurch's comments on #148, this PR contains a database of
pins for each Pi revision, along with various other bits of miscellany
(I might've gotten a bit carried away here...).

Any corrections/extensions welcome!
2016-04-05 00:44:19 +01:00
Dave Jones
69dd8a439a The source/values toolkit
Me and my big mouth. No sooner do I declare the base classes "relatively
stable" than I go and mess around with it all again. Anyway, this is the
long promised set of utilities to make source/values more interesting.
It includes a few interesting little utility functions, a whole bunch of
examples and introduces the notion of "pseudo" devices with no (obvious)
hardware representation like a time-of-day device.

This necessitated making the event system a little more generic (it's
not exclusive the GPIO devices after all; no reason we can't use it on
composite devices in future) and by this point the mixins have gotten
large enough to justify their own module.

The pseudo-devices are a bit spartan and basic at the moment but I'm
sure there'll be plenty of future ideas...
2016-04-04 23:59:05 +01:00
Dave Jones
7826e60c3d Fix #193
Changed pin.function so that it's always read-write, which in turn
permits InputDevice to force pin.function to "input" rather than
checking that it's not "input" first. This ensures internal state in
RPi.GPIO and RPIO reflects the reality of each pin's function (see
discussion under the ticket for more detail).
2016-04-03 15:45:28 +01:00