Exemplo n.º 1
0
        public ExpectedMid Parse <ExpectedMid>(byte[] package) where ExpectedMid : Mid
        {
            Mid mid = Parse(package);

            if (mid.GetType().Equals(typeof(ExpectedMid)))
            {
                return((ExpectedMid)mid);
            }

            throw new InvalidCastException($"Package is Mid {mid.GetType().Name}, cannot be casted to {typeof(ExpectedMid).Name}");
        }
Exemplo n.º 2
0
            public override string ToString()
            {
                string header = string.Empty;

                header += Length.ToString().PadLeft(4, '0');
                header += Mid.ToString().PadLeft(4, '0');
                header += (Revision > 0) ? Revision.ToString().PadLeft(3, '0') : string.Empty.PadLeft(3, ' ');
                header += NoAckFlag.ToString().PadLeft(1, ' ');
                header += (StationID != null) ? StationID.ToString().PadLeft(2, '0') : StationID.ToString().PadLeft(2, ' ');
                header += (SpindleID != null) ? SpindleID.ToString().PadLeft(2, '0') : SpindleID.ToString().PadLeft(2, ' ');
                string usedAs = "    ";

                if (UsedAs != null)
                {
                    usedAs = string.Empty;
                    foreach (DataField field in UsedAs)
                    {
                        usedAs += field.Value.ToString();
                    }
                }
                header += usedAs;
                return(header);
            }
Exemplo n.º 3
0
 public byte[] PackBytes(Mid mid) => mid.PackBytes();
Exemplo n.º 4
0
 public string Pack(Mid mid) => mid.Pack();
Exemplo n.º 5
0
 /// <summary>
 /// <see cref="Mid.Pack"/> then concatenate NUL charactor to it`s end
 /// </summary>
 /// <param name="mid">Mid instance</param>
 /// <returns>Mid's package in string with NUL character</returns>
 public static string PackWithNul(this Mid mid)
 {
     if (mid == default)
     {
         return(default);
Exemplo n.º 6
0
 internal void SetNextTemplate(Mid mid) => NextTemplate = mid;