blob: 372a9a8623bf8c35e7f48e44745462fc4e7503bc (
plain)
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
|
#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-or-later
# SPDX-FileCopyrightText: 2022 Bartosz Golaszewski <brgl@bgdev.pl>
"""Simplified reimplementation of the gpioset tool in Python."""
import gpiod
import sys
from gpiod.line import Direction, Value
if __name__ == "__main__":
if len(sys.argv) < 3:
raise TypeError(
"usage: gpioset.py <gpiochip> <offset1>=<value1> <offset2>=<value2> ..."
)
path = sys.argv[1]
def parse_value(arg):
x, y = arg.split("=")
return (x, Value(int(y)))
lvs = [parse_value(arg) for arg in sys.argv[2:]]
lines = [x[0] for x in lvs]
values = dict(lvs)
request = gpiod.request_lines(
path,
consumer="gpioset.py",
config={tuple(lines): gpiod.LineSettings(direction=Direction.OUTPUT)},
)
vals = request.set_values(values)
input()
|