- 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:
+37
-34
@@ -93,42 +93,45 @@ if ("__main__" == __name__):
|
|||||||
sockUdp.settimeout(30.0)
|
sockUdp.settimeout(30.0)
|
||||||
sockUdp.bind((UDP_IP, UDP_PORT))
|
sockUdp.bind((UDP_IP, UDP_PORT))
|
||||||
localTcpServer = None
|
localTcpServer = None
|
||||||
while True:
|
try:
|
||||||
try:
|
while True:
|
||||||
data, addr = sockUdp.recvfrom(1024) # buffer size is 1024 bytes
|
try:
|
||||||
except:
|
data, addr = sockUdp.recvfrom(1024) # buffer size is 1024 bytes
|
||||||
print ("UDP: Timeout")
|
except (socket.timeout):
|
||||||
if localTcpServer is not None:
|
print ("UDP: Timeout")
|
||||||
localTcpServer.stop()
|
if localTcpServer is not None:
|
||||||
del localTcpServer
|
localTcpServer.stop()
|
||||||
localTcpServer = None
|
del localTcpServer
|
||||||
continue
|
localTcpServer = None
|
||||||
# print ("Received from " + str(addr))
|
continue
|
||||||
# print ("Message (" + str(len(data)) + ") :")
|
# print ("Received from " + str(addr))
|
||||||
dataStr = data.decode("utf-8")
|
# print ("Message (" + str(len(data)) + ") :")
|
||||||
keyValueStrList = dataStr.replace('\r', '').replace(' ', '').split('\n')
|
dataStr = data.decode("utf-8")
|
||||||
|
keyValueStrList = dataStr.replace('\r', '').replace(' ', '').split('\n')
|
||||||
|
|
||||||
keyValueDict = {}
|
keyValueDict = {}
|
||||||
for keyValueStr in keyValueStrList:
|
for keyValueStr in keyValueStrList:
|
||||||
keyValue = keyValueStr.split(':')
|
keyValue = keyValueStr.split(':')
|
||||||
if len(keyValue) == 2:
|
if len(keyValue) == 2:
|
||||||
keyValueDict[keyValue[0]] = keyValue[1]
|
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:
|
if localTcpServer is not None:
|
||||||
localTcpServer.stop()
|
localTcpServer.stop()
|
||||||
del localTcpServer
|
del localTcpServer
|
||||||
|
|||||||
+2
-2
@@ -42,9 +42,9 @@ ap.add_argument("-y", "--height", type=int, default=240,
|
|||||||
help="height")
|
help="height")
|
||||||
ap.add_argument("-kp", "--kp", type=float, default=6.0, # 1.0
|
ap.add_argument("-kp", "--kp", type=float, default=6.0, # 1.0
|
||||||
help="kp")
|
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")
|
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")
|
help="kd")
|
||||||
args = vars(ap.parse_args())
|
args = vars(ap.parse_args())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user