private void StateObserver_StateChanged(object sender, Events.StateChangedArgs e)
        {
            var group = this.repository.NewEntity <ObservationGroup>(this.session);

            this.repository.Insert(new StateObservation(group, e.State));
            this.repository.Insert(new AirSpeedObservation(group, e.State));
            this.repository.Insert(new AttitudeObservation(group, e.State));
            this.repository.Insert(new BatteryObservation(group, e.State));
            this.repository.Insert(new HobbsMeterObservation(group, e.State));
            this.repository.Insert(new PositionObservation(group, e.State));
        }
Beispiel #2
0
        private void StateObserver_StateChanged(object sender, Events.StateChangedArgs e)
        {
            // state reporting interval is 5hz, so 25 should be once every 5 seconds
            if (_stateCount % 25 == 0)
            {
                Log.WriteLine($"state: {e.State}", ConsoleColor.Yellow);
            }
            _stateCount = _stateCount < Int32.MaxValue
                ? _stateCount + 1
                : 0;

            var group = _repository.NewEntity <ObservationGroup>(_session);

            _repository.Insert(new StateObservation(group, e.State));
            _repository.Insert(new AirSpeedObservation(group, e.State));
            _repository.Insert(new AttitudeObservation(group, e.State));
            _repository.Insert(new BatteryObservation(group, e.State));
            _repository.Insert(new HobbsMeterObservation(group, e.State));
            _repository.Insert(new PositionObservation(group, e.State));
        }
Beispiel #3
0
        private void StateChanged(object sender, Events.StateChangedArgs e)
        {
            // todo: this should be pushed directly to a queue to minimize time in method. the queue can be picked up by a processor that does what this method is currently doing.
            this.Dispatcher.Invoke(
                (state) =>
            {
                this.State = state as ITelloState;
                this.StateHistory.Add(state as ITelloState);
                if (this.StateHistory.Count > 500)
                {
                    this.StateHistory.RemoveAt(0);
                }
            },
                e.State);

            var group = this.repository.NewEntity <ObservationGroup>(this.session);

            this.repository.Insert(new StateObservation(group, e.State));
            this.repository.Insert(new AirSpeedObservation(group, e.State));
            this.repository.Insert(new AttitudeObservation(group, e.State));
            this.repository.Insert(new BatteryObservation(group, e.State));
            this.repository.Insert(new HobbsMeterObservation(group, e.State));
            this.repository.Insert(new PositionObservation(group, e.State));
        }