Skip to content

Commit 967199a

Browse files
committed
examples/libgpio: add libgpio examples
Signed-off-by: Perry Melange <[email protected]>
1 parent c5c7699 commit 967199a

File tree

4 files changed

+131
-0
lines changed

4 files changed

+131
-0
lines changed

examples/libgpio/export-gpio.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
desk:
2+
LibGPIO:
3+
gpiochip: '/dev/gpiochip0'
4+
line: 10
5+
active_low: False

examples/libgpio/import-gpio.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
targets:
2+
main:
3+
resources:
4+
RemotePlace:
5+
name: gpio
6+
drivers:
7+
LibGPIODigitalOutputDriver: {}

examples/libgpio/libgpio.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import logging
2+
import time
3+
4+
from labgrid import Target
5+
from labgrid.logging import basicConfig, StepLogger
6+
from labgrid.driver import LibGPIODigitalOutputDriver
7+
from labgrid.resource import LibGPIO
8+
9+
# enable info logging
10+
basicConfig(level=logging.INFO)
11+
12+
# show labgrid steps on the console
13+
StepLogger.start()
14+
15+
t = Target("main")
16+
r = LibGPIO(t, name=None, gpiochip="/dev/gpiochip0", line=10, active_low=True)
17+
d = LibGPIODigitalOutputDriver(t, name=None)
18+
19+
p = t.get_driver("DigitalOutputProtocol")
20+
print(t.resources)
21+
print("Testing IO")
22+
p.set(True)
23+
print(p.get())
24+
time.sleep(2)
25+
p.set(False)
26+
print(p.get())
27+
time.sleep(2)
28+
p.set(True)
29+
print(p.get())
30+
time.sleep(2)
31+
p.invert()
32+
print(p.get())
33+
time.sleep(2)
34+
p.invert()
35+
print(p.get())
36+
time.sleep(2)
37+
38+
print("Testing Power")
39+
p.off()
40+
print(p.get())
41+
time.sleep(2)
42+
p.on()
43+
print(p.get())
44+
time.sleep(2)
45+
p.cycle()
46+
print(p.get())
47+
time.sleep(2)
48+
49+
print("Testing Button")
50+
p.release()
51+
print(p.get())
52+
time.sleep(2)
53+
p.press()
54+
print(p.get())
55+
time.sleep(2)
56+
p.release()
57+
print(p.get())
58+
time.sleep(2)
59+
p.press_for()
60+
print(p.get())
61+

examples/libgpio/libgpio_remote.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import logging
2+
import time
3+
4+
from labgrid import Environment
5+
from labgrid.logging import basicConfig, StepLogger
6+
7+
# enable info logging
8+
basicConfig(level=logging.INFO)
9+
10+
# show labgrid steps on the console
11+
StepLogger.start()
12+
13+
e = Environment("import-gpio.yaml")
14+
t = e.get_target()
15+
16+
p = t.get_driver("DigitalOutputProtocol")
17+
print(t.resources)
18+
print("Testing IO")
19+
p.set(True)
20+
print(p.get())
21+
time.sleep(2)
22+
p.set(False)
23+
print(p.get())
24+
time.sleep(2)
25+
p.set(True)
26+
print(p.get())
27+
time.sleep(2)
28+
p.invert()
29+
print(p.get())
30+
time.sleep(2)
31+
p.invert()
32+
print(p.get())
33+
time.sleep(2)
34+
35+
print("Testing Power")
36+
p.off()
37+
print(p.get())
38+
time.sleep(2)
39+
p.on()
40+
print(p.get())
41+
time.sleep(2)
42+
p.cycle()
43+
print(p.get())
44+
time.sleep(2)
45+
46+
print("Testing Button")
47+
p.release()
48+
print(p.get())
49+
time.sleep(2)
50+
p.press()
51+
print(p.get())
52+
time.sleep(2)
53+
p.release()
54+
print(p.get())
55+
time.sleep(2)
56+
p.press_for()
57+
print(p.get())
58+

0 commit comments

Comments
 (0)