body: web joystick handle timeout
old-commit-hash: df6c2b6af9e3089edafcda98344df3fd11273b63
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
from flask import Flask
|
||||
import time
|
||||
import threading
|
||||
import cereal.messaging as messaging
|
||||
|
||||
app = Flask(__name__)
|
||||
@@ -29,8 +31,10 @@ setInterval(function(){
|
||||
def hello_world():
|
||||
return index
|
||||
|
||||
last_send_time = time.time()
|
||||
@app.route("/control/<x>/<y>")
|
||||
def control(x, y):
|
||||
global last_send_time
|
||||
x,y = float(x), float(y)
|
||||
x = max(-1, min(1, x))
|
||||
y = max(-1, min(1, y))
|
||||
@@ -38,8 +42,21 @@ def control(x, y):
|
||||
dat.testJoystick.axes = [y,x]
|
||||
dat.testJoystick.buttons = [False]
|
||||
pm.send('testJoystick', dat)
|
||||
last_send_time = time.time()
|
||||
return ""
|
||||
|
||||
def handle_timeout():
|
||||
while 1:
|
||||
this_time = time.time()
|
||||
if (last_send_time+0.5) < this_time:
|
||||
print("timeout, no web in %.2f s" % (this_time-last_send_time))
|
||||
dat = messaging.new_message('testJoystick')
|
||||
dat.testJoystick.axes = [0,0]
|
||||
dat.testJoystick.buttons = [False]
|
||||
pm.send('testJoystick', dat)
|
||||
time.sleep(0.1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
threading.Thread(target=handle_timeout, daemon=True).start()
|
||||
app.run(host="0.0.0.0")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user