Commit Graph

675 Commits

Author SHA1 Message Date
Dave Jones
f09b5c5c18 Remove some redundant testing bits 2017-06-16 13:28:55 +01:00
Dave Jones
2495939603 Fix real pin tests ... and some other bits
The real pin tests were broken by the new factory stuff. This commit
fixes them up, and fixes up a few other bits besides (like why the
pigpio PWM tests were failing, why RPi.GPIO sometimes segfaulted on PWM
tests, etc.)

It also causes the real pin tests to run against MockPin (thanks to
@lurch for the suggestion!). This required some tweaks to MockPin to
make it emulate physically pulled up pins itself (which in turn
necessitated changing quite a few pin numbers in the main test suite
because we were using 2 and 3 everywhere), and to allow one MockPin to
drive another. Anyway, everything's working now including all the tests
on a Pi (haven't tried RPIO yet, but only because I'm on a Pi3 -
everything else works with overall coverage of 88% :).
2017-06-16 13:28:55 +01:00
Dave Jones
4049ef5094 Work around for longer object lifetimes on pypy
On pypy the subordinate LED objects in RGBLED composite objects do die
on failed construction ... eventually. Unfortunately it's not quick
enough to prevent the following tests from failing. As we can't know for
certain exactly which test is going to follow, it's best to simply clear
down the reservation table before each test.
2017-06-16 13:28:55 +01:00
Dave Jones
d3c55d25a4 Tidying up...
Dunno how many commits this PR is now!
2017-06-16 13:28:55 +01:00
Dave Jones
b59af7a08f Remove py2 incompatible raise in WeakMethod backport 2017-06-16 13:28:55 +01:00
Dave Jones
73c0516a28 Try and import the right compat...
And remove all the nonsense you re-factored into PiPin...
2017-06-16 13:28:55 +01:00
Dave Jones
cab6cc8086 Rework when_changed attribute to use weakrefs
Some fairly major changes to ensure that the Pin.when_changed property
doesn't keep references to the objects owning the callbacks that are
assigned. This is vaguely tricky given that ordinary weakref's can't be
used with bound methods (which are ephemeral), so I've back-ported
weakref.WeakMethod from Py3.4.

This solves a whole pile of things like Button instances not
disappearing when they're deleted, and makes composite devices
containing Buttons much easier to construct as we don't need to worry
about partially constructed things not getting deleted.
2017-06-16 13:28:55 +01:00
Dave Jones
08076e8d0e Inline the SPI hardware args (neater code) 2017-06-16 13:28:55 +01:00
Dave Jones
15d2c860d3 Use with in a few more tests 2017-06-16 13:28:55 +01:00
Dave Jones
cbff81f3a1 Simplify SPI bit-banging implementation
And add some comments to make stuff clearer
2017-06-16 13:28:55 +01:00
Dave Jones
a9f9aa4a3e Catch SPI conflicts properly
Also handle SPI flags in pigpio implementation more elegantly (just
store the flags and manipulate them instead of keeping separate fields)
2017-06-16 13:28:55 +01:00
Dave Jones
ba1a7e6497 Add configuration of mock factory via env-vars
Also tidied up some docs
2017-06-16 13:28:55 +01:00
Dave Jones
b0c807da19 More tidying up
Ensure LEDCollection cleans up upon construction failure, rename some
internals to be a bit more obvious, rename PinGPIOUnsupported to
PinUnsupported, and some other stuff I've forgotten!
2017-06-16 13:28:55 +01:00
Dave Jones
c570b8f09b Clean up repeated string substitutions 2017-06-16 13:28:55 +01:00
Dave Jones
4d79dc74db Removed redundant weakref references
Also tweaked a couple of minor bits (SPI bus init mask) and unused
_get_address override
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
Dave Jones
0ca2586e9e Merge pull request #519 from RPi-Distro/bennuttall-patch-1
Update debian package description
2017-06-16 10:24:56 +01:00
Dave Jones
ff29e2625b Fixed format of the Description field 2017-06-16 10:01:59 +01:00
Dave Jones
b43aeb8fec Fix #518
Apparently debian splits pkg_resources out from setuptools. Still, we
need pkg_resources as a runtime dependency, not just a build dependency
as the pin factory entry points now rely upon it.
2017-06-13 19:23:23 +01:00
Dave Jones
4e62990917 Merge remote-tracking branch 'upstream/lenient_revision_parser'
Conflicts:
	gpiozero/pins/data.py
2017-06-13 18:19:02 +01:00
Dave Jones
b7aa7e8506 Fix up pinout tests so they work with new structure 2017-06-13 16:23:27 +01:00
Dave Jones
d6475f64d8 Added pinout.xyz link, per Ben's suggestion 2017-06-13 16:17:24 +01:00
Dave Jones
4725c6b68c Tidy up pinout a little:
Ensure all error messages are printed on stderr instead of stdout; make
sure all errors formatted the same and that argparse's default exit
codes are followed
2017-06-13 16:15:15 +01:00
Dave Jones
97ffabe764 Fix up missing board stuff
Also ensure the Zero W gets represented properly on board output and
tidy up some spacing
2017-06-13 16:02:07 +01:00
Dave Jones
900affbf7f Merge remote-tracking branch 'upstream/1.3.2-updates'
Conflicts:
	docs/changelog.rst
	gpiozero/pins/data.py
2017-06-13 15:48:02 +01:00
Dave Jones
32d6db4dfe Merge pull request #504 from RPi-Distro/pinout-cli-tool
Add pinout cli tool, close #444, close #497
2017-06-13 13:22:52 +01:00
Ben Nuttall
1951b0f234 Add changelog entry for 1.3.2 release 2017-03-13 13:20:37 +00:00
Ben Nuttall
7d8de63f6d Correct classname in docstring PingDevice -> PingServer 2017-03-06 16:40:16 +00:00
Ben Nuttall
ee0e4e2f33 Merge 2017-03-06 10:35:22 +00:00
Ben Nuttall
2e7543d315 Release v1.3.2 v1.3.2 2017-03-03 13:18:36 +00:00
Ben Nuttall
f5f827c0ec Add missing quote 2017-03-03 13:11:49 +00:00
Andrew Scheller
5b91e55e96 Add details for Chinese Pi Zero (on top of v1.3.1.post1) 2017-03-03 12:55:18 +00:00
Andrew Scheller
82050d3d5a Add details for 512MB Pi A+ (on top of v1.3.1.post1) 2017-03-03 12:55:07 +00:00
Andrew Scheller
71fed0e851 Add BCM2837-based Pi2B details (on top of v1.3.1.post1) 2017-03-03 12:54:53 +00:00
Andrew Scheller
8c7bd5f51f Add Pi Zero W details (on top of v1.3.1.post1) 2017-03-03 12:54:42 +00:00
Andrew Scheller
dc0c119cbb Add Sony Japan manufactured Pi 3B details (on top of v1.3.1.post1) 2017-03-03 12:54:29 +00:00
Andrew Scheller
4e2798dcd0 Add Compute Module 3 details (on top of v1.3.1.post1) 2017-03-03 12:54:14 +00:00
Ben Nuttall
ad7bf4c66a Merge tag 'v1.3.1.post1'
Release v1.3.1.post1
2017-02-08 14:04:08 +00:00
Ben Nuttall
218ca4b527 Include licence in sdist. v1.3.1.post1 2017-02-08 13:54:41 +00:00
Andrew Scheller
1b2415a4c2 Supply 'default' values for some of the pi-revision fields, where appropriate 2017-01-22 17:10:32 +00:00
Andrew Scheller
17024c9ba3 Separate out the revision-code parsing and decoding 2017-01-22 16:51:42 +00:00
Ben Nuttall
ed12ac1994 Add bee-bot / turtle robot example, close #443 2017-01-08 15:58:50 +00:00
Ben Nuttall
ac02f5349c Update debian package description 2017-01-08 12:55:16 +00:00
Ben Nuttall
c586fe07f5 Update music box recipe 2017-01-08 11:36:43 +00: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
Andrew Scheller
fc54667f34 More small tidyups
- switch to using sys.exit instead of exit
 - always exit with error-code 1
 - don't bother testing error-codes
 - documentation wording tweak
2016-12-18 03:33:50 +00:00
Ben Nuttall
6fd4ac4cdb Remove Schelto duplicate 2016-12-08 17:39:28 +00:00
Ben Nuttall
ea4ed9ad8c Update contributing guidelines 2016-12-08 17:26:09 +00:00
Ben Nuttall
5a1ee73164 Tidy up readme, update description and add contributors 2016-12-08 17:25:56 +00:00