コード例 #1
0
        private void Checker_Tick(object sender, EventArgs e)
        {
            if (FuseCalcWeb.IsBusy)
            {
                BurnBtn.Enabled = false;
                ReadBtn.Enabled = false;
            }
            else
            {
                if (FuseCalcWeb.DocumentText.Contains("<title>Engbedded Atmel AVR&reg; Fuse Calculator</title>") == false)
                {
                    FuseCalcWeb.Navigate(base_url);
                }
                else
                {
                    BurnBtn.Enabled = true;
                    ReadBtn.Enabled = true;

                    if (FuseCalcWeb.Url.ToString().Contains(base_url) && FuseCalcWeb.DocumentText.Contains("</html>"))
                    {
                        StreamReader sr = new StreamReader(FuseCalcWeb.DocumentStream);
                        StreamWriter sw = new StreamWriter("temppage.html");
                        string       line;
                        do
                        {
                            line = sr.ReadLine();
                            if (line != null)
                            {
                                line = line.Replace("<div style=\"text-align: center; margin: 0 0 1em 0;\"", "<div>");
                                line = line.Replace("<form method=\"GET\">", "<form action=\"" + base_url + "\" method=\"GET\">");
                                line = line.Replace("http://pagead2.googlesyndication.com/pagead/show_ads.js", "");
                                sw.WriteLine(line);
                            }
                        }while (line != null);
                        sr.Close();
                        sw.Close();
                        FileInfo fi = new FileInfo("temppage.html");
                        FuseCalcWeb.Navigate(fi.FullName);
                    }
                }
            }
        }
コード例 #2
0
        public Form1()
        {
            InitializeComponent();

            if (File.Exists(save_fname))
            {
                try
                {
                    StreamReader sr = new StreamReader(save_fname);
                    last_url = sr.ReadLine();
                    last_opt = sr.ReadLine();
                    int h = Convert.ToInt32(sr.ReadLine());
                    this.Height = h;
                    int w = Convert.ToInt32(sr.ReadLine());

                    this.Width = w;
                    int split = Convert.ToInt32(sr.ReadLine());
                    WindowSplitter.SplitterDistance = split;

                    sr.Close();
                }
                catch
                {
                }
            }

            OptTxt.Text = last_opt;
            if (last_url.Contains(base_url))
            {
                FuseCalcWeb.Navigate(last_url);
            }
            else if (last_url.Contains("temppage.html") && File.Exists("temppage.html"))
            {
                FileInfo fi = new FileInfo("temppage.html");
                FuseCalcWeb.Navigate(fi.FullName);
            }
            else
            {
                FuseCalcWeb.Navigate(base_url);
            }
        }
コード例 #3
0
        private void ReadBtn_Click(object sender, EventArgs e)
        {
            string dev     = "";
            int    indexof = -1;

            try
            {
                string page = FuseCalcWeb.DocumentText;

                indexof = page.IndexOf("<select size=\"1\" name=\"P\" onChange=\"this.form.submit()\" style=\"font-weight: bold;\">", 0);
                indexof = page.IndexOf("<option selected value=\"", indexof);
                if (indexof != -1)
                {
                    indexof  = page.IndexOf("\"", indexof);
                    indexof += 1;
                    int indexofnext = page.IndexOf("\"", indexof);
                    dev = " -p " + page.Substring(indexof, indexofnext - indexof);
                }
            }
            catch
            {
            }

            if (dev.Length > 0)
            {
                string urlstr = base_url + "?P=" + dev.Substring(4);

                bool success_f = false;

                if (ExecuteAVRDUDE(OptTxt.Text + dev + " -U lfuse:r:lfusebin.bin:r") == 0)
                {
                    StreamReader sr = new StreamReader("lfusebin.bin");
                    BinaryReader br = new BinaryReader(sr.BaseStream);
                    string       f  = Convert.ToString(br.ReadByte(), 16).ToUpper();
                    if (f.Length == 1)
                    {
                        f = "0" + f;
                    }
                    urlstr   += "&V_LOW=" + f;
                    success_f = true;
                    br.Close();
                    sr.Close();
                }

                if (ExecuteAVRDUDE(OptTxt.Text + dev + " -U hfuse:r:hfusebin.bin:r") == 0)
                {
                    StreamReader sr = new StreamReader("hfusebin.bin");
                    BinaryReader br = new BinaryReader(sr.BaseStream);
                    string       f  = Convert.ToString(br.ReadByte(), 16).ToUpper();
                    if (f.Length == 1)
                    {
                        f = "0" + f;
                    }
                    urlstr   += "&V_HIGH=" + f;
                    success_f = true;
                    br.Close();
                    sr.Close();
                }

                if (ExecuteAVRDUDE(OptTxt.Text + dev + " -U efuse:r:efusebin.bin:r") == 0)
                {
                    StreamReader sr = new StreamReader("efusebin.bin");
                    BinaryReader br = new BinaryReader(sr.BaseStream);
                    string       f  = Convert.ToString(br.ReadByte(), 16).ToUpper();
                    if (f.Length == 1)
                    {
                        f = "0" + f;
                    }
                    urlstr   += "&V_EXTENDED=" + f;
                    success_f = true;
                    br.Close();
                    sr.Close();
                }

                if (ExecuteAVRDUDE(OptTxt.Text + dev + " -U fuse:r:fusebin.bin:r") == 0)
                {
                    StreamReader sr = new StreamReader("fusebin.bin");
                    BinaryReader br = new BinaryReader(sr.BaseStream);
                    string       f  = Convert.ToString(br.ReadByte(), 16).ToUpper();
                    if (f.Length == 1)
                    {
                        f = "0" + f;
                    }
                    urlstr += "&V_BYTE0=" + f;
                    br.Close();
                    sr.Close();
                }

                urlstr += "&O_HEX=Apply+user+values";

                if (success_f)
                {
                    FuseCalcWeb.Navigate(urlstr);
                }
            }
        }