Calibration.xaml.cs 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Shapes;
  14. using ActuBoardAPI;
  15. namespace VTExperiment1
  16. {
  17. /// </summary>
  18. public partial class Calibration : Window
  19. {
  20. double sliderValue;
  21. private ActuBoardInterface _abi;
  22. public Calibration()
  23. {
  24. InitializeComponent();
  25. Condition condition = new Condition();
  26. condition.ShowDialog();
  27. condition.BringIntoView();
  28. _abi = new ActuBoardInterface();
  29. _abi.SetComPort(6);
  30. _abi.Connect();
  31. _abi.EnableOutput(true);
  32. }
  33. private void Button_Click(object sender, RoutedEventArgs e)
  34. {
  35. //Console.WriteLine(motor + " " + sliderValue);
  36. //listbox.Items.Remove(listbox.Items[listbox.SelectedIndex]);
  37. }
  38. private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
  39. {
  40. //if (listbox.SelectedItem != null)
  41. {
  42. //motor = ((Motor)listbox.SelectedItem).value;
  43. //Console.WriteLine(motor);
  44. }
  45. }
  46. private void overDrive(int channel)
  47. {
  48. _abi.SetChannel(channel, 120);
  49. System.Threading.Thread.Sleep(5);
  50. }
  51. //Console.Write("Setting motor " + motor + " intensity" + (int) ((1 - (sliderValue / 10)) * 255));
  52. private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  53. {
  54. overDrive(40);
  55. int intensity = (int)((slider1.Value / 10) * 165);
  56. _abi.SetChannel(40, intensity);
  57. V1.Text = (int)(slider1.Value * 10) + "";
  58. }
  59. private void slider2_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  60. {
  61. int intensity = (int)((slider2.Value / 10) * 165);
  62. _abi.SetChannel(41, intensity);
  63. V2.Text = (int)(slider2.Value * 10) + "";
  64. }
  65. private void slider3_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  66. {
  67. int intensity = (int)((slider3.Value / 10) * 165);
  68. _abi.SetChannel(42, intensity);
  69. V3.Text = (int)(slider3.Value * 10) + "";
  70. }
  71. private void slider4_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  72. {
  73. int intensity = (int)((slider4.Value / 10) * 165);
  74. _abi.SetChannel(43, intensity);
  75. V4.Text = (int)(slider4.Value * 10) + "";
  76. }
  77. private void slider5_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  78. {
  79. int intensity = (int)((slider5.Value / 10) * 165);
  80. _abi.SetChannel(44, intensity);
  81. V5.Text = (int)(slider5.Value * 10) + "";
  82. }
  83. private void slider6_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  84. {
  85. int intensity = (int)((slider6.Value / 10) * 165);
  86. _abi.SetChannel(45, intensity);
  87. V6.Text = (int)(slider6.Value * 10) + "";
  88. }
  89. private void slider7_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  90. {
  91. int intensity = (int)((slider7.Value / 10) * 165);
  92. _abi.SetChannel(46, intensity);
  93. V7.Text = (int)(slider7.Value * 10) + "";
  94. }
  95. private void slider8_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  96. {
  97. int intensity = (int)((slider8.Value / 10) * 165);
  98. _abi.SetChannel(47, intensity);
  99. V8.Text = (int)(slider8.Value * 10) + "";
  100. }
  101. private void slider9_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  102. {
  103. int intensity = (int)((slider9.Value / 10) * 165);
  104. _abi.SetChannel(48, intensity);
  105. V9.Text = (int)(slider9.Value * 10) + "";
  106. }
  107. private void slider10_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  108. {
  109. int intensity = (int)((slider10.Value / 10) * 165);
  110. _abi.SetChannel(49, intensity);
  111. V10.Text = (int)(slider10.Value * 10) + "";
  112. }
  113. private void C1_Checked(object sender, RoutedEventArgs e)
  114. {
  115. slider1.IsEnabled = false;
  116. _abi.SetChannel(40, 0);
  117. }
  118. private void C1_Unchecked(object sender, RoutedEventArgs e)
  119. {
  120. slider1.IsEnabled = true;
  121. int intensity = (int)((slider1.Value / 10) * 165);
  122. _abi.SetChannel(40, intensity);
  123. }
  124. private void C2_Checked(object sender, RoutedEventArgs e)
  125. {
  126. slider2.IsEnabled = false;
  127. _abi.SetChannel(41, 0);
  128. }
  129. private void C2_Unchecked(object sender, RoutedEventArgs e)
  130. {
  131. slider2.IsEnabled = true;
  132. int intensity = (int)((slider2.Value / 10) * 165);
  133. _abi.SetChannel(41, intensity);
  134. }
  135. private void C3_Checked(object sender, RoutedEventArgs e)
  136. {
  137. slider3.IsEnabled = false;
  138. _abi.SetChannel(42, 0);
  139. }
  140. private void C3_Unchecked(object sender, RoutedEventArgs e)
  141. {
  142. slider3.IsEnabled = true;
  143. int intensity = (int)((slider3.Value / 10) * 165);
  144. _abi.SetChannel(42, intensity);
  145. }
  146. private void C4_Checked(object sender, RoutedEventArgs e)
  147. {
  148. slider4.IsEnabled = false;
  149. _abi.SetChannel(43, 0);
  150. }
  151. private void C4_Unchecked(object sender, RoutedEventArgs e)
  152. {
  153. slider4.IsEnabled = true;
  154. int intensity = (int)((slider4.Value / 10) * 165);
  155. _abi.SetChannel(43, intensity);
  156. }
  157. private void C5_Checked(object sender, RoutedEventArgs e)
  158. {
  159. slider5.IsEnabled = false;
  160. _abi.SetChannel(44, 0);
  161. }
  162. private void C5_Unchecked(object sender, RoutedEventArgs e)
  163. {
  164. slider5.IsEnabled = true;
  165. int intensity = (int)((slider5.Value / 10) * 165);
  166. _abi.SetChannel(44, intensity);
  167. }
  168. private void C6_Checked(object sender, RoutedEventArgs e)
  169. {
  170. slider6.IsEnabled = false;
  171. _abi.SetChannel(45, 0);
  172. }
  173. private void C6_Unchecked(object sender, RoutedEventArgs e)
  174. {
  175. slider6.IsEnabled = true;
  176. int intensity = (int)((slider6.Value / 10) * 165);
  177. _abi.SetChannel(45, intensity);
  178. }
  179. private void C7_Checked(object sender, RoutedEventArgs e)
  180. {
  181. slider7.IsEnabled = false;
  182. _abi.SetChannel(46, 0);
  183. }
  184. private void C7_Unchecked(object sender, RoutedEventArgs e)
  185. {
  186. slider7.IsEnabled = true;
  187. int intensity = (int)((slider7.Value / 10) * 165);
  188. _abi.SetChannel(46, intensity);
  189. }
  190. private void C8_Checked(object sender, RoutedEventArgs e)
  191. {
  192. slider8.IsEnabled = false;
  193. _abi.SetChannel(47, 0);
  194. }
  195. private void C8_Unchecked(object sender, RoutedEventArgs e)
  196. {
  197. slider8.IsEnabled = true;
  198. int intensity = (int)((slider8.Value / 10) * 165);
  199. _abi.SetChannel(47, intensity);
  200. }
  201. private void C9_Checked(object sender, RoutedEventArgs e)
  202. {
  203. slider9.IsEnabled = false;
  204. _abi.SetChannel(48, 0);
  205. }
  206. private void C9_Unchecked(object sender, RoutedEventArgs e)
  207. {
  208. slider9.IsEnabled = true;
  209. int intensity = (int)((slider9.Value / 10) * 165);
  210. _abi.SetChannel(48, intensity);
  211. }
  212. private void C10_Checked(object sender, RoutedEventArgs e)
  213. {
  214. slider10.IsEnabled = false;
  215. _abi.SetChannel(49, 0);
  216. }
  217. private void C10_Unchecked(object sender, RoutedEventArgs e)
  218. {
  219. slider10.IsEnabled = true;
  220. int intensity = (int)((slider10.Value / 10) * 165);
  221. _abi.SetChannel(49, intensity);
  222. }
  223. private void WindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
  224. {
  225. foreach (double d in GetCalibrationData())
  226. Logger.logger.LogWrite(d + "", "Calibration");
  227. _abi.Disconnect();
  228. }
  229. public double[] GetCalibrationData()
  230. {
  231. return new double[10] { slider1.Value * 10, slider2.Value * 10, slider3.Value * 10, slider4.Value * 10, slider5.Value * 10, slider6.Value * 10, slider7.Value * 10, slider8.Value * 10, slider9.Value * 10, slider10.Value * 10 };
  232. }
  233. }
  234. public class Motor : ListItem
  235. {
  236. public string name;
  237. public int value;
  238. public Motor(int num)
  239. {
  240. name = "Motor " + num;
  241. value = num;
  242. }
  243. public override string ToString()
  244. {
  245. return this.name;
  246. }
  247. }
  248. }