-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathParser.py
More file actions
69 lines (60 loc) · 2.53 KB
/
Copy pathParser.py
File metadata and controls
69 lines (60 loc) · 2.53 KB
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
#!/usr/bin/python3
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
while True :
message = str(ser.readline())
if(len(message) > 6) :
if(message[6] == "Y"):
# message = input("input instruction: ")
sensorDict = {}
actuatorDict = {}
instructionArray = message.split(",")
codeArray = [0] * len(instructionArray)
size = 0
sensorSize = 0
actuatorSize = 0
ii = 1
for keys in instructionArray :
sensor_key = keys.split(":")
if(sensor_key[0][1] == "S") :
sensorDict[sensor_key[0]] = sensor_key[1]
sensorSize += 1
elif(sensor_key[0][1]== "A") :
actuatorDict[sensor_key[0]] = sensor_key[1]
actuatorSize += 1
codeArray[size] = sensor_key[0]
size += 1
while ii <= sensorSize :
print("Code: ", codeArray[ii], " Value: ", sensorDict[codeArray[ii]])
ii += 1
while ii < actuatorSize + sensorSize:
print("Code: ", codeArray[ii], " Value: ", actuatorDict[codeArray[ii]])
ii += 1
maxDict = {}
minDict = {}
sensor_actuatorDict = {}
def readTextFile(fileName) :
file = open(fileName)
for sensor in file :
sensor = sensor.strip()
values = sensor.split(",")
minDict[values[0]] = float(values[1])
maxDict[values[0]] = float(values[2])
sensor_actuatorDict[values[0]] = values[3]
readTextFile("testRecipe.txt")
for sensor in codeArray :
if(sensor[1] == "S") :
if(float(sensorDict[sensor]) > maxDict[sensor]) :
actuatorDict[sensor_actuatorDict[sensor]] = "0"; # Turn off
elif(float(sensorDict[sensor]) < minDict[sensor]) :
actuatorDict[sensor_actuatorDict[sensor]] = "1"; # Turn on
returnMessage = ""
for code in codeArray :
if(code[1] == "A") :
returnMessage += code[1:7]
returnMessage += " "
returnMessage += actuatorDict[code]
print(returnMessage)
x = bytearray(returnMessage+"\n","UTF-8")
ser.write(x)
returnMessage = ""