public Speed GetPlaneSpeed()
        {
            return(FsxOperation(() =>
            {
                var trueAirSpeed = GetFsxData(FsxDataOffset.TrueAirSpeed);
                var indicatedAirSpeed = GetFsxData(FsxDataOffset.IndicatedAirSpeed);
                var verticalSpeed = GetFsxData(FsxDataOffset.VerticalSpeed);

                return SpeedCalculator.CalculateSpeed(trueAirSpeed, indicatedAirSpeed, verticalSpeed);
            }));
        }
        public void Post([FromBody] VibrationData data)
        {
            var previousData = _dbContext.VibrationDatas.Where(vb => vb.RouteId == data.RouteId).OrderByDescending(vb => vb.TimeStamp).FirstOrDefault();

            if (previousData == null)
            {
                //First mesurement in route
                var route      = _dbContext.Routes.Where(r => r.RouteId == data.RouteId).FirstOrDefault();
                var routeStart = new RouteStart {
                    BeginTime = route.BeginTime, StartLocationLatitude = route.StartLocationLatitude, StartLocationLongitude = route.StartLocationLongitude
                };
                SpeedCalculator.CalculateSpeed(routeStart, data);
            }

            else
            {
                SpeedCalculator.CalculateSpeed(previousData, data);
            }
            _dbContext.Add(data);
            _dbContext.SaveChanges();
        }
Example #3
0
 public void UpdateSpeed()
 {
     speed = speedCalculator.CalculateSpeed(elapsedTime);
 }