Skip to content

Commit db29152

Browse files
committed
examples/libgpio: add libgpio examples
Signed-off-by: Perry Melange <[email protected]>
1 parent 5703dab commit db29152

File tree

4 files changed

+119
-0
lines changed

4 files changed

+119
-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: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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+
31+
print("Testing Power")
32+
p.off()
33+
print(p.get())
34+
time.sleep(2)
35+
p.on()
36+
print(p.get())
37+
time.sleep(2)
38+
p.cycle()
39+
print(p.get())
40+
time.sleep(2)
41+
42+
print("Testing Button")
43+
p.release()
44+
print(p.get())
45+
time.sleep(2)
46+
p.press()
47+
print(p.get())
48+
time.sleep(2)
49+
p.toggle()
50+
print(p.get())
51+
time.sleep(2)
52+
p.toggle_for()
53+
print(p.get())
54+

examples/libgpio/libgpio_remote.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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("Testing IO")
18+
print(t.resources)
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+
29+
print("Testing Power")
30+
print(t.resources)
31+
p.off()
32+
time.sleep(2)
33+
print(p.get())
34+
p.on()
35+
print(p.get())
36+
time.sleep(2)
37+
p.cycle()
38+
print(p.get())
39+
40+
print("Testing Button")
41+
print(t.resources)
42+
p.release()
43+
print(p.get())
44+
time.sleep(2)
45+
p.press()
46+
print(p.get())
47+
time.sleep(2)
48+
p.toggle()
49+
print(p.get())
50+
time.sleep(2)
51+
p.toggle_for()
52+
print(p.get())
53+

0 commit comments

Comments
 (0)