Commit Graph

428 Commits

Author SHA1 Message Date
Dave Jones
dcdbf9b83f Merge pull request #267 from lurch/patch-5
Typo
2016-04-08 16:23:04 +01:00
Dave Jones
d52c70991b Merge pull request #265 from lurch/patch-4
Add LEDBarGraph to the composed_devices graph
2016-04-08 16:22:45 +01:00
Dave Jones
71675cf9ae Merge pull request #264 from lurch/patch-3
Typo
2016-04-08 16:21:50 +01:00
Dave Jones
d3b3023367 Merge pull request #262 from lurch/patch-2
Additional parameter-type validation
2016-04-08 16:15:38 +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
9c99ffd40e Add LEDBarGraph to the composed_devices graph 2016-04-08 12:31:30 +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
271b86aa45 Merge pull request #260 from waveform80/button-held
Fix #115
2016-04-08 10:52:19 +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
Dave Jones
bfd8497308 Merge pull request #258 from lurch/new_prospector_fixes
fix various bugs found by the 'prospector' static-analysis tool
2016-04-07 20:46:47 +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
4f7e1f003e Merge pull request #257 from waveform80/disable-timing-test-on-pypy
Dsiable control_all test on pypy
2016-04-06 23:24:06 +01:00
Dave Jones
dc79671b39 Dsiable control_all test on pypy
Timing too random as usual...
2016-04-06 23:20:55 +01:00
Ben Nuttall
22388b8e83 Merge pull request #256 from waveform80/last-tests-for-12
Fix #204 and start readying the release
2016-04-06 23:11:22 +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
09ceed6fb3 Merge pull request #253 from waveform80/yet-more-tests
More work on the tests...
2016-04-05 13:25:01 +01:00
Dave Jones
3acf8a0d3a More work on the tests... 2016-04-05 13:22:40 +01:00
Dave Jones
2a2e77051d Merge pull request #252 from waveform80/more-tests
Some more tests...
2016-04-05 02:25:12 +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
Ben Nuttall
b31c663900 Merge pull request #251 from waveform80/source-tools
The source/values toolkit
2016-04-05 00:15:13 +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
Ben Nuttall
365e309af6 Merge pull request #250 from waveform80/add-distance-sensor-diagram
Add DistanceSensor to the hierarchy diagram
2016-04-04 14:50:43 +01:00
Dave Jones
6f3d34c91e Add DistanceSensor to the hierarchy diagram 2016-04-04 14:48:17 +01:00
Ben Nuttall
387c25d6e1 Merge pull request #249 from lurch/patch-1
Typo
2016-04-04 10:32:44 +01:00
Andrew Scheller
7f51251361 Typo 2016-04-04 10:29:52 +01:00
Dave Jones
866b57a242 Merge pull request #247 from waveform80/doc-fixes
Fix up GPIO device hierarchy diagram
2016-04-03 20:16:46 +01:00
Dave Jones
68f0dffc38 Fix up GPIO device hierarchy diagram 2016-04-03 20:16:06 +01:00
Dave Jones
5646dd161d Merge pull request #245 from waveform80/recreate-traffic-hat
Fix #193
2016-04-03 16:00:14 +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
Dave Jones
00373b608c Merge pull request #244 from waveform80/line-follower
Fix #109
2016-04-03 00:13:22 +01:00
Dave Jones
23a63697b6 Fix #109
Document and test the LineSensor class properly. Multi-sensor devices
can wait for now.
2016-04-03 00:09:02 +01:00
Dave Jones
a59f8f6b35 Merge pull request #242 from waveform80/built-in-leds
Fix #148
2016-04-01 23:15:08 +01:00
Dave Jones
6b2e014975 Fix #148
Added recipe for power/activity LEDs (on A+/B+/2B, with notes for other
models)
2016-04-01 23:09:52 +01:00
Dave Jones
af94fc2aac Merge pull request #241 from waveform80/bar-graph-pwm
Fix #182
2016-04-01 20:22:15 +01:00
Dave Jones
8fc4b58ec2 Fix #182
Fixes LEDBarGraph (broken by snowpi updates) and adds PWM support and
relevant recipes
2016-04-01 20:05:10 +01:00
Dave Jones
d1669b80d9 Merge pull request #240 from waveform80/snowpi
Fix #130, fix #131, fix #189
2016-04-01 17:35:40 +01:00
Dave Jones
d6af02933a Fix #130, fix #131, fix #189
This PR implements SnowPi, adds the ability for LEDBoard's to own other
LEDBoards as well as LEDs, and enhances blink so that manually
controlling a LED automatically stops it from blinking (no matter
whether it's blinking itself or a LEDBoard is blinking it).

It also fixes up RGBLED and Motor which I managed to break with the last
PR ...
2016-04-01 17:32:46 +01:00
Dave Jones
a7b7fc8dec Merge pull request #239 from waveform80/energenie
Fix #140, fix #69, fix #185
2016-04-01 13:00:16 +01:00
Dave Jones
759a6a58e6 Fix #140, fix #69, fix #185
This PR adds a software SPI implementation. Firstly this removes the
absolute necessity for spidev (#140), which also means when it's not
present things still work (effectively fixes #185), and also enables any
four pins to be used for SPI devices (which don't require the hardware
implementation).

The software implementation is simplistic but still supports clock
polarity and phase, select-high, and variable bits per word. However it
doesn't allow precise speeds to be implemented because it just wibbles
the clock as fast as it can (which being pure Python isn't actually that
fast).

Finally, because this PR involves creating a framework for "shared"
devices (like SPI devices with multiple channels), it made sense to bung
Energenie (#69) in as wells as this is a really simple shared device.
2016-04-01 12:57:17 +01:00
Ben Nuttall
e09e21a42e Fix typo 2016-03-20 13:34:50 +00:00
Dave Jones
bc0ced4320 Merge pull request #236 from waveform80/pi3-pins
Fix #231
2016-03-19 18:06:35 +00:00
Dave Jones
72b1857ea6 Merge pull request #235 from waveform80/fix-float-bounce
Fix #229
2016-03-19 18:06:23 +00:00
Dave Jones
93879daaa0 Merge pull request #234 from waveform80/source-delay
Fix #181
2016-03-19 18:06:01 +00:00
Dave Jones
ca7bfab916 Fix #231
Also added an indicator for the USB ports (not strictly accurate for the
Pi Zero, but still useful as an indicator of orientation)
2016-03-19 17:15:15 +00:00