1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# SPDX-License-Identifier: LGPL-2.1-or-later
# SPDX-FileCopyrightText: 2022 Bartosz Golaszewski <brgl@bgdev.pl>
"""
Python bindings for libgpiod.
This module wraps the native C API of libgpiod in a set of python classes.
"""
from . import _ext
from . import line
from .chip import Chip
from .chip_info import ChipInfo
from .edge_event import EdgeEvent
from .exception import ChipClosedError, RequestReleasedError
from .info_event import InfoEvent
from .line_info import LineInfo
from .line_request import LineRequest
from .line_settings import LineSettings
from .version import __version__
api_version = _ext.api_version
def is_gpiochip_device(path: str) -> bool:
"""
Check if the file pointed to by path is a GPIO chip character device.
Args:
path
Path to the file that should be checked.
Returns:
Returns true if so, False otherwise.
"""
return _ext.is_gpiochip_device(path)
def request_lines(path: str, *args, **kwargs) -> LineRequest:
"""
Open a GPIO chip pointed to by 'path', request lines according to the
configuration arguments, close the chip and return the request object.
Args:
path
Path to the GPIO character device file.
config:
Dictionary mapping offsets or names (or tuples thereof) to
LineSettings. If None is passed as the value of the mapping,
default settings are used.
consumer:
Consumer string to use for this request.
event_buffer_size:
Size of the kernel edge event buffer to configure for this request.
output_values:
Dictionary mapping offsets or names to line.Value. This can be used
to set the desired output values globally while reusing LineSettings
for more lines.
Returns:
Returns a new LineRequest object.
"""
with Chip(path) as chip:
return chip.request_lines(*args, **kwargs)
|