public void WaitForVectorReached() { if (failed) return; movementDone.WaitOne(); if (lastCommandSent.HasValue) { TimeSpan duration = DateTime.Now - lastCommandSent.Value; log.Info("Last movement took {0:F1} s", duration.TotalSeconds); } }