5df38bad2d
Closes TG-4
28 lines
942 B
Python
28 lines
942 B
Python
#!/usr/bin/env python3
|
|
"""Короткий импульс на GPIO (Linux + gpiod). Пример для Orange Pi: скопируйте на устройство и укажите путь в настройках транспондера."""
|
|
import os
|
|
import time
|
|
|
|
try:
|
|
import gpiod
|
|
except ImportError:
|
|
raise SystemExit("Нужен пакет gpiod (python3-libgpiod)") from None
|
|
|
|
CHIP = os.environ.get("AIS_TX_GPIO_CHIP", "/dev/gpiochip1")
|
|
LINE = int(os.environ.get("AIS_TX_GPIO_LINE", "0"))
|
|
PULSE_US = int(os.environ.get("AIS_TX_PULSE_US", "1000"))
|
|
|
|
with gpiod.request_lines(
|
|
CHIP,
|
|
consumer="ais-tx-pulse",
|
|
config={
|
|
LINE: gpiod.LineSettings(
|
|
direction=gpiod.line.Direction.OUTPUT,
|
|
output_value=gpiod.line.Value.INACTIVE,
|
|
)
|
|
},
|
|
) as req:
|
|
req.set_value(LINE, gpiod.line.Value.ACTIVE)
|
|
time.sleep(PULSE_US / 1_000_000.0)
|
|
req.set_value(LINE, gpiod.line.Value.INACTIVE)
|