Commit Graph

21 Commits

Author SHA1 Message Date
Dave Jones
4cc4b1c132 Restructure index
Move the API to the end, recipes all grouped together up-front (with
remote GPIO setup just before the remote GPIO recipes). Tweak some
headings so everything looks a little more consistent in the (now
shorter) ToC.

Also added module index tags.
2017-07-14 21:46:27 +01:00
Dave Jones
cb4276e897 Split Notes into FAQ and Recipes
Notes was always a bit of a "vague" section and half of it felt like
FAQs. Hopefully this is a little more consistent
2017-07-14 21:07:26 +01:00
Dave Jones
366c22e637 First stab at a FAQ 2017-07-14 16:57:06 +01:00
Dave Jones
9ed3a19a8e Update docs config
Add epub output, fix PDF output to include page-numbers in links (for
printed output), reduce the (now ridiculous) length of the ToC by
dropping it to one level, add numbering to chapters
2017-07-14 16:57:06 +01:00
Dave Jones
a0d784082d Fix #565
Add mock pins docs and tidy up some other bits of the pins docs
2017-07-14 15:11:59 +01:00
Ben Nuttall
36709d6f91 Merge branch 'master' into docs-updates 2017-06-22 22:55:17 +01:00
Dave Jones
412ca72066 First stab at #451
This is almost a straight copy'n'paste of picamera's development chapter
with a few minor changes to make it read sensibly for GPIO Zero; it
needs plenty more work to fulfil the goals of #451 but hopefully this'll
act as a reasonable base for people to work on.
2017-06-21 16:12:25 +01:00
Ben Nuttall
d846d5b2bd Fix broken internal links and use apt over apt-get 2017-03-10 15:05:33 +00:00
Ben Nuttall
ee0e4e2f33 Merge 2017-03-06 10:35:22 +00:00
Ben Nuttall
582839c782 Add missing advanced recipes to index and reorder 2017-01-10 10:09:09 +00:00
Ben Nuttall
dea7ba6ec2 Docs updates: add installing, advanced recipes, remote gpio and remote recipes - wip 2017-01-10 09:43:53 +00:00
Ben Nuttall
02938b48ec Tidy up pinout tool PR 2016-12-05 21:03:06 +00:00
Stewart
5f47bcd379 Add terse documentation for pinout tool 2016-11-07 22:34:21 +00:00
Ben Nuttall
b0b0e379a6 Add source/values docs page, close #448 2016-10-09 21:19:27 +01:00
Dave Jones
335ccdfb60 Fix #320
Yup, dirty horrid hack but the result is okay.
2016-08-14 22:55:34 +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
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
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
1f2140a9f5 Work on #87
Implement a test suite, including Travis-CI integration
2016-02-11 21:11:22 +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
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