Пример #1
0
 protected override bool nextStageCriterion()
 {
     return(Stillness.ReadsMoreThan(6f) &&
            !AverageAttitude.Average.IsIdentity &&
            AverageAttitude.Sigma < 5 &&
            AverageAttitude.NumPoints > 20);
 }
Пример #2
0
 //private DateTime nextScreenUpdate = DateTime.Now;
 //private TimeSpan screenUpdateInterval = TimeSpan.FromSeconds(0.5);
 protected override bool nextStageCriterion()
 {
     //if (DateTime.Now > nextScreenUpdate)
     //{
     //    nextScreenUpdate = DateTime.Now + screenUpdateInterval;
     //    //var isSet = (AttitudeProvider.IsFrameShiftSet) ? "is set" : "not set";
     //    var zScore = AttitudeProvider.Quaternion.AngleTo(Blade.EnGardeOrientation) / Blade.EnGardeOrientation.Sigma;
     //    //Log.Debug("Melee Training", $"---------->  Stillness {Stillness.StillnessScore:f1}; Frame shift {isSet}; Angle {AttitudeProvider.Quaternion.AngleTo(Blade.EnGardeOrientation)} ({zScore} sigma).");
     //    Log.Debug("Melee Training", $"---------->  Stillness {Stillness.StillnessScore:f1}; Angle {AttitudeProvider.Quaternion.AngleTo(Blade.EnGardeOrientation)} ({zScore} sigma).");
     //}
     return(Stillness.ReadsMoreThan(-5f)  // Just not ludicrously bad, is all we ask here.
            //&& AttitudeProvider.IsFrameShiftSet
            && AttitudeProvider.RunTime > TimeSpan.FromSeconds(1.0) &&
            AttitudeProvider.Quaternion.AngleTo(Blade.EnGardeOrientation) < (1.5 * Blade.EnGardeOrientation.Sigma + 25));
 }
Пример #3
0
            protected override async Task <bool> nextStageCriterionAsync()
            {
                await sayIt;

                return(Stillness.ReadsMoreThan(8f)); // && sayIt.Status == TaskStatus.RanToCompletion);
            }