public static string ParseResponse(string response) { int i = response.IndexOf(dataDelimiter); if (i > 0) { while (i > 0) { String currentData = response.Substring(0, i); Console.WriteLine(currentData); if (i + 1 < response.Length) { response = response.Substring(i + 1); } else { response = ""; } if (currentData.Contains("D:")) { //Distance data } else if (currentData.Contains("MN:0")) { sl.Silence(true); lightEffectStarted = false; Thread.Sleep(500); } else if (currentData.Contains("MN:1")) { sl.Silence(false); lightEffectStarted = true; Thread.Sleep(500); } i = response.IndexOf(dataDelimiter); } } else { Thread.Sleep(2000); } return(response); }