359 Commits

Author SHA1 Message Date
Andrew Scheller
da9b0bb644 Always make PWMOutputDevice operate on floats.
And better 'encapsulation' of the active_high properties.
2016-05-11 16:23:39 +01:00
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