public sensor_cls() { Histo_x = new histogram_cls(160, 13, 40); Histo_y = new histogram_cls(160, 13, 40); Histo_z = new histogram_cls(160, 13, 40); Histogram_array[0] = Histo_x; Histogram_array[1] = Histo_y; Histogram_array[2] = Histo_z; }
public gyroscope_cls() { Histo = new histogram_cls(160, 13, 40); }
public magnetometer_cls() { Histo = new histogram_cls(160, 13, 40); }
public tester_cls(histogram_cls Histogram) { histogram = Histogram; }
// constructor public MainWindow() { InitializeComponent(); string Host = System.Net.Dns.GetHostName(); debug_info_panel.Content += "my host -> " + Host + "\r\n"; string IP1 = System.Net.Dns.GetHostByName(Host).AddressList[0].ToString(); debug_info_panel.Content += "my ip -> " + IP1 + "\r\n"; //local_kinematics_endpoint.Address = IPAddress.Parse("192.168.1.1"); local_kinematics_endpoint.Address = IPAddress.Parse(IP1); local_kinematics_endpoint.Port = 112; kinematics_listener = new UdpClient(); try { kinematics_listener.Client.Bind(local_kinematics_endpoint); } catch (Exception e) { } raw_data = new raw_kinematics_data_cls(); model = new model_cls(raw_data); // fill model model.add_channel(new angle_cls(model.Segments[1], model.Segments[2])); model.add_channel(new angle_cls(model.Segments[1], model.Segments[3])); model.add_channel(new angle_cls(model.Segments[1], model.Segments[4])); model.add_channel(new angle_cls(model.Segments[2], model.Segments[3])); model.add_channel(new angle_cls(model.Segments[2], model.Segments[4])); model.add_channel(new angle_cls(model.Segments[3], model.Segments[4])); histogram = new histogram_cls(160, 13, 40); // object just to run tests //metronomeThread = new Thread(new ThreadStart(this.metronome_thread_method)); //metronomeThread.IsBackground = true; stop_metronome_button.IsEnabled = false; //metronomeThread.Start(); angle_chart0 = new angle_graph_cls(angle_0_graph_canvas, chart0_legend_label); angle_chart1 = new angle_graph_cls(angle_1_graph_canvas, chart1_legend_label); angle_chart2 = new angle_graph_cls(angle_2_graph_canvas, chart2_legend_label); //mean_cycle_chart0 = new mean_cycle_graph_cls(channel_0_mean_graph_canvas); //mean_cycle_chart1 = new mean_cycle_graph_cls(channel_1_mean_graph_canvas); //mean_cycle_chart2 = new mean_cycle_graph_cls(channel_2_mean_graph_canvas); registrator0 = new registrator_cls(storage0, metronom); registrator1 = new registrator_cls(storage1, metronom); registrator2 = new registrator_cls(storage2, metronom); //windowsFormsHost.Child = userControl_unity3d; //MyPSI = new ProcessStartInfo(unity_game_path); //unity_game_process = new Process(); //unity_game_process.StartInfo = MyPSI; //unity_game_process.Start(); //System.IntPtr handle1 = unity_game_process.MainWindowHandle; //System.IntPtr handle2 = userControl_unity3d.Handle; //SetParent(handle1, handle2); //(windowsFormsHost.Child as System.Windows.Forms.WebBrowser).Navigate("file:///C:/workspace/unity_workspace/skeleton/skeleton_00_01/skeleton_00_01/web_play/web_play.html"); }// end constructor
}// end dataReceivingMethod private void UpdateUserInterface() { info_panel_label.Content = debug_string; info_panel_label.UpdateLayout(); //* // zapolnenie tablicy dannyh datchikov if (raw_data.Kinematics_Data.Length == raw_data.Raw_Data_Length) { data_panel_label.Content = ""; for (int i = 0; i < 19; i++) { string data_string = ""; for (int j = 0; j < 9; j++) { Int16 data = (Int16)((Int16)raw_data.Kinematics_Data[i * 18 + j * 2] + ((Int16)(raw_data.Kinematics_Data[i * 18 + j * 2 + 1]) << 8)); data_string += String.Format("{0, 10} ", data); } data_string += "\n"; data_panel_label.Content += data_string; } } data_panel_label.UpdateLayout(); //*/ Double angle1 = (model.Channels.ToArray())[0].Angle.Angle; Double angle2 = (model.Channels.ToArray())[1].Angle.Angle; Double angle3 = (model.Channels.ToArray())[3].Angle.Angle; angle_chart0.add_stroke(angle1); angle_chart1.add_stroke(angle2); angle_chart2.add_stroke(angle3); segment1_axis.Content = String.Format("{0,10:F3}", angle1); segment2_axis.Content = String.Format("{0,10:F3}", angle2); segment_1_2_angle.Content = String.Format("{0,10:F3}", angle3); //******************************************************************** //* double ratio = 0; int sensor_type = 0; // 0 - accel, 1 - gyro, 2 - magnet; histogram_cls[,] hist = new histogram_cls[5, 4]; sensor_cls[] sensor = new sensor_cls[5]; for (int i = 1; i < 5; i++) { sensor[i] = model.Segments[i].sensors_array[sensor_type]; } for (int i = 1; i < 5; i++) { for (int j = 1; j < 4; j++) { hist[i, j] = sensor[i].histogram_array[j - 1]; } } // add value for (int i = 1; i < 5; i++) { for (int j = 1; j < 4; j++) { hist[i, j].add_value(sensor[i].xyz[j - 1]); } } Label[,] labels = new Label[5, 4]; labels[1, 1] = hist_1_1_label; labels[1, 2] = hist_1_2_label; labels[1, 3] = hist_1_3_label; labels[2, 1] = hist_2_1_label; labels[2, 2] = hist_2_2_label; labels[2, 3] = hist_2_3_label; labels[3, 1] = hist_3_1_label; labels[3, 2] = hist_3_2_label; labels[3, 3] = hist_3_3_label; labels[4, 1] = hist_4_1_label; labels[4, 2] = hist_4_2_label; labels[4, 3] = hist_4_3_label; Canvas[,] canvases = new Canvas[5, 4]; canvases[1, 1] = hist_1_1_canvas; canvases[1, 2] = hist_1_2_canvas; canvases[1, 3] = hist_1_3_canvas; canvases[2, 1] = hist_2_1_canvas; canvases[2, 2] = hist_2_2_canvas; canvases[2, 3] = hist_2_3_canvas; canvases[3, 1] = hist_3_1_canvas; canvases[3, 2] = hist_3_2_canvas; canvases[3, 3] = hist_3_3_canvas; canvases[4, 1] = hist_4_1_canvas; canvases[4, 2] = hist_4_2_canvas; canvases[4, 3] = hist_4_3_canvas; if (packet_counter % 40 == 0) { for (int i = 1; i < 5; i++) { for (int j = 1; j < 4; j++) { labels[i, j].Content = ""; canvases[i, j].Children.Clear(); ratio = 0; if (hist[i, j].main_bin_value != 0) { ratio = canvases[i, j].ActualHeight * 0.75 / hist[i, j].main_bin_value; } for (int k = 0; k < hist[i, j].bins.Length; k++) { Line bin_stroke; bin_stroke = new Line(); bin_stroke.StrokeThickness = 13; bin_stroke.Stroke = System.Windows.Media.Brushes.LightSteelBlue; bin_stroke.X1 = 40 + k * 15; bin_stroke.X2 = 40 + k * 15; bin_stroke.Y1 = canvases[i, j].ActualHeight; bin_stroke.Y2 = canvases[i, j].ActualHeight - (hist[i, j].bins[k] * ratio); canvases[i, j].Children.Add(bin_stroke); canvases[i, j].UpdateLayout(); } labels[i, j].Content += hist[i, j].main_bin.ToString(); labels[i, j].UpdateLayout(); } } } //*/ }// end update user interface
public accelerometer_cls() { Histo_x = new histogram_cls(160, 13, 40); Histo_y = new histogram_cls(160, 13, 40); Histo_z = new histogram_cls(160, 13, 40); }