public List <Controller_Properties> Scann_For_Controllers() { scanner.Scan(); ControllerInfoCollection controllers = scanner.Controllers; List <Controller_Properties> _ControllersInfoList = new List <Controller_Properties>(); foreach (ControllerInfo controllerInfo in controllers) { Controller_Properties _ControllerInfo = new Controller_Properties(); //Get all the data neccesary from the controllerinfo object _ControllerInfo.Id = controllerInfo.Id; _ControllerInfo.Availability = controllerInfo.Availability.ToString(); _ControllerInfo.IsVirtual = controllerInfo.IsVirtual.ToString(); _ControllerInfo.SystemName = controllerInfo.SystemName; _ControllerInfo.Version = controllerInfo.Version.ToString(); _ControllerInfo.ControllerName = controllerInfo.ControllerName; _ControllerInfo.IPAddress = controllerInfo.IPAddress.ToString(); _ControllerInfo.ControllerInfo = controllerInfo; //add it to the list _ControllersInfoList.Add(_ControllerInfo); } return(_ControllersInfoList); }
//Creates an instance of the selected controller private void Controllers_In_Network_List_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Controller_Properties _SelectedController = null; string Output; string Alive_Test; MessageBoxResult result; if (Controllers_In_Network_List.SelectedItems.Count == 1) { bool bAlive = false; bool bAlive_previous = false; _SelectedController = (Controller_Properties)Controllers_In_Network_List.SelectedItems[0]; Output = _Scanner.Network_Connect_To_Cotroller(_SelectedController.ControllerInfo); Conn_Text_Status.Content = "Connectivity status: " + Output; if (Output == "Selected controller not available / ready") { Conn_Status.Fill = Brushes.Red; } else { Conn_Status.Fill = Brushes.Green; } bAlive_previous = _Scanner.Read_Bool("bAlive"); bAlive = !bAlive_previous; _Scanner.Set_Reset_Bool("bAlive", bAlive); bAlive = _Scanner.Read_Bool("bAlive"); if (bAlive != bAlive_previous) { Alive_Test = "TEST R/W OK!"; } else { Alive_Test = "TEST R/W NOK!"; } result = MessageBox.Show(Alive_Test); } }