コード例 #1
0
        public DroneClient()
        {
            _configuration = new DroneConfiguration();
            _commandQueue  = new ConcurrentQueue <ATCommand>();

            _networkWorker                  = new NetworkWorker(_configuration, OnConnectionChanged);
            _commandQueueWorker             = new CommandQueueWorker(_configuration, _commandQueue);
            _navdataAcquisitionWorker       = new NavdataAcquisitionWorker(_configuration, OnNavigationPacketAcquired);
            _videoAcquisitionWorker         = new VideoAcquisitionWorker(_configuration, OnVideoPacketAcquired);
            _configurationAcquisitionWorker = new ConfigurationAcquisitionWorker(_configuration, OnConfigurationPacketAcquired);
            _watchdogWorker                 = new WatchdogWorker(_networkWorker, _navdataAcquisitionWorker, _commandQueueWorker, _videoAcquisitionWorker);
        }
コード例 #2
0
        public DroneClient()
        {
            _NavigationDataViewModel = new ViewModel.NavigationDataViewModel();
            _configuration           = new DroneConfiguration();

            _CommandWorker       = new CommandWorker(this);
            _NavDataWorker       = new NavDataWorker(this);
            _ConfigurationWorker = new ConfigurationWorker(this);
            //TODO ajouter le _configurationAcquisitionWorker
            _WatchdogWorker = new WatchdogWorker(this, new WorkerBase[] { _NavDataWorker, _CommandWorker });
            _InputTimer     = ThreadPoolTimer.CreatePeriodicTimer(new TimerElapsedHandler(InputTimerElapsedHandler), TimeSpan.FromMilliseconds(1000 / 12));
        }