protected override bool nextStageCriterion() { return(Stillness.ReadsMoreThan(6f) && !AverageAttitude.Average.IsIdentity && AverageAttitude.Sigma < 5 && AverageAttitude.NumPoints > 20); }
//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)); }
protected override async Task <bool> nextStageCriterionAsync() { await sayIt; return(Stillness.ReadsMoreThan(8f)); // && sayIt.Status == TaskStatus.RanToCompletion); }