public List <clsVariableInfo> ParseMapFile() { string MapFile = CreateMapFile(); VarList.Clear(); try { if (File.Exists(MapFile)) { bool SymboltableFound = false; string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(MapFile); while ((line = file.ReadLine()) != null) { if (SymboltableFound) { if (line.Contains(".bss")) { string[] Elements = line.Split(new string[] { " ", "\t" }, StringSplitOptions.RemoveEmptyEntries); if (Elements[1].Trim() == "g" && Elements[2].Trim() == "O" && Elements[3].Trim() == ".bss") { clsVariableInfo NewVar = new clsVariableInfo(); if (UInt32.TryParse(Elements[0], NumberStyles.HexNumber, CultureInfo.InvariantCulture.NumberFormat, out NewVar.Address) && int.TryParse(Elements[4], NumberStyles.HexNumber, CultureInfo.InvariantCulture.NumberFormat, out NewVar.Size)) { NewVar.Address = NewVar.Address - 0x800000; NewVar.VarName = Elements[5]; VarList.Add(NewVar); } } } } else { if (line.Contains("SYMBOL TABLE:")) { SymboltableFound = true; } } } file.Close(); } } catch { } return(VarList); }
private void listViewVarDebug_MouseDoubleClick(object sender, MouseEventArgs e) { if (listViewVarDebug.SelectedItems != null && listViewVarDebug.SelectedItems.Count > 0) { clsVariableInfo var = listViewVarDebug.SelectedItems[0].Tag as clsVariableInfo; FormViewWatchVar frmViewVar = new FormViewWatchVar(); frmViewVar.SetItem(var, ReaderArduino); frmViewVar.Show(); } }
public void SetItem(clsVariableInfo ItemToSet) { if (ItemToSet != null) { Item = ItemToSet; lblVarName.Text = Item.VarName; lblSize.Text = Item.Size.ToString(); InitRadio(); } }
private void UpdateWatchView() { lock (ReaderArduino.lockobj) { foreach (ListViewItem item in listViewVarDebug.Items) { clsVariableInfo ele = item.Tag as clsVariableInfo; if (ele != null) { item.SubItems[5].Text = ele.GetStringValue(); } } } }
private void listViewAllVars_DoubleClick(object sender, EventArgs e) { if (listViewAllVars.SelectedItems != null && listViewAllVars.SelectedItems.Count > 0) { clsVariableInfo var = listViewAllVars.SelectedItems[0].Tag as clsVariableInfo; FormAddVarView frmAddVAr = new FormAddVarView(); frmAddVAr.SetItem(var); frmAddVAr.ShowDialog(); if (frmAddVAr.IsConfirmed) { AddListViewWatchVar(var); } } }
void UpdateVarDebug() { List <clsVariableInfo> VarList = new List <clsVariableInfo>(); foreach (ListViewItem ele in listViewVarDebug.Items) { clsVariableInfo var = ele.Tag as clsVariableInfo; if (var != null) { VarList.Add(var); } } ReaderArduino.SetVarList(VarList); }
public void SendMessageForceVar(clsVariableInfo var, byte[] data) { int counter = 0; byte[] buffer = new byte[data.Length + 1 + 2]; buffer[counter++] = (byte)('F'); byte[] bufferaddress = BitConverter.GetBytes((UInt16)var.Address); buffer[counter++] = bufferaddress[0]; buffer[counter++] = bufferaddress[1]; for (int i = 0; i < data.Length; i++) { buffer[counter++] = data[i]; } WriteSerial(buffer); }
void AddListViewWatchVar(clsVariableInfo VarToAdd) { if (listViewVarDebug.Items.Count < 5) { ListViewItem Item = new ListViewItem((listViewVarDebug.Items.Count + 1).ToString()); Item.Tag = VarToAdd; Item.SubItems.Add(VarToAdd.VarName); Item.SubItems.Add(VarToAdd.Size.ToString()); Item.SubItems.Add("0x" + VarToAdd.Address.ToString("X")); Item.SubItems.Add(VarToAdd.TypeName); Item.SubItems.Add(""); listViewVarDebug.Items.Add(Item); UpdateVarDebug(); CheckEnableButtonRemove(); } else { MessageBox.Show("Max 5 variables"); } }
public void SetItem(clsVariableInfo ItemToSet, clsArduinoReader ReaderArduinoToSet) { ReaderArduino = ReaderArduinoToSet; if (ItemToSet != null) { Item = ItemToSet; lblVarName.Text = Item.VarName; lblSize.Text = Item.Size.ToString(); txtForceValue.Text = Item.GetStringValue(); AllowGraph = !(Item.IsArray || Item.IsString); if (AllowGraph) { InitGraph(); } timer1.Start(); } }