IEnumerator <int> LedSequence() { var ledArray = new[] { 1, 0, 0, 0, 0, 0, 0, 0 }; var ledIndex = 0; evalBoard.SetLedDisplay(ledArray); yield return(ledIndex); try { while (true) { ledArray[ledIndex] = 0; ledIndex = (ledIndex + 1) % ledArray.Length; ledArray[ledIndex] = 1; evalBoard.SetLedDisplay(ledArray); yield return(ledIndex); } } finally { ledArray[ledIndex] = 0; evalBoard.SetLedDisplay(ledArray); } }