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; } } //} } }
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); }