forked from mathoudebine/turing-smart-screen-python
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.py
49 lines (36 loc) · 1.24 KB
/
config.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
import logging
import os
import queue
import sys
import serial
import yaml
from serial.tools.list_ports import comports
def load_yaml(configfile):
if not os.path.exists(configfile):
logging.critical("No YAML file found")
exit()
with open(configfile, "r") as stream:
try:
yamlconfig = yaml.safe_load(stream)
except yaml.YAMLError:
logging.critical("Failed loading YAML configuration file")
exit()
return yamlconfig
def auto_detect_com_port():
comports = serial.tools.list_ports.comports()
auto_comport = None
for comport in comports:
if comport.serial_number == CONFIG_DATA['display']['SERIAL_NUMBER']:
auto_comport = comport.device
return auto_comport
PATH = sys.path[0]
CONFIG_DATA = load_yaml("config.yaml")
if CONFIG_DATA['config']['COM_PORT'] == 'AUTO':
lcd_com_port = auto_detect_com_port()
lcd_comm = serial.Serial(lcd_com_port, 115200, timeout=1, rtscts=1)
print(f"Auto detected comm port: {lcd_com_port}")
else:
lcd_com_port = CONFIG_DATA["config"]["COM_PORT"]
print(f"Static comm port: {lcd_com_port}")
lcd_comm = serial.Serial(lcd_com_port, 115200, timeout=1, rtscts=1)
update_queue = queue.Queue()