private void UpdateStreamID(int seq, uint resp_val, string s) { if (resp_val != 0) { return; } string[] vals = s.Split(','); //string streamIdHexString; //string parentStreamIdHexString; if (vals.Length < 2) { return; } // StringHelper.RemoveHexPrefix(vals[0], out streamIdHexString); // StringHelper.RemoveHexPrefix(vals[1], out parentStreamIdHexString); // remove the "0x" prefix if it exists int index = vals[1].IndexOf("0x"); vals[1] = (index < 0) ? vals[1] : vals[1].Remove(index, 2); index = vals[0].IndexOf("0x"); vals[0] = (index < 0) ? vals[0] : vals[0].Remove(index, 2); bool b = uint.TryParse(vals[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture, out _stream_id); if (!b) { Debug.WriteLine("Waterfall::UpdateStreamID-Error parsing Stream ID for Waterfall (" + vals[1] + ")"); return; } b = uint.TryParse(vals[0], NumberStyles.HexNumber, CultureInfo.InvariantCulture, out _parentPanadapterStreamID); if (!b) { Debug.WriteLine("Waterfall::UpdateStreamID-Error parsing Stream ID for Parent Panadapter (" + vals[0] + ")"); return; } _radio.AddWaterfall(this); GetRFGainInfo(); }