from __future__ import ( unicode_literals, absolute_import, print_function, division, ) str = type('') class PinError(Exception): "Base class for errors related to pin implementations" class PinFixedFunction(PinError, AttributeError): "Error raised when attempting to change the function of a fixed type pin" class PinInvalidFunction(PinError, ValueError): "Error raised when attempting to change the function of a pin to an invalid value" class PinInvalidState(PinError, ValueError): "Error raised when attempting to assign an invalid state to a pin" class PinInvalidPull(PinError, ValueError): "Error raised when attempting to assign an invalid pull-up to a pin" class PinInvalidEdges(PinError, ValueError): "Error raised when attempting to assign an invalid edge detection to a pin" class PinSetInput(PinError, AttributeError): "Error raised when attempting to set a read-only pin" class PinFixedPull(PinError, AttributeError): "Error raised when attempting to set the pull of a pin with fixed pull-up" class PinEdgeDetectUnsupported(PinError, AttributeError): "Error raised when attempting to use edge detection on unsupported pins" class PinPWMError(PinError): "Base class for errors related to PWM implementations" class PinPWMUnsupported(PinPWMError, AttributeError): "Error raised when attempting to activate PWM on unsupported pins" class PinPWMFixedValue(PinPWMError, AttributeError): "Error raised when attempting to initialize PWM on an input pin"