/// <summary> /// read MD command /// </summary> /// <param name="get_command">received command</param> /// <param name="time_stamp">timestamp data</param> /// <param name="distances">distance data</param> /// <returns>is successful</returns> public static bool MD(string get_command, ref long time_stamp, ref List <long> distances) { distances.Clear(); string[] split_command = get_command.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); if (!split_command[0].StartsWith("MD")) { return(false); } if (split_command[1].StartsWith("00")) { return(true); } else if (split_command[1].StartsWith("99")) { time_stamp = SCIP_Reader.decode(split_command[2], 4); distance_data(split_command, 3, ref distances); return(true); } else { return(false); } }
/// <summary> /// read distance data /// </summary> /// <param name="lines"></param> /// <param name="start_line"></param> /// <returns></returns> public static bool distance_data(string[] lines, int start_line, ref List <long> distances) { StringBuilder sb = new StringBuilder(); for (int i = start_line; i < lines.Length; ++i) { sb.Append(lines[i].Substring(0, lines[i].Length - 1)); } return(SCIP_Reader.decode_array(sb.ToString(), 3, ref distances)); }