Changelog

Release 1.3.1 (2016-08-31 ... later)

  • Fixed hardware SPI support which Dave broke in 1.3.0. Sorry!
  • Some minor docs changes

Release 1.3.0 (2016-08-31)

  • Added ButtonBoard for reading multiple buttons in a single class (#340)
  • Added Servo and AngularServo classes for controlling simple servo motors (#248)
  • Lots of work on supporting easier use of internal and third-party pin implementations (#359)
  • Robot now has a proper value attribute (#305)
  • Added CPUTemperature as another demo of “internal” devices (#294)
  • A temporary work-around for an issue with DistanceSensor was included but a full fix is in the works (#385)
  • More work on the documentation (#320, #295, #289, etc.)

Not quite as much as we’d hoped to get done this time, but we’re rushing to make a Raspbian freeze. As always, thanks to the community - your suggestions and PRs have been brilliant and even if we don’t take stuff exactly as is, it’s always great to see your ideas. Onto 1.4!

Release 1.2.0 (2016-04-10)

  • Added Energenie class for controlling Energenie plugs (#69)
  • Added LineSensor class for single line-sensors (#109)
  • Added DistanceSensor class for HC-SR04 ultra-sonic sensors (#114)
  • Added SnowPi class for the Ryanteck Snow-pi board (#130)
  • Added when_held (and related properties) to Button (#115)
  • Fixed issues with installing GPIO Zero for python 3 on Raspbian Wheezy releases (#140)
  • Added support for lots of ADC chips (MCP3xxx family) (#162) - many thanks to pcopa and lurch!
  • Added support for pigpiod as a pin implementation with PiGPIOPin (#180)
  • Many refinements to the base classes mean more consistency in composite devices and several bugs squashed (#164, #175, #182, #189, #193, #229)
  • GPIO Zero is now aware of what sort of Pi it’s running on via pi_info() and has a fairly extensive database of Pi information which it uses to determine when users request impossible things (like pull-down on a pin with a physical pull-up resistor) (#222)
  • The source/values system was enhanced to ensure normal usage doesn’t stress the CPU and lots of utilities were added (#181, #251)

And I’ll just add a note of thanks to the many people in the community who contributed to this release: we’ve had some great PRs, suggestions, and bug reports in this version. Of particular note:

  • Schelto van Doorn was instrumental in adding support for numerous ADC chips
  • Alex Eames generously donated a RasPiO Analog board which was extremely useful in developing the software SPI interface (and testing the ADC support)
  • Andrew Scheller squashed several dozen bugs (usually a day or so after Dave had introduced them ;)

As always, many thanks to the whole community - we look forward to hearing from you more in 1.3!

Release 1.1.0 (2016-02-08)

  • Documentation converted to reST and expanded to include generic classes and several more recipes (#80, #82, #101, #119, #135, #168)
  • New CamJamKitRobot class with the pre-defined motor pins for the new CamJam EduKit
  • New LEDBarGraph class (many thanks to Martin O’Hanlon!) (#126, #176)
  • New Pin implementation abstracts out the concept of a GPIO pin paving the way for alternate library support and IO extenders in future (#141)
  • New LEDBoard.blink() method which works properly even when background is set to False (#94, #161)
  • New RGBLED.blink() method which implements (rudimentary) color fading too! (#135, #174)
  • New initial_value attribute on OutputDevice ensures consistent behaviour on construction (#118)
  • New active_high attribute on PWMOutputDevice and RGBLED allows use of common anode devices (#143, #154)
  • Loads of new ADC chips supported (many thanks to GitHub user pcopa!) (#150)

Release 1.0.0 (2015-11-16)

Release 0.9.0 (2015-10-25)

Fourth public beta

  • Added source and values properties to all relevant classes (#76)
  • Fix names of parameters in Motor constructor (#79)
  • Added wrappers for LED groups on add-on boards (#81)

Release 0.8.0 (2015-10-16)

Third public beta

Release 0.7.0 (2015-10-09)

Second public beta

Release 0.6.0 (2015-09-28)

First public beta

Release 0.5.0 (2015-09-24)

Release 0.4.0 (2015-09-23)

Release 0.3.0 (2015-09-22)

Release 0.2.0 (2015-09-21)

Initial release