Skip to content

Commit deb557b

Browse files
relay4: add wrapper
Signed-off-by: Francois Berder <[email protected]>
1 parent c7d13e7 commit deb557b

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

letmecreate/click/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
- ADC
1919
- Alcohol
2020
- Eve
21+
- Relay4
2122
"""
2223

2324
__all__ = ['thermo3', 'proximity', 'accel', 'relay2', 'motion', 'led_matrix',
2425
'joystick', 'color', 'seven_seg', 'ir_distance', 'bargraph',
25-
'relay', 'ir_eclipse', 'color2', 'adc', 'alcohol', 'eve']
26+
'relay', 'ir_eclipse', 'color2', 'adc', 'alcohol', 'eve', 'relay4']

letmecreate/click/relay4.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env python3
2+
"""Python binding of Relay4 Click wrapper of LetMeCreate library."""
3+
4+
import ctypes
5+
6+
_LIB = ctypes.CDLL('libletmecreate_click.so')
7+
8+
9+
def enable(relay_0_pin, relay_1_pin, relay_2_pin, relay_3_pin):
10+
ret = _LIB.relay4_click_enable(relay_0_pin,
11+
relay_1_pin,
12+
relay_2_pin,
13+
relay_3_pin)
14+
if ret < 0:
15+
raise Exception("relay4 click enable failed")
16+
17+
18+
def disable():
19+
ret = _LIB.relay4_click_disable()
20+
if ret < 0:
21+
raise Exception("relay4 click disable failed")
22+
23+
24+
def set_state(index, state):
25+
ret = _LIB.relay4_click_set_state(index, state)
26+
if ret < 0:
27+
raise Exception("relay4 click set state failed")
28+
29+
30+
def get_state(index):
31+
state = ctypes.c_uint8(0)
32+
ret = _LIB.relay4_click_get_state(index, ctypes.byref(state))
33+
if ret < 0:
34+
raise Exception("relay4 click get state failed")
35+
return state.value
36+
37+
38+
def toggle(index):
39+
ret = _LIB.relay4_click_toggle(index)
40+
if ret < 0:
41+
raise Exception("relay4 click toggle failed")

0 commit comments

Comments
 (0)