public FusePanel(XmlElement xEle, string fuseBox, FuseCalculator owner) : this() { this.owner = owner; string fuseName = xEle.Name.ToLowerInvariant().Trim(); typeOfFuse = GetTypeOfFuseFromName(fuseName); txtInfo.Text = "Checked = Burnt = 0" + Environment.NewLine; txtInfo.Text += GetInfoXMLText(xEle); fuseReset = 0xFF; fuseReset = FillCheckListAndGetReset(typeOfFuse, xEle); FillDictionaries(xEle); FillControls(); fuseVal = MatchAVRDUDEArgs(fuseBox, typeOfFuse, fuseReset); SetCheckListWithInt(fuseVal); txtManualHex.Text = fuseVal.ToString("X2"); disablePresetChangeEvent = false; ManualEvent(null, null); }
private int FillCheckListAndGetReset(FuseType typeOfFuse, XmlElement xEle) { int fuseReset = 0xFF; string fuseOrLock = typeOfFuse == FuseType.LockBits ? "LOCKBIT" : "FUSE"; for (int i = 0; i < 8; i++) { string chkText = "Bit " + i.ToString("0"); foreach (XmlElement j in xEle.GetElementsByTagName(fuseOrLock + i.ToString("0"))) { chkText += ": "; foreach (XmlElement k in j.GetElementsByTagName("NAME")) { chkText += k.InnerText.Trim() + ": "; } foreach (XmlElement k in j.GetElementsByTagName("TEXT")) { chkText += k.InnerText.Trim(); } foreach (XmlElement k in j.GetElementsByTagName("DEFAULT")) { string str = k.InnerText.Trim(); int num = 1; if (int.TryParse(str, out num)) { if (num == 0) { fuseReset -= Convert.ToInt32(Math.Pow(2, i)); break; } } } } chkListBits.Items[i] = chkText; } return(fuseReset); }
public void Start(decimal startMax, decimal startMin, FuseType ft) { if (isExecuting) { return; } HasDealsWhenFusing = false; isExecuting = true; this.ftype = ft; this.startMax = startMax; this.startMin = startMin; if (t == null) { t = new Timer(); t.Interval = ContractFuse.FuseSpanInMin * 60 * 1000; t.Elapsed += t_Elapsed; SetStartTimeAction(DateTime.Now); t.Start(); } }
private static string GetAVRDUDEFuseStringFromType(FuseType typeOfFuse) { if (typeOfFuse == FuseType.Extended) { return("efuse"); } else if (typeOfFuse == FuseType.Low) { return("lfuse"); } else if (typeOfFuse == FuseType.High) { return("hfuse"); } else if (typeOfFuse == FuseType.LockBits) { return("lock"); } else { return("fuse"); } }
private static int MatchAVRDUDEArgs(string fuseBox, FuseType typeOfFuse, int fuseReset) { string avrdudeFuseStr = GetAVRDUDEFuseStringFromType(typeOfFuse); Regex r = new Regex("-U\\s*" + avrdudeFuseStr + ":[wrv]:0[xX]([0-9a-fA-F]+):m"); Match match = r.Match(fuseBox); if (match.Success) { try { return(Convert.ToInt32("0x" + match.Groups[1].Value, 16)); } catch { return(fuseReset); } } else { return(fuseReset); } }
private int FillCheckListAndGetReset(FuseType typeOfFuse, XmlElement xEle) { int fuseReset = 0xFF; string fuseOrLock = typeOfFuse == FuseType.LockBits ? "LOCKBIT" : "FUSE"; for (int i = 0; i < 8; i++) { string chkText = "Bit " + i.ToString("0"); foreach (XmlElement j in xEle.GetElementsByTagName(fuseOrLock + i.ToString("0"))) { chkText += ": "; foreach (XmlElement k in j.GetElementsByTagName("NAME")) chkText += k.InnerText.Trim() + ": "; foreach (XmlElement k in j.GetElementsByTagName("TEXT")) chkText += k.InnerText.Trim(); foreach (XmlElement k in j.GetElementsByTagName("DEFAULT")) { string str = k.InnerText.Trim(); int num = 1; if (int.TryParse(str, out num)) { if (num == 0) { fuseReset -= Convert.ToInt32(Math.Pow(2, i)); break; } } } } chkListBits.Items[i] = chkText; } return fuseReset; }
private static string GetAVRDUDEFuseStringFromType(FuseType typeOfFuse) { if (typeOfFuse == FuseType.Extended) return "efuse"; else if (typeOfFuse == FuseType.Low) return "lfuse"; else if (typeOfFuse == FuseType.High) return "hfuse"; else if (typeOfFuse == FuseType.LockBits) return "lock"; else return "fuse"; }
private static int MatchAVRDUDEArgs(string fuseBox, FuseType typeOfFuse, int fuseReset) { string avrdudeFuseStr = GetAVRDUDEFuseStringFromType(typeOfFuse); Regex r = new Regex("-U\\s*" + avrdudeFuseStr + ":[wrv]:0[xX]([0-9a-fA-F]+):m"); Match match = r.Match(fuseBox); if (match.Success) { try { return Convert.ToInt32("0x" + match.Groups[1].Value, 16); } catch { return fuseReset; } } else return fuseReset; }