예제 #1
0
        private void Terminal_SerialIn(Comms comms, List <Char> buffer)
        {
            if (VT4100.DataAvailable() > 0)
            {
                var inChar = comms.ReadChar();
                //foreach (var inChar in inString)
                //{
                if (acceptableChar(inChar))
                {
                    switch (inChar)
                    {
                    case '\b':
                        if (buffer.Count > 0)
                        {
                            buffer.RemoveAt(buffer.Count - 1);
                        }
                        break;

                    case '\r':
                        string str = new string(buffer.ToArray());
                        command(str.ToUpper());
                        SetCursorAddress(new CursorAddress {
                            x = 12, y = 21
                        });
                        for (int i = 0; i < str.Length; i++)
                        {
                            if (echoTypedEnable)
                            {
                                VT4100.Send(" ");
                            }
                        }
                        SetCursorAddress(new CursorAddress {
                            x = 12, y = 21
                        });
                        buffer.Clear();
                        break;

                    default:
                        buffer.Add(inChar);
                        break;
                    }
                }
                //}
            }
        }
예제 #2
0
        public Term(StarDatabase database, Remote remote)
        {
            VT4100        = new Comms("VT4100", 19200, System.IO.Ports.Parity.Even, 7);
            logger        = new Logger("TERMINA", Logger.Level.INFO);
            this.database = database;
            this.remote   = remote;
            VT4100.Send(clear);
            VT4100.Send("CZGZZ DEATHCOM - LEWIS HAMILTON 2020 - https://czgzz.space");
            Thread.Sleep(1000);
            logger.log(Logger.Level.DEBUG, "Input event created");
            Thread.Sleep(100);
            VT4100.ClearBuffer();
            loadingScreen();
            database.load(this);
            var earthLoc = database.search("EARTH");

            calc = new OrbitCalculator(database.data[earthLoc], 151, -33);
        }