1
1
import logging
2
- import threading ,sys ,os ,webbrowser
2
+ import threading ,sys ,os ,webbrowser , time
3
3
import serial ,serial .tools .list_ports
4
4
import SimpleHTTPServer , BaseHTTPServer , SocketServer
5
5
from websocket_server import WebsocketServer
@@ -18,11 +18,15 @@ def serialServerLoop():
18
18
ser = serial .Serial (serialbox .get ())
19
19
ser .baudrate = SerialSpinBoxVar .get ()
20
20
ser .write ('TS 1\n ' )
21
+ ctime = time .time ()
21
22
while serialServerRunning :
22
23
server .handle_request ()
23
24
line = ser .readline ()
24
25
server .handle_request ()
25
26
server .send_message_to_all (line )
27
+ if (time .time () - ctime ) > 4 :
28
+ ctime = time .time ()
29
+ server .send_message_to_all ("pong" )
26
30
ser .write ('TS 0\n ' )
27
31
ser .close ()
28
32
server .server_close ()
@@ -32,6 +36,20 @@ def serialServerLoop():
32
36
serialToggle ()
33
37
return
34
38
39
+ def serialToggle ():
40
+ global serialServerRunning ,server
41
+ if serialServerRunning :
42
+ SerialButton .configure (bg = '#F00' )
43
+ serialServerRunning = False
44
+ else :
45
+ server = WebsocketServer (WebSpinBoxVar .get (), host = '127.0.0.1' , loglevel = logging .INFO )
46
+ server .set_fn_new_client (new_client )
47
+ server .timeout = 0
48
+ serialServerRunning = True
49
+ serialthread = threading .Thread (target = serialServerLoop )
50
+ serialthread .daemon = True
51
+ serialthread .start ()
52
+ SerialButton .configure (bg = '#0F0' )
35
53
36
54
def httpToggle ():
37
55
global httpServerRunning
@@ -50,21 +68,6 @@ def httpToggle():
50
68
httpthread .start ()
51
69
httpServerRunning = True
52
70
53
- def serialToggle ():
54
- global serialServerRunning ,server
55
- if serialServerRunning :
56
- SerialButton .configure (bg = '#F00' )
57
- serialServerRunning = False
58
- else :
59
- server = WebsocketServer (WebSpinBoxVar .get (), host = '127.0.0.1' , loglevel = logging .INFO )
60
- server .set_fn_new_client (new_client )
61
- server .timeout = 0
62
- serialServerRunning = True
63
- serialthread = threading .Thread (target = serialServerLoop )
64
- serialthread .daemon = True
65
- serialthread .start ()
66
- SerialButton .configure (bg = '#0F0' )
67
-
68
71
def new_client (client ,server ):
69
72
print "New client gotten " , client
70
73
0 commit comments