-
Notifications
You must be signed in to change notification settings - Fork 4
/
startup_shutdown.py
54 lines (40 loc) · 1.53 KB
/
startup_shutdown.py
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
import time
import pygame
from visca_over_ip import Camera
from config import mappings, ips
def configure():
"""Allows the user to configure the cameras or skip this step
If the user chooses to configure the cameras, they are powered on and preset 9 is recalled
"""
print('Press triangle to configure cameras or any other button to skip')
while not pygame.event.peek(eventtype=pygame.JOYBUTTONDOWN):
time.sleep(0.05)
event = pygame.event.get(eventtype=pygame.JOYBUTTONDOWN)[0]
if event.dict['button'] == mappings['other']['configure']:
print(f'Configuring...')
for ip in ips:
cam = Camera(ip)
cam.set_power(True)
cam.close_connection()
time.sleep(20)
for ip in ips:
cam = Camera(ip)
cam.recall_preset(8)
cam.close_connection()
time.sleep(2)
def shut_down(current_camera: Camera):
"""Shuts down the program.
The user is asked if they want to shut down the cameras as well.
"""
if current_camera is not None:
current_camera.close_connection()
print('Press triangle to shut down cameras or any other button to leave them on')
while not pygame.event.peek(eventtype=pygame.JOYBUTTONDOWN):
time.sleep(0.05)
event = pygame.event.get(eventtype=pygame.JOYBUTTONDOWN)[0]
if event.dict['button'] == mappings['other']['configure']:
for ip in ips:
cam = Camera(ip)
cam.set_power(False)
cam.close_connection()
exit(0)