Exemplo n.º 1
0
        public static extern bool TouchCalibrate(); //设置本地时间

        public Form1()
        {
            InitializeComponent();

            string mypath = Path.Combine(GlobalConfig.udiskdir2, "screen");

            btn_capture.Visible = false;
            lbl_davalue.Visible = false;

            //Cursor.Hide();
            processor = new Processor();

            digi_upbtns = new RectButton[] { rbtn_1up, rbtn_2up, rbtn_3up, rbtn_4up, rbtn_5up, rbtn_6up };
            digi_dnbtns = new RectButton[] { rbtn_1dn, rbtn_2dn, rbtn_3dn, rbtn_4dn, rbtn_5dn, rbtn_6dn };
            dlg_choice  = new ChoiceWnd();
            dlg_kbd     = new kbdWnd();
            range_btns  = new RectButton[] { btn_range0, btn_range1, btn_range2, btn_range3, btn_range4, btn_range5, btn_range6 };
            string[] range_string = new String[] { "200µΩ/600A", "2mΩ/200A", "20mΩ/100A", "200mΩ/80A", "2Ω/10A", "4Ω/5A", "20Ω/1A" };
            led_ohm.ColorLight      = Color.Red;
            led_ohm.ColorBackground = this.BackColor;
            led_ohm.ElementWidth    = 12;
            led_ohm.RecreateSegments(led_ohm.ArrayCount);
            led_current.ColorLight      = Color.DarkGreen;
            led_current.ColorBackground = this.BackColor;
            led_current.ElementWidth    = 8;
            led_current.RecreateSegments(led_current.ArrayCount);
            led_current.Value = "0.0000";

            btn_zeroon.bgColor = this.BackColor;
            btn_zeroon.SetStyle(Color.Bisque, MyButtonType.roundRectButton);
            btn_zeroon.Text        = "清零";
            btn_zeroon.ValidClick += new EventHandler((o, e) =>
            {
                led_current.Value = "     ";
                processor.ZeroON();
            });

            btn_turnon.bgColor = this.BackColor;
            for (int i = 0; i < digi_upbtns.Length; i++)
            {
                RectButton rb = digi_upbtns[i];
                rb.bgColor = this.BackColor;
                rb.SetStyle(Color.DarkOrange, MyButtonType.triangleupButton);

                rb.ValidClick += new EventHandler((o, e) =>
                {
                    if (processor.iRange >= 0)
                    {
                        TickDigit(digi_upbtns.Length - NameInArray(o, digi_upbtns), true);
                        RefreshDisplay(false);
                    }
                });
            }
            for (int i = 0; i < digi_dnbtns.Length; i++)
            {
                RectButton rb = digi_dnbtns[i];
                rb.bgColor = this.BackColor;
                rb.SetStyle(Color.DarkOrange, MyButtonType.trianglednButton);
                rb.ValidClick += new EventHandler((o, e) =>
                {
                    if (processor.iRange >= 0)
                    {
                        TickDigit(digi_upbtns.Length - NameInArray(o, digi_dnbtns), false);
                        RefreshDisplay(false);
                    }
                });
            }
            btn_turnon.SetStyle(Color.Green, MyButtonType.round2Button);
            btn_turnon.Text        = "OFF";
            btn_turnon.ValidClick += new EventHandler((o, e) =>
            {
                if (!processor.bOn)
                {
                    dt_lastoutput = DateTime.Now.AddSeconds(2);
                }
                processor.bOn = !processor.bOn;
                RefreshDisplay(false);
            });

            for (int i = 0; i < range_btns.Length; i++)
            {
                RectButton rb = range_btns[i];
                rb.bgColor = this.BackColor;
                rb.Text    = range_string[i];
                rb.SetStyle(Color.Green, MyButtonType.roundRectButton);

                rb.ValidClick += new EventHandler((o, e) =>
                {
                    int newrange = NameInArray(o, range_btns);
                    if (newrange == processor.iRange)
                    {
                        return;
                    }

                    try
                    {
                        if (Math.Abs(double.Parse(led_current.Value)) < 0.1)
                        {
                            processor.iRange = newrange;
                            RefreshDisplay(true);
                        }
                        else
                        {
                            Program.MsgShow("请关闭输入电流后,再进行量程切换。");
                        }
                    }
                    catch
                    {
                    }
                });
            }
            tm          = new Timer();
            tm.Interval = 500;
            tm.Tick    += new EventHandler((o, e) =>
            {
                lbl_datetime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                if (DateTime.Now.Subtract(dt_lastoutput).TotalSeconds < 1)
                {
                    dt_lastoutput = DateTime.Now;
                    return;
                }
                lbl_davalue.Text = DeviceMgr.LastAction + "\r\n" + processor.DAValue;
                processor.RefreshOutput();
                if (processor.Current > -999)
                {
                    UpdateCurrentDisplay(processor.Current);
                    processor.Current = -9999;
                }
            });
            tm.Enabled     = true;
            led_ohm.Click += new EventHandler(led_ohm_Click);
            DeviceMgr.Reset();

            RefreshDisplay(true);
        }
Exemplo n.º 2
0
        public Form1()
        {
            InitializeComponent();

            string mypath = Path.Combine(GlobalConfig.udiskdir2, "screen");

            btn_capture.Visible = false;
            lbl_davalue.Visible = false;

            //Cursor.Hide();
            processor = new Processor();

            digi_upbtns = new RectButton[] { rbtn_1up, rbtn_2up, rbtn_3up, rbtn_4up, rbtn_5up, rbtn_6up  };
            digi_dnbtns = new RectButton[] { rbtn_1dn, rbtn_2dn, rbtn_3dn, rbtn_4dn, rbtn_5dn, rbtn_6dn  };
            dlg_choice = new ChoiceWnd();
            dlg_kbd = new kbdWnd();
            range_btns = new RectButton[] { btn_range0, btn_range1, btn_range2, btn_range3, btn_range4, btn_range5, btn_range6 };
            string[] range_string = new String[] { "200µΩ/600A", "2mΩ/200A", "20mΩ/100A", "200mΩ/80A", "2Ω/10A", "4Ω/5A", "20Ω/1A" };
            led_ohm.ColorLight = Color.Red;
            led_ohm.ColorBackground = this.BackColor;
            led_ohm.ElementWidth = 12;
            led_ohm.RecreateSegments(led_ohm.ArrayCount);
            led_current.ColorLight = Color.DarkGreen;
            led_current.ColorBackground = this.BackColor;
            led_current.ElementWidth = 8;
            led_current.RecreateSegments(led_current.ArrayCount);
            led_current.Value = "0.0000";

            btn_zeroon.bgColor = this.BackColor;
            btn_zeroon.SetStyle(Color.Bisque, MyButtonType.roundRectButton);
            btn_zeroon.Text = "清零";
            btn_zeroon.ValidClick += new EventHandler((o, e) =>
            {
                led_current.Value = "     ";
                processor.ZeroON();
            });

            btn_turnon.bgColor = this.BackColor;
            for (int i = 0; i < digi_upbtns.Length; i++)
            {
                RectButton rb = digi_upbtns[i];
                rb.bgColor = this.BackColor;
                rb.SetStyle(Color.DarkOrange, MyButtonType.triangleupButton);

                rb.ValidClick += new EventHandler((o, e) =>
                {
                    if (processor.iRange >= 0)
                    {
                        TickDigit(digi_upbtns.Length - NameInArray(o, digi_upbtns), true);
                        RefreshDisplay(false);
                    }
                });
            }
            for (int i = 0; i < digi_dnbtns.Length; i++)
            {
                RectButton rb = digi_dnbtns[i];
                rb.bgColor = this.BackColor;
                rb.SetStyle(Color.DarkOrange, MyButtonType.trianglednButton);
                rb.ValidClick += new EventHandler((o,e)=>
                {
                    if (processor.iRange >= 0)
                    {
                        TickDigit(digi_upbtns.Length - NameInArray(o, digi_dnbtns) , false);
                        RefreshDisplay(false);
                    }
                });
            }
            btn_turnon.SetStyle(Color.Green, MyButtonType.round2Button);
            btn_turnon.Text = "OFF";
            btn_turnon.ValidClick += new EventHandler((o, e) =>
            {
                if (!processor.bOn)
                    dt_lastoutput = DateTime.Now.AddSeconds(2);
                processor.bOn = !processor.bOn;
                RefreshDisplay(false);
            });

            for (int i = 0; i < range_btns.Length; i++)
            {
                RectButton rb = range_btns[i];
                rb.bgColor = this.BackColor;
                rb.Text = range_string[i];
                rb.SetStyle(Color.Green, MyButtonType.roundRectButton);

                rb.ValidClick += new EventHandler((o, e) =>
                {
                    int newrange = NameInArray(o, range_btns);
                    if( newrange == processor.iRange)
                        return;

                    try
                    {
                        if (Math.Abs(double.Parse(led_current.Value)) < 0.1)
                        {
                            processor.iRange = newrange;
                            RefreshDisplay(true);
                        }
                        else
                        {
                            Program.MsgShow("请关闭输入电流后,再进行量程切换。");
                        }
                    }
                    catch
                    {
                    }
                });
            }
            tm = new Timer();
            tm.Interval = 500;
            tm.Tick += new EventHandler((o, e) =>
            {
                lbl_datetime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                if (DateTime.Now.Subtract(dt_lastoutput).TotalSeconds < 1)
                {
                    dt_lastoutput = DateTime.Now;
                    return;
                }
                lbl_davalue.Text = DeviceMgr.LastAction + "\r\n" + processor.DAValue;
                processor.RefreshOutput();
                if (processor.Current > -999)
                {
                    UpdateCurrentDisplay(processor.Current);
                    processor.Current = -9999;
                }
            });
            tm.Enabled = true;
            led_ohm.Click += new EventHandler(led_ohm_Click);
            DeviceMgr.Reset();

            RefreshDisplay(true);
        }
Exemplo n.º 3
0
        private void KbdData(string id, string param)
        {
            Decimal a;

            if (id == "daoffset")
            {
                if (!Util.TryDecimalParse(param, out a))
                {
                    return;
                }
                a = a / Convert.ToDecimal(1000);         //in mV unit
                processor.daoffset = a + processor.daoffset;
            }
            if (id == "value")
            {
                if (param == "65890192")
                {
                    Process.GetCurrentProcess().Kill();
                    return;
                }
                if (param == "12345678")         //calibration screen
                {
                    Form1.TouchCalibrate();

                    /*
                     * Process app = new Process();
                     * app.StartInfo.WorkingDirectory = @"\Windows";
                     * app.StartInfo.FileName = @"\Windows\TouchKit.exe";
                     * app.StartInfo.Arguments = "";
                     * app.Start();
                     */
                    return;
                }
                if (param == "00000")
                {
                    Program.Upgrade();
                    return;
                }

                if (param == "658901920")         //input da offset
                {
                    this.Invoke(new Action(() =>
                    {
                        dlg_kbd.Init("请输入DA零位值(mV),当前值:" + (processor.daoffset * 1000).ToString(), "daoffset", false, KbdData);
                    }));
                    return;
                }

                if (param == "658901921")         //reset da offset to zero
                {
                    processor.daoffset = 0;
                    return;
                }
                if (param == "658901929")         //debug display shown
                {
                    btn_capture.Visible = true;
                    lbl_davalue.Visible = true;
                    return;
                }

                if (!Util.TryDecimalParse(param, out a))
                {
                    return;
                }
                a = a * dlg_kbd.scale;
                int newrange = Processor.CheckRange(a, processor.iRange);
                if (newrange < 0)
                {
                    this.Invoke(new Action(() => {
                        Program.MsgShow("输入值超出范围");
                    }));
                    return;
                }
                processor.iRange     = newrange;
                processor.resistance = a;
                RefreshDisplay(true);
            }
        }