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