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