示例#1
0
 private void OnConfigurationPacketAcquired(ConfigurationPacket packet)
 {
     if (UpdateConfiguration(packet))
     {
         if (_DroneClient.RequestedState == RequestedState.GetConfiguration)
         {
             _DroneClient.RequestedState = RequestedState.None;
         }
         ConfigurationViewModelHelper.UpdateConfigurationSections(_DroneClient.ConfigurationSectionsViewModel, _DroneClient.Configuration);
     }
 }
示例#2
0
        public DroneClient()
        {
            _NavigationDataViewModel        = new ViewModel.NavigationDataViewModel();
            _configuration                  = new DroneConfiguration();
            _ConfigurationSectionsViewModel = ConfigurationViewModelHelper.InitializeConfigurationSections(_configuration);

            _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));
        }
示例#3
0
        private void OnDataReadCompletion(uint bytesRead, Streams.DataReader reader)
        {
            if (reader == null)
            {
                return;
            }

            uint unreadLength = reader.UnconsumedBufferLength;

            if (unreadLength == 0)
            {
                return;
            }

            byte[] buffer = new byte[unreadLength];
            reader.ReadBytes(buffer);

            StringBuilder stringBuffer = new StringBuilder();

            stringBuffer.Append(Encoding.UTF8.GetString(buffer, 0, buffer.Length));
            Debug.WriteLine("Configuration Brute: " + stringBuffer.ToString());

            var packet = new ConfigurationPacket
            {
                Timestamp = DateTime.UtcNow.Ticks,
                Data      = buffer
            };

            if (UpdateConfiguration(packet))
            {
                if (_DroneClient.RequestedState == RequestedState.GetConfiguration)
                {
                    _DroneClient.RequestedState = RequestedState.None;
                }
                ConfigurationViewModelHelper.UpdateConfigurationSections(_DroneClient.ConfigurationSectionsViewModel, _DroneClient.Configuration);
            }
        }