Example #1
0
        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();
        }