mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-16 02:12:06 +08:00
811fd5086f
version: dragonpilot v2023.02.08 release for EON/C2
date: 2023-02-08T05:01:31
dp-dev(priv2) beta2 commit: f770882b7f
26 lines
753 B
Python
26 lines
753 B
Python
from typing import Optional
|
|
|
|
def gpio_init(pin: int, output: bool) -> None:
|
|
try:
|
|
with open(f"/sys/class/gpio/gpio{pin}/direction", 'wb') as f:
|
|
f.write(b"out" if output else b"in")
|
|
except Exception as e:
|
|
print(f"Failed to set gpio {pin} direction: {e}")
|
|
|
|
def gpio_set(pin: int, high: bool) -> None:
|
|
try:
|
|
with open(f"/sys/class/gpio/gpio{pin}/value", 'wb') as f:
|
|
f.write(b"1" if high else b"0")
|
|
except Exception as e:
|
|
print(f"Failed to set gpio {pin} value: {e}")
|
|
|
|
def gpio_read(pin: int) -> Optional[bool]:
|
|
val = None
|
|
try:
|
|
with open(f"/sys/class/gpio/gpio{pin}/value", 'rb') as f:
|
|
val = bool(int(f.read().strip()))
|
|
except Exception as e:
|
|
print(f"Failed to set gpio {pin} value: {e}")
|
|
|
|
return val
|