コード例 #1
0
        private void prefetch_btn_Click(object sender, RoutedEventArgs e)
        {
            RectLatLng rectLatLng = map_viw.SelectedArea;

            if (!rectLatLng.IsEmpty)
            {
                for (int i = (int)map_viw.Zoom; i <= map_viw.MaxZoom; i++)
                {
                    MessageBoxResult messageBoxResult = MessageBox.Show("Ready Prefetch The Map At Zoom = " + i + " ?", "Prefetch", MessageBoxButton.YesNoCancel);

                    if (messageBoxResult == MessageBoxResult.Yes)
                    {
                        TilePrefetcher tilePrefetcher = new TilePrefetcher();
                        tilePrefetcher.ShowCompleteMessage = true;
                        tilePrefetcher.Start(rectLatLng, i, map_viw.MapProvider, 100);
                    }
                    else if (messageBoxResult == MessageBoxResult.No)
                    {
                        continue;
                    }
                    else if (messageBoxResult == MessageBoxResult.Cancel)
                    {
                        break;
                    }
                }
            }
            else
            {
                RoverConsole.ArcEyeAiContentThreadSafe("Select The Map Area Holding ALT");
            }
        }
コード例 #2
0
 public static void pi3Port1ConnectionEnabler()
 {
     ConnectorOne.pi3Port1AddressUpdater();
     RoverConsole.ArcEyeContentThreadSafe("Checking Pi3 Connection via Port1");
     try
     {
         pi3Port1Tcp = new TcpClient();
         pi3Port1Tcp.Connect(pi3Ip, pi3Port1);
         pi3Port1NetworkStream = pi3Port1Tcp.GetStream();
         pi3Port1SrReciever    = new StreamReader(pi3Port1NetworkStream);
         pi3Port1SwSender      = new StreamWriter(pi3Port1NetworkStream);
         RoverConsole.ArcEyeContentThreadSafe("Pi3 via Port1 Connection Successful");
         if (ConnectorOne.pi3Port1ConnectedStatusEvent != null)
         {
             ConnectorOne.pi3Port1ConnectedStatusEvent(new object(), new EventArgs());
         }
         Thread imuDataHandlerThread = new Thread(() => imuInputHandler());
         imuDataHandlerThread.Name         = "imuDataHandlerThread";
         imuDataHandlerThread.IsBackground = true;
         imuDataHandlerThread.Start();
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         if (ConnectorOne.pi3Port1DisconnectedStatusEvent != null)
         {
             ConnectorOne.pi3Port1DisconnectedStatusEvent(new object(), new EventArgs());
         }
     }
 }
コード例 #3
0
        private void save_btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                RoverConsole.ArcEyeAiContentThreadSafe("Trying To Save Map Snapshot In Desktop Folder");
                ImageSource      imageSource      = map_viw.ToImageSource();
                PngBitmapEncoder pngBitmapEncoder = new PngBitmapEncoder();
                pngBitmapEncoder.Frames.Add(BitmapFrame.Create(imageSource as BitmapSource));

                Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog();
                saveFileDialog.FileName         = "MAP " + DateTime.Today.ToString();
                saveFileDialog.DefaultExt       = ".png";               // Default file extension
                saveFileDialog.Filter           = "Image (.png)|*.png"; // Filter files by extension
                saveFileDialog.AddExtension     = true;
                saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                bool?result = saveFileDialog.ShowDialog();
                if (result == true)
                {
                    string filename = saveFileDialog.FileName;
                    using (System.IO.Stream stream = System.IO.File.OpenWrite(filename))
                    {
                        pngBitmapEncoder.Save(stream);
                    }
                }
                RoverConsole.ArcEyeAiContentThreadSafe("Successfully Done Save Map Snapshot In Desktop Folder Process");
            }
            catch (Exception ex)
            {
                RoverConsole.ArcEyeAiContentThreadSafe(ex.Message);
            }
        }
コード例 #4
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static bool addressUpdater()
 {
     try
     {
         ConnectorOne.pi1Ip = SettingsModule.getPi1Ip();
         RoverConsole.ArcEyeContent("pi1Ip : " + pi1Ip.ToString());
         ConnectorOne.pi1Port1 = Convert.ToInt32(SettingsModule.getPi1Port1());
         RoverConsole.ArcEyeContent("pi1Port1 : " + pi1Port1.ToString());
         ConnectorOne.pi1Port2 = Convert.ToInt32(SettingsModule.getPi1Port2());
         RoverConsole.ArcEyeContent("pi1Port2 : " + pi1Port2.ToString());
         ConnectorOne.pi2Ip = SettingsModule.getPi2Ip();
         RoverConsole.ArcEyeContent("pi2Ip : " + pi2Ip.ToString());
         ConnectorOne.pi2Port1 = Convert.ToInt32(SettingsModule.getPi2Port1());
         RoverConsole.ArcEyeContent("pi2Port1 : " + pi2Port1.ToString());
         ConnectorOne.pi2Port2 = Convert.ToInt32(SettingsModule.getPi2Port2());
         RoverConsole.ArcEyeContent("pi2Port2 : " + pi2Port2.ToString());
         ConnectorOne.pi3Ip = SettingsModule.getPi3Ip();
         RoverConsole.ArcEyeContent("pi3Ip : " + pi3Ip.ToString());
         ConnectorOne.pi3Port1 = Convert.ToInt32(SettingsModule.getPi3Port1());
         RoverConsole.ArcEyeContent("pi3Port1 : " + pi3Port1.ToString());
         ConnectorOne.pi3Port2 = Convert.ToInt32(SettingsModule.getPi3Port2());
         RoverConsole.ArcEyeContent("pi3Port2 : " + pi3Port2.ToString());
         RoverConsole.ArcEyeAiContent("IP PORT ASSIGN SUCCESSFULL ... !!!");
         return(true);
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContent(ex.ToString());
         return(false);
     }
 }
コード例 #5
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static void pi1Port2ConnectionEnabler()
 {
     ConnectorOne.pi1Port2AddressUpdater();
     RoverConsole.ArcEyeContentThreadSafe("Checking Pi1 Connection via Port2");
     try
     {
         pi1Port2Tcp = new TcpClient();
         pi1Port2Tcp.Connect(pi1Ip, pi1Port2);
         pi1Port2NetworkStream = pi1Port2Tcp.GetStream();
         pi1Port2SrReciever    = new StreamReader(pi1Port2NetworkStream);
         pi1Port2SwSender      = new StreamWriter(pi1Port2NetworkStream);
         RoverConsole.ArcEyeContentThreadSafe("Pi1 via Port2 Connection Successful");
         if (ConnectorOne.pi1Port2ConnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port2ConnectedStatusEvent(new object(), new EventArgs());
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         if (ConnectorOne.pi1Port2DisconnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port2DisconnectedStatusEvent(new object(), new EventArgs());
         }
     }
 }
コード例 #6
0
 private void ThreadedRoverConsoleInitializerFunction()
 {
     this.cncl_plc.Dispatcher.Invoke((Action)(() =>
     {
         this.cncl_plc.Children.Add(RoverConsole.RoverConsoleHandler());
     }));
 }
コード例 #7
0
 private void joystick_lst_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         foreach (var deviceInstance in directInput.GetDevices(DeviceType.Joystick, DeviceEnumerationFlags.AllDevices))
         {
             joystickGuid = deviceInstance.InstanceGuid;
             _RoverMovement.joystick_lst.Items.Add(joystickGuid);
         }
         if (joystickGuid == System.Guid.Empty)
         {
             RoverConsole.ArcEyeContentThreadSafe("No Joystick Found.");
             RoverConsole.ArcEyeAiContentThreadSafe("Press The Reload Button To Search Again");
             _RoverMovement.joystick_lst.IsEnabled = false;
         }
         else
         {
             RoverConsole.ArcEyeAiContentThreadSafe("Joystick Found.");
             _RoverMovement.initialize_btn.IsEnabled = true;
             _RoverMovement.joystick_lst.IsEnabled   = true;
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContent(ex.ToString());
     }
 }
コード例 #8
0
 private void current_marker_cheack_bx_Unchecked(object sender, RoutedEventArgs e)
 {
     if (currentMarker != null)
     {
         map_viw.Markers.Remove(currentMarker);
         RoverConsole.ArcEyeAiContentThreadSafe("Current Marker De Initialized");
     }
 }
コード例 #9
0
 public void RoverMovementStatusUpdater()
 {
     if (_RoverMovement != null)
     {
         RoverConsole.ArcEyeAiContentThreadSafe("Rover Movement Command : Direction-" + roverMovement.ToString() + ", Speed-" + pwm.ToString());
         ConnectorOne.RoverMovementStatusUpdater(roverMovement, pwm);
     }
 }
コード例 #10
0
 private void webcam_viw_1_stp_btn_Click(object sender, RoutedEventArgs e)
 {
     _WebcamView.webcam_viw_1_txt.Content    = "Streaming stopped...!!!";
     _WebcamView.webcam_viw_1_txt.Visibility = Visibility.Visible;
     webcam1Decoder.StopStream();
     webcam_view_1.Visibility = Visibility.Hidden;
     RoverConsole.ArcEyeContent("Web Cam View 1 Streaming Has Stopped");
 }
コード例 #11
0
 private void rld_btn_Click(object sender, RoutedEventArgs e)
 {
     _RoverMovement.joystick_lst.Items.Clear();
     joystickGuid = Guid.Empty;
     RoverConsole.ArcEyeContentThreadSafe("Joystick Is De Initialized.");
     _RoverMovement.joystck_pnl.IsExpanded = false;
     _RoverMovement.joystick_lst_Loaded(sender, e);
 }
コード例 #12
0
 public static RoverConsole RoverConsoleHandler()
 {
     if (_RoverConsole == null)
     {
         _RoverConsole = new RoverConsole();
     }
     return(_RoverConsole);
 }
コード例 #13
0
 private void rvr_dwn_Click(object sender, RoutedEventArgs e)
 {
     if (_RoverMovement != null)
     {
         RoverConsole.ArcEyeContentThreadSafe("rvr_dwn_Click");
         roverMovement = RoverAndArmRoverMovement.Backward;
         RoverMovementStatusUpdater();
     }
 }
コード例 #14
0
 private void map_viw_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (_GpsMap.current_marker_cheack_bx.IsChecked == true)
     {
         _GpsMap.map_viw.Markers.Remove(currentMarker);
         System.Windows.Point p = e.GetPosition(map_viw);
         currentMarker.Position     = map_viw.FromLocalToLatLng((int)p.X, (int)p.Y);
         _GpsMap.latitude_txt.Text  = p.X.ToString();
         _GpsMap.longitude_txt.Text = p.Y.ToString();
         map_viw.Markers.Add(currentMarker);
         RoverConsole.ArcEyeAiContentThreadSafe("Current Position Of Marker Is : " + p.X.ToString() + ", " + p.Y.ToString());
     }
 }
コード例 #15
0
 private void go_to_btn_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         double latitude  = double.Parse(latitude_txt.Text, CultureInfo.InvariantCulture);
         double longitude = double.Parse(longitude_txt.Text, CultureInfo.InvariantCulture);
         map_viw.Position = new PointLatLng(latitude, longitude);
         RoverConsole.ArcEyeContentThreadSafe("Map Initialized In : " + latitude.ToString() + ", " + longitude.ToString());
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe("Incorrect Coordinate Format: " + ex.Message);
     }
 }
コード例 #16
0
        private void clear_all_btn_Click(object sender, RoutedEventArgs e)
        {
            var clearMarker = map_viw.Markers.Where(tempMarker => tempMarker != null && tempMarker != currentMarker);

            if (clearMarker != null)
            {
                for (int i = 0; i < clearMarker.Count(); i++)
                {
                    map_viw.Markers.Remove(clearMarker.ElementAt(i));
                    i--;
                }
            }
            RoverConsole.ArcEyeAiContentThreadSafe("All Temporary Markers Has Cleared");
        }
コード例 #17
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static void pi1Port2AddressUpdater()
 {
     try
     {
         ConnectorOne.pi1Ip = SettingsModule.getPi1Ip();
         RoverConsole.ArcEyeContent("pi1Ip : " + pi1Ip.ToString());
         ConnectorOne.pi1Port2 = Convert.ToInt32(SettingsModule.getPi1Port2());
         RoverConsole.ArcEyeContent("pi1Port2 : " + pi1Port2.ToString());
         RoverConsole.ArcEyeAiContent("PI1 IP PORT2 ASSIGN SUCCESSFULL ... !!!");
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContent(ex.ToString());
     }
 }
コード例 #18
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static void pi3Port1AddressUpdater()
 {
     try
     {
         ConnectorOne.pi3Ip = SettingsModule.getPi3Ip();
         RoverConsole.ArcEyeContentThreadSafe("pi3Ip : " + pi3Ip.ToString());
         ConnectorOne.pi3Port1 = Convert.ToInt32(SettingsModule.getPi3Port1());
         RoverConsole.ArcEyeContent("pi3Port1 : " + pi3Port1.ToString());
         RoverConsole.ArcEyeAiContentThreadSafe("PI3 IP PORT1 ASSIGN SUCCESSFULL ... !!!");
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
     }
 }
コード例 #19
0
 private void clear_all_cache_btn_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Are You Sure To Clear The Map Cache?\nNo Data Will Be Saved In Local Storage", "Map Cache Clear Warning", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
     {
         try
         {
             map_viw.Manager.PrimaryCache.DeleteOlderThan(DateTime.Now, null);
             RoverConsole.ArcEyeAiContentThreadSafe("Successfully Cleared The Map Cache");
         }
         catch (Exception ex)
         {
             RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         }
     }
 }
コード例 #20
0
 private void webcam_viw_2_strt_btn_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         _WebcamView.webcam_viw_2_txt.Content    = "";
         _WebcamView.webcam_viw_2_txt.Visibility = Visibility.Hidden;
         _WebcamView.webcam_view_2.Visibility    = Visibility.Visible;
         //webcam2Decoder.ParseStream(new Uri("http://" + SettingsModule.getWebCam2Ip() + ":" + SettingsModule.getWebcam2Port()));
         webcam2Decoder.ParseStream(new Uri("http://192.168.1.150:8081"));
         RoverConsole.ArcEyeContentThreadSafe("Web Cam View 2 Streaming Has Started");
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
     }
 }
コード例 #21
0
        private GpsMap()
        {
            InitializeComponent();
            if (!PingNetwork("pingtest.com"))
            {
                map_viw.Manager.Mode = AccessMode.CacheOnly;
                RoverConsole.ArcEyeAiContentThreadSafe("No Internet connection available, going to CacheOnly mode");
            }
            else
            {
                RoverConsole.ArcEyeAiContentThreadSafe("Internet connection available, going to normal mode");
            }
            map_viw.MapProvider = GMapProviders.OpenStreetMap;
            map_viw.Position    = new PointLatLng(23.8103, 90.4125);
            map_viw.Zoom        = 10;

            map_type_combo_bx.ItemsSource  = GMapProviders.List;
            map_type_combo_bx.SelectedItem = map_viw.MapProvider;

            map_mode_combo_bx.ItemsSource  = Enum.GetValues(typeof(AccessMode));
            map_mode_combo_bx.SelectedItem = map_viw.Manager.Mode;

            routing_CK_bx.IsChecked    = map_viw.Manager.UseRouteCache;
            geo_coding_ck_bx.IsChecked = map_viw.Manager.UseGeocoderCache;

            latitude_txt.Text  = map_viw.Position.Lat.ToString(CultureInfo.InvariantCulture);
            longitude_txt.Text = map_viw.Position.Lng.ToString(CultureInfo.InvariantCulture);

            current_marker_cheack_bx.IsChecked = true;
            drag_map_cheack_bx.IsChecked       = map_viw.CanDragMap;
            grid_cheack_bx.IsChecked           = true;

            GpsMap.currentMarker = new GMapMarker(map_viw.Position);
            {
                GpsMap.currentMarker.Shape = new Rectangle
                {
                    Width           = 10,
                    Height          = 10,
                    Stroke          = Brushes.Red,
                    StrokeThickness = 1.5
                };
            }
        }
コード例 #22
0
        public static bool PingNetwork(string hostNameOrAddress)
        {
            using (Ping p = new Ping())
            {
                byte[] buffer  = Encoding.ASCII.GetBytes("network test string");
                int    timeout = 4444; // 4s

                try
                {
                    PingReply reply = p.Send(hostNameOrAddress, timeout, buffer);
                    return((reply.Status == IPStatus.Success) ? true : false);
                }
                catch (Exception ex)
                {
                    RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
                }
            }
            return(false);
        }
コード例 #23
0
        private void add_route_btn_Click(object sender, RoutedEventArgs e)
        {
            RoverConsole.ArcEyeAiContentThreadSafe("Trying To Find The Route Between Start Point And End Point");
            RoutingProvider routingProvider = map_viw.MapProvider as RoutingProvider;

            if (routingProvider == null)
            {
                routingProvider = GMapProviders.OpenStreetMap;
            }
            MapRoute mapRoute = routingProvider.GetRoute(startingPosition, endingPosition, false, false, (int)map_viw.Zoom);

            if (mapRoute != null)
            {
                GMapMarker tempStartingPosition = new GMapMarker(startingPosition);
                tempStartingPosition.Shape = new Rectangle
                {
                    Width           = 10,
                    Height          = 10,
                    Stroke          = Brushes.Blue,
                    StrokeThickness = 1.5
                };

                GMapMarker tempEndingPosition = new GMapMarker(endingPosition);
                tempEndingPosition.Shape = new Rectangle
                {
                    Width           = 10,
                    Height          = 10,
                    Stroke          = Brushes.Blue,
                    StrokeThickness = 1.5
                };

                GMapRoute gMapRoute = new GMapRoute(mapRoute.Points);
                {
                    gMapRoute.ZIndex = -1;
                }

                map_viw.Markers.Add(tempStartingPosition);
                map_viw.Markers.Add(tempEndingPosition);
                map_viw.Markers.Add(gMapRoute);
                map_viw.ZoomAndCenterMarkers(null);
            }
            RoverConsole.ArcEyeAiContentThreadSafe("Route Between Start Point And End Point Is Initialized In The Map");
        }
コード例 #24
0
 private void initialize_btn_Click(object sender, RoutedEventArgs e)
 {
     if (_RoverMovement.joystick_lst.SelectedItem != null)
     {
         Joystick joystick = new Joystick(directInput, (Guid)_RoverMovement.joystick_lst.SelectedItem);
         RoverConsole.ArcEyeContentThreadSafe("Joystick initialization successful.");
         _RoverMovement.initialize_btn.IsEnabled     = false;
         _RoverMovement.joystick_lst.IsEnabled       = false;
         _RoverMovement.rld_btn.IsEnabled            = false;
         _RoverMovement.fst_initialize_btn.IsEnabled = false;
         Thread joystickInputHandlerThread = new Thread(() => joystickInputHandler(joystick));
         joystickInputHandlerThread.IsBackground = true;
         joystickInputHandlerThread.Start();
         _RoverMovement.joystck_pnl.IsExpanded = true;
     }
     else
     {
         RoverConsole.ArcEyeAiContentThreadSafe("No Joystick Selected");
     }
 }
コード例 #25
0
 private static void imuInputHandler()
 {
     try
     {
         pi3Port1SwSender.AutoFlush = true;
         while (true)
         {
             imuData = pi3Port1SrReciever.ReadLine();
             //RoverConsole.ArcEyeAiContentThreadSafe("IMU Data Received : " + ConnectorOne.imuData);
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         RoverConsole.ArcEyeAiContentThreadSafe("Trying To Reconnect");
         if (ConnectorOne.pi3Port1DisconnectedStatusEvent != null)
         {
             ConnectorOne.pi3Port1DisconnectedStatusEvent(new object(), new EventArgs());
         }
     }
 }
コード例 #26
0
 private void fst_initialize_btn_Click(object sender, RoutedEventArgs e)
 {
     _RoverMovement.joystick_lst.Items.Clear();
     joystickGuid = Guid.Empty;
     RoverConsole.ArcEyeContentThreadSafe("Initializing fast Joystick Initializing process.");
     try
     {
         foreach (var deviceInstance in directInput.GetDevices(DeviceType.Joystick, DeviceEnumerationFlags.AllDevices))
         {
             joystickGuid = deviceInstance.InstanceGuid;
             _RoverMovement.joystick_lst.Items.Add(joystickGuid);
         }
         if (joystickGuid == System.Guid.Empty)
         {
             RoverConsole.ArcEyeContentThreadSafe("No Joystick Found.");
             RoverConsole.ArcEyeAiContentThreadSafe("Fast Initializing Process Failed.");
         }
         else
         {
             RoverConsole.ArcEyeAiContentThreadSafe("Joystick Found.");
             _RoverMovement.initialize_btn.IsEnabled = true;
             _RoverMovement.joystick_lst.IsEnabled   = true;
             Joystick joystick = new Joystick(directInput, (Guid)_RoverMovement.joystick_lst.Items[0]);
             RoverConsole.ArcEyeContentThreadSafe("Joystick initialization successful.");
             _RoverMovement.initialize_btn.IsEnabled     = false;
             _RoverMovement.joystick_lst.IsEnabled       = false;
             _RoverMovement.rld_btn.IsEnabled            = false;
             _RoverMovement.fst_initialize_btn.IsEnabled = false;
             Thread joystickInputHandlerThread = new Thread(() => joystickInputHandler(joystick));
             joystickInputHandlerThread.IsBackground = true;
             joystickInputHandlerThread.Start();
             _RoverMovement.joystck_pnl.IsExpanded = true;
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContent(ex.ToString());
     }
 }
コード例 #27
0
 private void joystickInputHandler(Joystick joystick)
 {
     try
     {
         RoverConsole.ArcEyeContentThreadSafe("Joystick ready to rock and roll.");
         joystick.Properties.BufferSize = 128;
         joystick.Acquire();
         while (true)
         {
             joystick.Poll();
             var datas = joystick.GetBufferedData();
             foreach (var state in datas)
             {
                 //RoverConsole.ArcEyeContentThreadSafe("Joystick data : " + state.ToString());
                 _RoverMovement.buttonHandlerAnalog(state);
                 _RoverMovement.buttonHandlerDigital(state);
             }
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         _RoverMovement.rvr_mvmnt_pnl.Dispatcher.Invoke((Action)(() =>
         {
             _RoverMovement.joystck_pnl.IsExpanded = false;
             _RoverMovement.rld_btn.IsEnabled = true;
             _RoverMovement.fst_initialize_btn.IsEnabled = true;
             if (_RoverMovement.roverMovement != RoverAndArmRoverMovement.Stop)
             {
                 RoverConsole.ArcEyeAiContentThreadSafe("Exciting safety procedure ...!!!");
                 _RoverMovement.roverMovement = RoverAndArmRoverMovement.Stop;
                 _RoverMovement.pwm = 0;
                 _RoverMovement.RoverMovementStatusUpdater();
             }
         }));
         RoverConsole.ArcEyeAiContentThreadSafe("Mouse And KeyBoard Panel Activated, Set As primary I/o Device");
     }
 }
コード例 #28
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static void RoveArmStatusUpdater(MotorName motorName, HandMovement handMovement)
 {
     try
     {
         RoverConsole.ArcEyeAiContent("Uploading Rover Arm Command : Motor Name-" + motorName.ToString() + ", Hand Movement-" + handMovement.ToString());
         pi1Port2SwSender.AutoFlush = true;
         pi1Port2SwSender.Write(Convert.ToString(Convert.ToInt32(motorName)) + "," + Convert.ToInt32(handMovement));
         RoverConsole.ArcEyeAiContent("Command Uploaded to Pi1 via port2");
         if (ConnectorOne.pi1Port2ConnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port2ConnectedStatusEvent(new object(), new EventArgs());
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         RoverConsole.ArcEyeAiContentThreadSafe("Trying To Reconnect");
         if (ConnectorOne.pi1Port2DisconnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port2DisconnectedStatusEvent(new object(), new EventArgs());
         }
     }
 }
コード例 #29
0
ファイル: ConnectorOne.cs プロジェクト: extinctCoder/ARC_EYE
 public static void RoverMovementStatusUpdater(RoverAndArmRoverMovement roverMovement, double pwm)
 {
     try
     {
         RoverConsole.ArcEyeAiContent("Uploading Rover Movement Command : Direction-" + roverMovement.ToString() + ", Speed-" + pwm.ToString());
         pi1Port1SwSender.AutoFlush = true;
         pi1Port1SwSender.Write(Convert.ToString(Convert.ToInt32(roverMovement)) + "," + Convert.ToString(pwm));
         RoverConsole.ArcEyeAiContent("Command Uploaded to Pi1 via port1");
         if (ConnectorOne.pi1Port1ConnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port1ConnectedStatusEvent(new object(), new EventArgs());
         }
     }
     catch (Exception ex)
     {
         RoverConsole.ArcEyeAiContentThreadSafe(ex.ToString());
         RoverConsole.ArcEyeAiContentThreadSafe("Trying To Reconnect");
         if (ConnectorOne.pi1Port1DisconnectedStatusEvent != null)
         {
             ConnectorOne.pi1Port1DisconnectedStatusEvent(new object(), new EventArgs());
         }
     }
 }
コード例 #30
0
        private void add_marker_btn_Click(object sender, RoutedEventArgs e)
        {
            GMapMarker gMapMarker = new GMapMarker(currentMarker.Position);

            {
                string    toolTipText;
                Placemark?placemark = null;
                if (place_info_btn.IsChecked.Value)
                {
                    GeoCoderStatusCode status;
                    var plret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
                    if (status == GeoCoderStatusCode.G_GEO_SUCCESS && plret != null)
                    {
                        placemark = plret;
                    }
                }
                if (placemark != null)
                {
                    toolTipText = placemark.Value.Address;
                }
                else
                {
                    toolTipText = currentMarker.Position.ToString();
                }
                gMapMarker.Shape = new Rectangle
                {
                    Width           = 10,
                    Height          = 10,
                    Stroke          = Brushes.Green,
                    StrokeThickness = 1.5
                };
                gMapMarker.ZIndex = 55;
            }
            map_viw.Markers.Add(gMapMarker);
            RoverConsole.ArcEyeAiContentThreadSafe("New Marker Added to the map in : " + gMapMarker.Position.ToString());
        }