Esempio n. 1
0
        public IEnumerable <SerialDevice> Search()
        {
            var bytes  = ByteBuilder.Hello();
            var parser = new ResponseParser();

            var list = new List <SerialDevice>();

            foreach (var serialPort in SerialPort.GetPortNames())
            {
                var    connection = buildConnection(serialPort);
                string response   = "";
                try
                {
                    connection.Open();
                    Thread.Sleep(15);
                    connection.Write(bytes, 0, bytes.Length);
                    Thread.Sleep(15);
                    response = connection.ReadExisting();
                    connection.Close();

                    bool successful = parser.ParseHello(response, out string name, out IEnumerable <int> sockets);
                    if (successful)
                    {
                        list.Add(new SerialDevice(name, sockets, serialPort));
                    }
                }
                catch (Exception)
                {
                    // No AnAusAutomat. Wrong Sketch. Connection Problems...
                }
            }

            return(list);
        }
Esempio n. 2
0
        public bool TurnOn(int internalID)
        {
            var bytes = ByteBuilder.TurnOn(internalID);

            try
            {
                _serialPort.Write(bytes, 0, bytes.Length);
                Thread.Sleep(15);
                return((_serialPort.ReadChar() - 48) == 1);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Esempio n. 3
0
        public int Ping()
        {
            var bytes = ByteBuilder.Ping();

            try
            {
                _serialPort.Write(bytes, 0, bytes.Length);
                Thread.Sleep(15);
                string result = _serialPort.ReadExisting();
                return(int.Parse(result));
            }
            catch (Exception)
            {
                return(-1);
            }
        }