mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
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...
107 lines
2.2 KiB
ReStructuredText
107 lines
2.2 KiB
ReStructuredText
==========
|
|
Exceptions
|
|
==========
|
|
|
|
.. currentmodule:: gpiozero
|
|
|
|
The following exceptions are defined by GPIO Zero. Please note that multiple
|
|
inheritance is heavily used in the exception hierarchy to make testing for
|
|
exceptions easier. For example, to capture any exception generated by GPIO
|
|
Zero's code::
|
|
|
|
from gpiozero import *
|
|
|
|
led = PWMLED(17)
|
|
try:
|
|
led.value = 2
|
|
except GPIOZeroError:
|
|
print('A GPIO Zero error occurred')
|
|
|
|
Since all GPIO Zero's exceptions descend from :exc:`GPIOZeroError`, this will
|
|
work. However, certain specific errors have multiple parents. For example, in
|
|
the case that an out of range value is passed to :attr:`OutputDevice.value` you
|
|
would expect a :exc:`ValueError` to be raised. In fact, a
|
|
:exc:`OutputDeviceBadValue` error will be raised. However, note that this
|
|
descends from both :exc:`GPIOZeroError` (indirectly) and from :exc:`ValueError`
|
|
so you can still do::
|
|
|
|
from gpiozero import *
|
|
|
|
led = PWMLED(17)
|
|
try:
|
|
led.value = 2
|
|
except ValueError:
|
|
print('Bad value specified')
|
|
|
|
|
|
Errors
|
|
======
|
|
|
|
.. autoexception:: GPIOZeroError
|
|
|
|
.. autoexception:: DeviceClosed
|
|
|
|
.. autoexception:: BadEventHandler
|
|
|
|
.. autoexception:: CompositeDeviceError
|
|
|
|
.. autoexception:: CompositeDeviceBadName
|
|
|
|
.. autoexception:: EnergenieSocketMissing
|
|
|
|
.. autoexception:: EnergenieBadSocket
|
|
|
|
.. autoexception:: SPIError
|
|
|
|
.. autoexception:: SPIBadArgs
|
|
|
|
.. autoexception:: GPIODeviceError
|
|
|
|
.. autoexception:: GPIODeviceClosed
|
|
|
|
.. autoexception:: GPIOPinInUse
|
|
|
|
.. autoexception:: GPIOPinMissing
|
|
|
|
.. autoexception:: GPIOBadQueueLen
|
|
|
|
.. autoexception:: GPIOBadSampleWait
|
|
|
|
.. autoexception:: InputDeviceError
|
|
|
|
.. autoexception:: OutputDeviceError
|
|
|
|
.. autoexception:: OutputDeviceBadValue
|
|
|
|
.. autoexception:: PinError
|
|
|
|
.. autoexception:: PinInvalidFunction
|
|
|
|
.. autoexception:: PinInvalidState
|
|
|
|
.. autoexception:: PinInvalidPull
|
|
|
|
.. autoexception:: PinInvalidEdges
|
|
|
|
.. autoexception:: PinSetInput
|
|
|
|
.. autoexception:: PinFixedPull
|
|
|
|
.. autoexception:: PinEdgeDetectUnsupported
|
|
|
|
.. autoexception:: PinPWMError
|
|
|
|
.. autoexception:: PinPWMUnsupported
|
|
|
|
.. autoexception:: PinPWMFixedValue
|
|
|
|
Warnings
|
|
========
|
|
|
|
.. autoexception:: GPIOZeroWarning
|
|
|
|
.. autoexception:: SPIWarning
|
|
|
|
.. autoexception:: SPISoftwareFallback
|
|
|