feat: added gpio control for led
This commit is contained in:
34
robot_pi_service/gpio_control.py
Normal file
34
robot_pi_service/gpio_control.py
Normal file
@@ -0,0 +1,34 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user