コード例 #1
0
        public OpenOCDDebugConfigurator(DebugMethod method, QuickSetupDatabase quickSetup)
        {
            InitializeComponent();
            _QuickSetupData = quickSetup;
            _Method = method;
            _OpenOCDDirectory = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\..\..\..\OpenOCD");
            openOCDScriptSelector1.SubdirectoryName = "interface";
            openOCDScriptSelector1.OverrideOpenOCDDirectory(_OpenOCDDirectory);
            foreach (var prop in method.AdditionalProperties.PropertyGroups[0].Properties)
            {
                if (prop is PropertyEntry.Enumerated)
                {
                    for (int pass = 0; pass < 2; pass++)
                        foreach (var ctl in pass == 0 ? pnlFLASH.Controls : panel2.Controls)
                        {
                            if (ctl is ComboBox && (ctl as ComboBox).Tag is string && (ctl as ComboBox).Tag.ToString() == prop.UniqueID)
                            {
                                foreach (var obj in (prop as PropertyEntry.Enumerated).SuggestionList)
                                    (ctl as ComboBox).Items.Add(obj);
                                (ctl as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                                _ComboBoxes[prop.UniqueID] = ctl as ComboBox;
                            }
                        }
                }
            }

            var ifaces = _QuickSetupData.AllInterfaces;
            if (ifaces != null)
                foreach (var iface in ifaces)
                    cbQuickInterface.Items.Add(iface);

            cbQuickInterface.Items.Add(new ManualIfacePseudoitem());
        }
コード例 #2
0
        public AVaRICEDebugSettingsControl(DebugMethod method, string bspDir)
        {
            InitializeComponent();
            _MyMethod = method;
            _ToolchainBin = Path.Combine(Path.GetDirectoryName(bspDir), "bin");

            foreach (Control ctl in Controls)
            {
                if (ctl.Tag is string)
                {
                    _Controls[ctl.Tag.ToString()] = new ControlObj { Control = ctl, ID = ctl.Tag.ToString() };
                }
            }

            foreach (var prop in method.GDBServerArguments.Properties.PropertyGroups[0].Properties)
            {
                ControlObj obj;
                if (_Controls.TryGetValue(method.GDBServerArguments.Properties.PropertyGroups[0].UniqueID + prop.UniqueID, out obj))
                {
                    obj.Property = prop;

                    if (obj.Control is ComboBox)
                    {
                        foreach (var e in (prop as PropertyEntry.Enumerated).SuggestionList)
                            (obj.Control as ComboBox).Items.Add(e);
                        (obj.Control as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                    }
                }
            }
        }
コード例 #3
0
        public AVaRICEDebugSettingsControl(DebugMethod method, string bspDir)
        {
            InitializeComponent();
            _MyMethod     = method;
            _ToolchainBin = Path.Combine(Path.GetDirectoryName(bspDir), "bin");

            foreach (Control ctl in Controls)
            {
                if (ctl.Tag is string)
                {
                    _Controls[ctl.Tag.ToString()] = new ControlObj {
                        Control = ctl, ID = ctl.Tag.ToString()
                    };
                }
            }

            foreach (var prop in method.GDBServerArguments.Properties.PropertyGroups[0].Properties)
            {
                ControlObj obj;
                if (_Controls.TryGetValue(method.GDBServerArguments.Properties.PropertyGroups[0].UniqueID + prop.UniqueID, out obj))
                {
                    obj.Property = prop;

                    if (obj.Control is ComboBox)
                    {
                        foreach (var e in (prop as PropertyEntry.Enumerated).SuggestionList)
                        {
                            (obj.Control as ComboBox).Items.Add(e);
                        }
                        (obj.Control as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                    }
                }
            }
        }
コード例 #4
0
        public void ParameterPropertyWorks()
        {
            DebugMethod method1 = A.DebugMethod.WithPath("root/sub1/sub2").WithParameters(new object[] {0, 1, 2, 3});
            DebugMethod method2 = A.DebugMethod.WithParameters(new object[] {0, 1, 2, 3});

            Assert.IsTrue(method1.HasParameters);
            Assert.IsTrue(method2.HasParameters);
        }
コード例 #5
0
 public void Debug(object message)
 {
     if (!IsDebugEnabled)
     {
         return;
     }
     DebugMethod.Invoke(_logger, new[] { message });
 }
コード例 #6
0
        public void DebugFormat(string format, params object[] args)
        {
            if (!IsDebugEnabled)
            {
                return;
            }
            string message = String.Format(format, args);

            DebugMethod.Invoke(_logger, new object[] { message });
        }
コード例 #7
0
        public ESP8266DebugConfigurator(DebugMethod method, DebugInterfaceList ifaces)
        {
            InitializeComponent();
            foreach(var prop in method.AdditionalProperties.PropertyGroups[0].Properties)
            {
                if (prop is PropertyEntry.Enumerated)
                {
                    for (int pass = 0; pass < 2; pass++)
                        foreach (var ctl in pass == 0 ? pnlFLASH.Controls : panel2.Controls)
                        {
                            if (ctl is ComboBox && (ctl as ComboBox).Tag is string && (ctl as ComboBox).Tag.ToString() == prop.UniqueID)
                            {
                                foreach (var obj in (prop as PropertyEntry.Enumerated).SuggestionList)
                                    (ctl as ComboBox).Items.Add(obj);
                                (ctl as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                                _ComboBoxes[prop.UniqueID] = ctl as ComboBox;
                            }
                        }
                }
            }

            foreach (var iface in ifaces.Interfaces)
                cbDebugInterface.Items.Add(iface);

            cbDebugInterface.Items.Add(new CustomModePseudoInterface());

            if (_SettingsKey != null)
            {
                var val = _SettingsKey.GetValue("XtOcdPath") as string;
                if (val != null)
                    txtXtOcd.Text = val;
                val = _SettingsKey.GetValue("DebugInterface") as string;
                if (val != null)
                    for (int i = 0;i < cbDebugInterface.Items.Count; i++)
                    {
                        if (cbDebugInterface.Items[i] is DebugInterface && (cbDebugInterface.Items[i] as DebugInterface).ID == val)
                        {
                            cbDebugInterface.SelectedIndex = i;

                            var subkey = _SettingsKey.OpenSubKey("DebugInterfaceSettings");
                            if (subkey != null)
                            {
                                foreach(var kv in _DebuggerComboBoxes)
                                {
                                    val = subkey.GetValue(kv.Key) as string;
                                    if (val != null)
                                        SetComboBoxValue(kv.Value, val);
                                }
                            }

                            break;
                        }
                    }
            }
        }
コード例 #8
0
        public OpenOCDDebugConfigurator(DebugMethod method, QuickSetupDatabase quickSetup)
        {
            InitializeComponent();
            _QuickSetupData   = quickSetup;
            _Method           = method;
            _OpenOCDDirectory = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\..\..\..\OpenOCD");
            openOCDScriptSelector1.SubdirectoryName = "interface";
            openOCDScriptSelector1.OverrideOpenOCDDirectory(_OpenOCDDirectory);
            foreach (var prop in method.AdditionalProperties.PropertyGroups[0].Properties)
            {
                if (prop is PropertyEntry.Enumerated)
                {
                    for (int pass = 0; pass < 2; pass++)
                    {
                        foreach (var ctl in pass == 0 ? pnlFLASH.Controls : panel2.Controls)
                        {
                            if (ctl is ComboBox && (ctl as ComboBox).Tag is string && (ctl as ComboBox).Tag.ToString() == prop.UniqueID)
                            {
                                foreach (var obj in (prop as PropertyEntry.Enumerated).SuggestionList)
                                {
                                    (ctl as ComboBox).Items.Add(obj);
                                }
                                (ctl as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                                _ComboBoxes[prop.UniqueID]      = ctl as ComboBox;
                            }
                        }
                    }
                }
            }

            var ifaces = _QuickSetupData.AllInterfaces;

            if (ifaces != null)
            {
                foreach (var iface in ifaces)
                {
                    cbQuickInterface.Items.Add(iface);
                }
            }

            cbQuickInterface.Items.Add(new ManualIfacePseudoitem());
        }
コード例 #9
0
        public void CustomNamePropertyWorks()
        {
            DebugMethod method = A.DebugMethod.WithPath("root/sub1/sub2").WithName("custom name");

            Assert.IsTrue(method.HasCustomName);
        }
コード例 #10
0
ファイル: DebugExtension.cs プロジェクト: xllj/BSPTools
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     return(new AVaRICEDebugSettingsControl(method, mcu.BSP.Directory));
 }
コード例 #11
0
ファイル: DebugExtension.cs プロジェクト: sysprogs/BSPTools
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     return new AVaRICEDebugSettingsControl(method, mcu.BSP.Directory);
 }
コード例 #12
0
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     if (method.ID == "xt-ocd")
     {
         return(new ESP8266DebugConfigurator(method, _Interfaces));
     }
     else if (method.ID == "openocd")
     {
         return(new OpenOCDDebugConfigurator(method, _QuickSetupData));
     }
     return(null);
 }
コード例 #13
0
        // logic for this singleton
        #region logic

        public void addDebugOutputToDraw ( string systemName, string elementName, DebugMethod dbgOuter ) {
            if ( !dbgOut.ContainsKey ( systemName ) ) {
                dbgOut[ systemName ] = new Dictionary<string, DebugMethod> ();
            }

            dbgOut[ systemName ][ elementName ] = dbgOuter;
        }
コード例 #14
0
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     return null;
 }
コード例 #15
0
        public ESP8266DebugConfigurator(DebugMethod method, DebugInterfaceList ifaces)
        {
            InitializeComponent();
            foreach (var prop in method.AdditionalProperties.PropertyGroups[0].Properties)
            {
                if (prop is PropertyEntry.Enumerated)
                {
                    for (int pass = 0; pass < 2; pass++)
                    {
                        foreach (var ctl in pass == 0 ? pnlFLASH.Controls : panel2.Controls)
                        {
                            if (ctl is ComboBox && (ctl as ComboBox).Tag is string && (ctl as ComboBox).Tag.ToString() == prop.UniqueID)
                            {
                                foreach (var obj in (prop as PropertyEntry.Enumerated).SuggestionList)
                                {
                                    (ctl as ComboBox).Items.Add(obj);
                                }
                                (ctl as ComboBox).SelectedIndex = (prop as PropertyEntry.Enumerated).DefaultEntryIndex;
                                _ComboBoxes[prop.UniqueID]      = ctl as ComboBox;
                            }
                        }
                    }
                }
            }

            foreach (var iface in ifaces.Interfaces)
            {
                cbDebugInterface.Items.Add(iface);
            }

            cbDebugInterface.Items.Add(new CustomModePseudoInterface());

            if (_SettingsKey != null)
            {
                var val = _SettingsKey.GetValue("XtOcdPath") as string;
                if (val != null)
                {
                    txtXtOcd.Text = val;
                }
                val = _SettingsKey.GetValue("DebugInterface") as string;
                if (val != null)
                {
                    for (int i = 0; i < cbDebugInterface.Items.Count; i++)
                    {
                        if (cbDebugInterface.Items[i] is DebugInterface && (cbDebugInterface.Items[i] as DebugInterface).ID == val)
                        {
                            cbDebugInterface.SelectedIndex = i;

                            var subkey = _SettingsKey.OpenSubKey("DebugInterfaceSettings");
                            if (subkey != null)
                            {
                                foreach (var kv in _DebuggerComboBoxes)
                                {
                                    val = subkey.GetValue(kv.Key) as string;
                                    if (val != null)
                                    {
                                        SetComboBoxValue(kv.Value, val);
                                    }
                                }
                            }

                            break;
                        }
                    }
                }
            }
        }
コード例 #16
0
        public void CustomPathPropertyWorks()
        {
            DebugMethod method = A.DebugMethod.WithPath("root/sub1/sub2");

            Assert.IsTrue(method.HasCustomPath);
        }
コード例 #17
0
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     if (method.ID == "xt-ocd")
         return new ESP8266DebugConfigurator(method, _Interfaces);
     else if (method.ID == "openocd")
         return new OpenOCDDebugConfigurator(method, _QuickSetupData);
     return null;
 }
コード例 #18
0
 public ICustomBSPConfigurator CreateConfigurator(LoadedBSP.ConfiguredMCU mcu, DebugMethod method)
 {
     return(null);
 }