- proper handling of Ctrl-C

git-svn-id: http://moon:8086/svn/software/trunk/projects/opencv@347 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2016-11-03 21:32:03 +00:00
parent 2b8a05c056
commit 89705bc5a8
2 changed files with 39 additions and 36 deletions
+36 -33
View File
@@ -93,41 +93,44 @@ if ("__main__" == __name__):
sockUdp.settimeout(30.0)
sockUdp.bind((UDP_IP, UDP_PORT))
localTcpServer = None
while True:
try:
data, addr = sockUdp.recvfrom(1024) # buffer size is 1024 bytes
except:
print ("UDP: Timeout")
if localTcpServer is not None:
localTcpServer.stop()
del localTcpServer
localTcpServer = None
continue
# print ("Received from " + str(addr))
# print ("Message (" + str(len(data)) + ") :")
dataStr = data.decode("utf-8")
keyValueStrList = dataStr.replace('\r', '').replace(' ', '').split('\n')
try:
while True:
try:
data, addr = sockUdp.recvfrom(1024) # buffer size is 1024 bytes
except (socket.timeout):
print ("UDP: Timeout")
if localTcpServer is not None:
localTcpServer.stop()
del localTcpServer
localTcpServer = None
continue
# print ("Received from " + str(addr))
# print ("Message (" + str(len(data)) + ") :")
dataStr = data.decode("utf-8")
keyValueStrList = dataStr.replace('\r', '').replace(' ', '').split('\n')
keyValueDict = {}
for keyValueStr in keyValueStrList:
keyValue = keyValueStr.split(':')
if len(keyValue) == 2:
keyValueDict[keyValue[0]] = keyValue[1]
keyValueDict = {}
for keyValueStr in keyValueStrList:
keyValue = keyValueStr.split(':')
if len(keyValue) == 2:
keyValueDict[keyValue[0]] = keyValue[1]
# print (keyValueDict)
if keyValueDict['Protocol'] == 'EV3':
if localTcpServer is None:
sockUdp.sendto(b'A', addr)
print ("EV3 discovered")
try:
time.sleep(0.2)
localTcpServer = LocalServer(addr[0], int(keyValueDict['Port']))
localTcpServer.start()
except Exception as e:
print (e)
if localTcpServer is not None:
del localTcpServer
localTcpServer = None
# print (keyValueDict)
if keyValueDict['Protocol'] == 'EV3':
if localTcpServer is None:
sockUdp.sendto(b'A', addr)
print ("EV3 discovered")
try:
time.sleep(0.2)
localTcpServer = LocalServer(addr[0], int(keyValueDict['Port']))
localTcpServer.start()
except Exception as e:
print (e)
if localTcpServer is not None:
del localTcpServer
localTcpServer = None
except (KeyboardInterrupt):
print ("\nKeyboardInterrupt")
if localTcpServer is not None:
localTcpServer.stop()
+2 -2
View File
@@ -42,9 +42,9 @@ ap.add_argument("-y", "--height", type=int, default=240,
help="height")
ap.add_argument("-kp", "--kp", type=float, default=6.0, # 1.0
help="kp")
ap.add_argument("-ki", "--ki", type=float, default=2.0, # 0.2
ap.add_argument("-ki", "--ki", type=float, default=3.0, # 0.2
help="ki")
ap.add_argument("-kd", "--kd", type=float, default=2.0, # 8.0
ap.add_argument("-kd", "--kd", type=float, default=3.0, # 8.0
help="kd")
args = vars(ap.parse_args())