Esempio n. 1
0
        private String getStatusFromMXIE()
        {
            Image img = MXIEScraper.GetStatusImage();

            mxiePicture.Image = img;
            return(MXIEScraper.ExtractStatus(img));
        }
Esempio n. 2
0
        public Form1()
        {
            rawHistory = new List <String>();

            connected  = false;
            lastStatus = "";
            dsm        = new DisplaySerialManager();

            InitializeComponent();
            portBoxDropDown(null, null);

            try{
                MXIEScraper.SetMXIETopmost();
            }catch (Exception e) {
            }
        }
Esempio n. 3
0
        private void serialTimerCallback(object sender, EventArgs e)
        {
            if (connected)
            {
                dsm.update();

                String raw = dsm.getRaw();
                if (raw.Length > 0)
                {
                    char[] delims = new char[] { '\r', '\n' };
                    foreach (var line in raw.Split(delims, StringSplitOptions.RemoveEmptyEntries))
                    {
                        rawHistory.Add("" + (lineno++) + ": " + line);
                    }

                    for (int i = 0; i < rawHistory.Count - 10; i++)
                    {
                        rawHistory.RemoveAt(0);
                    }

                    rawResponsesTextBox.Text           = String.Join("\r\n", rawHistory);
                    rawResponsesTextBox.SelectionStart = rawResponsesTextBox.Text.Length;
                    rawResponsesTextBox.ScrollToCaret();
                }

                if (dsm.responses.Count > 0)
                {
                    String s = (String)dsm.responses.Dequeue();

                    // We got a response from the device. Reset the timeout timer
                    connectedBox.Checked = true;
                    connectionTimeoutTimer.Stop();
                    connectionTimeoutTimer.Start();
                    switch (s[0])
                    {
                    case 's':
                        String status = "_" + s.Substring(1);
                        Console.WriteLine("Set status: \"" + status + "\"");

                        mxieTimer.Stop();

                        MXIEScraper.SetStatus(status);
                        System.Threading.Thread.Sleep(500);

                        var tmp = getStatusFromMXIE();
                        tmp = getStatusFromMXIE();
                        Console.WriteLine("After OCR, new status is \"" + tmp + "\"");

                        if (mxieCheckBox.Checked)
                        {
                            mxieTimerCallback(null, null);
                            mxieTimer.Start();
                        }
                        break;

                    case 'h':
                        String voltage = s.Substring(1);
                        Console.WriteLine("Got heartbeat: " + s + ", voltage = " + voltage);
                        break;

                    default:
                        Console.WriteLine("Unknown: <" + s + ">");
                        rawResponsesTextBox.Text += s + "\r\n";
                        break;
                    }
                }
            }
        }