parent
3ea92f6cd3
commit
d7b849720c
1 changed files with 45 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||||||
|
#!/usr/bin/env python3 |
||||||
|
from flask import Flask |
||||||
|
import cereal.messaging as messaging |
||||||
|
|
||||||
|
app = Flask(__name__) |
||||||
|
pm = messaging.PubMaster(['testJoystick']) |
||||||
|
|
||||||
|
index = """ |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<script src="https://github.com/bobboteck/JoyStick/releases/download/v1.1.6/joy.min.js"></script> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="joyDiv" style="width:100%;height:100%"></div> |
||||||
|
<script type="text/javascript"> |
||||||
|
// Create JoyStick object into the DIV 'joyDiv' |
||||||
|
var joy = new JoyStick('joyDiv'); |
||||||
|
setInterval(function(){ |
||||||
|
var x = -joy.GetX()/100; |
||||||
|
var y = joy.GetY()/100; |
||||||
|
let xhr = new XMLHttpRequest(); |
||||||
|
xhr.open("GET", "/control/"+x+"/"+y); |
||||||
|
xhr.send(); |
||||||
|
}, 50); |
||||||
|
</script> |
||||||
|
""" |
||||||
|
|
||||||
|
@app.route("/") |
||||||
|
def hello_world(): |
||||||
|
return index |
||||||
|
|
||||||
|
@app.route("/control/<x>/<y>") |
||||||
|
def control(x, y): |
||||||
|
x,y = float(x), float(y) |
||||||
|
x = max(-1, min(1, x)) |
||||||
|
y = max(-1, min(1, y)) |
||||||
|
dat = messaging.new_message('testJoystick') |
||||||
|
dat.testJoystick.axes = [y,x] |
||||||
|
dat.testJoystick.buttons = [False] |
||||||
|
pm.send('testJoystick', dat) |
||||||
|
return "" |
||||||
|
|
||||||
|
if __name__ == '__main__': |
||||||
|
app.run(host="0.0.0.0") |
||||||
|
|
Loading…
Reference in new issue