35 lines
1002 B
Python
35 lines
1002 B
Python
from gpiod import request_lines, LineSettings
|
|
from gpiod.line import Direction, Value
|
|
|
|
|
|
class LedLineGpio:
|
|
"""Класс для управления динией gpio для LED"""
|
|
|
|
def __init__(self, line: int) -> None:
|
|
self.line = line
|
|
self._request = request_lines(
|
|
'/dev/gpiochip0',
|
|
consumer='led-blinker',
|
|
config={
|
|
line: LineSettings(
|
|
direction=Direction.OUTPUT,
|
|
output_value=Value.INACTIVE
|
|
)
|
|
}
|
|
)
|
|
|
|
def on(self) -> None:
|
|
"""Метод для включения LED"""
|
|
|
|
self._request.set_value(self.line, Value.ACTIVE)
|
|
|
|
def off(self) -> None:
|
|
"""Метод для выключения LED"""
|
|
|
|
self._request.set_value(self.line, Value.INACTIVE)
|
|
|
|
def close(self) -> None:
|
|
"""Метод для освобождения ресурса"""
|
|
|
|
self._request.release()
|