예제 #1
0
        public static void GetTemperature(LEDStrahler Strahler)
        {
            string Ret = LEDStrahlerSerial.WriteRead("G" + (int)Commands.GetTemperature + " " + Strahler.UUID, 200);

            if ((Ret.Length >= 6) && (Ret.StartsWith("T: ") == true) && (double.TryParse(Ret.Substring(3), NumberStyles.Number, CultureInfo.InvariantCulture, out double Temp) == true))
            {
                Strahler.Temperature = Temp;
            }
            else
            {
                Strahler.Temperature = 0.0;
            }
        }
예제 #2
0
        public static void PingRequest(out List <uint> UUIDs)
        {
            UUIDs = new List <uint>();

            string Ret = LEDStrahlerSerial.WriteRead("G" + (int)Commands.PingRequest, 1100, true);

            if ((Ret.Length >= 4) && (Ret.StartsWith("P: ") == true) && (Ret.Contains("\n") == true))
            {
                var Strahler = new List <string>(Ret.Replace("P: ", "").Split('\n'));
                Strahler.RemoveAt(Strahler.Count - 1); //Last element is either an empty string or corrupted data
                foreach (string ID in Strahler)
                {
                    if (uint.TryParse(ID, out uint UUID) == true)
                    {
                        if (UUIDs.Contains(UUID) == false)
                        {
                            UUIDs.Add(UUID);
                        }
                    }
                }
            }
        }