# LED

## Code Example

    from periphery import LED

    # Open LED "led0" with initial state off
    led0 = LED("led0", False)
    # Open LED "led1" with initial state on
    led1 = LED("led1", True)

    value = led0.read()
    led1.write(value)

    # Set custom brightness level
    led1.write(led1.max_brightness / 2)

    led0.close()
    led1.close()

## API

class periphery.LED(name, brightness=None)

  Bases: `object`

  Instantiate an LED object and open the sysfs LED corresponding to the specified name.

  brightness can be a boolean for on/off, integer value for a specific brightness, or None to preserve existing brightness. Default is preserve existing brightness.

  Parameters:

    - name (str) – Linux led name.

    - brightness (bool, int, None) – Initial brightness.

  Returns:

    LED object.

  Return type:

    LED

  Raises:

    - LEDError – if an I/O or OS error occurs.

    - TypeError – if name or brightness types are invalid.

    - LookupError – if LED name does not exist.

    - ValueError – if brightness value is invalid.

  read()

    Read the brightness of the LED.

    Returns:

      Current brightness.

    Return type:

      int

    Raises:

      LEDError – if an I/O or OS error occurs.

  write(brightness)

    Set the brightness of the LED to brightness.

    brightness can be a boolean for on/off, or integer value for a specific brightness.

    Parameters:

      brightness (bool, int) – Brightness value to set.

    Raises:

      - LEDError – if an I/O or OS error occurs.

      - TypeError – if brightness type is not bool or int.

  close()

    Close the sysfs LED.

    Raises:

      LEDError – if an I/O or OS error occurs.

  property devpath

    Get the device path of the underlying sysfs LED device.

    Type:

      str

  property fd

    Get the file descriptor for the underlying sysfs LED “brightness” file of the LED object.

    Type:

      int

  property name

    Get the sysfs LED name.

    Type:

      str

  property max_brightness

    Get the LED’s max brightness.

    Type:

      int

  property brightness

    Get or set the LED’s brightness.

    Value can be a boolean for on/off, or integer value a for specific brightness.

    Raises:

      - LEDError – if an I/O or OS error occurs.

      - TypeError – if brightness type is not bool or int.

      - ValueError – if brightness value is invalid.

    Type:

      int

class periphery.LEDError

  Bases: `OSError`

  Base class for LED errors.