Guest User

Untitled

a guest
Nov 17th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. var ir = require("@amperka/ir-receiver").connect(P2);
  2. var led = require("@amperka/led").connect(P5);
  3.  
  4. var opers = {
  5. antimulti: {
  6. str: "3fe8977",
  7. value: "/"
  8. },multi: {
  9. str: "3ff8877",
  10. value: "*"
  11. },minus: {
  12. str: "3ff807f",
  13. value: "-"
  14. },summ: {
  15. str: "3fea15f",
  16. value: "+"
  17. }
  18. };
  19. var numbers = {
  20. zero: {
  21. str: "3fda25f",
  22. value: "0"
  23. },one: {
  24. str: "3fcc33f",
  25. value: "1"
  26. },two: {
  27. str: "3fc639f",
  28. value: "2"
  29. },three: {
  30. str: "3fdea17",
  31. value: "3"
  32. },four: {
  33. str: "3fc43bf",
  34. value: "4"
  35. },five: {
  36. str: "3fce31f",
  37. value: "5"
  38. },six: {
  39. str: "3fd6a97",
  40. value: "6"
  41. },seven: {
  42. str: "3fd0af7",
  43. value: "7"
  44. },eight: {
  45. str: "3fd2ad7",
  46. value: "8"
  47. },nine: {
  48. str: "3fd4ab7",
  49. value: "9"
  50. },
  51. };
  52.  
  53. var ToggleBlinkLED = function(t, n){
  54. var i = 0;
  55. var inter = setInterval(function(){
  56. led.blink(t - 200);
  57. setTimeout(function(){}, 100);
  58. console.log(i);
  59. i++;
  60. if(i == n*2){
  61. clearInterval(inter);
  62. led.turnOff();
  63. }
  64. }, t);
  65.  
  66. };
  67.  
  68. var Out = function(a){
  69. console.log("************ " + a + " *************");
  70. if(Math.round(a) < 10){
  71. ToggleBlinkLED(500, Math.round(a));
  72. }
  73. };
  74.  
  75.  
  76. var calculate = function(a, b, op){
  77. switch(op){
  78. case "+":
  79. Out(a + b);break;
  80. case "-":
  81. Out(a - b);break;
  82. case "*":
  83. Out(a * b);break;
  84. case "/":
  85. Out(a / b);break;
  86. default:
  87. console.log("Err");
  88. }
  89. };
  90.  
  91. var parseStr = function(str, op){
  92. var arr = str.split(op).map(Number);
  93.  
  94. console.log(arr);
  95. console.log(str);
  96. calculate(arr[0], arr[1], op);
  97. };
  98.  
  99. var quell = {
  100. str: "3ff08f7"
  101. };
  102. var reset1 = {
  103. str: "3fe41bf",
  104. value: "reset"
  105. };
  106. var mathConsts = {
  107. pi: {
  108. str: "3fc8b77",
  109. value: Math.PI
  110. },
  111. e: {
  112. str: "3fc0bf7",
  113. value: Math.E
  114. }
  115. };
  116.  
  117. var calc = "";
  118. var op = "";
  119. ir.on("receive", function(code, repeat){
  120. for(key in opers){
  121. if(code.toString(16) == opers[key].str){
  122. calc += ""+opers[key].value;
  123. op = ""+opers[key].value;
  124. console.log(opers[key].value);
  125. }
  126. }
  127. for(key in numbers){
  128. if(code.toString(16) == numbers[key].str){
  129. calc += ""+numbers[key].value;
  130. console.log(numbers[key].value);
  131. }
  132. }
  133. for(key in mathConsts){
  134. if(code.toString(16) == mathConsts[key].str){
  135. Out(mathConsts[key].value);
  136. }
  137. }
  138. if(code.toString(16) == quell.str){
  139. parseStr(calc, op);
  140. }
  141. if(code.toString(16) == reset1.str){
  142. Out("RESET");
  143. calc = "";
  144. }
  145. });
Add Comment
Please, Sign In to add comment