-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathapplication.py
More file actions
73 lines (59 loc) · 1.44 KB
/
application.py
File metadata and controls
73 lines (59 loc) · 1.44 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
68
69
70
71
72
73
import multiprocessing
import os
from flask import Flask
from flask_socketio import SocketIO
import rov.rov as rov
import eventlet
eventlet.sleep()
eventlet.monkey_patch(socket=False, thread=False)
app = Flask(__name__)
socketio = SocketIO(app, async_mode='eventlet')
last_rov = None
manager = multiprocessing.Manager()
lock = manager.Lock()
data = manager.dict()
data["dearclient"] = {}
data["dearflask"] = {
"thrusters": {
"desired_thrust": [0, 0, 0, 0, 0, 0],
"disabled_thrusters": [],
"thruster_scales": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
},
"valve_turner": {
"power": 0.0
},
"claw": {
"power": 0.0
},
"fountain_tool": {
"power": 0.0
},
"cameras": {},
"leds": {
"bluetooth_led": False,
"camera_leds": False
}
}
"""
try:
os.system("../runCams.sh > ../mjpeg_noise.txt")
except Exception:
print "Run mjpeg streamer on your own please"
"""
@socketio.on('connect')
def on_connect():
print "Client connected"
@socketio.on('disconnect')
def on_disconnect():
print "Client disconnected"
@socketio.on('dearflask')
def dearflask(indata):
with lock:
data['dearflask'] = indata
@socketio.on('dearclient')
def dearclient():
with lock:
socketio.emit("dearclient", data['dearclient'], json=True)
if __name__ == 'application':
rov_proc = multiprocessing.Process(target=rov.run, args=(lock, data))
rov_proc.start()