GPOIO Helpers eingeführt / aufgeräumt

This commit is contained in:
root 2018-02-17 22:50:33 +01:00
parent 482c66be04
commit 5e9e4dca21

View File

@ -76,10 +76,16 @@ IMAGES_TODO = os.path.join(IMAGE_DIR, "todo")
# global variables
spot_mode = 0
session_start = monotonic_time()
spot_mode = 0
# GPIO helpers
def led_border(state):
global GPIO_LED_BORDER
GPIO.output(GPIO_LED_BORDER, state)
def set_spot_mode(new_mode):
@ -94,40 +100,39 @@ def next_spot_mode():
set_spot_mode(spot_mode + 1)
def handle_button(gpio_id):
# user interface
def button_press(gpio_id):
next_spot_mode()
# INIT GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT)
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT)
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT)
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT)
GPIO.output(GPIO_BUTTON_LED, GPIO.LOW)
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(GPIO_BUTTON, GPIO.IN)
GPIO.add_event_detect(GPIO_BUTTON, GPIO.FALLING, handle_button, bouncetime=300)
GPIO.add_event_detect(GPIO_BUTTON, GPIO.FALLING, button_press, bouncetime=300)
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
led_border(True)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
led_border(True)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
led_border(True)
sleep(0.02)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
@ -253,20 +258,18 @@ def makePhotos():
camera.start_preview()
# COUNTDOWN
GPIO.output(GPIO_RIGHT_SPOT, GPIO.LOW)
GPIO.output(GPIO_LEFT_SPOT, GPIO.LOW)
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
led_border(True)
for i in range(0, COUNTDOWN):
countdown(camera, pad_cdn[i], img_cdn[i])
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
# SHOTS
for i in range(0, SHOT_COUNT):
# SHOT!
sleep(PIC_INTERVAL)
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
led_border(True)
camera.capture("./tmp%s.jpg" % i, format='jpeg', quality=100, thumbnail=None)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
# PAUSE
if i < SHOT_COUNT - 1:
@ -278,9 +281,6 @@ def makePhotos():
# CLOSE CAMERA
camera.close()
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
def chooseImages():
@ -420,7 +420,5 @@ except KeyboardInterrupt:
print("")
finally:
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
led_border(False)
pygame.quit()