Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var arDrone = require('ar-drone');
- var SerialPort = require("serialport").SerialPort;
- var juja = arDrone.createClient();
- var speed = 0.5;
- var serialPort = new SerialPort("", {
- baudrate: 9600
- });
- serialPort.on("open", function () {
- console.log('BT open');
- serialPort.on('data', function(data) {
- onCmd(parse(data));
- });
- });
- function con(str, str1) {
- return str.indexOf(str1) >= 0;
- }
- function parse(data) {
- data = data.toLowerCase();
- if (con(data, "take") && con(data, "off") || // TAKE OFF
- con(data, "big") && con(data, "boss") ||
- con(data, "echo")) {
- return 0;
- } else if (con(data, "lend") || con(data, "lent") || // LAND
- con(data, "lunch") || con(data, "land"))
- return 1;
- else if (con(data, "stop") || con(data, "emergency")) // STOP
- return 2;
- else if (con(data, "sleep") || con(data, "flip")) // FLIP
- return 3;
- else if (con(data, "take") && con(data, "photo") || // TAKE PHOTO (SELFIE)
- con(data,"selfie") || con("data", "celsius"))
- return 4;
- else if (con(data, "rotate")) // ROTATE /\d+/
- return {type: "ROTATE", num: data.match(/\d+/)};
- else if (con(data, "dance"))
- return 6;
- else if (con(data, "france"), con(data, "front")) // FRONT
- return 7;
- else if (con(data, "beck"), con(data, "back")) // BACK
- return 8;
- else if (con(data, "left") || con(data, "black")) // LEFT
- return 9;
- else if (con(data, "right") || con(data, "great"))
- return 10;
- }
- function onCmd(arg) {
- switch(arg) {
- case 0:
- juja.takeoff();
- break;
- case 1:
- juja.land();
- break;
- case 2:
- juja.stop();
- break;
- case 3:
- juja.animate('flipLeft', 500);
- break;
- case 4:
- break;
- case 5:
- juja.clockwise(speed);
- setTimeout(function() {
- juja.clockwise(0);
- }, 1000 - speed*1000);
- case 6:
- juja.front(speed);
- setTimeout(function() {
- juja.front(0);
- }, 1000 - speed*1000);
- case 7:
- juja.back(speed);
- setTimeout(function() {
- juja.back(0);
- }, 1000 - speed*1000);
- case 8:
- juja.left(speed);
- setTimeout(function() {
- juja.left(0);
- }, 1000 - speed*1000);
- case 9:
- juja.right(speed);
- setTimeout(function() {
- juja.right(0);
- }, 1000 - speed*1000);
- case 10:
- juja.calibrate(0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement