codewing

IMGE Controller

Dec 10th, 2014
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. //IMGE
  2.  
  3. using System;
  4. using System.IO.Ports;
  5.  
  6. //variablen
  7. private SerialPort stream = new SerialPort("COM3", 115200);
  8. string recievedData = "EMPTY";
  9.  
  10.  
  11. //bitmasks buttons
  12. private int sw1 = 0x40;
  13. private int sw2 = 0x80;
  14. private int sw3 = 0x100;
  15. private int sw4 = 0x200;
  16. private int sw5 = 0x400;
  17. private int sw6 = 0x800;
  18.  
  19. ###################################
  20. //START()
  21.  
  22. //open serial Stream
  23. stream.Open();
  24.  
  25. ###################################
  26. //UPDATE()
  27. stream.Write("1"); //get IDR from the device
  28. recievedData = stream.ReadLine();
  29.  
  30. int defaultValue = System.Convert.ToInt32(recievedData, 16);
  31.  
  32. ###################################
  33. //SLIDER
  34. stream.Write("4");
  35. recievedData = stream.ReadLine();
  36. -> Splitten [A] [rv1] [rv2] [rv3] [rv4]
  37.  
  38. ###################################
  39. //rumble pad
  40. stream.Write("m <VALUE>\r\n");
  41.  
  42. ###################################
  43. //leds
  44. stream.Write("l <LED NR> <MODE>\r\n"); <LED NR> - 1 bis 3 | <MODE> 0 = off , 1 = on, 2 = toggle
  45.  
  46. ##################################
  47. //acceleration
  48. stream.Write("a");
  49. recievedData = stream.ReadLine();
  50. -> Splitten [Accel] [FF] [FF] [FF]
  51.  
  52. ------code------
  53. stream.Write("a");
  54. recievedData = stream.ReadLine();
  55. string[] split = recievedData.Split(' ');
  56. float x = System.Convert.ToInt32(split[1], 16);
  57. float y = System.Convert.ToInt32(split[2], 16);
  58. float z = System.Convert.ToInt32(split[3], 16);
  59.  
  60. if (x > 127.0f)
  61. {
  62. x -= 256.0f;
  63. }
  64.  
  65. if (y> 127f)
  66. {
  67. y -= 256f;
  68. }
  69.  
  70. if (z > 127f)
  71. {
  72. z -= 256f;
  73. }
  74.  
  75. x = mapToOne(x);
  76. y = mapToOne(y);
  77. z = mapToOne(z);
  78.  
  79. float mapToOne(float f)
  80. {
  81. if (f > 0)
  82. {
  83. return f / 127f;
  84. }
  85. else
  86. {
  87. return f / 128f;
  88. }
  89. }
  90.  
  91. ##################################
  92. //sound
  93.  
  94. stream.Write("s");
  95. recievedData = stream.ReadLine();
  96. string[] split = recievedData.Split(' ');
  97. float value = float.Parse(split[1], System.Globalization.CultureInfo.InvariantCulture);
  98. value /= 32768f;
Advertisement
Add Comment
Please, Sign In to add comment