69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
var sumo = require('node-sumo');
|
|
|
|
var drone = sumo.createClient();
|
|
var stdin = process.stdin;
|
|
// without this, we would only get streams once enter is pressed
|
|
stdin.setRawMode(true);
|
|
stdin.resume();
|
|
stdin.setEncoding('utf8');
|
|
|
|
var isConnected = false;
|
|
|
|
var speed = 25;
|
|
|
|
stdin.on('data', function(key) {
|
|
if (!isConnected) {
|
|
console.log("Not Connected!");
|
|
}
|
|
// ctrl-c ( end of text )
|
|
if (key === '\u0003') {
|
|
process.exit();
|
|
}
|
|
// write the key to stdout all normal like
|
|
//process.stdout.write(key);
|
|
if (key === 'w') {
|
|
drone.forward(speed);
|
|
} else if (key === 's') {
|
|
drone.backward(speed);
|
|
} else if (key === 'a') {
|
|
drone.right(speed);
|
|
} else if (key === 'd') {
|
|
drone.left(speed);
|
|
} else if (key === ' ') {
|
|
drone.animationsHighJump();
|
|
}
|
|
});
|
|
|
|
drone.on("battery", function(battery) {
|
|
console.log("battery: " + battery);
|
|
});
|
|
|
|
drone.connect(function() {
|
|
//drone.postureJumper();
|
|
console.log("We are connected!")
|
|
isConnected = true;
|
|
});
|
|
|
|
|
|
// on any data into stdin
|
|
stdin.on('data', function(key) {
|
|
// ctrl-c ( end of text )
|
|
if (key === '\u0003') {
|
|
process.exit();
|
|
}
|
|
// write the key to stdout all normal like
|
|
process.stdout.write(key);
|
|
});
|
|
|
|
drone.on('postureUnknown', function() {
|
|
console.log('PUT ME DOWN BASTARD!!!!!!!!!!!!!!!!!!!!!');
|
|
});
|
|
|
|
|
|
function turnRight() {
|
|
drone.right(50);
|
|
setTimeout(function() {
|
|
drone.stop();
|
|
}, 230);
|
|
}
|