public WatchdogWorker(DroneClient droneClient, WorkerBase[] workers) { foreach (WorkerBase wb in workers) { _Workers.Add(wb); } }
//private StorageFile commandHistoryFile; public CommandWorker(DroneClient droneClient) { _DroneClient = droneClient; _NormalPriorityCommandQueue = new Queue <string>(); _HighPriorityCommandQueue = new Queue <string>(); _ConfigCommandList = new Queue <string>(); }
// Use this for initialization void Start() { Debug.Log("Start"); // initialize data array data = new byte[width * height * 3]; // set textures MainRenderer.material.mainTexture = cameraTexture; SecondaryRenderer.material.mainTexture = blackTexture; cameraTexture = new Texture2D(width, height); blackTexture = new Texture2D(1, 1); blackTexture.SetPixel(0, 0, Color.black); blackTexture.Apply(); // Initialize drone videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); droneClient = new DroneClient("192.168.1.1"); droneClient.UnhandledException += HandleUnhandledException; droneClient.VideoPacketAcquired += OnVideoPacketAcquired; droneClient.NavigationDataAcquired += navData => navigationData = navData; videoPacketDecoderWorker.UnhandledException += HandleUnhandledException; droneClient.Start(); // activate main drone camera switchDroneCamera(AR.Drone.Client.Configuration.VideoChannelType.Vertical); // determine connection client = new WlanClient(); }
public ConfigurationPage() { InitializeComponent(); _droneClient = DroneClient.Instance; this.DataContext = _droneClient; }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); InitializeLocationManager(); SetContentView(Resource.Layout.Main); FindViewById <Button>(Resource.Id.MyButtonLand).Click += LandButtonClick; FindViewById <Button>(Resource.Id.ButtonEmergency).Click += EmergencyButtonClicked; FindViewById <Button>(Resource.Id.buttonReset).Click += (sender, args) => _client.ResetEmergency(); _checkBox = FindViewById <CheckBox>(Resource.Id.executeCommandsCheckBox); _checkBox.CheckedChange += CheckBoxOnCheckedChange; _logTextView = FindViewById <TextView>(Resource.Id.logTextView); _dronStateTextView = FindViewById <TextView>(Resource.Id.droneStateTextView); _websocketTextView = FindViewById <TextView>(Resource.Id.serviceStateTextView); _client = new DroneClient("192.168.1.248"); _client.Start(); //_client.NavigationDataAcquired += ClientOnNavigationDataAcquired; _receiver = new CommandReceiver(); _receiver.CommandReceived += ReceiverOnCommandReceived; _receiver.WebSocketStateChanged += ReceiverOnWebSocketStateChanged; _receiver.Start(); var droneConnectionChecker = new Thread(ConnectionCheckRunner) { Name = "Drone Checker" }; droneConnectionChecker.Start(); }
public XBox360JoystickProvider(DroneClient droneClient) { if (droneClient == null) throw new ArgumentNullException("DroneClient"); _DroneClient = droneClient; _Controller = new Controller(0); }
void MainWindow_Loaded(object sender, RoutedEventArgs e) { tmrStatusUpdate = new DispatcherTimer(); tmrStatusUpdate.Interval = TimeSpan.FromMilliseconds(100); tmrStatusUpdate.IsEnabled = true; tmrStatusUpdate.Tick += tmrStatusUpdate_Tick; tmrVideoUpdate = new DispatcherTimer(); tmrVideoUpdate.Interval = TimeSpan.FromMilliseconds(20); tmrVideoUpdate.IsEnabled = true; tmrVideoUpdate.Tick += tmrVideoUpdate_Tick; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); //_videoPacketDecoderWorker.Start(); _droneClient = new DroneClient("192.168.1.1"); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += _droneClient_VideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; //InitializeAviationControls(); w = AttitudeMeter.ActualWidth; h = AttitudeMeter.ActualHeight; SetAttitudeIndicatorParameters(pitch.Value, roll.Value); }
public MovementCommand ComputeBehavior(DroneClient drone) { //Console.WriteLine("Velocity forward: {0} Velocity sideways: {1}", // drone.NavigationData.Velocity.X, // drone.NavigationData.Velocity.Y); // Forward/Backward //Console.Write("Pitch: "); var pitch = ComputeCorrection(drone.NavigationData.Pitch, TargetVelocity.Forward, drone.NavigationData.Velocity.Y, 0.025f); // Left/Right //Console.Write("Roll: "); var roll = 0; //Console.WriteLine("0"); //var roll = ComputeCorrection(drone.NavigationData.Roll, TargetVelocity.Left, drone.NavigationData.Velocity.X, 0.1f); // Turn left/turn right //Console.Write("Yaw: "); var yaw = 0; //Console.WriteLine("0"); //var yaw = ComputeCorrection(drone.NavigationData.Yaw, TargetVelocity.TurnLeft, drone.NavigationData.Velocity.Z, 0.01f); return(new MovementCommand() { Pitch = pitch, Roll = roll, Yaw = yaw }); }
public FlyPage() { this.InitializeComponent(); //if (Application.Current.Resources.ContainsKey("DroneClient")) //{ // _droneClient = (DroneClient)Application.Current.Resources["DroneClient"]; //} //else //{ // _droneClient = new DroneClient(); //} _droneClient = DroneClient.Instance; //Register joysticks if (_droneClient.InputProviders.Count == 0) { _droneClient.InputProviders.Add(new XBox360JoystickProvider(_droneClient)); _droneClient.InputProviders.Add(new SoftJoystickProvider(_droneClient, RollPitchJoystick, YawGazJoystick)); } this.DataContext = _droneClient; this.DefaultViewModel["Messages"] = _droneClient.Messages; _Timer = new DispatcherTimer(); _Timer.Tick += _Timer_Tick; _Timer.Interval = new TimeSpan(0, 0, 0, 0, 500); _Timer.Start(); this.ControlMap.PointerPressedOverride += MyMap_PointerPressedOverride; }
static void Main(string[] args) { var droneClient = new DroneClient("192.168.1.1"); SleepAndPaint(droneClient); droneClient.Start(); SleepAndPaint(droneClient); droneClient.Takeoff(); SleepAndPaint(droneClient); droneClient.Progress(FlightMode.Progressive, yaw: -0.05f); System.Console.WriteLine("Yaw -0.05"); SleepAndPaint(droneClient); droneClient.Hover(); SleepAndPaint(droneClient); droneClient.Land(); SleepAndPaint(droneClient); droneClient.Stop(); SleepAndPaint(droneClient); System.Console.ReadLine(); droneClient.Dispose(); }
void Inititialize() { tmrStatusUpdate = new DispatcherTimer(); tmrStatusUpdate.Interval = TimeSpan.FromMilliseconds(100); tmrStatusUpdate.IsEnabled = true; tmrStatusUpdate.Tick += tmrStatusUpdate_Tick; tmrVideoUpdate = new DispatcherTimer(); tmrVideoUpdate.Interval = TimeSpan.FromMilliseconds(20); tmrVideoUpdate.IsEnabled = true; tmrVideoUpdate.Tick += tmrVideoUpdate_Tick; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _droneClient = new DroneClient("192.168.1.1"); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; // commands Command_Connect = new RelayCommand(CommandConnect); Command_Disconnect = new RelayCommand(CommandDisconnect); Command_ShowDrownLayer = new RelayCommand <bool>(CommandShowDrownLayer); Command_UpdateDroneSettings = new RelayCommand(CommandUpdateDroneSettings); }
private void btn_link_Click(object sender, RoutedEventArgs e) { string host = tb_ip.Text; if (host.Equals("")) { DroneClient drone = new DroneClient(); MainForm form = new MainForm(drone); drone.Start(); _drones.Add(drone); WindowInteropHelper helper = new WindowInteropHelper(this); form.Show(new WindowWrapper(helper.Handle)); } else { DroneClient drone = new DroneClient(host); MainForm form = new MainForm(drone); drone.Start(); _drones.Add(drone); WindowInteropHelper helper = new WindowInteropHelper(this); form.Show(new WindowWrapper(helper.Handle)); } }
public XBox360JoystickProvider(DroneClient droneClient) { if (droneClient == null) throw new ArgumentNullException("DroneClient"); _DroneClient = droneClient; _Controller = new Controller(0); _Timer = ThreadPoolTimer.CreatePeriodicTimer(new TimerElapsedHandler(timerElapsedHandler), TimeSpan.FromMilliseconds(1000 / 12)); }
public FlightsController(DroneClient drones, LocationClient locations, OperatorClient operators, FlightClient flights, IMapper mapper) { _drones = drones; _locations = locations; _operators = operators; _flights = flights; _mapper = mapper; }
// command public Form1() { _controller = new Controller("192.168.1.1"); _droneClient = new DroneClient(); _cancellationToken = new CancellationTokenSource(); InitializeComponent(); }
public Master(string ip) { InitializeComponent(); _droneClient = new DroneClient("192.168.1." + ip); ip_drone = "192.168.1." + ip; Point p2 = arena.posicao_desej(); posicao_desejada = p2; }
public void SendTo(DroneClient client) { ATCommand command; while (_queue.TryDequeue(out command)) { client.Send(command); } }
public IoTHubController(DroneClient client, AnalyzerOutput output, Bitmaps bitmaps) { this.bitmaps = bitmaps; droneClient = client; this.analyzerOutput = output; droneClient.NavigationDataAcquired += DroneClient_NavigationDataAcquired; cancelTokenSource = new CancellationTokenSource(); init(cancelTokenSource.Token); }
public FlyPage() { InitializeComponent(); _droneClient = DroneClient.Instance; _droneClient.Messages.CollectionChanged += Messages_CollectionChanged; this.DataContext = _droneClient; }
public Controller(DroneClient client, AnalyzerOutput output, Config configuration, IoTHubController hubController) { analyzer = output; analyzer.PropertyChanged += Analyzer_PropertyChanged; droneClient = client; this.hubController = hubController; autoPilot = new Autopilot(client); config = configuration; }
public XBox360JoystickProvider(DroneClient droneClient) { if (droneClient == null) { throw new ArgumentNullException("DroneClient"); } _DroneClient = droneClient; _Controller = new Controller(0); }
/// <summary> /// Initializes the Autopilot object and associates it with provided DroneClient and sets DeafultObjective /// </summary> /// <param name="aDroneClient">DroneClient object which Autopilot will be controlling</param> /// <param name="aDefaultObjective">DefaultObjective to execute when ObjectiveQeueue is depleted</param> /// <remarks>Using this constructor will force DeafultObjective to be 'Hover'</remarks> public Autopilot(DroneClient aDroneClient, Objective aDefaultObjective) { DroneClient = aDroneClient; DefaultObjective = aDefaultObjective; ObjectiveQueue = new ConcurrentQueue <Objective>(); ApparatusOutputQueue = new ConcurrentQueue <Apparatus.Output>(); BoundToClient = false; }
/// <summary> /// Create a new Mission for the drone. /// </summary> /// <param name="droneClient">The DroneClient controlling the drone in question.</param> /// <param name="missionAction">The action to carry out in the Mission.</param> /// <param name="onMissionStatusChange">The DroneStatus change event handler.</param> public Mission(DroneClient droneClient, Action <DroneClient> missionAction, Action <DroneClient, MissionEventArguments> onMissionStatusChange = null) { _droneClient = droneClient; _missionAction = missionAction; if (onMissionStatusChange != null) { _onMissionStatusChange = onMissionStatusChange; } _missionStatus = MissionStatus.WaitingEnque; }
public SoftJoystickProvider(DroneClient droneClient, IJoystickControl rollPitchThumb, IJoystickControl yawGazThumb) { if (droneClient == null) { throw new ArgumentNullException("DroneClient"); } _DroneClient = droneClient; _RollPitchThumb = rollPitchThumb; _YawGazThumb = yawGazThumb; }
public DroneControls(DroneClient client, AnalyzerOutput output, Config configuration, Pilot.Controller autopilot) { InitializeComponent(); analyzerOutput = output; config = configuration; droneClient = client; droneClient.NavigationDataAcquired += DroneClient_NavigationDataAcquired; droneController = autopilot; this.KeyDown += DroneControls_KeyDown; }
public SettingsForm(DroneClient droneClient) { this.droneClient = droneClient; InitializeComponent(); ReadDroneConfig(); keyboardSettingsBindingSource.Add(KeyboardSettings.Default); myoSettingsBindingSource.Add(MyoSettings.Default); }
static void StartVideo(DroneClient client) { Console.Write("Starting video..."); var sender = new VideoPacketSender(); sender.Start(); Console.WriteLine("done."); Console.Write("Connecting VideoPacketAcquired event..."); client.VideoPacketAcquired += sender.EnqueuePacket; Console.WriteLine("done."); }
public MainForm(DroneClient droneClient) { InitializeComponent(); InitApp(); //创建新的无人机连接 _droneClient = droneClient; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; //视频解码设置 if (_isVedio) { _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _videoPacketDecoderWorker.UnhandledException += UnhandledException; tmrVideoUpdate.Enabled = true; } if (_isNavadata) { //导航数据获取事件,添加事件响应 //定时器更新允许 tmrStateUpdate.Enabled = true; } _playerForms = new List <PlayerForm>(); //点到点部分 //数据初始化 if (_isViconRead) { _viconClient = new ViconClient(); _viconPositionGet = new MyViconPosition(_viconClient); _viconPositionGet.OnViconPositionRecieve += OnViconPositionRecieve; //写文件线程 //_pwrite = new PositionWrite(System.Environment.CurrentDirectory, string.Format(@"vicon_{0:yyyy_MM_dd_HH_mm}.txt", DateTime.Now)); } else { _positionClient = new PositionClient(); _viconPositionGet = new MyViconPosition(_positionClient); _viconPositionGet.OnViconPositionRecieve += OnViconPositionRecieve; } }
static void Main(string[] args) { DroneClient drone = new DroneClient(); drone.NavigationDataAcquired += HandleNavigationDataAcquired; JoystickFlightController controller = new JoystickFlightController(); controller.Client = drone; drone.Start(); drone.FlatTrim(); controller.Start(); }
public MainForm() { InitializeComponent(); // innitialize video packet decoder. videoDecoder = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnFrameDecoded); videoDecoder.UnhandledException += VideoDecoder_UnhandledException; videoDecoder.Start(); // Initalize drone. drone = new DroneClient(); drone.VideoPacketAcquired += OnVideoPacketAqcuired; drone.Start(); drone.ResetEmergency(); drone.FlatTrim(); JoystickFlightController controller = new JoystickFlightController(); controller.Client = drone; controller.Start(); /* * // Initialize joystick. * joystick = new JoystickDevice(); * joystick.InputReceived += Joystick_InputReceived; * joystick.Initialize("/dev/input/js0"); * * // Initialize height maintainer. * heightMaintainer = new HeightMaintainer(); * heightMaintainer.TargetHeight = 0.25f; //meter * * // Initialize velocity maintainer. * velocityMaintainer = new VelocityMaintainer(); * velocityMaintainer.TargetVelocity.Forward = -1.0f; * velocityMaintainer.TargetVelocity.Left = 0.0f; * velocityMaintainer.TargetVelocity.TurnLeft = 0.0f; * * // Initialize flight controller. * controller = new CompositeFlightController(); * controller.Drone = drone; * controller.FlightBehaviors.Add(velocityMaintainer); * controller.FlightBehaviors.Add(heightMaintainer); * controller.FlightBehaviors.Add(new JoystickBehavior(joystick)); * controller.ControlCycleStarting += () => joystick.ProcessEvents(); * * controller.Start(); */ videoTimer.Enabled = true; }
private Drone() { Logger.WriteLine("DroneClient()"); if (!enabled) { return; } droneClient = DroneClient.Instance; droneClient.NavigationDataViewModel.PropertyChanged += NavigationDataViewModel_PropertyChanged; droneClient.Messages.CollectionChanged += Messages_CollectionChanged; // commandTimer.Interval = TimeSpan.FromMilliseconds(50); // commandTimer.Tick += OnCommandTimerTick; }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override async void OnNavigatedTo(NavigationEventArgs e) { if (this._viewModel != null) { this._viewModel.OnNavigatedTo(); } _droneClient = DroneClient.Instance; _timer = new DispatcherTimer(); _timer.Tick += _Timer_Tick; _timer.Interval = new TimeSpan(0, 0, 0, 0, 500); _timer.Start(); }
public void SendTo(DroneClient client) { ATCommand command; while (_queue.TryDequeue(out command)) client.Send(command); }
public ConfigurationAcquisition(DroneClient client) { _client = client; }