Commit Graph

37 Commits

Author SHA1 Message Date
Dave Jones
f8f810a912 Add a little script to generate class graphs
Heavily based on @lurch's efforts in #469 but with some additional
filtering capabilities.
2017-06-22 13:52:00 +01:00
Dave Jones
576fced6c4 Update all hierarchy charts in the docs
Added notes on how the abstracts are represented, ensured all the class
hierarchies were up to date, and changed the orientation so the classes
are actually readable in the big chart.
2017-06-21 17:01:13 +01:00
Dave Jones
945bea4e54 Added keyword args to MockFactory.pin
And a few other last minute fixes
2017-06-16 13:28:55 +01:00
Dave Jones
ce6217c14f Fix #459 - properly support remote SPI with pigpio
Sorry! Dave's messing around with the pin implementations again.
Hopefully the last time. The pin_factory is now really a factory object
which can be asked to produce individual pins or pin-based interfaces
like SPI (which can be supported properly via pigpio).
2017-06-16 13:28:55 +01:00
Ben Nuttall
06e534b537 Update source-tool-value-processor image 2017-01-04 16:35:45 +00:00
Ben Nuttall
30fae16f4f Merge pull request #484 from RPi-Distro/sourcevalues-docs
Add source/values docs page, close #448
2017-01-04 16:11:56 +00:00
Ben Nuttall
b0b0e379a6 Add source/values docs page, close #448 2016-10-09 21:19:27 +01:00
Ben Nuttall
173a6ce2f7 Merge pull request #440 from lurch/update_servo_docs
Add Servo to Composed Devices image
2016-09-19 14:11:09 +01:00
Andrew Scheller
c35741c793 Add support for the Pi-Stop Traffic-light board 2016-09-19 01:11:29 +01:00
Andrew Scheller
ae24304f8f Add Servo to Composed Devices image 2016-09-18 16:19:19 +01:00
Dave Jones
737a739cd6 Fix #421
Added SPI tests, simplified the shared SPI software bus implementation,
and fixed several protocol errors in our MCP3xxx classes (the x2 and x1
protocols were wrong)
2016-09-08 22:24:06 +01:00
Dave Jones
b6fb8bf748 Merge pull request #281 from lurch/adc_tweaks
Tweak the ADC classes to make the docs neater and more accurate
2016-09-08 15:48:08 +01:00
Dave Jones
8c7712c3aa Quick addition of ButtonBoard docs
Nothing special (no recipes yet); just add the stuff necessary to the
reST to pull it from source and add it to the diagrams
2016-08-30 23:23:11 +01:00
Dave Jones
02f7d20bc3 Fix #248
Add Servo and AngularServo implementation along with docs and tests.
This is a deliberately minimal implementation designed to be added to as
we agree on new extensions (better than making an all-singing,
all-dancing version in which I get things wrong and then wind up making
backward incompatible changes to get it right :)
2016-08-30 21:33:28 +01:00
Andrew Scheller
a1ec9c67e5 Tweak the ADC classes to make the docs neater and more accurate 2016-05-27 11:36:30 +01:00
Andrew Scheller
3a7acbf89d Add LedBorg as a subclass of RGBLED 2016-05-26 20:27:16 +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
43c69b9435 Update graphs for #277 2016-04-15 16:52:31 +01:00
Andrew Scheller
66264001e5 Docs update - Motor is composed of two PWMOutputDevices 2016-04-13 16:30:50 +01:00
Dave Jones
ecc8df8041 Doc reorganization 2016-04-10 16:47:16 +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
Andrew Scheller
9c99ffd40e Add LEDBarGraph to the composed_devices graph 2016-04-08 12:31:30 +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
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
6f3d34c91e Add DistanceSensor to the hierarchy diagram 2016-04-04 14:48:17 +01:00
Dave Jones
68f0dffc38 Fix up GPIO device hierarchy diagram 2016-04-03 20:16:06 +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
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
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
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
Dave Jones
38b89a36f7 Work on #51 - add pot diagram 2016-02-13 10:06:27 +00:00
Dave Jones
e790a097bd Patched circuit diagrams
Thanks to @lurch for the suggestions!
2016-02-13 09:29:23 +00:00
Dave Jones
d090b03679 Work on #51
Some more circuit diagrams; better check these are accurate - I haven't
had time to wire them up and test them!
2016-02-13 00:45:22 +00:00
Dave Jones
7099b56974 Fix #168 2016-02-07 19:54:39 +00:00
Dave Jones
cf18fb971e Fix #121
Change parent of PWMOutputDevice to OutputDevice and implement blink to
maintain compatibility. The version of blink implemented here is
slightly extended to include functionality like Explorer HAT's "pulse".
The parameter defaults behave identically to OutputDevice's blink but
can be adjusted to have the device smoothly fade in and out.
2016-01-31 13:47:11 +00:00
Dave Jones
0bc62aee73 Generic docs need reST
Conversion of all docs to reST so that the generic docs can link easily
with the rest of the docs.
2016-01-30 23:40:12 +00:00
Ben Nuttall
3f18b3f4b7 Add some circuit diagrams and update docs 2015-10-11 00:45:28 +01:00