Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1.  
  2. const Gpio = require('onoff').Gpio;
  3. const L1 = new Gpio(23, 'out');
  4. const L2 = new Gpio(24, 'out');
  5. L1.writeSync(1);
  6. L2.writeSync(1);
  7. const nano = require("nanotimer");
  8.  
  9. //==================================//
  10. betweenSignal = '1m';
  11. signalFrequency = '50m';
  12. signalInfromation = '2112120121202010210';
  13.  
  14. //==================================//
  15.  
  16. var timer = new nano();
  17. var timer2 = new nano();
  18.  
  19. function zero() {
  20. L1.writeSync(1);
  21. L2.writeSync(1);
  22. }
  23. function one() {
  24. L1.writeSync(1);
  25. L2.writeSync(0);
  26. }
  27. function two() {
  28. L1.writeSync(0);
  29. L2.writeSync(1);
  30. }
  31. async function wait() {
  32. return new Promise((resolve) => {
  33. timer2.setTimeout(() => {
  34. resolve();
  35. }, '', betweenSignal)
  36. })
  37. }
  38.  
  39. async function transmit(data) {
  40. for (let i = 0; i < data.length; i++) {
  41. if (data[i] == 0) {
  42. zero();
  43. await wait();
  44. }
  45. if (data[i] == 1) {
  46. one();
  47. await wait();
  48. }
  49. if (data[i] == 2) {
  50. two();
  51. await wait();
  52. }
  53. }
  54. zero();
  55. }
  56.  
  57.  
  58. timer.setInterval(transmit, [signalInfromation], signalFrequency);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement