protected static ParameterDataLine BuildParameterDataLine(string line)
        {
            // MNEM.UNIT   VALUE : DESCRIPTION
            var p      = new ParameterDataLine();
            var idxDot = line.IndexOf('.');

            idxDot = idxDot < 0 ? 0 : idxDot;
            var idxVal = line.IndexOf(' ', idxDot + 1);

            idxVal = idxVal < idxDot + 1 ? idxDot + 1 : idxVal;
            var idxDes = line.IndexOf(':', idxVal + 1);

            //idxDes = idxDes < idxVal + 1 ? line.Length - 1 : idxDes;

            p.Mnemonic    = line.Substring(0, idxDot).Trim();
            p.Unit        = line.Substring(idxDot + 1, idxVal).Trim();
            p.Value       = line.Substring(idxVal, idxDes - 3).Trim().Trim(':');
            p.Description = line.Substring(idxDes, line.Length - idxDes).Trim().Trim(':').TrimStart(' ');
            return(p);
        }
 public void Push(ParameterDataLine param)
 {
     parameters.Add(param);
     parametersMap.Add(param.Mnemonic, parameters.Count - 1);
 }