Advertisement
Guest User

I'm a guest, and i'm a programmer

a guest
May 30th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. var arDrone = require('ar-drone');
  2. var SerialPort = require("serialport").SerialPort;
  3. var juja = arDrone.createClient();
  4.  
  5. var speed = 0.5;
  6.  
  7.  
  8. var serialPort = new SerialPort("", {
  9. baudrate: 9600
  10. });
  11.  
  12. serialPort.on("open", function () {
  13. console.log('BT open');
  14. serialPort.on('data', function(data) {
  15. onCmd(parse(data));
  16. });
  17. });
  18.  
  19. function con(str, str1) {
  20. return str.indexOf(str1) >= 0;
  21. }
  22.  
  23. function parse(data) {
  24. data = data.toLowerCase();
  25. if (con(data, "take") && con(data, "off") || // TAKE OFF
  26. con(data, "big") && con(data, "boss") ||
  27. con(data, "echo")) {
  28. return 0;
  29. } else if (con(data, "lend") || con(data, "lent") || // LAND
  30. con(data, "lunch") || con(data, "land"))
  31. return 1;
  32. else if (con(data, "stop") || con(data, "emergency")) // STOP
  33. return 2;
  34. else if (con(data, "sleep") || con(data, "flip")) // FLIP
  35. return 3;
  36. else if (con(data, "take") && con(data, "photo") || // TAKE PHOTO (SELFIE)
  37. con(data,"selfie") || con("data", "celsius"))
  38. return 4;
  39. else if (con(data, "rotate")) // ROTATE /\d+/
  40. return {type: "ROTATE", num: data.match(/\d+/)};
  41. else if (con(data, "dance"))
  42. return 6;
  43. else if (con(data, "france"), con(data, "front")) // FRONT
  44. return 7;
  45. else if (con(data, "beck"), con(data, "back")) // BACK
  46. return 8;
  47. else if (con(data, "left") || con(data, "black")) // LEFT
  48. return 9;
  49. else if (con(data, "right") || con(data, "great"))
  50. return 10;
  51. }
  52.  
  53. function onCmd(arg) {
  54. switch(arg) {
  55. case 0:
  56. juja.takeoff();
  57. break;
  58. case 1:
  59. juja.land();
  60. break;
  61. case 2:
  62. juja.stop();
  63. break;
  64. case 3:
  65. juja.animate('flipLeft', 500);
  66. break;
  67. case 4:
  68. break;
  69. case 5:
  70. juja.clockwise(speed);
  71. setTimeout(function() {
  72. juja.clockwise(0);
  73. }, 1000 - speed*1000);
  74. case 6:
  75. juja.front(speed);
  76. setTimeout(function() {
  77. juja.front(0);
  78. }, 1000 - speed*1000);
  79. case 7:
  80. juja.back(speed);
  81. setTimeout(function() {
  82. juja.back(0);
  83. }, 1000 - speed*1000);
  84. case 8:
  85. juja.left(speed);
  86. setTimeout(function() {
  87. juja.left(0);
  88. }, 1000 - speed*1000);
  89. case 9:
  90. juja.right(speed);
  91. setTimeout(function() {
  92. juja.right(0);
  93. }, 1000 - speed*1000);
  94. case 10:
  95. juja.calibrate(0);
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement