mirror of
				https://github.com/KevinMidboe/python-gpiozero.git
				synced 2025-10-29 17:50:37 +00:00 
			
		
		
		
	Merge pull request #339 from lurch/extra_init_params
Add extra init-method params
This commit is contained in:
		@@ -375,8 +375,8 @@ class LEDBarGraph(LEDCollection):
 | 
			
		||||
 | 
			
		||||
    :param float initial_value:
 | 
			
		||||
        The initial :attr:`value` of the graph given as a float between -1 and
 | 
			
		||||
        +1.  Defaults to 0.0. This parameter can only be specified as a keyword
 | 
			
		||||
        parameter.
 | 
			
		||||
        +1.  Defaults to ``0.0``. This parameter can only be specified as a
 | 
			
		||||
        keyword parameter.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, *pins, **kwargs):
 | 
			
		||||
@@ -385,7 +385,7 @@ class LEDBarGraph(LEDCollection):
 | 
			
		||||
            assert not isinstance(pin, LEDCollection)
 | 
			
		||||
        pwm = kwargs.pop('pwm', False)
 | 
			
		||||
        active_high = kwargs.pop('active_high', True)
 | 
			
		||||
        initial_value = kwargs.pop('initial_value', 0)
 | 
			
		||||
        initial_value = kwargs.pop('initial_value', 0.0)
 | 
			
		||||
        if kwargs:
 | 
			
		||||
            raise TypeError('unexpected keyword argument: %s' % kwargs.popitem()[0])
 | 
			
		||||
        super(LEDBarGraph, self).__init__(*pins, pwm=pwm, active_high=active_high)
 | 
			
		||||
@@ -468,7 +468,7 @@ class LedBorg(RGBLED):
 | 
			
		||||
 | 
			
		||||
    def __init__(self, initial_value=(0, 0, 0), pwm=True):
 | 
			
		||||
        super(LedBorg, self).__init__(red=17, green=27, blue=22,
 | 
			
		||||
                                      initial_value=initial_value, pwm=pwm)
 | 
			
		||||
                                      pwm=pwm, initial_value=initial_value)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PiLiter(LEDBoard):
 | 
			
		||||
@@ -487,14 +487,20 @@ class PiLiter(LEDBoard):
 | 
			
		||||
 | 
			
		||||
    :param bool pwm:
 | 
			
		||||
        If ``True``, construct :class:`PWMLED` instances for each pin. If
 | 
			
		||||
        ``False`` (the default), construct regular :class:`LED` instances. This
 | 
			
		||||
        parameter can only be specified as a keyword parameter.
 | 
			
		||||
        ``False`` (the default), construct regular :class:`LED` instances.
 | 
			
		||||
 | 
			
		||||
    :param: bool initial_value:
 | 
			
		||||
        If ``False`` (the default), all LEDs will be off initially. If
 | 
			
		||||
        ``None``, each device will be left in whatever state the pin is found
 | 
			
		||||
        in when configured for output (warning: this can be on). If ``True``,
 | 
			
		||||
        the device will be switched on initially.
 | 
			
		||||
 | 
			
		||||
    .. _Ciseco Pi-LITEr: http://shop.ciseco.co.uk/pi-liter-8-led-strip-for-the-raspberry-pi/
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, pwm=False):
 | 
			
		||||
        super(PiLiter, self).__init__(4, 17, 27, 18, 22, 23, 24, 25, pwm=pwm)
 | 
			
		||||
    def __init__(self, pwm=False, initial_value=False):
 | 
			
		||||
        super(PiLiter, self).__init__(4, 17, 27, 18, 22, 23, 24, 25,
 | 
			
		||||
                                      pwm=pwm, initial_value=initial_value)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PiLiterBarGraph(LEDBarGraph):
 | 
			
		||||
@@ -517,15 +523,15 @@ class PiLiterBarGraph(LEDBarGraph):
 | 
			
		||||
 | 
			
		||||
    :param float initial_value:
 | 
			
		||||
        The initial :attr:`value` of the graph given as a float between -1 and
 | 
			
		||||
        +1.
 | 
			
		||||
        +1. Defaults to ``0.0``.
 | 
			
		||||
 | 
			
		||||
    .. _Ciseco Pi-LITEr: http://shop.ciseco.co.uk/pi-liter-8-led-strip-for-the-raspberry-pi/
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, pwm=False, initial_value=0.0):
 | 
			
		||||
        pins = (4, 17, 27, 18, 22, 23, 24, 25)
 | 
			
		||||
        super(PiLiterBarGraph, self).__init__(*pins, pwm=pwm,
 | 
			
		||||
                initial_value=initial_value)
 | 
			
		||||
        super(PiLiterBarGraph, self).__init__(*pins,
 | 
			
		||||
                pwm=pwm, initial_value=initial_value)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TrafficLights(LEDBoard):
 | 
			
		||||
@@ -554,14 +560,22 @@ class TrafficLights(LEDBoard):
 | 
			
		||||
        If ``True``, construct :class:`PWMLED` instances to represent each
 | 
			
		||||
        LED. If ``False`` (the default), construct regular :class:`LED`
 | 
			
		||||
        instances.
 | 
			
		||||
 | 
			
		||||
    :param bool initial_value:
 | 
			
		||||
        If ``False`` (the default), all LEDs will be off initially. If
 | 
			
		||||
        ``None``, each device will be left in whatever state the pin is found
 | 
			
		||||
        in when configured for output (warning: this can be on). If ``True``,
 | 
			
		||||
        the device will be switched on initially.
 | 
			
		||||
    """
 | 
			
		||||
    def __init__(self, red=None, amber=None, green=None, pwm=False):
 | 
			
		||||
    def __init__(self, red=None, amber=None, green=None,
 | 
			
		||||
                 pwm=False, initial_value=False):
 | 
			
		||||
        if not all([red, amber, green]):
 | 
			
		||||
            raise GPIOPinMissing(
 | 
			
		||||
                'red, amber and green pins must be provided'
 | 
			
		||||
            )
 | 
			
		||||
        super(TrafficLights, self).__init__(
 | 
			
		||||
            red=red, amber=amber, green=green, pwm=pwm,
 | 
			
		||||
            red=red, amber=amber, green=green,
 | 
			
		||||
            pwm=pwm, initial_value=initial_value,
 | 
			
		||||
            _order=('red', 'amber', 'green'))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -582,11 +596,22 @@ class PiTraffic(TrafficLights):
 | 
			
		||||
    To use the PI-TRAFFIC board when attached to a non-standard set of pins,
 | 
			
		||||
    simply use the parent class, :class:`TrafficLights`.
 | 
			
		||||
 | 
			
		||||
    :param bool pwm:
 | 
			
		||||
        If ``True``, construct :class:`PWMLED` instances to represent each
 | 
			
		||||
        LED. If ``False`` (the default), construct regular :class:`LED`
 | 
			
		||||
        instances.
 | 
			
		||||
 | 
			
		||||
    :param bool initial_value:
 | 
			
		||||
        If ``False`` (the default), all LEDs will be off initially. If
 | 
			
		||||
        ``None``, each device will be left in whatever state the pin is found
 | 
			
		||||
        in when configured for output (warning: this can be on). If ``True``,
 | 
			
		||||
        the device will be switched on initially.
 | 
			
		||||
 | 
			
		||||
    .. _Low Voltage Labs PI-TRAFFIC: http://lowvoltagelabs.com/products/pi-traffic/
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        super(PiTraffic, self).__init__(9, 10, 11)
 | 
			
		||||
    def __init__(self, pwm=False, initial_value=False):
 | 
			
		||||
        super(PiTraffic, self).__init__(9, 10, 11,
 | 
			
		||||
                                        pwm=pwm, initial_value=initial_value)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SnowPi(LEDBoard):
 | 
			
		||||
@@ -609,24 +634,34 @@ class SnowPi(LEDBoard):
 | 
			
		||||
        LED. If ``False`` (the default), construct regular :class:`LED`
 | 
			
		||||
        instances.
 | 
			
		||||
 | 
			
		||||
    :param bool initial_value:
 | 
			
		||||
        If ``False`` (the default), all LEDs will be off initially. If
 | 
			
		||||
        ``None``, each device will be left in whatever state the pin is found
 | 
			
		||||
        in when configured for output (warning: this can be on). If ``True``,
 | 
			
		||||
        the device will be switched on initially.
 | 
			
		||||
 | 
			
		||||
    .. _Ryanteck SnowPi: https://ryanteck.uk/raspberry-pi/114-snowpi-the-gpio-snowman-for-raspberry-pi-0635648608303.html
 | 
			
		||||
    """
 | 
			
		||||
    def __init__(self, pwm=False):
 | 
			
		||||
    def __init__(self, pwm=False, initial_value=False):
 | 
			
		||||
        super(SnowPi, self).__init__(
 | 
			
		||||
            arms=LEDBoard(
 | 
			
		||||
                left=LEDBoard(
 | 
			
		||||
                    top=17, middle=18, bottom=22, pwm=pwm,
 | 
			
		||||
                    top=17, middle=18, bottom=22,
 | 
			
		||||
                    pwm=pwm, initial_value=initial_value,
 | 
			
		||||
                    _order=('top', 'middle', 'bottom')),
 | 
			
		||||
                right=LEDBoard(
 | 
			
		||||
                    top=7, middle=8, bottom=9, pwm=pwm,
 | 
			
		||||
                    top=7, middle=8, bottom=9,
 | 
			
		||||
                    pwm=pwm, initial_value=initial_value,
 | 
			
		||||
                    _order=('top', 'middle', 'bottom')),
 | 
			
		||||
                _order=('left', 'right')
 | 
			
		||||
                ),
 | 
			
		||||
            eyes=LEDBoard(
 | 
			
		||||
                left=23, right=24, pwm=pwm,
 | 
			
		||||
                left=23, right=24,
 | 
			
		||||
                pwm=pwm, initial_value=initial_value,
 | 
			
		||||
                _order=('left', 'right')
 | 
			
		||||
                ),
 | 
			
		||||
            nose=25, pwm=pwm,
 | 
			
		||||
            nose=25,
 | 
			
		||||
            pwm=pwm, initial_value=initial_value,
 | 
			
		||||
            _order=('eyes', 'nose', 'arms')
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user