private void ReceiveFeatureReport() { byte[] data; configurationDevice.ReadFeatureData(out data, 1); if (data != null && data.Length > 0) { for (int i = 2; i - 2 < data[1]; i++) { configurationIdpInterface.ProcessByte(data[i]); } } else { Thread.Sleep(10); } configurationCommsThread.InvokeTaskAsync(ReceiveFeatureReport); }