Spaces:
Sleeping
Sleeping
File size: 2,785 Bytes
3fd98da |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
from periphery import GPIO, PWM
class LEDs:
def __init__():
self.led1_R = PWM(0, 0)
self.led1_B = PWM(2, 0)
self.led1_gnd = PWM(1, 0)
self.led2_R = GPIO("/dev/gpiochip0", 8, "out")
self.led2_B = GPIO("/dev/gpiochip0", 6, "out")
self.led2_gnd = GPIO("/dev/gpiochip0", 7, "out")
self.led3_R = GPIO("/dev/gpiochip2", 0, "out")
#self.led3_B = GPIO("/dev/gpiochip2", 5, "out")
self.led3_gnd = GPIO("/dev/gpiochip2", 8, "out")
self.aquisition = GPIO("/dev/gpiochip2", 20, "out")
# Init LEDs
# RGBs
self.led1_R.frequency = 1e3
self.led1_R.duty_cycle = 0.0
self.led1_R.enable()
self.led1_B.frequency = 1e3
self.led1_B.duty_cycle = 0.0
self.led1_B.enable()
self.led1_gnd.frequency = 1e3
self.led1_gnd.duty_cycle = 0.0
self.led1_gnd.enable()
# LED2
self.led2_R.write(False)
self.led2_B.write(False)
self.led2_gnd.write(False)
# LED3
self.led3_R.write(False)
#self.led3_B.write(False)
self.led3_gnd.write(False)
def aquisition(val):
self.aquisition.write(val)
# red, green & blue are between 0 and 100 inclusively
def led1(red, green, blue):
self.led1_R.duty_cycle = red / 100
self.led1_B.duty_cycle = blue / 100
def led2(value):
if value == RED:
self.led2_R.write(True)
self.led2_B.write(False)
elif value == BLUE:
self.led2_R.write(False)
self.led2_B.write(True)
elif value == PURPLE:
self.led2_R.write(True)
self.led2_B.write(True)
elif value == CLOSED:
self.led2_R.write(False)
self.led2_B.write(False)
else:
assert False, "Unknown color"
def led3(value):
if value == RED:
self.led3_R.write(True)
elif value == CLOSED:
self.led3_R.write(False)
else:
assert False, "Unknown color"
def close():
# LED1
self.led1_R.disable()
self.led1_B.disable()
self.led1_gnd.disable()
self.led1_R.close()
self.led1_B.close()
self.led1_gnd.close()
# LED2
self.led2_R.write(False)
self.led2_B.write(False)
self.led2_gnd.write(False)
self.led2_R.close()
self.led2_B.close()
self.led2_gnd.close()
# LED3
self.led3_R.write(False)
#self.led3_B.write(False)
self.led3_gnd.write(False)
self.led3_R.close()
#self.led3_B.close()
self.led3_gnd.close()
# AQUISITION
self.aquisition.write(False)
self.aquisition.close()
|